Reminder: There will not be a Development Update Friday, Oct, 6. Most JMP staff will have a rest and recharge day on Friday, Oct. 6, with JMP China staff holding theirs on Oct. 7. Remember you don’t need to request an absence for this day off. Thanks very much to JMP leadership and HR for providing us this well-deserved opportunity to take a break and relax!
Welcome to the JMP Development Update for September 29, 2023!
A reminder that we will freeze for JMP 18 EA6 at the end of the day on 10/3/23. It’s hard to believe, but this will be our second to last EA of the JMP 18 cycle! JMP 18 EA7 is planned to freeze on 12/8/23, just a few short weeks before we freeze JMP 18.0 on 12/20/23. EA6 will be the first to use the new Salesforce-based JMP authorization mechanism. We’re looking forward to feedback on this and other items introduced since EA5 was released back in August.
Mia asks that you please complete all updates to your individual feature pages by 10/3/23 because of the limited time window between EA6 freeze and the upcoming US Discovery week. Please comment on any new material in the Motivation and Summary section of your feature page using a sentence starting “In EA6…” so it’s easy to identify.
As mentioned previously, development and product managers have decided to move the planned date for JMP 19.0 branch creation to 12/1/23. We will create the new feature branch early to allow teams already working on JMP 19 projects to get a head start. After the JMP 19 branch is created, auto-integration of code from main to 18.0 will stop and auto-integration of code from main to 19.0 will begin.
JMP 18 Code Approval starts on 11/22/23 so it’s possible that many developers will have wrapped up planned JMP 18.0 fixes by then. For developers who are still working on JMP 18.0 fixes in December, those fixes will need to be integrated from the new 19.0 branch back to 18.0 following the same process that we use during JMP maintenance cycles.
After we freeze JMP 18.0 source code on 12/20, the JMP 18.1 branch will be created. In the time between 12/1 and 12/20, please add 18.1 to the Planned Version field in Jira to tag any 19.0 fixes that will need to be integrated once the 18.1 branch opens.
Thanks very much to Jeff Perkinson and Daniel Powell for tag teaming at this week’s dev meeting to share the details of authorization changes coming for JMP 18.0! Jeff provided important background for the transition prior to Daniel’s demo and they worked together to field numerous questions. I think we might have had record attendance at this session with 100+ attendees (!!!) hailing from various groups across development, sales, marketing and product management. If you missed the meeting, you can find a recording here. Expect much more information to be coming on this topic as development progresses through this transition period!
Also, thanks to Tonya Mauldin for sharing this week’s Beta/Crash cases for this week with crashes selected! Tonya noted that the JMP Live server she usually publishes to was down so she was unable to publish the report this week.

General Announcements
- If you’re willing to be a featured employee on Inside JMP, please download a copy of the Get to Know form. Simply fill out the questions and when you’re done, upload it, along with 3 photos of you to the folder. Thank you for helping to make our JMP family a little more familiar!
Important Upcoming Dates
- JMP 18 and JMP Clinical 18 EA6 – 10/3/23
- JMP 18 Sample Data Freeze – 10/18/23
- JMP 18 Code Review – 11/08/23
- JMP 19 Branch Creation – 12/1/23
- JMP 18 and JMP Clinical 18 EA7 – 12/8/23
- Please visit Confluence for a full list of JMP 17 and JMP 18 dates.
JMP Development Updates
Data Discovery
- Evan: Added reinforcing icons to some popup menus, especially Cut/Copy/Paste in the Data Table and Script Editor context menus. Fixed generated Where clauses with Virtual Join columns. Added DispatchKey support for arbitrary expressions. Fixing Formula dependency tree for col<
- Xan: Getting up at 3am to watch the live stream from the World Jigsaw Puzzle Championship in Spain. Just kidding, but I did download the results. Each of six qualifiers used a different 500-piece puzzle, and here are the spreads of the top 40. Some puzzles were easier than others.

