Welcome to the JMP Development Update for May 23, 2025!
With JMP 18.2.1 now published in My JMP, we are beginning to receive cases and crash reports from customers as they adopt the new release. Thank you to everyone who helped make the release process run smoothly! Next up will be JMP 19 EA9, planned to freeze on 6/5/25. This week, we added JMP Live to our EA9 plans. JMP Live 19 EA9 will be shared with an existing customer who is very interested in testing the expanded control charts functionality introduced in JMP 19. We’ll be looking forward to their feedback and appreciate all the customers who continue to contribute their bug reports, crashes and suggestions for future improvements through the EA process.
After JMP 19 EA9 installers are released in mid-June, we will be looking forward to JMP 18.2.2 Code Freeze/Security Freeze and JMP 19 Code Freeze which coincide on 7/3/25. Teams will work to get JMP 18.2.2 out the door quickly to keep to our 2 month security fix cadence. JMP 18.2.2 final installer candidates are planned to be created on 7/7/25. Once all required 18.2.2 signoffs are complete, release in My JMP is expected by 7/22/25.
In contrast to the relatively quick vetting process for 18.2.2 installers, our new feature release JMP 19.0 must undergo additional verifications, documentation production work and translation finalization steps between Code Freeze and Security Freeze on 8/15/25. QA teams in Cary and Beijing will begin to vet JMP 19.0 installer candidates after their creation on 8/18/25. We anticipate delivery of JMP 19.0 in My JMP by 9/16/25. (As with all releases, it is best not to promise specific delivery dates to customers, but I will certainly keep everyone up to date here as we progress with our 18.2.2 and 19.0 release milestones!)
JMP summer interns have arrived! Students were in SAS orientation and JMP academy earlier in the week and had lunch with their managers and JMP executives on Thursday in building A. I enjoyed meeting some of our interns and seeing JMP colleagues at lunch too. If you’re in the office on Tuesday May 27, please RSVP for the pizza party with the interns (you should have gotten an invite from Beth)! SAS cafes will be closed that day due to the SAS rest and recharge day but JMP will be working (and looking forward to our next recharge day in June). If you are able to make the pizza lunch, you will have a chance to socialize with our JMP interns and of course, other colleagues who are also in the office.
Thanks to Shannon Leslie for sharing these details about the All Things Open conference for 2025!
Attention developers: the annual All Things Open conference for 2025 will be held at the Raleigh Convention Center and will start early-bird registration on June 10. Tickets will be $99 through July 1. If you are unfamiliar with this conference, it’s important to note that the technical topics for both the papers and the speakers apply to far more than just open source – including machine learning, security, databases, big data, and DevOps. The full speaker list will be released soon, but the first three ATO 2025 speakers have been announced.
Note: Make sure to confirm first with your manager that there is money in their budget to pay for your ticket. Also, please be aware that this is the week before the fall Discovery Summit in Austin (Oct 21-24). Contact Shannon Leslie if you have any questions about the conference, and let her know if you do register so she can coordinate carpooling, etc.
Thanks to Tonya Mauldin for sharing the beta/crash cases for the last 2 weeks with crashes selected!

