Welcome to the JMP Development Update for November 10, 2023!
A reminder that we are now in Code Review mode for JMP 18. Please provide the name of your reviewer when you push any source code changes into Perforce. You have the option to do virtual or in person code reviews or use Swarm to request a review. We will enter JMP 18 Code Approval mode on 11/22/23.
As I mentioned in this morning’s call for updates, I appreciate all the review and triage of open Jira issues. Please pay special attention to Epic and Story items with Planned Version = 18.0. We have hundreds of Story type items in Initiated status with Planned Version = 18.0, but unless a Story item is already on the Late Features page, it will need to wait for a later release. If you have sets of items that need to be bulk updated to remove Planned Version = 18.0, or Story items that need to be moved to a different item type (e.g., Feature Request), please let me know and I’d be glad to help!
As JMP 18 work winds down, we are looking forward to JMP 18 EA7, planned to freeze at the end of the day on 12/8/23. Please update any motivation and summary sections on individual feature pages with important fix details that you’d like to share with customers and please remember to note they’re for EA7.
I appreciate all the testing so far of the new authorization mechanism with JMP Pro 18 EA6 and the JMP 18 nightly builds! If you have not yet, please do try out an authorized build. You can report any issues you encounter to jmpbeta@jmp.com so that members of the Customer care can work through them with you.
We met as a group to hear statistical developer Laura Castro-Schilo share her SEM wizardry at yesterday’s JMP Dev meeting! If you missed her presentation on improvements to SEM model shortcuts, you can find a copy of the recording here.
Thanks to Tonya Mauldin for sharing this week’s beta/crash tracks with crashes selected! You can see an interactive report in JMP Live here: Beta/Crash report for the week of 11/10/23 | JMP Live (sas.com)

General Announcements
- If you’re willing to be a featured employee on Inside JMP, please download a copy of the Get to Know form. Simply fill out the questions and when you’re done, upload it, along with 3 photos of you to the folder. Thank you for helping to make our JMP family a little more familiar!
Important Upcoming Dates
- JMP 18 Code Approval – 11/22/23
- JMP 18 and JMP Clinical 18 EA7 – 12/8/23
- JMP 19 Branch Creation – 12/20/23
- JMP 18 Code Freeze – 1/16/24
- Please visit Confluence for a full list of JMP 18 dates.
JMP Development Updates
Data Discovery
- Dan S: Fixed crashes in Data Filter / Column Switcher / Tab Page / Outline / Num Edit when objects are deleted during JSL callback (JMP-19296). Make box/seg namespaces protected while in use, like other namespaces. Data Filter fixes to avoid bad cases for drag-and-drop. Fixed platform behavior when LRT menu has been replaced via JSL. Save Script to Script window now makes the script window visible.
- Dave B: Started using the image tests to stress test journals, found and fixed a gb/parallel plot journal crash, fixed a broken distribution journal problem, and fixed a problem with the pdf import wizard that caused the two panels to get out of synch
- Morgan: Working on UI and administrative work for JMP Notebook this week, as well as Jira triaging today.
- Ernest: Reworking table/column prompting in Workflow Builder for 19.
- Xan: Updating Scripting Index content
DOE
- Caleb: Continuing to fix and reduce my JMP 18 tickets. I also participated in interviewing summer intern candidates.
Host
- John Schroedl: Tested the My JMP id for @JMP.com as an indicator of being a JMP Employee for telemetry in auth builds. Also now using My JMP id as initial email when filling out a crash report. Created How to control JMP features using Policies for overview and dev/test details. Few folks will need this level of information but my future self will and it’s safe from the SAS retention policy in Confluence. Thanks to Evan and Brian for feedback. Worked with Evan to investigate dialog sizing issue at high DPI seen at Discovery; thankfully it’s fixed in 18.0. Worked with Jim and Drew on Clinical EA addin issue. Starting work to enhance /logstart output with authorization-related info.
- Paul N:
- Resolved various Python issues
- Python Submit File() did not honor JMP’s $SPECIAL_DIR path variables (JMP-19403)
- Crash if sending a JSL list containing a TopMatrix or DataTable through to Python (JMP-19332)
- New bug – Intermittent log crash when repeatedly going back and forth between JSL and Python in the same script. Eval Context was going out of scope, leaving a dangling pointer. (JMP-19262)
- Created a sample Python import file which provides a to_pandas(dt) function that recreates JMP 17’s Python Send( dt ) by saving as CSV and opening in Python as a pandas data frame. Some customer(s) vocal about losing easy way to go from data table to data frame.
Interactive HTML
- Praveena: Worked on JMPHTML-671 S1566202: CCB: Line: LDF: Extraneous line segment drawn from marker for Range chart when data filtered, JMPHTML-1720 CCB: LDF: Line connections different when values filtered, JMPHTML-1690 Control Chart line segments displayed in HTML5, not in JMP, and JMPHTML-1998 Bogus lines show up on control charts.
- Paul Spychala: Bug fixing time: Axis Line Wrap was not working when set to one (JMPHTML-2443). JMP Live ‘reset all axes’ was crashing after Stacking histograms (JMPHTML-2433). GStream Tall and Wide Markers were not displaying at all (JMPHTML-1871).
- John Powell: Attended the Crucial Conversations course and Strengths Workshop. Planned for summer2024 inter candidate interviews. Worked on an issue with points using Color Role and Overlay Role providing no tooltip and throwing an error (JMPHTML-2445).
- Michael Senoyuit: Finished JMPHTML-2426 - HTML5 extra next line break on fixed tooltip and interactive tooltip. Started investigating HTML5 encoding and parsing.
- Mike Stickles: Completed work on bug JMPHTML-1651, began work on bug JMPHTML-1061.
JMP Live
- Adrianna: Whitebox testing, bug fixes, back-end support for including a private key file as part of a credential
Statistics
- John Sall: In Model Screening, handle Folded Prediction for K Nearest Neighbors. In Generalized Linear Models, support excluded effects. In Fit Model, refine heredity check. In Neural, support By groups for Save Validation. In Fit Least Squares, support alpha level for Studentize Residual Plot limits. In Profiler Simulator, transfer formats to output table.
- Annie: Fixed various issues with Short Run Control Charts, reviewed Bill Woodall’s white paper on the 100th anniversary of Shewhart, and worked with Jared on fixing hover labels for control charts.
- Laura C-S: Investigating a potential bug with missing values and bootstrap. Prepared and presented at JMP Dev. I’m still investigating the crash I ran into during my prez! It’s Mac-only and quite a puzzle.
Stat Documentation
- Michael C: Finalized stat/DOE UI strings for the final handoff of strings to translation for 18.0; documenting various NFs for 18.
Stat Testing
- Mark: Focused on testing Easy DOE and closing tickets with Jacob. I introduced our new Technical Resources space for R&D in the JMP Community and posted on the R&D blog about it for users. I reviewed paper by Bill Woodall for Anne Milley. I answered questions in the JMP Community.
- Tonya: Testing short run control charts, working on beta reports, organizing CCB Jiras, and doing bug verifications.
- Jacob: Testing CSALT Design. Verifying Jira tickets and cleaning unit tests. Investigating Blas unit test failures.
Technical Support
- Duane: Wendy and others are involved with a peculiar authorization issue where JMP fails to open. John Schroedl is working to create and collect logs files to better understand issues like this (see JMP-19346), With more information, I’m confident the cause of the problem will be determined. Here are the TS JMP Live reports and the link to the Jira filter showing the tickets reported by TS for the last 14 days.
Case Volume by week:

Case Topics for Engagement queue, total:

Development Operations
- Bob: Added benchmark file for 17.2 Subscription Windows to Installer Validation download file after multiple requests by customers to Tech Support. Fixed issue with nightly Latest installers getting to OneDrive after EPM was installed on all our PCs. Created JMP Live latest folder to start the process of planning for 18.0 installer on My JMP.
- Myron: Update/fix error emails for imageChecker script emails (JMPTOOL-546). Migrated tracked edits email job to AWS (JMPTOOL-1041). Migrate orphaned image job to AWS (JMPTOOL-1036), and disabled JMP table export part of telemetry export job (JMPTOOL-1033) that is being handled by another job.
- Jim: Updated multiple AWS AMIs for unit test machines. Performed OS updates for Mac and Win and brought many testing machines into SAS Compliance. Updated python scripts for all mac OS testing machines, per Kimi’s instructions. Working with Nick Ruva to be able to launch mac OS UT runs from Jenkins. Bug verification.
Localization
- Allison: Project managed Sample data and Portable UI translation projects. Exploring .jsl scripts and JMP data tables used in localization processes. Training on JMP Documentation Add-ins for 18.0. Continued work on localization process documentation in Confluence.
- Howard: Continued work on localization dashboard. Coordinating with Sandy on validations for word counts & image comparisons. Bug fixes for tooling projects.
- Krzysztof: Ran Stringbot to help finalizing strings for PortableUI 18.0. Processing PortableUI and SampleData translation returns. Enhancing UI translation validation scripts. Tune ups to memoq templates and backups. Working on presentation to JMP dev on the 30th of November (TM and MT interfaces)
- Sandy: Working on Sample Data & word count validations.
- Sohail: Working on TM Search and MT interfaces for JMP.
- Trish: Triaged translation queries and Jira bugs. Reconfigured localization schedules. Met with Doc to discuss localized JMP Documentation Add-ins for V18. Training sessions with Allison.
Documentation
- Devon: Reviewed web help created by AWS VM of our doc build machine HELP-PDF-BUILDS; removed Tech Notice from JSG, JSR, and UG; Secure Development Lifecycle Training; continued writing of Python Integration documentation.
- Susan C: Generated the interactive HTML help for 18 and passed over to test. Working on JMP Live help and install help. Worked on a JMP Query from localization for the Quick Start. Updated icons in the shared text insets.
- ChrisB: Wrapped up equation conversion, for now. All but about 10 of the 1,982 equations have been successfully converted to MathML. Did some stringbot reviews. Currently updating icon images.
- Qiana: worked on the sample data deprecation project. I also met to discuss the New Featured doc, doc add-ins, and the eventual move to AEM.
System/Host Testing-Cary
- Mandy: Working on JIRA’s and testing. Did a few installs on Mac and worked with Daniel and Chris on some issues with Jmprunner and release builds and settings for JMP there. Answered TS tracks as needed; catching up with Developers that are working through old issues and making decisions about fixing or closing – which is really great!
- Lisa: Worked on EA feedback tracks and 18.0 verifications. Also revamping the Defects Dashboard to use Jira data – aiming to get this project running daily and publishing to JMP Live today after looking at Audrey’s feedback.
- Hunter: Investigated and opened/updated some JIRAs from an EA6 track about support for dark mode on Mac and Windows. JIRA verifications and reopened a couple of items. More authorization testing and reported any new changes in the process or results to Daniel.
- Audrey: Reviewing intern resumes, JMP Live publish project, working with Lisa on revamping the Jira dashboard.
Web Testing – Cary
- Josh: Verifying JMP Live installer changes that were put in to handle JMP Pro with authorization enabled. Jira bug verifications and the normal help with different deployment questions.
- Beijing / Cary Web Test Jira Status
- 64 – Jira Stories / bugs in Test-Ready
- 1 – Jira Story in testing
- 20 – Created in the 7 days
- 122 – Jira items closed in the last 7 days
System/Host Testing-Beijing
- Beijing team: JMPTESTBJ-2836: JMP 18.0 EA 6 testing for new Mac rebuild - Done
- Da Li: (1) Bug Verification. (2) Nightly run UT failure investigation and create bug (JMP-19292: JSON parsing pops up alert msg dialog when name of the first member is empty). (3) JMP Clinical 18.0 publish testing and update corresponding automation codes, 11 bugs created.
- Nan Wu: (1) Bugs verification testing. (2) Testing for Data Connectors in progress (JMPTESTBJ-2837). (3) JMP 18.0 EA6 testing second round for Mac’s new rebuild. (4) JMP 18.0 I18N testing done (JMPTESTBJ-2272). (5) Update the unit tests due to sample data table removed of CrimeData.jmp and resolved a Mac Unit test DNC issue which caused by duplicated DSN connection creation issue.
- Da Zhang: (1) Bug verification. (2) Testing Folder Level Access Performance improvement - WEBJMP-7712
- Kimi(Yu) Wang: (1) JMP 18.0 NF –Support for Group Policies to enable/disable Python support (JMP-19140) – Done. Add initial telemetry support to the Python Integration (JMP-19034) – Done. Python Samples in JMP's Sample Scripts (JMP-18914) – In Progress. Scripting Index support for Python import packages (JMP-18149) – In Progress. Create jpip file automatically according to different product without the need for editing (JMP-17756). (2) Tech Support, Case Number 00051830, CRP: install user repositories stored in gcloud into JMP18 python (JMP-18420). Case Number 00063536, CRP: Make the python look at the system certs by default (JMP-19314). (3) I18N Testing for python, I18N: There are hard code strings in Scripting Index > python category (JMP-19225), I18N: Names of sample python scripts are hard codes (JMP-19293). I18N: Many python output messages are over translated (JMP-19295). (4) Fix UT failures. (5) Jenkins, Optimization: license of VS2022 is expired - Nov (JMPTESTBJ-2886)
- Nala: (1) Bug Verification. (2) JMP 18 EA 6 installer testing for the Mac’s new rebuild.
Note from Shannon
Thanks to Praveena Panineerkandy for sharing that Sunday, Nov. 12 was Diwali, the Festival of Lights. She created this beautiful picture in honor of the holiday using Adobe Firefly which uses AI for generating image from text. Hope you all have a great weekend!

That is beautiful, Praveena!