Welcome to the JMP Development Update for September 13, 2024! (studiously ignores that it’s Friday the 13th)
With JMP 18.1 now available to customers in MyJMP, we are starting to see customers opting in to sending 18.1 telemetry. Thanks to Lisa Grossman, Elise Batchev, and Andy Zhou for continuing to collaborate on improvements to this reporting! They recently added a graph approximating the monthly percentage of authorizations that opt-in to telemetry here. Quite a few customers are opting in to share their usage patterns, and we continue to monitor submissions to identify cases where users are submitting voluminous information that may need to be trimmed down (or JMP may need to update future telemetry capture to avoid).
Just a reminder that we will be freezing code for JMP 19 EA3 at the end of the day next Friday, 9/20/24. Please update your feature pages by 9 am Monday, and videos should be to Mia by EOD Tuesday. If the feature page is not updated for EA3, the feature will not be highlighted for EA members. (Please let Mia know if you have any questions or need anything related to feature pages or videos.)
Speaking of JMP 19 features, thanks very much to Richard Zink for presenting at this week’s JMP Dev meeting on a new JMP Clinical feature he’s been working on to analyze recurrence of adverse events. If you missed the meeting, you can find a recording here. Thanks very much to attendees for the active chat and feedback shared during the meeting! (I see John Sall has already listed an item in his update below related to this work. :smiling_face_with_smiling_eyes:) If you’d like to sign up for a future dev meeting slot to share your new feature, please visit the sign-up page in Confluence here.
In Atlassian news, please be aware that the September 10 Atlassian product changes for Jira/Confluence have now rolled out to our Jira and Confluence Cloud sites. A list of relevant changes along with some highlighted details and documentation can be found here.
The changes include:
- Confluence page owners now need to opt-in to notifications by Watching their pages.
- Create more custom shapes with Confluence whiteboards border styling
- Confluence content can be more easily arranged with drag-and-drop
- Team-managed Jira project admins can create notifications when issues transition
- And more!
Please contact Shannon Leslie or any of the other JMP Atlassian admins with questions. And check out our JMP Atlassian Q&A Teams channel, for this and other Atlassian updates.
Thanks to Tonya Mauldin for sharing this week’s beta/crash cases with crashes selected! Of course, as always, I’m happy to see crashes getting reported (and fixed) early! By the way, if you’re submitting a crash, don’t forget to add a comment in the window about what you were doing when JMP crashed. Even if you don’t have an exact replication case, some information is always better than none. Also, please keep in mind that changelist or debug builds aren’t able to be symbolized by the JMP crash system - it only has access to symbols for production installs and recent daily builds/installs.

Beta/crash cases for the week of 9/13/2024 | JMP Live
Finally, thanks to John Sall for passing along the August results of the CAUSE caption contest! This is a monthly caption contest aimed at statistics professors and students, now nearing its 100th edition.

The cartoon above had 35 submissions and the judges found the winning caption to be:
- The Outlier family prepares for a day of subverting expectations and derailing hypotheses,” submitted by Kylee Regennitter, a student at University of Nebraska in Lincoln. Kylee’s caption can be used in discussing the impact of outliers/influential points on inferential procedures.
- An honorable mention this month goes to Stephen Walsh from Elms College for the caption "Who knew a small bug in my code could cause such a generational identity crisis?,” which can be used to discuss the need for care in data wrangling and in understanding the nature of data for modeling and sanity checks.
- A second honorable mention goes to Ryan Johnson, also a student at University of Nebraska - Lincoln, for the caption “The true outlier of this family is that they still get the Sunday paper,” Ryan’s wry caption can be used in a conversation where an instructor challenges their class to suggest ways that the family might provide unusual data such as the negative association between age and the character’s activity and how the latter might be coded.)
General Announcements
Important Upcoming Dates
- JMP 19 EA3 Code Freeze – 9/20/24
- JMP 18.1.1 Security Freeze – 11/1/24
- JMP 18.1.1 Final Image Candidate – 11/4/24
- JMP 18.1.1 QA Signoff – 11/14/24
- JMP 18.1.1 Release in MyJMP - ~11/19/2024
- Please visit Confluence for a full list of JMP 18 and JMP 19 dates.
JMP Development Updates
System/Host Testing-Cary
- Mandy: Worked on new table grid, catching crashes and a few other things prior to the big push out today. Image tests took a bit of a hit, so I quickly changed a handful of those early this AM early. Ernest has pushed changes to the WFB find/replace and given me JSL to write new tests. Andrew has been addressing Tabulate and the Format part of the dialog with more to come. Testing additions to Column “tags” combined with the New Grid look for EA3 and plan to work on a few videos once things settle down in the new few days. (Tags image below)