Beta and crash report for May 9 through May 23 of 2025 | JMP Live
General Announcements
Important Upcoming Dates
- JMP 19 Review Mode – 5/23/25
- JMP 19 EA9 Freeze – 6/5/25
- JMP 19 Approval Mode – 6/13/25
- JMP 19 Code Freeze – 7/3/25
- JMP 19 Security Freeze - 8/15/25
- JMP 19 Final Image Candidate – 8/18/25
- JMP 19 QA Signoff – 9/11/25
- JMP 19 posted to MyJMP – 9/16/25
- Please visit Confluence for a full list of JMP 18 and JMP 19 dates.
JMP Development Updates
Interactive HTML
- Paul Spychala: These last two weeks have been spent polishing features and bug fixes for HTML and JMPLive exports
- Intermittent failure to render complete hover help on control chart marker (JMPHTML-13810)
- Fixed Several ScatterPlot 3D issues
- Several JMPLive persistence bugs
- Histogram command 'Set Bin Width' on HTML5 stops working after panning (JMPHTML-14416)
- RTM: Clicking on the Set Bin Width menu sends two payloads to JMPLive (JMPHTML-14607)
- Bin size not able to set from HTML5 after zooming (JMPHTML-13554)
- Several dashboard bugs with Dendrograms with multiple Data Tables
- Can't select Dendrogram labels when combine in a report with graph using another dataset (JMPHTML-14610)
- Dendrogram with Multiple Data Tables not selecting clusters (JMPHTML)14616:
- Dendrogram do not select the correct rows within GroupRowStateAbility (JMPHTML-14625)
- Dendrogram has colored lines, Cell plot has no tooltips. (JMPHTML-14544)
- Fit Window: The Graph Builder lost its Fit to window (On) when other display box presents (JMPHTML-14595)
- Discrepancies between HTML Report and JMP when exporting Design Space Profiler as HTML Report (JMPHTML-14599)
- Resize: Mosaic plot not able to resize on distribution platform (JMPHTML-14613)
- Praveena: Continued working on bugs during the bug fixing sprint. I attended a couple of sessions that were organized as part of SAS Career Development Week.
- JMPHTML-14638 - Warnings on 'Warnings' panel no longer interactive with warnings on report
- JMPHTML-13497 - Large PLS report publishes but never loads in JMP Live
- JMPHMTL-1774 - Categorical value losts '\' when parsing HTML5 hyperlink
- JMPHMTL-13955 - CCB: HTML5 page doesn't load when using '\' on phase
- JMPHTML-13807 - CCB: Warnings are overlapping when using row label on data table
- JMPHTML-14195 When the row is in selected at the time of exporting, and when using Shift+Click, the range of rows are not selected.
- JMPHTML-13915 Performance: Table selection doesn't correspond correctly
JMPHTML-14171 Table selection not working.
- JMPHTML-14603 Table: Sorting order differs from that of desktop when missing value exists
- JMPHTML-14619 I18N: Menu "jmp live theme" is hardcoded in the exported HTML file
- John Powell:
- Attended several Development Week sessions.
- Fixed bugs
- Cell Plot with Multiple DataTables not selecting correctly(JMPHTML-14615).
- Make static images match publisher's Color Mode Part 2 - trim off excess padding when generating static images(JMPHTML-14606).
- No display when color role has missing data(JMPHTML-14524).
- Matched Pairs Dif by Row plot placement w/in report changes(JMPHTML-1854).
- Make orthographic projections of 3D Scatterplots render static(JMPHTML-14623).
- Reviewed Susan C.’s documentation for Interactive HTML.
- Mike Stickles: Did preliminary investigations on a number of bugs to see what might be fixable before code freeze. Submitted changes for JMPHTML-13729 (Plots such as Marker, Bar, and Line don't honor overlay role's custom levels) to export the faulty plots as non-interactive, so that the associated log messages could get in before the string translation deadline in case a full fix doesn’t get done in time. On vacation Friday 5/23.
JMP Live
- Aurora: Finished requested restrictions on who can download control chart warning information. Bug fixing (cancellation of audit log download, change timestamp headers in downloads). Reviewed JMP Live penetration testing report. Reviewed JMP Live publishing documentation. Compiled wish list for JMP Live 19.5.
Statistics
- John Sall
- In Profiler, refactor the Desirability Settings dialog for Chris and Kasia.
- In Process Screening, reword various tips (JMP-26501), fix "Set Scrolling" (JMP-26502).
- In Model Screening fix duplicate ROC and PR curves (JMP-26527).
- In Fit Response Screening, transfer back RowStates from saved Effects table that was closed (JMP-26456).
- In Fit Model Dialog, fix Scheffe cubic in Random Effects (JMP-26432).
- In Design Space Profiler, support Lock in scripting to reproduce analysis(JMP-26350).
Stat Documentation
- Michael C: Mostly worked on strings in preparation for the final string handoff to translation for 19.0; this included a lot of work on Bayesian Optimization platform strings as well as various other strings that were stuck in the “New” category in StringBot. Also welcomed Safiya Sirota for intern orientation this week. We are looking forward to her working with the statistical documentation team this summer, specifically to write the documentation for the new Causal Treatment platform in JMP Pro!
Stat Testing
- Jacob:
- Creating c++ unit tests to reproduce the performance issue in JMP-23471, caused by a compiler change.
- Testing updates to CSALT Design
- Adding tests for Design Explorer and Save Responses
- Preparing presentation on new ‘ut parametrized test’ functions created by Evan McCorkle
- Mark: Met with the SAS patent team and other inventors about a response to rejections. I finished a script to analyze images of a sample from the DOE about 3D printing of clips to support Caleb King's project. I continue to test Bayesian Optimization.
- David: Completed testing for Mixed PCA.
- Tonya: Working on bug verification.
Life Sciences Updates
- Drew: Working through using a set of Python-only packages to render a DOCX file in PDF. This approach uses the python-docx package to read the DOCX and then builds the PDF with the elements (paragraphs, images, links, tables, font stylings, etc) using the FPDF2 package. It's not a full fidelity rendition, but it covers most of the requirements of being able to use a DOCX file as a template for building PDF content dynamically. The initial use case is for a tool to generate IQ/OQ/PQ compliance documents, but the larger use case for JMP Clinical could be narratives and DSUR/PSUR reports. The big advantage to this approach over existing offerings is this doesn't require any externally installed tools (e.g. MS Word, Latex, OpenOffice, etc)
Technical Support and Engagement
Technical Support Case Volume by week:

Case Topics for Technical Support queue, last week:

Engagement Support Case Volume by week:

Case Topics for Engagement queue, last week:

Development Operations
- Shannon C: Reviewed a few unsolved crashes for tech support. Discussed JMP Live EA and retail builds/notarization with team members. Learned about Thread Sanitizer (TSAN) runs and details about summarization of special builds results from Michael Hecht. Reviewed open special builds issues and marked some older items that were no longer occurring as Test-Ready for Jim to review. Thanks to Michael for volunteering to present soon on TSAN – the latest “special build type” to help us detect code problems earlier in the cycle!
- Shannon L: Continuing to work with Snyk and DevOps team on improvements to our security scanning. Weekly technical meetings. User support for Atlassian tools, plus working on policy and process documentation for Atlassian tools. Atlassian tools renewals still underway. Meetings on JMP vulnerability disclosure program.
- Jim: Thanks to Michael Hecht for assisting in updating the forthcoming Thread Sanitizer and Undefined Sanitizer unit test runs for JMP Pro 19; more thanks to Michael for code changes for mac OS notarization of disk image files; JIRA verifications; preparing build scripts for the addition of JMP Pro Live EA; Perforce support.
- Bob: 18.2.1 – uploaded, then downloaded and tested installers loaded into the SalesForce process for MyJMP. Modified security for installer to Administrator level for V19 (JMP-26374). Worked with Daniel Powell on update table. Prepared installer work for the just decided JMP Pro Live EA 9.
- Myron: Ran Acrolinx for test stringbot run (JMPLOC-6828). Updated JiraBot UI to add new LS book name (JMPTOOL-1595). Worked on coordinating test data changes for Testing Dashboard.
Localization
- Allison: Worked on preparing handoff 2 of JMP Live strings and sent the packages to the translation teams; investigated bugs reported by QA team on 19.0 Sample Data translations and made fixes in our translation memory so changes will be implemented after we push drop 2 of Sample Data strings. Made fixes to JMP Live translated strings based on QA's testing of handoff 1 push; delivered 18.2.1 localized Release Notes to web team, and processed invoice from vendor;
- Krzysztof: Processing PortableUI 19.0 Drop 2 translation returns. Processing SampleData translation returns. Helping with the launch of the 2nd drop of JMP Live 19.0 translation. Further tune ups to the Marketplace description automation and demo to developers and writer/editor. Testing new L10N workflow automation features (return job for UI, push functionality).
- Trish: Triage of Jira bugs for JMP Live and Sample Data. Reviewing localization processes for Quick Start – documenting in Confluence. Attended meeting Krzysztof led regarding automated process that Marketplace dev team, writers and in-country reviewers can use to edit/revise description text for extensions.
- Ying: Created the final PDF of Release Notes 18.2.1 for JA. Localized quick_start_banner.png images for all languages for Quick Start. Continuing to create localized FrameMaker templates for V19. The ZH templates have been completed.
- Howard: Finished Dashboard Re-push feature with API support that allows PM to re-export translations and push back to P4/Git. Continue testing Jenkins jobs for newly renamed LS. Bug fixing.
- Sandy: Continued testing and refinement of new string return process program for portable UI. Continued new return process development for sample data.
- Sohail: Set up RAG interface UI and added conversational history feature. Improved UI/UX features and hosted the interface on remote machine.
Documentation
- Susan C:
- Finished up the HTML5 help content review for 19. Thanks to all who provided feedback.
- Finished up the JMP Live scripting content review for 19. Thanks to all who provided feedback.
- Finished updating the HTML5 & JMP Live publishing content and sent it for review.
- Continuing to work on updates to JMP Live install help and user/admin help for 19.
- Keeping up with review of UI strings this month.
- Qiana: Made updates to the JSG to replace SF Crime with NYC 311 Records. Began updating the screenshot scripts in UG, JSG, and EG. Continued working with Procurement to onboard Quadralay Corp as a third-party vendor. Project planning and coordination.
- Khawar: Edited and updated callout images in DOE, CR, UG, and DJ. Finished creating and updating images for JSG. Started making list of images for PR, PSM, QPM, and RSM.
- Chris B: Continued string reviews and working on Python doc.
System/Host Testing-Cary
- Audrey: Welcome to our interns! I enjoyed meeting our new staff and introducing them to JMP. I updated the JMP 19 Dates page to include our new cadence of monthly security releases. Working with Mandy a bit researching license/copyright info for data she might use in a JMP Discovery talk. Working with Nick H on chasing a potential performance change in JMP.
- Mandy: Verifying and testing JMP 19 Jiras and adding tests. Numbers were caught up, but today many things pushed – but all good! Began trying to pull data together for Discovery Summit Americas paper – and filed a couple of 3rd party tickets to make sure I can access and demo the cheese/dairy data I wanted to use. Worked on NYC 311 Records.jmp table – cleaning it up in response to issues found in localization with names of columns and such -that should be ready to go back by Tuesday sometime after a few other eyes check it out. Will work next week on staying caught up, before the EA9 cut – and also before Vacation comes! :smiling_face_with_smiling_eyes: Happy Memorial Day to all our veterans and loved ones that served our country.