- Morgan: Continuing work on Formula Depot naming and handling of multiple instances, as well development on JMP Notebook. As for finished work, Script Editor now supports Ctrl-Shift Z redo on Windows and Formula Depot now shows the formula column name and whether we expanded intermediates in the origin field.
- Dave B: Fixing a couple of regressions caused by caching the number of rows in a tablebox and fixed a few bugs related to editing table box column titles.
- Dan S: Platform Presets improvements for KNN, Type 1 Gauge, EMP MSA. Group Platform - fix Save Scripts for all Objects.
DOE
- Caleb: Finished up a major fix for CSALT. The sample allocations should now be more accurate and we also are now limiting the number of acceleration factors to no more then 3, given the instability at higher numbers of factors and the rarity of using that many in practice. Clearing out other JIRA tickets as well. Finishing up presentations for next weeks FTC (here already!).
- Peng: Continue polishing the density curve options in Fitted Model plot in Fatigue Model platform. Making changes to other existing platforms based on Bill’s recent suggestions and comments.
Host
- Michael H: Worked with Daniel Powell to get a functioning, up-to-date Perforce branch for the Software Authorization project. Worked on Mac portion of Software Authorization. Prototyped technology for changing JMP from a single monolithic executable to a set of smaller interconnected dynamic libraries. Investigated issues with JMP when built and run on macOS Sonoma. JMP Discovery Summit keynote planning.
- Paul N: Python Integration work continues. Fixed issue of conflict between Code generation and Python integration. Updated to Python 3.11.5 on Windows, and it is in in the current build. Have working update to Python 3.11.5 on Mac. Having issues with signing on Sonoma and XCode 15. Not yet pushed to daily build.
- Daniel: Following the dev demo on Thursday, Michael Hecht, John Schroedl, and I are getting the software authorization branch ready for EA6. I am specifically working to remove the IS_ANNUAL_LICENSE, IS_SUBSCRIPTION, IS_JMPTRIAL, IS_JMPPROTRIAL, and IS_SHRINKWRAP build flags from jmpconfig.h.
- John Schroedl: Removed registration prompt and related code. Updated Python init code to honor policy to disable execution. Trying out auth branch and related code. Investigating and still stumped by WPF sizing behavior in WFB.
Interactive HTML
- John Powell: Fixed an issue with heatmap tooltip placement (JMPHTML-2187). Fixed an issue with “undefined” appearing in a heatmap tooltip (JMPHTML-2336). Started investigating an issue with filtering a heatmap with a nested Y axis (JMPHTML-2390). Participated in whitebox testing where our team found 16 issues. Helped a user with questions about dynamic bubble plots in Interactive HTML. Investigated some Interactive HTML build issues.
- Mike Stickles: Wrapped up work on JMPHTML-1419 (Line labels not shown in HTML5) including implementing review suggestions and test case; did whitebox testing; began work on JMPHTML-2003 (Need to suppress display of hidden|excluded rows).
- Paul Spychala: Bug fixing time for HTML. Add a few more Date/Time format tokens (JMPHTML-1442). Add support for X-axis Reference Line Labels for Profilers (JMPHTML-850). Profiler CI’s do not update with locked mixture values (JMPHTML-2366). Did Whitebox Testing along with the HTML team.
- Michael Senoyuit: Completed JMPHTML-1659 - Add support for Number Col Box << 'Hide Missing Value' and started work on JMPHTML-2263 - Preserve annotation tag line.
JMP Live
- Aurora: Bug fixing (access control, GDPR, audit log, Jest tests).
Statistics
- Continuing work on wrangling data demo for Discovery.
- Continuing work in fitting for Easy DOE. Add Uncoded estimates to Fit Mixed (JMP-18661).
- Fixed alpha level and CI type issues in Fit Ordinal and Fit Nominal (JMP-17384). Fixed Profiler for By groups and "Set data to row..." command (JMP-18545). Other platforms using the profiler might consider implementing ::predictorDataTable() to fix by group row numbers.
- Principal Components fixes scores for imputed; SCA now skips imputation because Clay's routines handle it (JMP-18436, JMP-18336). Fit Least Squares needed a scaling change to Box-Cox in strange situations (JMP-18509). Explore Outliers Robust PCA when reaching MaxIter will now prompt to continue (JMP-18463). Robust PCA now cancels cleanly from secondary ProgressBar (JMP-7755). Profiler preserves selection of columns (JMP-17811) and remembers Colorize (JMP-5662).
- Laura C-S: Working on Bollen-Stine correction for chi-square, fixed a profiler bug in SEM with extrapolation control. Finalized date for virtual SEM presentation at Mexican university (U. Iberoamericana). Took a new usability study for DOE. Participated in DEI action committee meeting.
- Annie: Worked on adding a Legend to Short Run Control Charts and fixing other issues related to Short Run Control Charts.
- Laura L: Pushed some code that gets the Design Space Profiler fully working with models that have linear constraints.
Stat Documentation
- Karen: Finished updates in WFB for icons and working on CSALT chapter.
Stat Testing
- Mark: Finishing the usability study for the new Analyze step in Easy DOE to be conducted at the JMP Discovery Summit next month. Debugging test scripts as Easy DOE changes its fitting process in Guided mode with Jacob. Attended second JMP DEI Action Team meeting.
- Jacob: Testing Easy DOE, testing the Best Model feature of the Analyze tab. Testing CSALT Design, working on a new unit test for the platform. Preparing Easy DOE usability study for Discovery Americas.
- Tonya: Testing short run control charts and working on bug verifications
Life Sciences Updates
- Wenjun: Invited to give a talk in the FDA Omics Day held at the FDA headquarters on Oct 10-11. Glad to have an opportunity to showcase JMP functions for data cleaning and preparation in the Data integration and data management section of the conference!
Technical Support
- Wendy: This week, Dahlia Watkins implemented new call flows and Stan Koprowski was able to get the phone number for the Engagement team ported from SAS to JMP. Now, phone agents have a better experience that allows them to know which phone number the customer dialed.
- Here are the standard TS JMP Live reports and the link to the Jira filter showing the tickets reported by TS for the last 14 days. I’ve included a few plots of TS and Engagement activity.