- Hunter: Tested the latest SAS Download Manager 3.10 with several Mac configurations for the SAS 9 Deployment staff. JIRA verifications. Reviewed more localized documentation PDF files. Installed the release candidate of Mac Sequoia 15.0 on the host testing Macs MDA692 and Macbeta1x86 in the lab.
- Lisa: Entered in a crash report from Holger, added new telemetry report to the JMP Live Dashboard for % opt-ins that Elise built, and made release updates to JSL test timing dashboard. Also working on testing Parallel Y Axes feature in graph builder.
System/Host Testing-Beijing
- Da Li: (1) Bug verification. (2) Nightly run UT failure investigation and create 1 bug. (3) Work with Kimi on JMP Live migration Jenkins job failure. (4) IN-Progress: JMPC /JMP Live playwright validation benchmark updates for 18.1.
- Nan Wu: (1) JMP 19.0 bugs regression testing. (2) Investigation on the DataTable/SQL/ tests are DNCing on Mac JMP 19 runs and Windows 18.x and 19.0 and provided feedback (JMPTEST-1385) . (3) Investigation on the JMP 19.0 telemetry sending issue.
- Kimi: (1) Bug verification. (2) Write SAS Integration UTs – In Progress. (3) Email to John Schroedl about JMP Security Warning When Opening Local File: Fixed on 19.0 (Submitted change 800572). (4) CCW – NF: WEBJMP-8732: Support download of current triage data for a report (back end) - Done. WEBJMP-8924: Support download of current triage data for a report (front end) - Done. (5) Update New GraphQL APIs in JMP Live 19. (6) Jenkins: Check results for Beijing Daily UT. Change branch from 18.1 to 18.2 – Done. merge Load testing Client and JMP Live Server to one machine, details refer to JMPTESTBJ-3142 – In Progress. Update license for VS2022, refer to JMPTESTBJ-3143 -Done.
- Da Zhang: (1) Bug verification. (2) New feature testing (WEBJMP-8981). (3) Look at E2E test failures – JMPTESTBJ-3145/JMPTESTBJ-3148. (4) Update tests due to WEBJMP-9083 (JMPTESTBJ-3146).
- Lily Meng: (1) Bugs verification. (2) Story testing for Profiler. (3) Learn components: a. Sample Index, Samples - Data, Samples - Scripts, Samples - Other, Samples - Data - l10n, Samples - Other -l10n, Posts - Download - Client, Connect - JMP, WinAutomation, Profiler, Doc - AR Automation Reference - DONE - understand the location of the component, the main functions of the component. b. CLI, CLI - Keycloak - DONE: now there is only "createAdminUser" left and I have understood the different behaviors in scenarios with and without an existing administrator. c. Comments - Client, Comments - General, Comments - Server, Groups - Client, Groups - Server - DONE: understand the location of the component, the main functions of the component, and the operaiton name of the api. d. Sharing - Client, Sharing - Server - In Progress: understand the location of the component, the main functions of the component, and the operation name of the api. Some scenarios require a deeper understanding. e. Install - In Progress: the coverage of the component and some scenarios require a deeper understanding. f. Citrix - In Progress: need to follow the guidance documentation step by step. (4) Prepare for JMP 19 EA3 testing for the assigned components: Understand the test scope of the components I am responsible for. (5) Training - Q3 Check-In: Engagement and Retention.
- Nala: (1) Bug Verification. (2) Added more test for JMP Live 19 Load testing according to Da Zhang and Kimi’s suggestion, refer to New GraphQL APIs in JMP Live 19. (3) Prepare for Q3 conversation.
Core
- Morgan: Working on adding extra features to markup text boxes (I’ll push the change early next week):
- Markup now pre-parses text to convert certain special characters to properly formatted markup tags
- Markup now parses the following types of styled text and properly renders them:
- Heading text
- Code blocks
- Ordered lists
- Unordered lists
- Links
- Markdown text boxes with a limited feature set (for Notebooks/if any other devs want to use it for text display)
- Dan S: Updates to timing of rememberInitialState(), needed for SendToReport(). Fixes for DOE report documents to handle ScriptableContainerBox properly. Fixes for report pref items (dt title / date title). Integrated JMP Project fix for hang to 18.2.
- Dave B: Fixed a file import bug with triple-s files, fixed couple of different scatterplot3d bugs, fixed a framebox sizing bug, and worked with John Schroedl on a problem running Mimic() on a headless Windows machine but did not have much luck.
- Xan: Fixing GB issues with line/area legend items getting out of sync; investigating CCB drag-and-drop issues.
DOE and Reliability
- Caleb: Made great progress on the two sample means explorer conversion, thanks to the awesome help from Laura Lancaster! I also prepared for a webinar that I’m giving on Tuesday for the Chemical and Process Industries Division of ASQ giving an overview of Order-of-Addition Experiments. If anyone is interested in attending, registration is free and I can send them the link.
Hosting and Interfaces
- Paul N:
- JMP-22800 – t->eval() restored to Python Send( top ); To minimize disruption to user scripts, this behaves mostly the way it used to. However, it will not recursively eval() objects sent if they are within a container (like a list). This resolves issues when walking the jmp.globals, jmp.here symbol maps from the Python side. There we wrap a clone of the object in an jmp._Opaque_ type so we don’t have a situation where globals contains a function, that tries to execute when accessing the globals value map.
- Continued working on JSL script implementing R functionality via JSL User Defined functions implemented with Python,
- Gave ‘JMP & Python’ talk to the SAS Open Source Lunch an Learn on Tuesday.
- Supporting WEBJMP-8972 – adding an optional parameter to jmppy::runPythonScript() to directly return an error message directly to the caller, in addition to the default behavior of sending to the log.
- Verified Python 3.11 and 3.12 have Arm64 versions for Python on Windows.
Interactive HTML
- Mike Stickles: Continuing work on JMPHTML-1407 (Legend setting on size role does not work on HTML5). Have managed to get all needed sizing information calculated in the export code and included in the exported HTML (this was tricky as the calculations are done in a helper class which is not usable from the export code, so some minor code duplication was required); now working on correctly rendering via Javascript. Took a break from that to research new bug JMPHTML-14080 (Exported date format changes depending on Regional settings). Was able to come up with two possible workarounds for the customer who reported the issue; a proper fix will probably need to be implemented in the export code rather than the Javascript.
- Praveena: Worked mainly on CCW feature, improving interactivity between reports and warnings panel (JMPHTML-14079, JMPHTML-14085) and on Refactor Distribution menu options to support multiple platforms.
JMP Live
- Aurora: Control chart warning improvements (communication and custom download file for the history of a single warning). Various third party package updates. Along with other JMP Live developers, presented an Iteration Demo.
Statistics
- Laura C-S: Lots of outreach activities this week: prepared for a UNC presentation that will take place this Monday. Coordinated another SEM presentation at Case Western University for the following Monday. Reached out to Ken Bollen to invite him to Discovery and he committed to attending the event one day and provide feedback on our latest SEM functionality. Met with Jared in Core R&D for to discuss SEM and use of hover labels. Fixed a bug and a crash with adding/removing manifest variables in SEMs with time values.
- Elizabeth: After a week and a bit of vacation time, I was back on Wednesday and catching up. Investigating a bug Fang found with a particular model with a nested random effect and the new sandwich standard errors in Mixed; the wrong number of subjects is being identified leading to bad numbers (but only of those SEs). Still working on a fix.
- John Sall:
- In Fit Least Squares - Fix leverage plots for continuous effects with more than one parameter (JMP-22882).
- In Design Space Profiler - Use reset X bounds for Make and Connect... (JMP-22820)
- In Fit Mixed - center continuous random terms, conditionally (JMP-22878).
- In Recurrence - the start of many improvements to better handle Richard Zink's Adverse Events modeling (JMP-22940).
Stat Documentation
- Michael C: Worked on Scripting Index updates for Fit Group and Model Dialog; reviewed doc material for Karen and Hamid; reviewed Process Capability SI updates for Colleen; finalized some program items for Fall Technical Conference in October; submitted an abstract for an invited panel session at JSM 2025; preparing for Q3 conversations next week.
Stat Testing
- Jacob: Testing OML Screening Designs and working on new unit tests. Performance Testing, updating performance analysis scripts. Updating Usability Study Tool, adding new Choice Design option to the tool and adding translate button to translate studies using python. Creating add-in for follow-up to Bill Fisher’s usability study.
- Mark: Worked primarily with Chris on his upcoming workshop with Phil Kay. I enhanced the add-ins for his Bayesian optimization prototype and the popular PenSim penicillin batch production simulator emulator. I evaluated many starting designs to support identifying examples to use in the workshop.
- Haley: Wrote UTs to verify changes to the MIIV-2SLS estimator in the SEM platform. Developed a working script that connects to R via Python, fits a model and saves a benchmark in R, then sends that benchmark back to JMP.
- Tonya: Testing the new grouping option in the manage limits platform. I’ve also been updating unit tests due to Dan’s container changes. Lastly, I’ve been doing bug verifications.
Life Sciences Updates
- Drew: Implemented features and fixed bugs in JMP Clinical 18.2/19.0. Helped customers triage and fix issues. Filed two jiras on regressions in JMP 19.0.
- Richard: Working on dynamic survival report.
Product Management and Product Marketing
- Bryan F: Created three baseline themes for JMP: Traditional, Comfortable, and JMPLive. Enhanced the JMPLive theme to align more closely with the prototype shown earlier this year. Revised specifications for outline nodes to better match Vuetify v3. Asked for Roboto font to be installed during JMP installation to support the JMPLive theme. Thanks to Bob Hickey for his investigation. Created Jiras for outline and disclosure hover and click effects; I appreciate Dan Schikore’s help with that effort. Implemented a condition in JmpTheme to address font size discrepancies between Mac and Windows; special thanks to Evan McCorkle for identifying the issue and suggesting a solution. Provided feedback to the JMP Live design team and collaborated with Sarah Sylvestre for Discovery Summit Lab testing.
Technical Support and Engagement
- Wendy: Overall case volume was up from last week. For Tech Support, some of the higher volume case topics were authorization, crashes, and installation. For JMP Engagement, the higher volume topics are RPS blocks and software admin changes. Next week, several of us are participating in Discovery Summit Online. 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.
Technical Support Case Volume by week:

Engagement Support Case Volume by week:

Case Topics for Engagement queue, total:

Development Operations
- Shannon L: Curated list of Atlassian September release changes affecting our Jira and Confluence sites; assisted users with Atlassian products access and questions; continuing to assist with Registering Technologies process for JMP for 19 EA releases. Helped re-tool the RE Tooling (ha!) meeting with Shannon C to transition it to a weekly DevOps wrap-up; facilitated new regular Oxygen touch point meeting to review status; began planning database and file retention policies for TestBot files.
- Bob: Finalized build machine transition to a dedicated Windows installer build machine. Final upload and verification for 18.1.0 installers to SalesForce/My JMP. Enhanced logs on installer build machine to export results to jmpsrv01.
- Myron: Updating php and related ODBC drivers on jmptool for GIS compliance. Fixed spellcheck problem with AWS Stringbot (JMPTOOL-1183).
Localization
- Sandy: Finished testing export function for multiple project types on project creation dashboard. Fixed bug for wordcount function for project creation dashboard. Worked on file validation for image diff job. Tested push function on project creation dashboard. Continuing scope meetings for test framework to define apis to test.
- Allison: Reviewed and edited overview text of localized JMP Documentation add-ins for Marketplace; took localized screenshots for Marketplace localized JMP Doc add-ins; validated 18.0 localized BigBooks and handing off to QA for testing; sent out handoff 2 of Marketplace strings to vendors for localization; learned about creating Change Order requests in Fusion.
- Krzysztof: Testing new L10N automation features and functionality. Helping with pushes of localization returns for Clinical and Marketplace. Investigating and evaluating LLMs for localizations tasks (term harvesting, term explanations, QA). Working on migrating TM Search application to a new AWS machine (accessible from outside of our network).
- Howard: Created test environment for git and P4 push. Finished Translation export functional testing. Started the API standardization. Some bug fixes and updates for Add-ins, Wordcount creation, etc.
- Sohail: Resolved new bugs found in TM Search and preparing to deliver for initial feedback. Continued LLM research and began work to automate terminology extraction using an LLM.
- Trish: All Q3 reviews completed. Release planning for schedule and budgets for 19. Worked with Qiana and Allison re: localized JMP Documentation Add-ins for Marketplace.
Documentation
- Qiana: Updated the Automated Reference book title page with 18.1. Searched sample data Jiras for 18.2 updates - none needed. Reviewed resumes and HireVue interviews for editor position. Worked on the doc retention policy. Project planning and coordination.
- Devon: JMP-18250: Adding Excluded() and <
- Khawar: Sample index: Met Chris and Qiana to go over the issues; Populating the spreadsheet. Essential Graphing: Skimmed through the book; Working on the issues. Oxygen: Reviewed the confluence page for Callouts; Finished the CSS course.
- ChrisB: Correcting the Genetics PDF and doc add-ins. More review of the Presets doc. Help for dark-sites proof-of-concept working.
- Susan C: Prepped and had Q3 check in meeting with Qiana. Jira work for 18.2 & 19.0. Finished reviewing August UI strings.
Note from Shannon
Thanks to for sharing this Instagram video post! It’s a (water) feature, not a bug! You have to read the comments (e.g.,“it's working don't touch it”). Hope you all have a great weekend!