19.2.1: Security Freeze 10/8/26 • 20.0: open in main; EA7 Code Freeze 10/1/26; Code Freeze 1/7/27
Welcome to the JMP Development Update for September 25, 2026!
Our freeze for JMP 2027 EA7 is coming up next Thursday, 10/1/26. Please update the Motivation and Summary section of your feature pages with any new content that you’d like to share with our early adopters. Also, we are now two months past our feature freeze milestone. Development managers, please be sure to regularly review projects that your team owns that are still listed as under development on the Late Features page.
As we continue to migrate processes and files off the jmpsrv01 server in preparation for its retirement at the end of the year, please be sure to check to see if you have a folder under the //jmpsrv01/Users/ directory. If you do, please move any files that you still need over to your personal OneDrive and delete your folder when that is complete. Shannon L shared these slides about this ongoing project and best practices for OneDrive use at the JMP Dev meeting two weeks ago.
Thanks very much to Richard Zink for presenting at yesterday’s JMP Dev meeting! Richard shared two new JMP Clinical reports that leverage forest plots. If you missed the meeting, you can find a recording here.
Finally, thanks to Mandy Chambers for sharing the following details on the Strides and Rides event and raffle sponsored by WIN! (You can find a link to this post here)

General Announcements
Important Upcoming Dates
- 20 EA7 Code Freeze – 10/1/2026
- 19.2.1 Security Freeze - 10/8/26
- Final Portable UI String Handoff for 20 – 11/12/2026
- 20 Code Review Mode - 11/26/2026
- 20 Code Freeze – 1/7/27
- Please visit Confluence for a full list of JMP 19 dates and JMP 20 dates.
JMP Development Updates
System/Host Testing
- Audrey: I’m very pleased that Melanie Drake will soon be joining the Testing team as a Test Manager for the Core Testing group. I’ve been working with Shannon Leslie on our migration off of jmpsrv01 and determining some best practices for JMP in using OneDrive and SharePoint.
- Melisa:
- Used a JSL script from Evan to run all of our scripting index tests in High Contrast mode to look for contrast ratio issues. Entered a couple of contrast issues:
- JMP-32427: Icons in Columns Pane are almost impossible to see when selected in High Contrast mode
- JMP-32429: Categorical color contrast is too low for Dark and High Contrast modes
- Added new mimic tests:
- JMP-32375: Data Grid: Dragging line below header stats should resize the next resizable header area above
- JMP-32271: "Recall" option on Recode includes undo/redo for every label in the data even if none of them were changed
- Entered a couple of issues found with Recode:
- JMP-32546: Recode window gets wider each time "Redo" Changes
- JMP-32543: Recode dialog is incorrect when "Recall" previous recode that used "Labels to Codes"
- Eric H:
- Verified and closed JMP-30995 Add Data Connector export option into Mac export menu
- Verified and closed JMP-30996 Add Data Connector export option into Windows export menu
- Testing JMP-26702 Add upload/export mechanism to Data Connector and discovered it’s not working on MySQL tables
- Began work to add tests to include this new Data Connector export type to the nightly test runs.
- Testing JMP-27403 Login to Snowflake V2 endpoints with public/private key. Discovered keys created with the built-in openssl utility on Mac (/usr/bin/openssl) didn’t work. The developer had to correct his code to accept keys created with multiple implementations of OpenSSL. Will verify with the next nightly build.
- Investigation JMP crash report Case Number 00354098
- Mandy: Worked on Dynamic tables and transforms a bit - verifying some crash fixes and writing a few new tests to add to the framework. Helped Brad with setting up a test so he could write and add some more tests. Updated a few Jiras on issues that need attention for grouped scripts and columns being saved when expanded in the data table. Worked on JMP-32328 with the column groups and generated scripts being incorrect - wrote additional tests for this and added to the framework. Installed the new Golden Gate OS and found a few issues (one with Beyond Trust) and another that looks like a color selection issue in data tables.
- Nick H: Worked on 20.0 feature and bug verifications, adding a few new unit tests. I tracked down a failing unit test which was a regression caused by a recent change in Scatterplot 3D. Lastly, I have been helping Melissa clean up a mysteriously failing unit test.
Web Testing
- Hui:
- Increased release readiness by completing JMP Live 20 Admin Client I18N validation and verification of key HTML5 features, including the product-name update and data-filter search functionality.
- Completed validation of the JMP Runner issue identified during product-name testing, reducing transition risk for JMP (JMP Pro) 2027.
- Continued JMP Live 20 I18N and Jira-based validation efforts, identifying and documenting quality gaps in HTML5 tooltip wording, crosshair disabled-state behavior, and localized search guidance.
- Maintained momentum on defect triage and fix verification, helping ensure issues progress efficiently from discovery through resolution and reducing risk of late-cycle surprises.
- Overall: Validation efforts this week increased confidence in localization quality and HTML5 feature readiness while supporting timely defect resolution through triage and fix verification. Current focus remains on validating incoming fixes and monitoring residual release risk.
- Metrics: 10 verified, 0 blocked, 0 reopened, 5 reported, 0 regressions.
- Seema:
- Accepted and Closed:
- Show audit-log-wiped record in package and space History tab
- Message for max triage statuses should be displayed when trying to add status
- Highlight column/group headers when you focus a warning
- Improve body of notification email for Process Screening reports
- "Show sections without warnings" is set to whatever the toggle was set to last for all reports
- Error: Cannot return null for non-nullable field WarningSummaryForGroup.group
- Unable to publish to jmplivedaily
- Add Group Information Visibility in Warnings Panel
- Report does not display Warnings in Warning panels even though it has Warnings
- Created Jiras:
- Email notification for a report with Warnings in more than 3 columns but less than max columns contains all columns
- Multi-selecting Warnings in Control chart does not work if the chart is displayed from the Warnings Panel after a chart has been displayed from the PS table
- Clicking on PS table scrolls through Warnings panel
- Category highlighting does not update unless a marker is selected
- Dashboards don't show table names if one table has no warnings; "Show sections without warnings" only shows sections for tables that already have warnings
- Selected warning point in chart stays selected even when viewing other charts; other charts not in focus
- Natalie: HTML Automation report: 19.6.1 – 2 expected diffs, 20.0 - 6 failures due to a change last week in JMP Live. Test case updates ready to be merged. Continued Process Screening automation updates. Various office housekeeping tasks.
Core
- Dave B:
- Fixed a memory problem saving graphs with a large number of markers to pdf (Windows only) and svg by automatically switching to a raster image instead of vector. Currently the limit is the “Fast Marker Threshold” preference but it might be worth having a dedicated preference.
- Updated jmprunner build options to include an “Email log” checkbox that Michael Hecht suggested
- Fixed a regression with scatterplot 3d marker sizes
- Fixed a BlockDisplay alignment bug
- Dan S: Improved keyboard navigation to scroll boxes into view, and avoid resetting focus unnecessarily. Changing layout in some cases to improve Accessibility - adding TableBox parent for columns that don't have a table, removing tables that are used for spacing and don't have data, and converting from table to list of text for messages that are not related.
- Ernest: Added ability to query table metadata using Open(“TableInfo”). Working on fixes to dynamic tables, esp. involving transform columns.
DOE and Reliability
- Caleb: This week, my bug fixing slowed about as fast as the temps dropped
. I worked on two tickets this week for reliability. I also helped teach the second half of an online short course for the International Statistical Engineering Association.
Hosting and Interfaces
- Michael H: Working on Mac JMPRunner to have it take over the functionality of the “Build on Windows” P4 custom tool’s Python script (ongoing). This will allow Mac developers to launch and monitor Windows shelf builds and see MSVC diagnostics directly in the build logs, with additional Dark Mode and icon polish. Fixed Mac sticky Outline title backgrounds. Working on a fix for stale tracking highlights in custom menu palettes (Colors, Markers, Pen Styles). Triaged four new macOS leak reports, which are all macOS Tahoe leaks; added them all to the list of “known ignorable leakers”.
- John Schroedl:
- Host: Updated group policy files for control of DuckDB connections for Neal S. Restored the ability to set window icon on dialogs via JSL. Icon updates.
- A11Y: Alert dialogs are now read correctly by JAWS when first shown. Fixed issue of radio and check boxes not being controllable using Voice Access (UIA).
- Will:
- Adding column selection and row filtering to SharePoint List Data Connector
- Investigating bugs with exporting data using MySQL ODBC connections
- Finished preparing content for Discovery Baltimore lightning talk about Databricks in JMP 2027
Interactive HTML
- John Powell:
- Compiled a list of ideas from our backlog for JMP 21 planning.
- Discussed persisting/restoring row state changes with Praveena and Justin Chilton (JMPHTML-15738).
- Working on converting Interactive HTML hyperlinks to JMP.com and online help to use 2-letter language codes (JMPHTML-15200).
- Completed 2 Act-now courses.
- Q3 Check-ins.
- Mike Stickles: Have almost wrapped up work on JMPHTML-15788 (Support multiple response bar charts), trying to finish off one last issue where missing column values break ordering if “Include Missing Categories” is not checked.
JMP Live
- Aurora:
- Process Screening small changes / Jira filing
- Add onscreen counts to filterable lists
- Update third-party packages
- Plan/practice for Discovery activities
- Required SAS training
Statistics
- Elizabeth: Fixed two crashes in Mixed & GLMM (thanks Fang for finding them!), one with power analysis (JMP-32475) and one with saving simulation formula columns (JMP-32473). Also fixed a UBSAN issue reported by Jim that potentially affected Mixed, GLMM, and Causal Treatment.
- Laura C-S: Continue reading about delta versus theta parameterization in ordinal SEMs and figuring out the implications this has for changes in the UI. Scheduled a meeting with Ken Bollen to get feedback on Categorical MIIV-2SLS in SEM. Investigating a strange crash with right-click bootstrap. Preparing for Discovery presentations.
Stat Documentation
- Michael C: Continued work on XML cleanup in the converted documentation files and worked with Devon to troubleshoot some web help issues. Led the annual business meeting for the SPES section of ASA and worked with Yeng on the SPES budget for 2027.
Stat Testing
- Mark: I attended the next session in the Introductory Developer Discussion series. Jacob, Ryan, Joseph, and I responded to issues raised by the patent committee about our ideas for the simulation of responses invention. I tested the Study Tool extension in preparation for submitting it to the JMP Marketplace. I made a draft of my lightning talk for the Roadmap session about DOE, reliability, and Quality. I am studying C++ programming in a LinkedIn training course.
Life Sciences Updates
- Drew: Ernest's fix to JMP-32129 resulted in uncovering lots of places in JMP Clinical's usage of "external" variables in formulas - unit tests for the win! That resulted in JMPCLINICAL-6056. Using some of the features of VSCode, some regular expressions, and a lot of patience
, I examined all 3,000+ formula statements in JMP Clinical and updated the formula specifications where necessary to only reference variables/values certain to be resolved in the formulas' contexts. While this was a fair bit of time-consuming, fiddly work, it was definitely the right thing to do - both for JMP (Ernest's fix) and JMP Clinical. I'm still addressing a handful of discrepancies in the unit tests, but the vast majority of this work is complete.
Product Management and Product Marketing
- Bryan F:
- Icons:
- Created seven JMP 2027 icon stories and updated existing tickets across the debugger, data tables, and modeling platforms. Many are now Test-ready.
- Worked with John Schroedl and Chris Humphrey on Windows and Mac icon delivery.
- Worked with Jules and Xan to address some Graph Builder icon consistency issues.
- Accessibility:
- Met with accessibility developers and filed a Sample Index keyboard-navigation bug after Michael Goff pointed out that arrow keys and Enter did not work as expected in search results.
- Product design and brand:
- Met with the brand team about JMP 2027 file-type icons, application icons, and splash screens.
- Provided additional input on terminology for the JMP Live report-review workflow.
- Professional development: Finished NN/g’s Interaction Design course and took another on Persuasive and Emotional Design.
Technical Support and Engagement
- Wendy:
- Technical Support: Maintained customer support operations while advancing key initiatives, including Salesforce/phone workflow enhancements, activation server updates, prior-release and end-of-support planning, and continued JMP Live support transition and deployment documentation efforts.
- Engagement: Continued refining processes around legacy version requests, software administration, BizOps collaboration, and customer communications, while building guidance and documentation to support the JMP 15 end-of-support initiative and improve consistency across customer interactions
- Below are the usual graphs for case topics for both Tech Support and Engagement. Here are the TS JMP Live reports and the link to the Jira filter showing the tickets reported by Support for the last 14 days.
Case Topics for Technical Support Americas/Japan, last week:

