19.0.5: Security fixes only • 19.1: Security Freeze 2/19/26 • 20.0: open in main • 20 EA2 Freeze 3/19/26
Welcome to the JMP Development Update for January 23, 2025!
JMP 19.0.4 was released as planned in MyJMP this Tuesday! JMP DevOps has set up infrastructure for our next security release (19.0.5) and work is also underway on our next maintenance release (19.2). As a reminder, the 19.2 track is open for bug fix pushes, but all code changes must be reviewed before being integrated into the track.
JMP 20 EA1 is now frozen, as much of North Carolina is preparing to be! I fully expect the impending winter weather may cause a bit of a delay in the EA production and vetting process – my team and I will do our best to keep everyone (who is able to get online, that is) updated as things progress in preparing that release. While the SAS campus is currently planned to be open on Monday, campus services are not going to be available and snow removal efforts will likely be underway so please be careful if you venture to campus.
Congratulations to JMP on a great 2025 performance! I hope you all had a chance to watch the JMP Kickoff webcast recording where we heard good news on JMP revenue, a review of 2025 goals and 2026 plans, and several compelling customer stories, among other segments. I would like to extend a big congratulations to all the award winners across the company! You can find many details (and the kickoff recording) here on Inside JMP in the Company Kickoff story. This article was (of course!) written by Senior Communications Specialist Allison Hines, who was also named a 2025 JMP Spotlight Award winner! Congrats, Allison! :smiling_face_with_smiling_eyes:
In JMP development, stat tester Rajneesh Rajneesh was also recognized with a Spotlight Award and Kristen Slappey, Bryan Boone and Yeng Saanchi were recognized with JMP Excellence Awards, along with our colleagues from the customer care team, Muralidhara Anandamurthy and Stan Koprowski. A very special thanks to all the individuals and teams highlighted in 2025, and to the colleagues and managers who took the time to recognize their efforts.
Stay safe in the upcoming winter weather, all! Please prepare for the weather and possible power outages and don’t go out unless you have to. Talk to you all next week sometime - as long as we have internet and/or can make it to the office!
General Announcements
- I saw a post on social media today that local charity Note in the Pocket (supported by various SAS groups’ clothing drives over the years) is seeking donations to help fund purchases of new socks and underwear for Triangle area kids facing food insecurity. These are often among the most-requested items. If you are able, you can donate here or find a similar group in your local area.
- Please visit the Dev update section on Inside JMP to see past updates.
- Please reach out to me or Beth Evans if you’d like to be added to the JMP Dev list to receive future copies of the update via email as well as future JMP Dev meeting invites.
Important Upcoming Dates
- JMP 19.1 Security Freeze – 2/19/26
- JMP 19.1 Final Image Candidate – 2/23/26
- JMP 19.1 Planned Release in MyJMP: 3/17/26
- JMP 20 EA2 Code Freeze: 3/19/26
- Please visit Confluence for a full list JMP 19 dates and JMP 20 dates.
JMP Development Updates
Core
- Xan:
- Added Broadcast button to Customize dialog to change many segs are once (over multiple graphs).
- Added “Square” option for correlation display in the Ellipse element, implemented with a square option in PieSeg.