- Engagement Team Topics, last week

- Engagement Team Topics, 2023 to date

Development Operations
- Nick: Working through the details of automating on-demand machine creation and activation in AWS for various Jenkins projects and automated tasks. This allows us to (for example) upgrade the specs of the Windows machines running CI builds as part of the JMP 18.0 auto-integration process while saving money overall - shutting machines down after each complete Windows CI build and restarting in time for the next one. Glad to work with others who have similar challenges with scheduled processes!
- Bob: Began changes to Windows 18 installers to support authorization instead of sid/per and activation. Updated Confluence pages to begin removal of notes on Subscription, JMP Trial, and JMP Pro trial. Strategized with Jim on how the nightly processes of executable builds and installers can change for 18 to support authorization.
- Myron: Reconciled Stringbot and torchDeepLearning.cpp (JMPTOOL-985). Final tweaks to automate sample data script updates with Jenkins jobs (JMPTOOL-505). JiraBot updates for JMPHTML (JMPTOOL-996).
Localization
- Krzysztof: Installation of memoQ web is complete. Set up Platform Preset review project for stat writers in memoQ web and documented instructions. Processing JA and ZH portable UI returns and working with Sandy and Howard on development/testing projects. Resolved memoQ server issues; preparing for memoQ upgrade scheduled for Monday.
- Trish: Discussions regarding process to localize Platform Presets and signaling QA when translations are finalized. Training sessions with Allison (quotes/work orders). Met with doc team to get overview of Oxygen migration project.
- Howard: Development changes to support TOTD rename to Quick Start are almost complete. Database changes and wrote a Confluence page descripting test kit creation.
- Sandy: Finalized Portable UI validation script. Starting on validations for word counts on outbound localization projects.
- Sohail: Continued work to automate terminology harvesting to create localization term bank.
Documentation
- Qiana: Finished up the EA6 tasks. Created a draft of the new Documentation Add-in in English page. Attended the DEI Action Team Meeting. Met with L10N to discuss joint team topics, including the plan to migrate from FrameMaker to Oxygen. Project planning and coordination.
- Devon: EA6 Doc tasks including fixing JMPDOC-2020: Underscore in QPM > Control Chart Builder Contents List, building a test machine on AWS for Doc, Stats, and L10N to test Oxygen XML Editor, and reviewing dev demos in preparation for updating documentation for JMP Python support.
- Chris B: Caught up from 2 weeks out. Installed Oxygen and am exploring. Feedback to Susan on the new Working Smarter. Good chat with Melanie about the move to Oxygen.
System/Host Testing-Cary
- Mike M: Discovered JMP Live heatmap issue when using data filters, JMPHTML-2390. That was a fun one, thanks for the debugging help, John Powell! Finished verifying ZH translated online JMP Help for 17.2. All looks good! Opened 8 new Columns Manager Jiras, mostly dealing with usability. Working to catch up on Cols Mgr verifications.
- Lisa: Discussed some bugs with configure levels and axis edit mode with Evan, entered in a crash that Mike Stickles found in debug, investigated some EA tracks that Holger submitted for the overlay encoding feature, and fixed up some of my JSL unit tests.
- Hunter: Met with Aaron to discuss several bug fixes and some odd behavior in the project window. Met with Drew, Melanie, and Michael H. about several Sonoma issues with JMP 18.0. Opened JMP-18652, JMP-18654, and JMP-18660. None of these issues should affect JMP current JMP 17.x users who upgrade to Sonoma. JIRA verifications.
Web Testing – Cary
- Josh L: Story testing and scenario based testing. Working with multiple developers on various JMP and JMP Live items. Everything from AD Groups, AD Policies and answering deployment questions. Provided JMP Live database update instructions to the test team. For those that publish to JMP Live often. We have added publishing keyboard shortcuts. CMD-OPT-U for Mac | CTRL-SHIFT-U for Windows Happy publishing :smiling_face_with_smiling_eyes:
- Anna: Testing Dan’s new Group platform. Verifying a bazillion bugs!
System/Host Testing-Beijing
- Beijing Team: JMP Live 18 scenario-based testing - week 5/6 (JMPTESTBJ-1803) - In Progress
- Eric(Nai) Wang: (1) Testing new feature “folder level access”, Add integration tests for each folder permission to check what the user can do and cannot do (WEBJMP-7031). (2) Working on JMP Live 18.0 scenario testing. (3) Handover tasks to Da Zhang. (4) Bug verification.
- Da Li: (1) TS: 00054369: responded asking for more info. (2) In progress: JMP Live 18.0 Scenario-based Testing, 7 new bugs created. (3) In progress: Feature testing (WEBJMP-7468: Address notifications sent to users who lack access to the resource in question). (4) Bug Verification.
- Nan Wu: (1) JMP desktop 18.0 bugs regression testing, mainly on the telemetry improvement testing. (2) ODBC drivers upgrade for the JMP 18.0 nightly run UT lab machines, asked help to Jim for help to install MySQL 8.0.23 ODBC driver along with 8.1.0 driver, details can be found from - JMPTOOL-983. (3) JMP Live 18 Scenario-based testing. (4) Completed goal setting for Q3. (4) Bug Verification.
- Da Zhang: (1) Bug verification.
- Kimi(Yu) Wang: (1) JMP 18.0 NF – Python – In progress. Watching the video of JMP Dev Demo_JMP 18 Python Integration. Dealing with JMP-18416: Conflict with Python Integration and Python Generate Code. (2) Dealing with Tech Support – In progress. Case Number 00051830 (JMP-18420: CRP: install user repositories stored in gcloud into JMP18 python). Case Number 00053702 (JMP-18454: CRP: Transfer JMP Datatable object to pandas DataFrame). Case Number 00054464 - Done, Paul: not plan to support connecting to Jupyter. (3) JMP Live 18.0 Scenario Based Testing – In progress. (4) Bug Verification.
- Nala: (1) JMP Live 18 scenario-based testing - in progress. (2) Bug Verification. (3) Q3 Conversation within Beijing team has been completed.
Note from Shannon
The animated pastel Google doodle caught my eye today. When I clicked on it, I found that it celebrated the birthday of a now-deceased Hungarian-American psychologist best known for naming the psychological concept of flow. It’s a concept we reference from time to time with JMP – trying to keep customers “in the flow” as they work with data in our tools. Here’s a snippet of those details. Hope you all have a great weekend and have some time to be in flow doing something creative that you enjoy!