Case Topics for Engagement queue, last week (excluding automated cases related to Restricted Party Screening):
Development Operations
- Nick
- Worked with Warren Boyd and Jay Robbinson from SAS IT/GIS to troubleshoot our issues with JMPSRV01 and the Defender scanner pegging the CPU to 100% continuously. I shared the steps I used to temporarily fix the problem last week, and they were able to take that fix further by stopping the Defender service and fully clearing temporary scan files. Jay also added exceptions for newly created files on JMPSRV01 that were believed to be impacting scans. I'll continue to monitor performance as we go into next week to make sure we have resolved the issue.
- Converted JMP 19.2.1 Windows 2022 Server DailyUT to our new trigger file/on-demand approach, which has been working well. We've actually not even run the new DailyUT build for 19.2.1 because we haven't had a nightly installer. This will change over the weekend, but already we're seeing an improvement in infrastructure usage and simply better non-scheduled builds with the new approach! Very happy with how that process improvement has played out.
- Meetings to discuss both JMPSRV01 process migrations, as well as work on a successor to Snyk. More on that next week.
- Performed server updates for the JMP SWARM server, and Jenkins updates are planned for early next week.
- Jim:
- Brought nine mac OS testing machines into SAS CIS compliance by applying OS updates
- Deregistered many old AWS AMIs
- Assisted Chris K with restaging a mac mini and setting up remote access
- Assisted in the investigation of #INC6125674 for Susan C
- JIRAs
- Fixed
- JMPTOOL-2434 Apply September 2026 Windows Updates to DailyUT Images in AWS
- JMPTOOL-2382 EOR 19.2. Remove old release tabs from main Jenkins page and archive other Jenkins jobs for 19.2
- Reported
- JMP-32532 Leak in topSymbol.cpp:4562 ClassDecl::own(std::__1::unique_ptr>)
- JMP-32534 Leak in hostMacIcon.mm:172 +[NSImage(JMP) _imageForJMPIconID:]
- JMP-32535 Leak in host_display.mm:139 boxToPDFFile(DisplayBox*, FileSpec&, bool, bool, DisplayWindow*, PictureOpts const&)
- JMP-32536 Leak in hostMacButtonDisplay.mm:58 -[JMPButton drawRect:]
- JMP-32537 Leak in hostMacGPicture.mm:1794 HostMac::GPictureImpl::macSetImage(NSImage*)
- JMP-32538 Leak in hostUtility.mm:0 ProcessMessagesForTimeInterval(double)
- Shannon L: Continuing progress on the JMP communication and change management for VMware Exit (Vexit). Investigating best practices for OneDrive and SharePoint, and investigating existing JMP-related SharePoint sites. Wrapping up 19.2/19.6 end-of-release tasks and 19.2.1/19.6.1 start-of-release tasks. Working with Drew Hunter on his compliance intern project. Working with Kristen on the flow for registering Extensions for export compliance. Atlassian user support, including reviewing best practices with Tech Support. Weekly technical meetings. Continued work on JMP 2027 name change.
- Bob:
- Uploaded installer files for 19.2.0 JMP, Pro, Student, and Clinical, along with JMP Live 19.6.0
- Prepped and tested installers for v20 EA7
- Final testing and conversion for V20 Windows installers to use InstallShield 2026. No negative issues.
- Continued strategy for transition away from jmpsrv01 by moving some files into staging area from move into cold AWS storage
- Melanie: Transition planning as I move from DevOps to Testing • Created EA 7 Jiras for Project Management • Checked Sample Data Stringbot run from the weekend WRT to some new, complex tables • General testing around JMP DevOps tasks.
- Shannon C: Q3 catch-ups with various team members and regular group and individual meetings. Presented a Jira review with Shannon L at the JMP TS group meeting. Met with Nick and John Powell to discuss the HTML build machine. Reviewed open crash Jira issues and investigated a few new ones.
- Myron:
- JMPTOOL-2428 – testing updates for 19.2.1
- JMPTOOL-2401 – migrate stringbot for builtins to AWS
- JMPTOOL-2108 – migrate crash system to AWS
Localization
- Krzysztof: Answering queries from translators and reviewers of PortableUI 20.0. Fixing and refining the online memoQ localization workflow based on feedback from translators and reviewers so far. Developing scripts and automation to produce UI change reports between StringBot runs, including added and removed strings with metadata such as group and CPP file names. Reviewing the latest cleaned-up books in Oxygen and evaluating the impact for pre-translation. Testing bug fixes and new automation features in the L10N workflow.
- Allison: I translated 19.2 Release Notes to ZH and handed off to vendor for DTP work; researched and communicated with translation teams on Portable UI translation queries; completed courses in PLATO; communicated with vendors regarding invoices; completed Q3 check-in.
- Sandy:
- Continued testing on new Populate Job for Oxygen files
- Continued testing on new Post Processing Job for Oxygen files
- Took some Plato Training
Documentation
- Susan C:
- JMP Live framework planning for Oxygen
- Getting Mac up and running so I can verify quick start and keyboard shortcut cards for 20 (had to reset Mac and now having issues with installer permissions, tickets open and working with tech support)
- Got a draft copy of interactive HTML EN help for 20 published, working on localized langs
- Qiana:
- Procurement tasks for the Oxygen Production Engine
- Completed jmpsrv01 retirement tasks
- Sample data table work
- Verified 19.2 deliverables on jmp.com
- Created the EN 19.2 doc add-in
- Jill:
- UI string review
- JMP-30744
- Creating oXygen element use list page
- Reviewing other JMP 20 new features
- Updating JSL image scripts to remove hard-coded line colors
- Devon: Pushed test build of full web help for Stats team review, fixing various issues and integrating changes for future builds.
Note from Shannon
Thanks very much to Mike Stickles for sharing this stats humor! :smiling_face_with_smiling_eyes: Hope you all have a great fall weekend!