Web Testing – Cary
- Josh: Checked the JMP Live 18.2.2 installer, including split server configuration, GUID validation, and connection testing. Verified the JMP Pool connection and both manual and automated report regeneration. Prepared a plan for JMP Live 19.0 EA to send to a single customer. Now I need to get something into Confluence before the Shannons come looking for me. Also prepared for our intern's arrival.
System/Host Testing-Beijing
Core
- Dan S: Additional work on Forced Values in the Data Filter and behavior of linked reports. Fix for Order By Count with Conditional in the Data Filter.
- Xan: Log axis bugs: no longer forcing min/max in plan; adjusting margins and formatting.
- Evan: More Dark Mode fixes. Helping with l10n and icon issues.
Hosting and Interfaces
- John Schroedl: Added theme-based warning background and text color for an "infobar" area. Use warning colors in preferences if a policy is restricting changes. Working with Jacob Rhyne and Chris Gotwalt on compiler performance issue. The plan is to submit a repro program to Microsoft illustrating the regression. Investigating issues related to emoji handling as well as an unusual font fallback issue with Chinese text. Trying possible icon tweaks from Bryan Fricke.
- Michael H: Improved SAS dataset import’s Charset(“Best Guess”) option for JMP Clinical. Fixed Mac JMP 19 notarization and made some improvements to the process. Tweaked the JSS layout for icon-only buttons with menus. Investigated some Mac Pinyin IME issues. Preparing the way for the forthcoming Thread Sanitizer special build.
- Will: Working on Matlab refactoring and continuing to build out the old interface with the new implementation. I am also adding more unit tests and will be doing some regression testing after the refactoring is complete.
Note from Shannon
Hope everyone enjoys this comic – and the long weekend! :smiling_face_with_smiling_eyes:
