19.1.2: QA Signoff 5/14/26 • 19.2: Code Approval Mode begins 6/18/26 • 20.0: open in main • 20 EA3 Freeze 4/30/26; Feature Freeze 7/23/26
Welcome to the JMP Development Update for May 8, 2026!
We have now passed our JMP 19.1.2 Security Freeze milestone. QA will begin testing final installer candidates next week with release expected in mid-May.
QA signed off on JMP 20 EA3 today! We expect new installers and EA webpage updates to be available to EA members early next week. Some top features Product Management is highlighting on the EA webpage include: Multiple overlay variables in Graph Builder, Driverless connection to Databricks and Oracle (first introduced in EA2), Survival platform updates (continued from EA2), Phased capability in Control Chart Builder, FDE wavelet filtering (Pro), and New space-filling designs for large-scale (high-throughput) experiments. Thanks to everyone who worked on this new release! We are looking forward to continued EA feedback.
Congratulations to our colleagues who recently celebrated work anniversary milestones in May! On Wednesday, we recognized anniversaries at the May collaboration lunch for development’s Chris Gotwalt (25 years), John Schroedl (35 years) and Mandy Chambers (who hit the big 4-0, complete with a rock! :smiling_face_with_smiling_eyes:). John Sall also introduced new stat team developers Elyse Borgert (in Clay Barker’s group) and Taylor Petty (in Laura Lancaster’s group). In addition, he highlighted recent anniversaries for Christine Bevan and the visiting Falco Kronmuller. We are very grateful for all our JMP team members but are especially proud of all our colleagues who have contributed so many years to improving products at SAS and JMP.
General Announcements
Important Upcoming Dates
- JMP 20 EA4 Code Freeze – 6/11/26
- 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
System/Host Testing-Cary
- Audrey: Reviewing JSL snippets for Scott Allen that may be released externally for the purpose of training LLMs. EA3 testing. Getting an early start on 19.1.2 testing since we haven’t had recent builds. Updating some of our monitoring jobs to query data in the new location after the migration of our Testing data to AWS. Summer intern planning. Our testing teams enjoyed an outing at Burkett Farm and we highly recommend it as a group team building activity.


- Mandy: Did JMP20EA3 installing and testing for Windows and Mac; worked on verifying a fix for 19.2, and several for 20 - adding tests where needed; a JMP 20 color order change altered a few of my tests, so I fixed those at 20; Working on JSL additions for column tags, and tag preferences, as well as some new grouping additions to Recode with JSL.
- Eric: Installed the EA3 build for JMP 20 and discovered the build was lacking the duckdb.dll file; notified Bob Hickey so he could corrected the EA scripts to include the file and rebuild the installer. Continued debugging ODBC JSL test failures. Team Building with my group volunteering at the Burkett Farm on campus.
- Hunter: Completed JMP 20 EA 3 installer testing for multiple configurations. Opened two JIRA items found during EA 3 testing. Continued testing with another JMP 20 build for a license validation update for JMP-30541. Participated in host testing group activity at Burkett Farm on Tuesday.
- Reviewed more localized documentation and updated the related JIRA items.
- Melisa: Finished Round 2 of I18N Testing for JMP20 and verified the few problems found have been fixed. Added new Mimic test coverage for a few of the recently fixed bugs in Data Table and Tabulate. Started accessibility testing using the keyboard and JAWS.
- Justin: Revising the python testing suite to deal with issues introduce by pyarrow 24, pushing towards completing testing of the run_jsl() python integration taking jsl files as input, and beginning validation of python virtual environment support.
Web Testing – Cary
- Josh:
- Created new wildcard certificates for the JMP Live Dev and Test environments. These certificates are valid through April 2028.
- Tested and distributed the certificates, then successfully updated them across 30 servers.
- Reviewed all AWS servers currently under my name and assessed whether they are still required. The majority of these machines are still needed at this time.
- Created Jira items and provisioned machines for JMP Live 19.1.2 testing, which will begin on Monday.
- Continued JMP Live testing with a primary focus on JMP Live 20.0, particularly around recent authentication changes.
- Intermittent security testing was introduced during this period and is being incorporated into ongoing validation.

