19.1.5: Security Freeze 8/6/26 • 19.2: Security Freeze 9/3/26 • 20.0: open in main; EA6 Code Freeze 8/27/26; Code Freeze 1/7/27
Welcome to the JMP Development Update for July 31, 2026!
It’s hard to believe that tomorrow is already August in North Carolina! We’re entering the final month of summer break, with some year-round schools already starting the new year.
With summer drawing to a close, we are in the midst of an excellent intern presentation series. If you have not been able to attend these sessions live, you can find the recordings for session 1, session 2 and session 3 on the JMP Dev Recordings page in Confluence. We have two more sessions coming up next week (see the full schedule here). Also, JMP interns will be presenting at the Intern Expo on Thursday August 6 at the Building C EBC from 2-4 pm. If you’ll be on campus that day, please stop by to support our interns at this event!
We are nearly to our Security Freeze date for JMP 19.1.5, planned for August 6. This is our final security-only release prior to JMP 19.2, which will be collecting security freezes until September 3. If you identify a possible showstopper problem in 19.2 prior to September, please discuss it with your manager so they can discuss it at the Wednesday Ops meeting. If a fix is not appropriate for 19.2 but needs to be resolved before 20 ships, it may be considered for inclusion in our final emergency bug fix release (19.2.3).
20 EA5 has now been fully vetted by QA and released to EA customers! Thanks to everyone for reviewing this latest iteration of new features for testing. I appreciate that many of you are triaging your story and epic items marked with a 20 Planned Versions. All such items that have not yet been marked test-ready but are still in active development need to be added to the 20 Late Features page. Please triage items that are no longer a priority for 20 by demoting them to feature requests, removing the planned version, or updating the planned version to 21.0 (if an item is committed to be addressed there).
Thanks to Trish O’Grady for sharing that the date to hand off the first set of portable UI strings for JMP 20 has been moved to August 24. This will provide the writers with additional time to review UI strings. Special reminder about Scripting Index Description Strings. Please use "[[ ]]" to denote parameters referenced in the prototype that should not be translated. This will help eliminate questions from translations teams. Less time answering questions from translators means more time for you to code. :smiling_face_with_smiling_eyes:
General Announcements
Important Upcoming Dates
- 20 EA6 Code Freeze – 8/27/26
- JMP 19.2 Security Freeze – 9/3/26
- JMP 19.1.5 Security Freeze – 8/6/26
- 20 Code Freeze – 1/7/27
- First Portable UI String Handoff for 20 – 8/06/2026
- 20 EA7 Code Freeze – 10/1/2026
- Final Portable UI String Handoff for 20 – 11/12/2026
- 20 Code Review Mode - 11/26/2026
- Please visit Confluence for a full list JMP 19 dates and JMP 20 dates.
JMP Development Updates
Web Testing
- Josh:
- Investigated and tested Keycloak, LDAP, and LDAPS authentication scenarios.
- Reported and validated multiple authentication-related defects.
- Assisted with customer authentication troubleshooting and logging improvements.
- Participated in report workflow and 21 CFR compliance discussions.
- Evaluated HTML5 automation impacts from upcoming UI changes.
- Supported infrastructure and server maintenance activities.
- Resolved Keycloak/PostgreSQL outage and performed backup validation.
- Submitted firewall access requests to unblock AWS-based automated testing.
- Continued workflow/versioning and digital-signature reviews.
- Tested data editing fixes and auth-provider improvements.
- Coordinated automation planning around new HTML5 crosshair functionality.
- Opened and tracked several Jira issues related to authentication and configuration workflows.

