Welcome to the JMP Development Update for September 22, 2023!
We are heading towards JMP 18.0 EA6 freeze on 10/03/23. As usual, if you’re working on late features, please keep your section on the JMP 18 Late Features page and associated Jira issues up to date to help downstream teams track your progress. If you have updates to share with EA6 customers, please update the Motivation and Summary sections of your individual feature pages.
To permit extra time for completing work on JMP 18’s new authorization system, JMP development and product managers have decided to move the early branch event for JMP 19 to Friday December 1. Next week, we will meet to hear more about this project from developer Daniel Powell and product manager Sarah Sylvestre. JMP 18 code freeze is planned for 12/20 and the JMP 18.1 branch will be created soon after.
JMP 17.2 full installers were released by SAS this week and should be available now to our existing customers. :party_popper: Remember that new customers will be obtaining their software via My JMP, but existing customers who are upgrading will still be going through the SAS processes (for now). All of our systems are in a transitional state.
Thanks very much to Annie Zangi for offering to presenting her work on. Short Run Control Charts in JMP 18. This feature has been a request for some time, and now closes the gap between JMP and other products. Both Annie and Tonya have spent a lot of time on this feature in recent months. There was some interest in doing a large-scale reproduction of the Fancy Chocolate experiment. :grinning_face: Annie shared her data table in the meeting chat – find it there or talk to her if you’re interested in the data.
We have quite a schedule of JMP Dev presentations for the coming months. If you want to present at a future session, please sign up on the JMP Dev Volunteer page in Confluence. Presentation slots are filling up for the rest of this year, though remember we can always add an additional Tuesday session if you’d like to get your demo in before the year is done.
Tonya Mauldin continues to coordinate the distribution and response to beta tracks and shares this week’s beta/crash report case details below. (Thanks, Tonya!)
Beta/Crash cases for this week with crashes selected.

JMP Beta Report - Distribution (5) | JMP Live (sas.com)
General Announcements
- On September 19th, Mike Anderson delivered a competitor training on open-source products as part of the Sales Enablement Training Series. Mike delivered a powerful presentation that explained what an open-source product is and how sales should position JMP when talking to a customer using open-source products. You can find more information (including recordings) on this training and others in the training series schedule within the Sales Enablement Library.
- 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!
- The Employee Arts & Crafts Fair will be on SAS Campus Tuesday Sept 26 from 11 am -1:30 pm in the Building G gymnasium.
- Welcome to two new staff members in Brian’s group, Chris Hesser and Kristen Slappey!
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/2023
- 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
Statistics
- Elizabeth: It’s been a week of various mixed model questions from SEs & customers and initial preparations for Discovery Korea and Japan.
- Annie: continued working on Short Run Control Chart Jira issues, along with preparing for and giving my talk on the new Short Run Control Chart
Stat Documentation
- Michael: Prepped stat books for EA 6 help build, proofread the EA 6 help build, met with Hamid and Laura C-S about a new SEM example being added to the documentation, string reviews, and investigating a user-reported bug in the Imbalanced Classification add-in.
Stat Testing
- Tonya: Testing short run control charts and doing bug verification.
- Mark: Designed a usability study for the new behaviors and results in the Analyze step of Easy DOE with Jacob. Investigating the failures in Easy DOE test scripts caused by a new fitter and Profiler changes with Jacob. Studying the recorded tutorials of the JMP codebase. Studying the papers about the methods used in the CSALT platform. Answering questions in the JMP Community.
- Jacob: Creating a usability study for Easy DOE at Discovery Americas (with Mark Bailey, Joseph Morgan, and Ryan Lekivetz). Testing Easy DOE Analyze tab updates. Verifying Jira tickets for MSA Design and Make Validation Column. Working on utility functions to test CSALT Design
Technical Support
Weekly Case Counts

Topics for Engagement Queue, total

Topics for Engagement Queue, last week