- Hui:
- Planned test: Process Screening triage pane changes will be validated next; outcome is confirmation that required ID context is consistently visible during triage workflows (JMPHTML‑15465, JMPHTML‑15471).
- Open: Mosaic/Marker rendering can fail after resize interactions, resulting in missing visual output; test coverage remains focused on resize paths until stability is confirmed (JMPHTML‑15485, JMPHTML‑15495, JMPHTML‑15500).
- Validated: Marker resize logic recalculates only required data rather than rebuilding full caches, preserving visual state while reducing resize workload.
- Validated: On‑demand report loading and multi‑X graph changes improve interactive responsiveness under typical analysis workflows.
- Closed: Verified fixes across HTML5 UI state handling, module dependency enforcement, and export‑path caching reduce empty renders and export latency in routine use.
- Seema: Started the week with a really fun team building activity at Burkett Farm.
- Accepted and Closed:
- Missing string IDs for CCB warnings with multiple rows/IDs returns unexpected value in Warning panel and email notifications
- Warnings panel text indicates category without warnings has warnings
- PS triage red (openValidWarningsCount) vs blue (warningSummaryCount) badge confusion
- Nest By Levels & groups inside of Table / Column Headers in warnings panel
- Created Jiras:
- Email notification not sent for Warnings in some cases, Warnings not displayed in Warnings panel
- Process Screening publish to JMP Live fails with error for empty warnings when using column switcher
- Mateo: Refactoring how our automation framework handles Personal Access Tokens in JMP Live 20 and updating our automated tests on the feedback and spaces page.
Core
- Dan S: Continued work on accessibility support for TableBox. Fix for SpacerBox <
- Dave B:
- Fixed a very old bug that caused some high quality 3d markers to disappear or always be black
- Fixed a 3d graph regression that broke axis resizing
- Fixed a “build on the mac” problem that caused warning messages to not show up in the log; still need to clean up the output some
- Fixed a potential crash with checkboxes in a sorted and grouped tablebox
- Evan: Working on TableBox a11y and keyboard access. Surveying various TableBox structures used across JMP. Researching colorblind accessible color palettes. Looking into Sample Data physical units.
- Xan: Added Area Under Curve stat to the Graph Builder Line element. Started then shelved an effort for a pre-summarization role within Graph Builder (like ID in Bubble Plot). Axis measuring work.
DOE and Reliability
- Caleb: Started work on adding a summary report to the acceptance sampling explorer and fixing some bugs related to some infrastructure improvements to all of the sample size explorers.
Hosting and Interfaces
- Michael H: Minor efficiency, robustness, and threading correctness changes to CallbackList and SAS7BDAT import.
Interactive HTML
- Paul Spychala: I have been working on performance of JMPHTML reports. We improved the performance of resizing Mosaic (JMPHTML-15476) and Histogram graphs [JMPHTML 15449]. Improved the performance of Dashboards by deferring calculations on inactive tabs (JMPHTML15477). For non-performance items, I have also added Contour Profiler support for multiple frames [JMPHTML15147]. I have also added support for stand alone bars aka separate bars for Histograms (JMPHTML-15024). Lastly we also upgraded NodeJS on Jenkins (JMPHTML-15474) and other bug fixes.
- John Powell:
- Fixed two bugs caused by performance optimizations(JMPHTML-15484, JMPHTML-15492).
- Updated documentation describing performance improvement results.
- Preparing for our summer intern’s arrival.
- Preparing for new feature work.
- Mike Stickles: Completed work on JMPHTML-14083 (Support Pattern Format for dates). Currently working on adding unit tests for format patterns to the HTML Format tests.
JMP Live
- Aurora: Investigating triage bugs. Discussing, documenting, and filing Jiras for Custom Triage Status. Discussing Custom Triage Fields. Working on improved audit logging (not done).
Statistics
- John Sall
- In Process Screening
- Show control limits for proportion charts in summary table if constant (JMP-29513)
- Disallow "Save Beyond Limits Column" if short run chart or subgroup column (JMP-30593)
- Show "n Trials” column name in heading for Proportion Charts (JMP-30298)
- Fix qc_SampleName from subgroup level for Live (JMP-28947)
- Add tip to By button to encourage users to use Grouping instead (JMP-30651)
- Live ID delimiter should output even if prior values were all empty (JMP-30634)
- Reorganize hidden "FileName" column to have a JSON identifying expression for Live (JMP-22018).
- In Categorical
- Fix "Highlight Cells" for Signif>"Category"[pvalue], which was mistakenly coloring all cells significant after any significant cell in that row.(JMP-30680)
- Add option "Compare Each Cell with Suffix" with followup into AlignmentGrid and OutputStream and Excel save(JMP-30497)
- Calculate "Highlight Cells” - Signif>"Category"[pvalue], for Poisson rates (JMP-30647).
- Laura C-S: Fixed a few bugs with the constraints for the cross-lagged panel model and with the identification of phantom variables in SEM. Circled back to plugging in the polychoric correlations to the SEM platform when using the MIIV-2SLS estimator. Enjoyed meeting the new members of stat R&D!
Stat Documentation
- Michael C:
- Pushed an update for the NIST test suite to use the latest unit testing internal functions. A side effect of this update is that the NIST suite can now be run successfully in localized JMP. (Earlier this year, a user reported issued running the NIST test suite in localized JMP.) If testing goes well, we will get the updated test suite pushed to jmp.com sometime next week.
- Prepared for phase 2 of the documentation equation conversion project.
Stat Testing
- Mark: I prepared the background and questions for a focus group that was formed and moderated by Mia Stephens to help us understand how DOE users confirm their model and augment their experiment when deficiencies are found. The focus group was conducted on Thursday. I completed the flow chart to accompany the IDF for enhancements to simulating responses for DOE. Chris recently pushed significant changes to the fitting process in Bayesian Optimization, so I replaced the Oracle for all the unit tests for Mac and Windows.
- Jacob:
- Adding unit tests for new Random methods in Space Filling Design
- Testing a shelved build for Design Explorer
- Testing Highlight Cells in Categorical
- Preparing presentation on using covering arrays for writing unit tests
Product Management and Product Marketing
- Bryan:
- Accessibility
- Published the JMP Accessibility Roadmap, organized by Now / Near Term / Horizon.
- Continued accessibility coordination for JMP report/table navigation, including screen reader behavior, cell navigation, and exposing table capabilities through accessibility clients.
- JMP Workspace & JMP Live Report Workflow
- Created and ran Workspace usability tests with Byron Wingerd and Don McCormack, then synthesized feedback to inform future Workspace and report-management decisions.
- Participated in JMP Live report workflow discussions around action placement, status naming, review-state wording, and status icon direction.
- Icons: Continued Fluent-style icon modernization work.
- Valerie: JMP Validation Suite is out on the JMP market place: Validation Suite. Thanks to Drew Foglia for making it happen! The JMP Validation Suite enables you to validate JMP®, JMP Pro®, and JMP Clinical® version 19 and beyond. It seamlessly runs Installation Qualification (IQ), Operational Qualification (OQ), and Performance Qualification (PQ), and generates PDF report files documenting each validation step. It is very useful for highly compliant industries like pharma and biotech. This was a long outstanding request initially from customers in India but will have an impact in other regions in the world too.
- Sarah Sylvestre: Sarah Gilyard and I attended the 2026 Symposium on Data Science and Statistics (SDSS) Conference last week and will be publishing a blog post soon to share our experience.
- Mia: We facilitated two internal focus groups this week: Gauge R&R Dashboard with Laura Lancaster, and Goal-Oriented Augmentation for the DOE team. Thanks to all the JMP experts who participated in those sessions!
Technical Support and Engagement
- Wendy:
- Support has been busy with JMP Live and preparing for upcoming Salesforce-required updates to our phone system.
- 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
- Bob:
- By special request, I have updated expiration dates of PER files on jmpsrv01 for previous versions. For internal use only of course.
- Installer change in version 20 to handle windows EA customers installing previous EA releases.
- Create Windows EA 3 installers for review
- Shannon C: Reviewed open Critical items in JMP project to clean up the list and request reviews where needed. Discussions with various JMP team members and managers about Jira priorities. Entered JMPTEST issues for a few customer mystery crashes in 19.0.X and 19.1.X releases – thanks very much to developers for helping look into these cases!
- Myron:
- Updated logging in several scripts that had network instability failures
- JMPTOOL-2146 - testing Postgres to S3 backup scripts
- testing/XDB table and view maintenance
- JMPTOOL-2175 – update stringbot dictionary
- Nick:
- Worked on cleaning up the Archived Projects area in Jenkins. I decided to do a local tar archive of the files instead of an AMI so we can target just the older projects in an archive I can store on S3/Glacier.
- Auto clean-up process for Mac CI/Test/Analysis machines. After running out of disk space on our CI Mac during JMP 20 runs this week, I created a process that will give us a much cleaner area every day before work begins. We started with around 8GB of free space this week and are now going into the weekend with around 300GB, automatically maintained.
- I rolled back the P4 Jenkins update that was causing a problem in HTML5's pipeline, updated a few others that needed it, and installed a new plugin to allow for parametrized targeting of multiple build machines by node or label so Freestyle jobs get pipeline like features. That last one allows the Mac cleanup script to run as a single process cleaning all of our JMP CI Macs without adding anything additional to the process.
- Melanie: Testing a fix for handling value labels for sample data tables [JMP-30598] • Created End of Release Jiras for 19.1.2 [JMPTOOL-2179] • Created filters and dashboard to track Critical priority Jiras • Some basic triage and cleanup on older Jiras
Localization
- Krzysztof: Preparing JMP Live Public 19.5 and SampleData 19.2 localization projects. Mitigating new Oxygen tags impact on pre-translation from localized mif source. Updating memoQ filter and segmentation rules to maximize the re-use of mif based translations. Testing new Oxygen related automation: chunking and validations. Designed a process for enhancing legacy string change report for JMP UI localization returns with metadata on user id and date of change.
- Trish: Interviewed candidate for DTP position. Meeting with our Spanish reviewer and Tiffany to resolve ZIP issues. Validated localized PDFs & images returned from vendor. Gearing up for JMP Live Help handoff next week. Thanks to Alex Taylor for setting up access to Keycloak needed for translation teams to take screenshots (WebJMP-12311)
- Sandy: Evaluating use of different tools in the new oxygen file xml validation process. Adding information to legacy string report for Portable UI, Builtins, and Sample Data used in return processing.
- Sohail: Built out live chat, saved prompts, and batching for chat interface. Continuing work on sending out batched prompts and displaying outputs.
- Howard:
- Finalizing glue/split Dita xml for localization process
- Finalizing Project TM export feature
- Worked on jsl translation automation
Documentation
- Susan C:
- JMP Live/Public 19.5 EN help:
- Created the help for admin, user, install, spc, public, and config.
- Pushed all help live.
- Sent all help for peer review & made fixes.
- Sent all help for testing.
- Peer reviewed the callouts for FLM and MM.
- Peer reviewed the convert & test (deleted items) for MM.
- Intern buddy training
- Qiana: Attended meetings. Finished BA file clean-up. Started FLM file clean-up. Jiras: JMPDOC-2705, JMP-30431, JMPDOC-2946. Did project planning and coordination.
- Jill: Completed the conversion clean-up and cross-reference oXygen migration work on both the DOE and MM docs.
- Devon: Pushed the last of the converted-to-XML Stats books and rest of the Doc books, minus the JSL Scripting Reference.
Note from Shannon
Hope everyone has a very Happy Mother’s Day weekend! Thanks to Wendy Murphrey for sharing this very happy news, and congrats to Sarah and her family on their adorable new arrival! The cuteness below is simply overwhelming. :smiling_face_with_smiling_eyes:
This week, the Support family grew by one! Sarah Seligman and her family welcomed Benjamin (Ben), weighing in at 6lb 7 oz. Abby and Claire are proud big sisters!