- Seema:
- Accepted and Closed:
- Unexpected population of qc_byLevel when WHERE clause used
- Add control to hide no warnings columns, hide by default
- Deal with inability to reflect triage status in HTML with By role
- Zero warnings scenario missing summary objects
- Sequelize pool settings max db connections wrong when NODE_WORKERS is set
- User can publish a file post from JSL
- Support new profiler platform Gaussian Process
- Created Jiras:
- Some Warnings from JMP not appearing in CCB chart in JMP Live
- JSON for JMP Live not formatted correctly when CCB has By level and where clause
- JSON for JMP Live not formatted correctly when PS has By level and where clause
- PS report with where clause does not display where clause in JMP Live
- Warning message for publish is different depending on docking of report with a where clause in a dashboard
- Inconsistent behavior for Profiler in JMP Live when invalid values entered in text boxes
- Prediction Profiler X values not reset when "Reset" option selected
- In Progress:
- Owner/admin can see History and Views of a file post
- Taylor
- In Progress:
- Upgrade Advanced Installer project files to 23.3
- Add env flag to allow client loggin in prod
- Rearrange/remove installer pool settings
- User can assign add-ins to a script post
- Accepted and Closed:
- User can assign data tables to a script post
- Audit log successful and failed script post runs
- Send notifications for successful and/or failed script post runs
- Split notifications db code
- Preserve JMPLIVE_BASEURL port on upgrade when different from PORT setting
- Make the minimum node version requirement for JMP Live read the Global_Tools.json file
- Handle script posts in various internal scenarios
- Size of file post counts against owner's storage quota
- "View history" button linking to workflow-specific filtered history tab
- Handle file posts in various internal scenarios
- Anna:
- Tested Xan’s new implementation of multiple freq variable in Graph Builder with HTML5 | JMP Live. No problems noted. Feature working as expected.
- Verified Paul fixes for Surface Plot and ScatterPlot 3D.
- Verified that several desktop crashes no longer occur.
- Testing ScatterPlot 3D w/column switch & transform columns.
- Tested Line chart w/X axis as Response.
- Tested new Graph Builder features Xan pushed for desktop in HTML5.
- Continuing to test Data filer issues in JMP Live.
- Hui:
- Worked with Josh to set up and validate the JMP Live 20 I18N testing environment, then explored the testing setup to confirm baseline behavior.
- During the review, I noticed a few minor issues that need follow-up.
- I will report the issues I found and contact the developers to confirm whether they are expected behavior or defects.
- Some of the issues observed during exploration testing also appear in the production version, so the impact is not limited to the testing setup.
- Overall, the investigation is progressing, and the next step is to close out the open questions with developer confirmation.
- Natalie: HTML Automation report: 19.5.2 – 1 expected diff, 19.6 – 1 expected diff, 20.0 – 7 diffs total but all known and expected. Updated our Process Screening testcases with new step to close the auto-expanded warning panel when a row is selected from the summary table. These updates and new benchmarks should be merged next week when Steve returns. I continue to work on new test coverage for process screening.
Core
- Dan S: Fix for GroupPlatform << Get Script when the platform does not have a window. Refactored PlatformLauncher so that it has a member that tells you if Ignore Preferences(1) has been set. Refactored TopSeg editing from the frame Customize dialog so that you can opt-in or out from saving the comments/formatting, which uses JSLQuote(). Additional updates for Accessibility. Investigating changes to make it easier to create a Crosstab display using AlignmentGridBox.
- Xan: Supporting Ignore Platform Prefs in GB and CCB; added fill mode to radar; cleaning out dead code.
DOE and Reliability
- Caleb: Finished making updates to a WildTrack paper we hope to resubmit by next week. I also helped Simin with making candidate designs for our second round of experimentation on our additive manufacturing project with Ryan DeWitt. Finally, I've been preparing for JSM, which is already here! Looking forward to seeing a lot of JMPers there!
Hosting and Interfaces
- John Schroedl: Worked with Drew Foglia, Dahlia Watkins, and Bob Hickey to diagnose an issue where a Clinical customer is seeing the file quarantine alert for safe files on the local machine. Appears to be a bad interaction between the WebView control and the "is this file blocked?" Win32 API. Only seen on Windows Server 2109 (so far). Working on a test app to see if we can repro outside of JMP (JMP-31742). Icon updates. Address more issues from Accessibility Insights tool. More text scaling fixes.
Interactive HTML
- Worked on a JMP crash for HTML exports with incomplete or malformed graphic commands (JMPHTML-15704).
- Fixed skewed and crooked 3d axis labels in 3d graphs (JMPHTML-15710).
- Fixed standalone surface plot graphs with unsupported formula operations (JMPHTML-15702).
- Fixed standalone surface plot graphs with axis containing factors that are not in the formula (JMPHTML-15702).
- Mike Stickles: Continuing work on JMPHTML-15608 (Implementing Constellation Plot). Found that the accessible RowStateArray was not always fully updated, forcing a change to assembling a new RowStateArray at the time of export. Successfully linked Constellation Plot and Dendrogram selections, but am still working on getting selection/deselection of edges to work properly (there are no row states at all for edges, and their selection isn’t directly controlled by vertex selections, forcing me to develop a different system to handle them).
- John Powell:
- Working on support for Scatterplot 3D’s Nonpar Density Contours (JMPHTML-15703).
- Working with Nick Ruva to setup a new Mac machine for Interactive HTML’s CI build (JMPTOOL-2303).
- Fixed issue with transparency not being supported when a weight role is applied with Scatterplot3D (JMPHTML-15711).
- Arnav:
- Presented my JMP intern presentation
- Began creating project handoff documentation for the crosshair tool
- Conducted various code changes as requested for the crosshair tool
- Michael Senoyuit: Worked on making html local data filter have editable max/min for continuous data and making it match desktop.
JMP Live
- Aurora: Continued work on Custom Triage Status feature (support for deleting and reordering statuses, enforcement of a maximum number of statuses, audit logging).
Statistics
- John Sall
- In Fit Least Squares, change Effect Summary reference line from -log10(0.01) to -log10(0.05) and from blue to light red and rearrange PValue to be on the left, LogWorth on the right (JMP-31431).
- In Fit Least Squares, fix recent save formula implementation for std error prediction with nested effects (JMP-31685).
- In Process Screening, avoid prompts for Limit Table in each By group (JMP-31521);
- In Custom Design and Design Explorer, worked with Ryan to improve tooltips and layout (JMP-31707).
Stat Documentation
- Michael C: Prepared for JSM next week. Tested proposed Jira updates for Shannon Leslie. Tested proposed NIST test updates for Drew Foglia. Did some more XML cleanup in the stat books. Continued planning for JMP 20 stat content work.
Stat Testing
- Jacob:
- Testing Covering Array, adding tests for designs with hard-to-change factors
- Testing Space Filling Design, writing tests for designs with covariates
- Catching up on unit test cleanup and verifying Jira tickets
Life Sciences Updates
- Drew: With the heroic efforts and sleuthing by John Schroedl, we got to the bottom of an issue users at PTCBio are having where their JMP Clinical installation on Windows Server was always prompting indicating a data table was tagged from the internet - even though the files were local. The culprit is some (still to be determined) interaction with the WebBrowserBox and the OS mechanisms for checking files. Once a WebBrowserBox is instantiated, all data table open requests are marked as from the internet. So strange. JMP Clinical uses a WebBrowserBox to show the user detailed documentation about each report as they are deciding which reports to add to their review. Fortunately, we provide an option for turning off that view in JMP Clinical, so we have a workaround for this customer (and others that may run into this) until we can fully understand why this started happening and if there is something we need to do differently in JMP to mitigate this issue. Other work included JMP Clinical Jira fixes.
- Jake:
- Ran and analyzed tests on the full QM9 dataset for different spatial graph topological distance cutoffs. Created a corresponding write-up on Confluence to share the results.
- Tweaked, practiced, and gave my JMP intern presentation
- Updated a markdown file with explanations of the new GNN architectures included in the add-in
- Made many small changes and updates to the Torch add-in as needed
Product Management and Product Marketing
- Bryan Fricke:
- Completed Crucial Conversations training.
- Discussion with University of California system representative, alongside Chuck London and Curt Hinrichs, to gather feedback on JMP accessibility initiatives.
- Reviewed feedback from an EA member on keyboard accessibility improvements and discussed recommendations with the development team.
- Delivered icon updates for PropHazards, Attribute Chart, and Parametric Regression as part of the JMP icon modernization initiative.
- Produced and reviewed multiple JMP application mark concepts with alternative background treatments to support ongoing evaluation of application icon strategy and branding.
- Advanced JMP Live workflow discussions through continued refinement of report review and signoff recommendations, with a focus on improving customer understanding of what is being reviewed and approved.
Technical Support and Engagement
- Students should be heading back to universities soon. But vacation season is not quite yet winding down.
- Overall, JMP Support CSAT remains strong at 91%. As part of our case surveys, we ask users to share additional comments to help us better serve them. Here is a comment from last week: JMP Support is reliable, prompt, and thorough. The support personnel is knowledgeable and respectful. It is a pleasure to work with JMP.
- Below are the usual graphs for case volume as well as 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 queue, last week:

Case Topics for Engagement queue, last week (excluding cases related to Restricted Party Screening):
Development Operations
- Jim:
- Branched //depot/rel/r20.0/… files for JMP 20 EA#5; built JMP EA on WinOS and on mac OS with notarized installers (EAP-407)
- From the TSAN and UBSAN unit test results using JMP 20, reported 13 JIRA entries and verified five others
- Thank you to Paul Nelson for providing the fix for the notarization of JMP EA5 on mac OS (JMP-31682) and for continued assistance in getting the Python modules installed via a shell script on multiple mac unit test machines and on the Windows Server 2025 machine
- Thank you to Michael Hecht for the investigation and fix for the “missing” quick-start files in the mac OS EA5 installer (JMP-31739)
- In coordination with Bob Hickey, continuing to work on the naming of JMP releases (JMP-31650)
- Much appreciation for the ongoing efforts of JMP QA to test JMP 20 EA5 in the midst of late cycle JMP 19.1.5 work! Always efficient and thorough!
- Nick:
- Updated Jenkins to version 2.568.1, as well as updated the P4 Plugin for a fix to the mishandled BOM files from Perforce that was impacting a small subset of builds on the previous version of the plugin.
- Worked with the HTML5 team to troubleshoot ongoing issues with Firefox on the new Macintosh build machine. Fix still in progress.
- Entered a ServiceNow ticket for SAS to investigate why MathLab 2026A online installers no longer can reach MathWorks on the Mac.
- Bob:
- Separate installer process that creates JMP Pro Live and JMP Live installers from the rest of the nightly installer process. (JMP-2344)
- Upload V20 EA5 installers to My JMP. (EAP-420)
- Update V 20 production Windows installers (not EA) to reflect "2027" update to branding name of products for installation. (JMP-31649)
- Myron:
- JMPTOOL-2031 - incorrect stringbot owner assignments
- crash system migration - converting DB from SQL Server to Postgres
- Shannon C: Investigated a few new 19.X.X crashes and added cases to existing issues. Reviewed open crash issues in Jira and either replicated them in 20 or added comments for testers if I could no longer replicate the crash. Reviewed remaining open Story and Epic items with Planned Version = 20.0. Regular group and individual meetings.
Localization
- Krzysztof: Tuning up the new memoQweb online process for vendors. Finishing up documentation are training recordings for vendor translators, editors, and reviewers explaining the new process. Exploring how we can validate Oxygen output. Testing new L10N workflow functionalities (chunking of data files).
- Sandy: Testing New Populate Job for Oxygen files. Testing new Image Diff file validation for Oxygen files. Exploring using Oxygen tools for new Validations for our new files.
- Allison: Handed off the localized files needed to create the JMP Documentation Library to Doc team; communicated with Procurement team and submitted updated quotes for purchase requests; processed vendor invoice; completed a couple more PM courses in PLATO.
- Veronica: Getting familiar with JMP and P4V and completed all my onboarding tasks.
- Trish: Triage strings for V20.
Documentation
- Qiana
- Susan C:
- Finished up the page-by-page comparison of the Automation Reference book in Oxygen v FrameMaker
- Devon & I gave a presentation to Veronica to introduce the doc team
- Planning dates for 19.1.5
- Devon: Setting up variables in converted Doc Library, fixing various other conversion issues
- Jill: UI string reports and editing new Data Table Metadata updates.
System/Host Testing
- Mandy: Worked on training and transitioning a few components to other team members, with work continuing next week. Worked on replicating a few crash issues; working on JSL for Recode testing - new together/Simple JSL vs not, Tags - auto tagging, Dynamic tables. Planning work on new sample tables - adding things for 20, and work on Filter views and new colors.
- Justin: Continued validation of python virtual environments this week, validating error messaging around environments with out-of-date python versions and generation of pip configuration files. I also worked on checking JMP’s interaction with the MATLAB 2026a and cleaned up code for some test automation scenarios.
- Hunter: JMP 20 EA 5 testing. Installed the four JMP 20 EA 5 products on Mac and Windows, authorized online and offline, ran tests and checked some of the features unique to each product. Tested configurations upgrading from JMP 20 EA 4 to EA 5. JIRA verifications.
- Eric Horton:
- Investigating primarily Import test failures for JMP 20.0 nightly JSL test run and ODBC and Query Build test failures for JMP 20.0 in our dedicated suffix environment.
- Started working on creating new JSL tests for Snowflake and Databricks regression testing in our nightly test runs.
- Testing JMP-27403: Login to Snowflake V2 endpoints with public/private key
Note from Shannon
Hope you all have a great weekend!