- Evan: Updating feature pages for EA1. Continued work on Linked Items feature. Design discussions for In-Report Filter feature. Booking travel, accommodations, etc for Discovery EU.
- Dave B: Started image tests in the 19.2 branch. Worked on supporting .jmpaddin files with encrypted jsl scripts. Added preferences for marker color, outline mode, and 3d hardware mode.
- Dan S: Continued work on Linked Reports saved to the Data Table. Worked with Michael Hecht to fix some window measure/show issues on Mac.
DOE and Reliability
- Caleb: Doing some additional work on the acceptance sampling prototype (wasn't quite ready for EA1; aiming for EA2 now). Also working with Eric to set up a reliability development plan for JMP 20.
Interactive HTML
- John Powell:
- Fixed a few issues introduced by RectSeg/Heatmaps using a different coordinate space and fillToEdge flags:
- Created a couple of bugs I stumbled onto while investigating:
- Discussed EA1 documentation and reviewed feature requests with Dieter, Praveena, and Paul
- Mike Stickles: Still continuing work on JMPHTML-489: Refactor Interval bars to subclass. The scope has expanded to splitting off multiple bar styles as subclasses, and potentially separating error bars out as their own classes.
- Praveena: Continued working on Mac build script. I want to thank Michael Hecht, Chris Humphrey, and Paul Spychala for reviewing and testing the scripts. Continued working on Refactor Interactive HTML limitations message logging .
- Paul Spychala: Working with other developers to create the new HTML build project/script on Mac (JMPHTML-15226).
JMP Live
- Aurora: 20.0: Process Screening (bug fixing, improving test helpers, stop tracking triage_summary for this platform). Other: Iteration demo.
Stat Documentation
- Michael C: Contributed to the 19.1 Release Notes document. Reviewed and updated strings in 20.0 and 19.2. Attended meetings.
Stat Testing
- Mark: I continue testing the fitting procedure in the Bayesian Optimization platform. There remains one test machine that consistently fails 2,216 assertions. These failures have now been replicated by Yeng's Mac. I completed a new script to collect diagnostic information from the fitting based on a new backdoor setting by Chris. I am working on several examples to be included in the submission of a new version of the usability study tool to the JMP Marketplace with Jacob.
- Jacob:
- Investigating performance issues and opening tickets for reproducible cases
- Creating prototype that extends the Report tab from Easy DOE to other DOE platforms.
- Investigating intermittent Easy DOE unit test failures
- Cleaning DOE unit tests, attempting to speed up tests in the nightly runs
- Working on JMP Study Tool with Mark Bailey, a simplified version of the internal Usability Study Tool.
- Tonya: Focusing my efforts on testing process screening.
Life Sciences Updates
- Drew: Closing JMP Clinical 20.0 Jiras. Preparing for JMP Discovery paper with Rebecca. Managing last of the 19.1 JMP Clinical code reviews and integrations.
- Richard:
- Completed two clinical reports that are going into 20EA1
- Adverse Event Time to Event
- Medical Query Time to Event
- Blog post on max difference plots to JMPer Cable Blog
- Posted Happy Little Forests add-in to Marketplace
- Started writing Data Visualization in the Life Sciences Using JMP
Product Management and Product Marketing
- Bryan F:
- I continued working on icons and delivered icons for the default report toolbars (JMP-29378) and table toolbars (JMP-29392). I am currently working on icons that appear in the Table menu on Windows.
- I presented the heuristic evaluation technique to the JMP Core team.
- I had conversations about combining Dynamic Filters with Local Data Filters. Once the Core team reaches general agreement on direction, I intend to develop a Figma Make prototype.
- I met with developers and QA regarding accessibility development status.
- I provided feedback on the JMP Live design for cleaning up data that is no longer used and feedback on HTML5 layout for images in hover labels.
Technical Support and Engagement
- Wendy:
- Congratulations to all the award winners that were announced this week! We are looking forward to a great 2026. This week the Support teams have been catching up with cases and preparing for Support coverage if there are widespread power outages in the US early next week due to the forecasted icy winter storm.
- 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.
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 (excluding cases related to Restricted Party Screening):

Development Operations
- Jim:
- Disabled multiple JMP 19.0.4 Jenkins tasks
- Thanks to Michael Hecht for his assistance in resolving the Windows Server parsing issue (JMPTOOL-1938) for the JMP unit test folders
- Continued to set up unit test runs on AWS instances and physical mac machines for JMP 19.0.5 and 19.2
- Branching JMP 20 files for the first Early Adopter release
- Perforce support.
- Bob:
- Released 19.0.4 to MyJMP (JMP-29284)
- Cleaned up uninstall names used in Windows to clarify x64 vs arm64
- Created JIRA to investigate alternate method to provide Visual Studio support files in a Windows installation (version 20). (JMP-29434)
- Continue creation and design of EA installers, now to include arm64 – and JMP Student Edition
- Melanie: Unit Tests: Many thanks to Jim Borek and Michael Hecht who solved our woes with Windows Server 2025 (JMP 20 Unit Tests). (JMPTOOL-1938) JMP 20 WinSrv2025 seems to be recognized incorrectly by UT run infrastructure Branching: Worked on Branching tasks for 19.2 and 19.0.5; worked on End of Release tasks for 19.0.4 and 19.1. General DevOps: Demo’d my approach to managing branching/end of release tasks using data tables and Jira bulk import to Audrey.
- Shannon L: Planning for 19.0.5 security release. Atlassian user assistance tasks, including license recovery. Weekly technical meetings. JMP 20 EA sprint assignment enablement. JMP Marketplace Monetization project work and stakeholder meetings.
- Myron: Updated/corrected unit test data related to JMPTOOL-1969 and other issues. JMPTOOL-2009 – fixed duplicates (not duplicates) in JiraBot.
- Shannon C: Discussions around UT runs for dot-dot tracks. Worked with Shannon L on the next set of Testbot migration Jira issues. Looked into a few crashes reported in 19.0.3 and 19.0.4 (many were known issues already documented and/or fixed in other tracks). Created DevOps team 2026 goals page. Completed Q4 wrap up meetings and other weekly discussions.
Localization
- Trish:
- Onboarding our new Korean reviewer – we are through the first phase of procurement and will now work with Legal to get a contract in place.
- Hiring process underway with HR to find a replacement position for Ying Zhou. Coordinated with Doc team for redelivery of template files for JMP Live Help for 19.1.
- Working with web team to get clarity regarding expected behavior of links from JMP doc to jmp.com for localization.
- Krzysztof: Set up and demo-ed the Brazilian Portuguese Terminology review project to our contact in Brazil. Adjusted jobs for building 19.1 JMPLive Help. Re-training MT engines with latest human translations. Testing new features and fixies in L10N workflow. Discussing Oxygen impact on L10N.
- Allison: Validated localized Menu Cards pdfs and handed off to QA for testing. Responded to translation queries related to Big Books and JMP Live Public. Started validating localized DJ pdfs and reported issues to vendor; compiled files needed for vendor to build localized fm files for JMP Live Public.
- Sohail: Tested new prompts with different models for term extraction, added Gemma as a provider for local term base generation, implemented local language term generation, resolved rate limiting TMSearch API issues.
- Sandy: Worked on enhancement to Sample Data and BuiltIns return processing.
- Howard: In the process of refactoring JmpL10n code. Bug fixes.
Documentation
- Qiana: Met with Frank at Ryffine about the upcoming Oxygen training. Worked on my RN items. Attended meetings. Closed and deferred Jiras. Performed project planning and coordination activities.
- Susan: Finishing up the JMP Live/Public English help for peer review & test. Documented JMP Live/Public Jiras in the 19.1 RNs. Working on dates for JMP Live/Public 19.5.
- Jill: UI string report review, met with Chris and Shannon L. to discuss UG changes and Jiras, Oxygen documentation and exploring how to add Acrolinx plug-in to Oxygen, and adding items to the Release Notes.
- Chris: Continued prepping 19.1 help for production. Gathered and prepped the PDFs for handoff to Localization. Pushed a draft of 20.0 help. Prepped for Oxygen training by fixing test files.
System/Host Testing-Cary
- Mandy: Worked on the dynamic tables feature that will be in EA1 - Tables Stack, Split, Transpose - even though we are not highlighting it to customers yet. Also did some initial testing on the new Apply Tag rules (more to come showing that soon) - it is also not being showcased in EA1, but will be there. Did a small amount of Tabulate testing on a Crash fix that was made from one of my tests, but Melisa Turner is getting into all that and doing a great job. Worked on some of the new data table changes coming soon to JMP 20 - the Tabulate was a new report made from the table, so the “*” beside the report name is showing it is dirty, and the other Categorical is open so it is bold in the list of reports.

- Justin K: Worked with Jim Borek this week to help identify the issue our nightly automation is having connecting to the CAS viya4 server and am still working on a resolution for the issue. I’ve also worked on touching up other parts of my test automation suite and testing and closing stories for 19.1.
- Hunter: Worked with Daniel Powell and Bob Hickey testing several items affecting the JMP 20 Install Checker on Windows and how the JMP product names with their architecture display in Windows Control Panel. JIRA verifications.
- Audrey: Iterating on Jira import processes in preparation for I18N testing and being generally more organized in Jira with our testing tasks.
- Eric: Investigating JSL Unit Test failures. Installed Teradata and Oracle ODBC drivers.
Web Testing – Cary
- Seema: I spent most of my week working on WEBJMP Jiras:
- Accepted and Closed:
- Downloaded history with BY Levels shows DataID = null
- Email notification does not sort markers numerically for groups with numeric values
- Remove secondary marker sort if unnecessary
- Warnings(with multiple Y values) could not be expanded when directly opening warnings panel in narrow browser size
- Notifications aren't being sent when a user re-opens a previously addressed warning
- In progress:
- Rethink notification trigger for Process Screening warnings
- Josh:
- JMP Live Security Release Prep
- Preparing for the next JMP Live Security Release
- Three‑server environment successfully installed with 19.0.5
- Servers configured for nightly automated updates
- Documenting installation details and update workflow in Confluence
- Jira
- Verifying assigned security‑related Jira issues
- Other
- Steve:
- Automation nightly run: JMP Live 19.0.5 pipeline has been created and has been running.
- Automation framework: Working on
- Feature support on Process Screening, Control Chart Warning, and Local Data Filter to enable more test coverage to be added
- Refactoring and updating functionalities to improve UI test suite passing rate
- Hui: Developed JMP Live i18n test plan. Continued setting up a test Environment on my machine for pseudo–Translation Testing. Thank Josh for the help!
- Natalie: HTML Automation report: 19.0.5 – All Clean, 19.1 – All Clean, 19.5 All Clean, 20.0 – All Clean. This week we returned to new testcase development. Continued prep work for Process Screening coverage as Steve works on needed backend libraries. Began planning and prep for new coverage for Local Data Filter test area.
Note from Shannon
Thanks to Shannon Leslie for sending this infographic along – clearly the second panel is the much more relatable example here! Although I couldn’t help but calculate that 109.5 dogs assumes an average weight of 65 lbs. My sister’s golden retriever Ginger weighs 55 lbs so that would be 130 Gingers! Larger Goldens can range up to 100 lbs or more so we might be talking 70 dogs in that case. Or about 42 Pennys and 42 Hulks (my dogs). :smiling_face_with_smiling_eyes: And I think that’s enough dog silliness for one evening…Stay safe, everyone, and get prepared for the weather ASAP!
