19.1.3: Release in MyJMP 6/16/26 • 19.2: Code Approval Mode begins 6/18/26 • 20.0: open in main; Feature Freeze 7/23/26 • 20 EA5 Freeze 7/23/26
Welcome to the JMP Development Update for June 12, 2026!
JMP QA has now signed off on our 19.1.3 release. Thanks to Audrey Shull and Hunter Weaver for coordinating closely with Jim Borek and Bob Hickey throughout the testing process! Thanks also to Susan Conaghan, Jill Amaya and Melanie Drake for collaborating on release notes for 19.1.3 and for JMP Live 19.5, and to Shannon Leslie for compiling the security bulletin for this release. Also, much appreciation to Bob Hickey, Drew Foglia and Michael Crotty for continued collaboration on installer validation script changes. The DevOps team will complete end of release tasks for this track next week and we expect final installers to be available in MyJMP on Tuesday. Initial setup work for the upcoming 19.1.4 security release track is in progress.
We reached our code freeze date for JMP 20 EA4 at the end of the day yesterday and I am seeing a lot of feature page updates happening in Confluence! Thanks to everyone for adding details about changes made for this iteration. The deadline for updating feature pages is 9 am Monday morning (6/15) and videos should be finalized by end of the day on Tuesday 6/16. Once EA4 installers are finalized, vetted, and signed off by QA, they will also be released in MyJMP and customers will be notified of their availability by the PM team.
We’re getting very close to the start of Code Approval mode for JMP 19.2, scheduled to start at the end of the day next Thursday, 6/18. Please check your open Jira lists carefully to make sure that you have addressed items listed as planned for 19.2 - either by fixing the bug or by removing 19.2 from Planned Version, if a fix is no longer in scope for that release. If you do remove 19.2 from the Planned Version field, it is a best practice to add an explanatory comment so that anyone watching the item can understand the decision. (Ok, whew - that was a lot of release news!)
Congratulations to all who celebrated milestone anniversaries this month! Ernest Pasour and Myron Chandler both celebrated 30 year milestones in June, while Mike Janes, Curt Hinrichs and I all celebrated our 20 year work anniversaries and Aaron Andersen celebrated 15 years. Thanks to Jon Weisz, Julie Andrews, Jules Parris and John Sall for all speaking to celebrate the occasion. I very much appreciated John Sall’s kind words about the 14 years I have spent working for him as the leader of JMP Development Operations. I am grateful to John for inspiring me – and really, all of us - by sharing his dedication to the JMP and SAS companies and his software development craft, his passion for his many philanthropic efforts and his delight in the achievements of his extended family (particularly his grandkids!). I’m very lucky to work for John now, but I also owe a huge thanks to Jon Weisz for hiring me into JMP Marketing to support Russ Wolfinger and his development team in my first role as JMP Genomics product manager. I was also fortunate to work for Anne Milley in her former role as the manager of the product management team. Anne was such a supportive and understanding manager as I struggled through the summer heat (and other fun complications) during my second pregnancy. That baby has grown up and he graduated 8th grade on Tuesday. Time really does fly!
Last but definitely not least, I appreciate all my JMP DevOps team members, my JMP development colleagues, and the whole extended JMP team for your constant willingness to share what you are working on, answer my (many, many) questions, and help me think through not only what is now, but what might be. Fortunately, I still have a lot to learn about JMP even after all these years and that’s just how I like it. I have watched JMP grow from the ~75(?) people that it was back in 2006 into the 500+ person company it is now and even though it probably sounds corny to say, JMP still feels like a family to me. I really want to make it to 30 years like Myron and Ernest and maybe I’ve got a shot at 35 years like John Schroedl, but I’m not expecting to get to 40 like our rock stars Mandy Chambers and Michael Hecht! (In addition to their many talents, literally, they got rocks for getting to 40 years! :smiling_face_with_smiling_eyes:) In any case, thanks to all for your well wishes and your partnership – and back to our regularly scheduled programming.
General Announcements
Important Upcoming Dates
- JMP 19.2 Code Approval - 6/18/26
- JMP 19.2 Code Freeze – 7/9/26
- JMP 20 EA5 Code Freeze – 7/23/26
- JMP 20 Feature Freeze – 7/23/26
- Please visit Confluence for a full list JMP 19 dates and JMP 20 dates.
JMP Development Updates
Statistics
- John Sall:
- In the Profiler, allow the formula to get needed variable assigned by the Python Execute inside the formula (JMP-31012).
- In Process Screening
- Fix step-function limits for missing-value gaps (JMP-29980).
- Support Capability Details in Live report (JMP-28838).
- Fix handling of negative values for "General Continuous" (JMP-31073).
- Add a new option "Combined Run Chart" that shows many processes in one graph, shown below (JMP-31048).