Development Operations
- Jim: Jira verification of fixed issues. Updated operating systems for various mac OS build and testing machines. Continued working on installing ODBC driver updates for https://jmpdiscovery.atlassian.net/browse/JMPTOOL-983. Reported ASAN crash to appropriate developer. Participated in discussions regarding JMP authorization and necessary changes to build and installer scripts. Perforce support.
- Myron: (1) JMPTOOL-505.. process sample data with weekly Jenkins jobs. (2) Jirabot updates in JMPTOOL-991, JMPTOOL-993, JMPTOOL-994, JMPTOOL-995, JMPTOOL-986, JMPTOOL-987. (2) JMPTOOL-989... fix problem with help keys job(s)
Localization
- Allison: Researching Oxygen (proposed tool to replace FrameMaker); Training with Trish on project workflow/quotes and workorders; finalized goals in Workday.
- Howard: Completed development work memoQ commit project; development changes to support TOTD rename to Quick Start.
- Krzysztof: Working with John Schroedl re: translation of Group Policy Objects; met with Education to show them how to access our MT engine for their projects;
JMP Live Keycloak project packages and word counts created; worked with Sandy and Howard on development/testing projects; triage memoQ server issues.
- Sandy: Work to optimize Portable UI validation script; working on validation script for builtins.
- Sohail: Continued work to automate terminology harvesting to create localization term bank.
- Trish: Provided feedback JMP Legal regarding two test projects and info on how we could support them in the future support; training sessions with Allison; animated .gifs for Quick Start will be outsourced to a vendor, met with doc team to discuss instructions to vendor and project coordination. JMP Live projects delivered to translation, work orders in progress.
Documentation
- Susan: Quick Start - Finished creating Mac animated gifs & videos for localization. Checked gifs into Perforce and verified on Mac. Also checked the latest animated gifs for Windows into Perforce and verified on Windows. Followed up with ordering bug, fixed now. Working on Windows videos for localization. EA 6 processes - Completed production checks for my books and currently reviewing the online help output.
- Qiana: Participated in the Manager Essentials Plus class. Worked on Jiras. Ran production scripts on assigned books and began reviewing those books in the JMP Help. Performed documentation add-in work. Did project planning and coordination.
- Devon: Published the 17.2 JA help with fixes integrated, published first run of 17.2 ZH help for testing, 18.0 EA6 documentation production tasks, command line and Python training
System/Host Testing-Cary
- Mandy: Worked on the Mac Crash I found last week, with Michael Hecht in the office – got a fixed and verified it; Finished the Correlation and Regression STIPS course and passed the test – WhoHoo!; Modified a hover label test, due to Food Journal.jmp table changes; Helped assist Gail M. with a user’s question about workflows and GB and hover labels going 3 deep – if they would record – they do; Working on verifying changes for Workflows and other fixes at 18 – adding Test where I can to the framework.
- Nick: Added timing information to the JSL Unit Test GUI. To get the latest changes sync depot/main/test. An overview of the changes and preferences is here: JSL Unit Test Runtime Integration. Additionally this week I have been working on cleaning up some unit test failures, as well as filing a few bug Jiras for Platform Presets.
- Audrey: Jira admin work, investigating performance degradation in automated JMP Live publish scripts, brainstorming about the impacts of upcoming licensing changes.
- Hunter: Investigated and responded to a Windows host JMP 18 EA 5 track, investigating issue in project where folder is unexpectedly deleted, JIRA verifications, and installed and tested with the Sonoma 14.0 Release Candidate #2 on MDA692 and Macbeta1x86 in the lab.
- Anna. Testing column switcher and local data filter. Verifying bugs galore.
System/Host Testing-Beijing
Weekly Accomplishment
- JMP + JMPC Jira: 6 Bugs / Stories created ( Link ), 31 Bugs / Stories verified ( Link)
- JMP Live Jira: 13 Bugs / Stories created ( Link ), 72 Bugs / Stories verified ( link )
Testing for JMP, JMP Server and JMPC:
- Nan Wu: (1) JMP desktop 18.0 bugs regression testing, mainly on the HTML5 profiler testing. (2) ODBC drivers upgrade for the JMP 18.0 nightly run UT lab machines, Jim has helped upgrading the ODBC drivers for most of the lab machines now, I’ve updated the corresponding unit tests connection string information to reflect the ODBC drivers upgrading, and pushed the changes to perforce - https://jmpdiscovery.atlassian.net/browse/JMPTOOL-983 (3) JMP Live 18.0 bugs regression testing. (4) JMP Live 18 Scenario-based testing https://jmpdiscovery.atlassian.net/browse/JMPTESTBJ-1803.
Data Discovery
- Xan: Profiler overlaid interaction bugs (thanks Colleen!) and column list box measuring.
- Evan: Added telemetry for Column Properties. Fixed Distribution Preset rendering. Wrote up some Auto Recalc issues. Filed Data Table bugs. Adding existing icons to common popup menus. More Preset work still to go.
- Morgan: Setting up new development builds and working on the JMP Notebook. There will be test builds of JMP Notebook up by the end of day today, with more work done on organizational features. I’m also working on naming and organization within Formula Depot.
- Dan S: Platform Presets - fixed a crash and improved drag-and-drop behavior. Fixed Where() scripts with Transform Columns. Fix data filter label when column names change. Tab Page Box will now use dispatch for some changes (title, icon) in reports Robust-dispatch work for Confusion Matrix and Capability reports.
DOE
- Caleb: revisiting how the CSALT platform computes sample allocation and selects design points for designs with more than 1 accelerating factor. I’ve also made adjustments to when MSA Design adds EMP and Gauge R&R table scripts to the design table so as to avoid situations where the EMP/Gauge R&R platforms cannot appropriately handle the model specified in the MSA design. Melanie and I have also been working on string extraction for a couple strings in the sample size explorers that, until recently, could not be localized. preparing my talk for the Fall Technical Conference coming up in less than two weeks (!) and finalizing a revision of my paper submission to RAMS 2024. Other than that, helped out a change needed by CSALT, and patched quite some newly surface Jira’s related to isColumnInvolved. Having been working on JMP for so many years, I was not aware of this function, and none of my platforms used it. But these are simple fixes, thanks to Dan Schikore providing solution while pointing out issues!
- Peng: Mainly continue working on changes to Fatigue Model requested by Bill. The main request is adding more display options of the fitted models. Due to the interactive nature and scripting requirement of JMP, the work is not as simple as one might think. It has been three weeks so far since I started.
Host
- Paul N: Continuing work with Python Integration. Work on updating Python version from 3.11.4 on windows and 3.11.3 on macOS to 3.11.5
- Working with Dahlia Watkins to support a customer using their own Python extension library and getting it to import and run within JMP 17.
- Also related is JMP-18454 where same customer is quite insistent on their desire for JMP 18 to continue transferring a data table to Python as a pandas.DataFrame. This used CSV files to transfer the data to pandas. I have supplied a simple work around (what JMP was doing internally). JMP 18’s Python Send( data_table) data table transfer in 18 will differ from JMP 17. JMP 17 created a pandas dataframe using CSV files, while 18 creates a jmp.DataTable object. Further in 18 the jmp.DataTable object is live access to the data table, not a copy. Just like the removed Python Get Graphics() a simple workaround exists that works in 17 and 18. To get the JMP 17 behavior, the customer only needs use JSL to save the data table as CSV, then in the Python code, have pandas read the CSV file. Note the return path Python Get (dataframe) remains and will create a JMP Data table from a panda dataframe. At present getting a pandas.DataFrame still uses CSV files as the transfer mechanism.
- I have worked hard to maintain as much backward compatibility as feasible, but there will be some necessary functional differences between 17 and 18. The goal is that 17 to 18 will be a transition, but 18+ will keep the API stable, while expanding capabilities on the Python side.
- Daniel P: The Salesforce based Software Authorization is moving under //depot/usr/dapowe for both Mac and Windows and is getting cleaned up in preparation for the demo next week as well as EA6!
Interactive HTML
JMP Live
- Aurora: Regeneron Roadshow (joined remotely to talk about JMP Live). Came up with a new refreshable data set and associated reports for Discovery. Bug fixing (deletion of users, access control, notifications, audit log, data defaults during publish, Jest setup).
Note from Audrey
Fall is in the air - hope you all have a wonderful weekend!