- Laura C-S: Fixed a couple crashes and bugs that emerged after pushing the changes for categorical MIIV-2SLS estimation in SEM. Preparing for two presentations at the Modern Modeling Methods conference.
Stat Documentation
- Michael C: Wrote and executed scripts to automate some of the cleanup in the XML files we received from the doc team’s conversion to Oxygen. Added LaTeX markup for equations and verified other added equations in various chapters. Project planning and other meetings.
Stat Testing
- Tonya: Testing NF out of spec count for nontraditional charts in process screening. Gave some background information about process screening to the JMP Live group in preparation for a usability study the group intends to do. Updated every single unit test for Cusum which was necessary due to the reorganization of the Cusum platform. Testing NF: X Charts and Shewhart ARL in Cusum. Helped Eddah with some JSL related to testing faded markers.
- Mark: I reviewed the draft patent claims for the Bayesian Optimization IDF. I worked on UI changes to Bayesian Optimization with the team. I reviewed intern Jace's project proposal for testing DOEBot. I worked on a presentation about the development of a query to extract JSL testing dashboard data. I worked on a pseudo-LRE metric for 'greater than' and 'less than' assertions. I worked with Ayumi and Jacob on her sequence covering array project.
- Jacob:
- Testing Design Explorer, adding tests for new columns in the Results table and investigating cases where Design Explorer doesn’t match Custom Design
- Testing Easy DOE, updating testing functions and writing sample script to support Ayumi’s project
- Performance Testing, investigating potential issues
- Finishing unit test for JMP Study Tool add-in
Life Sciences Updates
- Morgan Simon (Machine Learning Engineer Intern on the Life Sciences R&D team):
- This week I continued building a RAG pipeline for the Assistant add-in — an LLM that helps users generate JSL scripting and JMP workflows that runs entirely locally to protect user data privacy. For retrieval, I built a hybrid pipeline (BM25 + dense embeddings via nomic-embed-text) and added a new doc on simulating data as its own indexed set to see whether it improves results on "simulate data" prompts.
- To evaluate everything, I set up a simple testing framework that runs a set of JSL prompts through a couple of local models, logging retrieval sources, response speed, and generated code to a CSV, with the JMP Assistant CustomGPT (Claude Sonnet 4.6) model as the benchmark.
- Jake Sumner (Genomics intern on the Life Sciences R&D team):
- Worked on fleshing out the full end-to-end pipeline for the molecular GNN extension to the JMP PyTorch Add-In. I specifically added in a small JSL GUI (with the kind help of Luciano Silva) that users can utilize to load in molecular files and process them into SMILES strings and other data columns directly in a JMP data frame. Users can now use the SMILES strings directly in the JMP PyTorch Add-In to train a directed message passing neural network (D-MPNN) GNN model.
- One D-MPNN model is built off of ChemProp, a commonly used Python library. I added in another D-MPNN model that is built on PyTorch-Geometric (PyG), which allows me to modify the input graph structures at will. This PyG D-MPNN model allows users to create molecular graphs with edges that are defined by both atomic bonds and spatial proximity, a feature that is not currently offered by ChemProp. I trained both D-MPNN models on a commonly used dataset (ESOL) to validate their performance against literature results. Luciano is also helping me add options to the Plug-In GUI to allow users to modify GNN-specific hyper parameters. Next week, I hope to have proven the benefits of including atomic- and spatially-defined edges in these GNN models.
- Drew: Finishing my last 19.2 JMP Clinical Jiras. Met with Michael Crotty and Bob Hickey to show them changes I pushed to NIST Testing and Installation checking tools.
Product Management and Product Marketing
- Sara: This summer, Product Management's intern, Tawann Alvarez, is leading a discovery and development effort to build Rovo agents specifically for sales enablement. His approach centers on understanding how sales actually works — how they prep, where they find content, and where the gaps are so - and creating agents applied to vetted, reviewed content to provide fast and accurate responses. Learn more here!
- Bryan:
- Icons: Continued development of Fluent System style icons including Graph Builder Elements, Formula, and Choice Design.
- Accessibility
- Continued development of U-Study walkthroughs to support EA4, including keyboard-only and Narrator-based scenarios.
- Continued refinement of supporting tooling (HTML/JS renderer).
- Ongoing coordination with development around table navigation and exposure of accessibility patterns.
Technical Support and Engagement
- Gary:
- Wendy is out this week on well-deserved vacation, so I’m sending the weekly email. The reports were back up, so I’m able to send you the full set of visuals. Congratulations to Wendy and her family as they welcomed a new daughter-in-law recently!

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
- Created the final image candidate builds of JMP 19.1.3 for mac OS and WinOS
- Worked with John Schroedl and Paul Nelson to get the Excel profilers built successfully on WinOS after upgrading Visual Studio
- Performed compliance upgrades to multiple mac OS testing and build machines
- Installed new mac OS beta (27.0) on two testing machines
- Shannon L: Final planning for rolling out new feature documentation support in Jira and Confluence for Product Management. Weekly technical meetings, including Atlassian administration meeting. Working with my intern on his summer project. Atlassian administration and user support across several groups at JMP this week, including Finance and Procurement. Oxygen program management work. Creating security bulletin for June monthly release. Rolled out Jira issue-level security for JMPTOOL project.
- Bob:
- installer validation updates for 19.1.3 and further work to combine older scripts with new ones written by Drew Foglia
- installer scripts prepped and reviewed for V20 EA4
- work on the automation of email summary for build and installer nightly processes
- Myron:
- a few random crash-related issues, including improperly formatted IPS files
- JMPTOOL-2215 – adding Manager field to JiraBot
- JMPTOOL-2219 – remove some JiraBot components
- JMPTOOL-1184 (tested and completed) – identify arm64 crashes correctly
- Shannon C:
- Met with team members to discuss ongoing work; prepared for and facilitated team meetings. Reviewed Critical JMP Jira issues and added Planned Version values. Updated dot-dot build Jira issues with Jim to clarify details and capture recent work. Prepared for 20th anniversary talk – you all know I never pass up an opportunity to yap (as my kids would say). :smiling_face_with_smiling_eyes: Attended a learning session on change management and recommended it to my whole team. Working through Q2 development goals training and prep.
- Melanie: Enjoyed the June Collaboration Lunch – congratulations to everyone with a significant anniversary! • Shadowed Shannon Leslie for some Jira Admin updates • Created branching tasks for 19.1.4 • Testing a Jira tool • Investigating Unit Test results • Created MIFs for 19.1.3 Release Notes • Sweltered for a day without AC
Localization
- Allison: Processed 19.2 Portable UI strings and sent translation kits to vendors for localization; processed 19.6 JMP Live Keycloak strings and sent them out for translation; translated 19.5 Release Notes for ZH; validated localized JMP Documentation pdfs and handed off to QA for testing; processed 19.5 JMP Live Public returns and preparing the deliverables to hand off to Doc team.
- Krzysztof: Created new localized table for 19.2 SampleData and fixed some line ending issues in two more tables. Helped with launching 19.2 Portable for translation. Implemented a workflow for matching Portable UI key ids with cpp file names in P4. Finished working on a report that shows string differences in PortableUI between main and rel track. Fixed localization issues in JMP Live installers.
- Trish: Q2 Development Check-ins completed. Planning for V20: projects, schedules and localization workflow. Working on onboarding plans for Veronica.
- Sandy:
- Enhancements to legacy string report for PortableUI, SampleData, and BuiltIns
- Testing New Populate Job for Oxygen files
- Testing New Image Diff Job for Oxygen files
- Training
- Howard:
- Worked on removing extra xml in the chunked dita chapter folder
- Bug fixes for couple of different job and Dashboard features
- Pushed export/push feature when project is launched
Documentation
- Qiana:
- Completed the “Q2 Check-in: Development Goals [2026]” training.
- Worked with Procurement and Synchro Soft on software request.
- Added callout images to JSG.
- Verified the Keyboard Shortcuts and Menu cards.
- Met with Peggy to discuss her usage of GitHub Copilot to fix and review life sciences documentation.
- Performed project planning and coordination.
- Susan C:
- Finishing up the 19.1.3 RNs (now combined with the 19.5 JMP Live RNs)
- Removed the Draft label and regenerated/republished the JMP Live 19.5 EN help, Jill peer reviewed.
- Made & gave presentation to Allison for her assistance with improvements to the JMP Live help
- Updating the callouts in the UG book in Oxygen
- Devon: Handed off the last of the converted Stats books to the Stats team, converted the Menu Cards, and working on the Automation Reference chapter now.
- Jill: Peer reviewed JSG convert and test changes as well as the JSG callouts, worked on converted EG files, and edited and peer reviewed Release Notes.
- Chris: Updated the CSS for JMP Live et al. Finished the DJ callout images. Testing Daylen’s menucascade script.
System/Host Testing-Cary
- Nick H: Worked on cleaning up some newly failing unit tests, some of which were potentially due to a known bug. Worked on adding test cases for some accepted and closed Jiras that Mandy was trying to wrap up and generally trying to help her more with her workload. Lastly, I pushed a new dashboard page to the dev dashboard that should allow users to look through test result history for track and suffix combinations across multiple dates. Users can then get more detailed results by clicking rows and be taken to the full unit test result page for that date/suffix, hopefully making it easier to look at historic test results for less frequent runs.
- Mandy: Caught up after being on vacation last week - verifying Jiras and adding tests; tracked down a few odd data table things (already fixed). Spent time working on Tags and preferences and wrote a test case to add to zfiles. Will work a little on Tabulate at 19.2 early next week to help Melisa out while she is on vacation and make sure to test any tabulate pushes to 20 as well. Working on Dynamic Tables brushing tests, connecting Summary, Split or Stack and checking the brushing with them all - more to come on that. GO Canes!! :smiling_face_with_smiling_eyes:
- Hunter: Most of the week was dedicated to JMP 19.1.3 final installer testing. Installed the new macOS Golden Gate 27.0 Developer Beta 1 on the host testing Mac MDA692 in the lab and did some brief testing with JMP 19.x and 20 on the new OS. Checked the status of a few existing Tahoe issues on Golden Gate. JIRA verifications. Reviewed more localized documentation.
- Audrey: Testing for 19.1.3, and QA is now signed off. Catching up on verifications, reviewing some older verifications that had empty Fix Versions. Talking with the Atlassian admin team about requiring a Fix Version value when an item moves to Test Ready. Reviewing Mimic plans with Khushi.
- Justin: Worked heavily on writing test automation. Wrote jsl for testing python from_arrow() functionality, updating the existing SAS/CAS integration tests, and python virtual environment testing.
Web Testing – Cary
- Taylor:
- In Progress:
- Test database connection from installer
- JMP in the JMP Live pool hangs when opening downloaded JMP table with scripts
- Accepted and Closed:
- Tighten within-space rules for who can move a package
- Test failure: 'should allow group member to get public and group reports'
- Windows Server 2025 16 Local Auth 19.5 C: fr-FR Taylor Martin
- Windows Server 2025 16 Keycloak (Existing) 19.5 D: de-DE Taylor Martin
- Remove Keycloak/authentication settings from installer
- User Pref Set: Backend: Create
- Save more helpful before/after information in audit log when an entity changes
- Post reassignment incorrectly removes credential if owned by new post owner
- Audit log details broken (dialog does not appear)
- Navigation from audit log to space is broken
- Seema: Started the week out with Install testing for 19.5. Then back to my Jiras:
- Accepted and Closed:
- Warning panel display odd for Dashboards with reports using the same data with different categories
- Process Screening control chart not displayed in JMP Live when row with Warnings selected
- Send time value in warnings payload to HTML report.
- Email notification not sent for Warnings in some cases, Warnings not displayed in Warnings panel
- Support request for markers filtered by process attributes
- Created Jiras:
- PS: Horizontal scroll bar not always displayed when selecting warnings when Warnings panel is open
- PS: Warning Panel for Dashboard shows repeated badge numbers when one of the reports does not have any warnings
- Filtering markers by assignedUser always returns all markers regardless of assigned user
- Hui:
- Feature gap: Process Screening lacks HTML5 support for “Show All Charts” and fails with column switcher publishing, impacting reporting workflows (JMPHTML-15610, JMP-31068).
- Interaction instability: Tooltip inaccuracies and non-responsive warning panel indicate inconsistent HTML5 behavior (JMPHTML-15609, JMPHTML-15605).
- Formatting inconsistency: Column-level Format Pattern not honored in tooltip and LDF, exposing cross-component gaps (JMPHTML-15598, JMPHTML-15597).
- Defect concentration: Issues cluster in Process Screening UI/stability and JMP Live interaction —primary usability risk areas.
- Installer complete: Installer testing finished.
- Josh:
- Verified JMP Live installer authentication changes
- Converted jl-distad to SAS single sign-on using SAML in JMP Live 20
- Built machines for JMP Live 19.5 installer testing
- Assisted the team with JMP Live installation questions
- Addressed several JMP Live customer issues
- Met with Bobby Riggs to review 19.5 installer improvements and troubleshoot a database issue. It appears the database had been configured to point to a different data directory at some point, so we updated the configuration to point to the correct data folder so Bobby could access the database
- Anna:
- Testing John’s updates for ScatterPlot 3D.
- Tested Xan’s updates to clean up drawing of MarkerSeg to no longer skip drawing of markers that are very close.
- Reported axis issue for Parallel Plot axis issue w/ranges and labelling.
- Tested Graph Builder fixes on desktop and checked that everything persisted and functions correctly in HTML5 and JMP Live.
- Installer testing.
Core
- Dan S: Changes to how rememberInitialState() works for display segs to prevent some unnecessary SendToReport messages in scripts. The Alt+Click dialog for setting menu options now supports Colors and Markers. Added a new LineStyleBoxfor properties dialogs that is accessible for keyboard navigation and screen readers.
- Dave B:
- Fixed a flicker in 3d graphs on Windows
- Fixed a crash in surface plot
- Fixed a bug with paper size being set to Tabloid when saving to pdf on Windows
- Fixed a TSAN bug in MFI
- Xan: Enhancing Graph Builder’s Make Into Data Table command with a detour into TextSeg enhancements.
DOE and Reliability
- Jace Ritchie (intern working for Ryan L): Developed a simple solution for creating a class of experimental designs called orthogonal and minimally aliased response surface (OMARS) designs on a continuous design space.
- Caleb: Officially added the summary report button to the new acceptance sampling explorer in time for EA4. I also added a few new small features based on customer feedback from earlier this week and finished a confluence page walking through the updated sample size codebase.
Hosting and Interfaces
- Paul:
- JMP-31117 – Python 3.14.6 is coming to JMP20. Pushed arm64.
- Working on updating x64 Intel to Python 3.13.14 for security updates before integrating to 19.2 and next week 19.1.4. Then JMP 20 x64 will be updated to 3.14.6.
- Apple WWDC
- Working with IT since some of us had troubles installing the beta OS Golden Gate 27.0 - in my case it required restaging my Mac Mini.
- Building, running, testing on Golden Gate with Xcode 27.
- Exploring Xcode 27 and running local AI models.
- Will:
- Created a generic data connector export dialog that is compatible with any data sources that support exporting tables.
- Fixed a MATLAB bug with sending date times within lists. This led to some overall greater refactoring in the code that was necessary.
Interactive HTML
- Arnav Murthi (Intern working with John Powell’s Interactive HTML team):
- Familiarized myself with the JavaScript codebase for JmpHTML and how everything is structured/integrates together
- Began working on the crosshair tool – so far, most of the core behavior is done
- Praveena:
- Working on Persisting all changes to a report (JMPHTML-15046)
- Worked with Aurora and Seema for setting up the Process Screening Triaging Usability Study on JMP Live
- Attended trainings held during the Professional Development Week
- Bug fixing for Process Screening Triaging feature.
- Paul Spychala: I am still working on adding support for Surface Plots to interactive HTML and JMPLive (JMPHTML-15556), at this point we are creating the grid controls to help slice the surface and visualize a specific value. Further polish on Contour Profilers in interactive HTML and JMPLive (JMPHTML-13612). Lastly I fixed some HTML telemetry issues before EA4, including one where we logged localized telemetry (JMP-29164), another where duplicate telemetry was logged repeatedly (JMPHTML-15606), and more.
JMP Live
- Aurora:
- Helped out with Tech Support question about JMP Live outbound connections
- Participated in JMP Live iteration demo / retrospective
- Explored JMP Live handling of Process Screening examples in John's dev demo and filed Jiras for obvious problems
- Process Screening triage usability tests (more to come)
- Discussed and filed Jiras for allowing triage with non-static limits
- Started investigation into crash when publishing huge number of warnings
Note from Shannon
Happy Pride Month! As a mom to my lesbian daughter, I am always thinking about how I can support her without being annoying, and I don’t always get it right. So I’m looking forward to next week’s presentation sponsored by the JMP D&I Events Committee, Creating Safer Places: What Allyship Means for LGBTQ+ by Kori Hennessy (they/them), Executive Director of the LGBT Center of Raleigh. The talk will be in person in A4111 on Wed., June 17, 10:30am-11:30am EST and the presentation section of the meeting will also be live-streamed on Teams (the ensuing Q&A will not). If you didn’t receive an invite and want to attend, please reach out to Beth Evans. Have a great weekend, all!

Congratulations to our wonderful colleagues celebrating big milestone anniversaries! And thanks for the kind words, @shannon_conners. Grateful to work with such amazing colleagues and the different roles I've held to work with so many different groups at JMP.