Welcome to the JMP Development Update for February 9, 2024! Wishing you all a very Happy Lunar New Year too!
JMP 18.0 installer testing proceeded for installer candidate #2 this week, with numerous testers reporting positive results and no major showstoppers identified so far. However, QA already has plans to re-test a re-built installer candidate #3 early next week after a final fix was pushed to resolve continuing EA authorization issues encountered with the recently created JMP 18 EA8.
After a development-created Python test application with an additional fix appeared to resolve the issue for some customers, development, devops and testers quickly collaborated to create a limited-scope JMP 18 EA9. Creation of EA9 was requested and approved by development managers on Wednesday, changes integrated, builds and installers created on Wednesday and quickly vetted early Thursday, and shared selectively with those customers encountering authorization issues on Thursday. The included fix has now been confirmed by 3 customers to resolve their authorization issues and JMP 18.0 will be rebuilt only to resolve this issue.
Thanks very much to Duane Hayes for passing along comments from these appreciative customers received after his team members thanked them for their assistance! From BAE Systems: "I was very happy to help! I have gotten so much from the JMP software, I was glad to give back." And from Teledyne/Flir: "Happy to help. Glad you could get it to work. Thanks for keeping up the great software!"
While Audrey anticipates the rebuild will likely delay JMP 18.0 QA Signoff until the end of February, she projects that testing will likely be able to complete their work well in advance of the planned ship date for JMP 18 in mid-March. Other web-based deliverables are still being worked on in advance of the launch, and JMP’s Salesforce consultant CloudGiants continues to work on the MyJMP infrastructure to support the JMP 18.0 release.
Thanks to those of you who responded to Nick Ruva’s request earlier this week about M3 based MacBook Pros within the group. A few people in development who are eligible to update their Macs have already made that request and are expecting a speedy delivery. Other development staff who use the Mac frequently may want to consider requesting an upgrade, especially if you are still running (antiquated) Intel based Macs. Unfortunately, M3 Minis are not yet available but are rumored to be coming later in the year.
We already have had an inquiry from a customer asking about support for M3s. We do support them like we do other MX chip sets, and that means we will fully test JMP on that architecture and identify any discrepancies or issues to fix in future releases, if such issues exist. Our recent experiences with changes to compiler versions as well as new Intel chips and third party libraries that have interacted badly with them have made development understandably wary. JMP routinely tests on new MacOSX versions and Windows updates, and with many unit test machines now running in AWS, we have the flexibility to request quick Windows hardware changes for further testing. In addition, we currently have a mix of M1s and M2s in the JMP lab running tests for 18.1 and 19.0. We will continue to test on newer hardware and software as it becomes available.
Finally, thanks very much to Tonya Mauldin for sharing this week’s beta/crash cases for this week with crashes selected!

JMP Beta Report for the week of 2/9/24 | JMP Live (sas.com)
Tonya also provided some examples from her set of combined beta reports for EA1-EA7: Tonya Mauldin | JMP Live (sas.com)
Stacked bar chart of Jira tickets that are still open

Stacked bar chart of subtopic for all email sent to jmpbeta@jmp.com.

General Announcements
Important Upcoming Dates
- JMP 18.0 QA Signoff – end of February
- Please visit Confluence for a full list of JMP 18 dates.
JMP Development Updates
Life Sciences Updates
- Wenjun: The Life Sciences group finally had a belated year-end celebration lunch last Tuesday. Thanks to Geoff Mann and his wife Hillary for opening their beautiful home to host a very enjoyable party!

Product Management and Product Marketing
- Bryan F: Sarah Sylvestre and I conducted more internal usability tests using the AI assistant created by Julian. We are also doing research and gathering information about potential data table changes for JMP 19. Continued to work on logistics and testing related to the JMP Usability Lab for Discovery Summit Europe. I finished updating the installer splash screens for JMP 18.1 to use the JMP 18 banner design and Anova font. Facilitated another Design of Everyday Things Book Club meeting with Julian’s group. Met with representatives from Marketing, User Enablement, Digital Operations, to present and discuss ideas related to the JMP Visual Brand. Triaged some Jira tickets related to design questions.
Technical Support and Enablement
- Duane:
- A special EA9 build was shared with EA participants that were encountering issues with software authorization. Three of those are now able to successfully authorize. After extending our gratitude for their assistance, we received the following comments from BAE Systems: "I was very happy to help! I have gotten so much from the JMP software, I was glad to give back." And also from Teledyne/Flir: "Happy to help. Glad you could get it to work. Thanks for keeping up the great software!"
- Besides cases (which are on the rise), Support continues to move our content off of jmp.com pages and onto the Community. We are also helping with email messaging for communications surrounding authorization and My JMP.
- 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:

Case Topics for Engagement queue, last week:

Development Operations
- Nick:
- The JMP 19.0 Excel Addin build is conflicting with recent SAS IT security related changes, leading us to experiment with using a Windows Server in AWS as a 19.0 build machine. Cloned our Windows 18 CI build machine and started the migration of scripts, tools, and necessary jobs to run a parallel nightly build process with local-only output so we can validate the JMP build created and see if this is a viable option to shift away from our current Desktop SAS IT machine.
- Cloned our Windows 18 CI build machine and started the migration of scripts, tools, and necessary jobs to test a parallel nightly build process with local-only output so we can validate the JMP build created and see if it is a viable option to shift away from our current Desktop SAS IT machine.
- Went through some build machine optimization in AWS to verify sync and full build speed on Amazon R series machines. After running tests this week in Jenkins, the C series machines still greatly outperform the slightly more cost-effective R series equivalents. Watching the JMP CI build showed that we are heavily CPU bound and the GPU and memory bump on the R series machines went unused. Will continue to monitor new AWS options to see if we can find a good performance to cost benefit on new series hardware.
- Shannon: Created DevOps team goals for my organization that cascade from our JMP company goals and discussed them at weekly tooling team meeting. Reviewed resumes and interviewed a promising candidate for my DevOps program manager position. Spent the whole afternoon in the office on Wednesday talking to various team members – it was great to catch up with all of you. Had discussions with various people about end of release processes and installer candidate testing and fixes. Met with managers and Chaneen to digest manager survey results in preparation for discussing further with my team. Investigated various crashes.
- Melanie: JiraBot 3.0: Wrote up a requirements Confluence page; updated the testing notes Confluence page; created a field in the sandbox for testing purposes. Jira Admin: Wrote myself some instructions on creating a custom field and populating it in (hopefully) the right places so I’ll know what to do when we’re ready to go live. Helped a few people with OTL questions. Impressed a friend with a violin plot – he’d never seen one before and thought it was a very cool visualization.
- Jim: Created Final Installer Candidate (#1 and #2) builds for JMP 18.0. Changelist integration and created EA #9 on WinOS for testing of an important authorization issue. Final Candidate #3 is pending. Added WinOS and mac OS JMP 18.1 UT runs to Jenkins projects. Working with Bob Hickey to determine a solution for building the Excel addin with elevated privileges without having BeyondTrust dialog hold up the batch process. Numerous system and software updates on mac OS unit test machines. Perforce support.
- Bob: Added script to collect all the installer pieces needed for JMP Live and create a self-extracting exe file for ease of distribution. Added new splash screens for 18.x Windows installers with new font. Created installer validation files for 18.0 Windows JMP, JMP Pro, and JMP Clinical. Built installer for JMP Pro EA #9 on Windows.
- Myron: Continued work on the new JiraBot UI hosted in AWS (JMPTOOL-939) and responded to feedback from Shannon and Melanie. Started work on JMPTOOL-1045 – Run JiraBot on component (or other) change. Fixed the search results on the "Run JiraBot on Existing Issues" dialog - it had an error and wasn't showing complete results for something like "project = JMPTOOL", also added pagination functionality.
Localization
- Sandy: Continued work on specialized word count report automation - we have narrowed down how to obtain report information. Unfortunately, the MemoQ api that was tested for possible use is not producing usable information. Also began work on Jenkins job to automate xstr language file compilation. Planning to set up a different type of test environment than I have now, and this is looking to be more involved than originally anticipated. Begin work on word count changes for dashboard. Looking at new dashboard info api to feed dashboard validations.
- Howard: Released Dashboard APIs for retrieving product P4/Stage information -
Worked on memoQ WordCount API to match the specific configuration request from the vendors. Working on Dashboard session project: Server session will help better manage the client behavior.
- Trish: Handed off JMP Live help to doc team for DE, FR, IT, JA, ZH and KO (JMPLOC-6208) - ES not delivered yet; met with Allison and Howard to discuss localized doc add-ins which led to a discussion about automation and opening of this Jira. Met with Shannon to review my management survey results. Reviewing memoQ projects for JMP Documentation projects (“big books”) so we can deliver to translation teams; finishing up work on Localization Team Goals.
- Allison: Worked on running validations on the localized JMP Live Public files in Jenkins, checked that they had the correct labels in P4; I had a training session with Howard about creating the add-in files for Big books; communicated with vendors about the upcoming Big Books project and info about the process; and I started validating the production kits for the Big Books projects so we’ll be ready to send them out in the next couple of weeks.
- Krzysztof: Working on Books memoQ kits – documenting settings, defining QA process and resources for validations of vendor translations, and implementing wordcount adjustments for Books. Labeled JMPLive and Shared Text Insets final, translated files for 18. Documenting Labeling process in P4 for localizations. Working on a process for cleansing legacy translation variants in Book TMs.
- Sohail: Preparing training data (clean up and consolidation) for re-training MT models.
Documentation
- Devon: Cleaning up a few late bugs that came in for Python docs, mostly formatting. JMP-20354: Fixed an issue where comments in JSL code in the docs had an extra indent in the web help all the way back to 16.1. Cleaned up the CSS to fix the issue. Working on the FrameMaker to XML Conversion Table. Jira planning for 18.1.
- Susan C: Working mainly on the HTML5 localized help. I’ve now sent all 7 languages to test. I’ve also been working on plans for Jira issues to help us track our projects and tasks for 18.1 & 19.0.
- Qiana: Triaged Jiras and reviewed the 18.1 Jira structure with Susan. Helped Susan with localized HTML5 help issues. Created Doc add-in draft pages in the JMP community. Began creating file structure for the help projects for JMP 18.1.
- ChrisB: Pushed and tested the 18.0 help. Worked on the 18.1 help build. Planning for Oxygen authoring migration.
System/Host Testing-Cary
- Mandy: Completed testing 18.0 installer candidate #2 verification. Investigated a few TS tracks from folks using JMP18EA8. Filed a few JIRA issues, one for a bug, the others for suggestions. Next week, will redo installer testing for JMP 18.0 installer candidate #3 on the Mac and work on other data table and 19.0 changes.
- Hunter: Started final installer testing for JMP 18.0 and completed testing with JMP 18 EA 9 that was created for select customers. Investigated and responded to JMP 18 EA 8 case.
- Audrey: Jira admin work, a quick test for EA9, ready for 18.0 Final Image Candidate #3.
Web Testing – Cary
- Josh L: Worked with Chris Humphrey on customer issue. JMP and JMP Live installer testing continues, with JMP Live installer testing currently 71% complete. A few issues around versioning in the notices file need to be addressed. As expected we are falling behind on our verifications as a result.
- Natalie M: Began 18.0 Installer testing assignment by attempting an English practice run. As my first hands-on testing, I learned a LOT about JMP and that I needed a training session for Perforce. Many thanks to Jim Borek for the last-minute training. Additional training with Steve Chen, including an introduction/demo of various automation tools. Continued with automation reading. Completed some required SAS training. Observer for Vue 3 Whitebox testing for JMP Live.
- Anna: Verifying fixes, tracking down tech support issue, and the dark cloud of installer testing looms overhead. :cloud_with_lightning_and_rain:️ :high_voltage:️
- Beijing / Cary Web Test Jira status
- 108 – Test Ready
- 002 – Testing
- 027 – Jira items open in the last 7 days
- 034 – Jira items closed in the last 7 days
System/Host Testing-Beijing
- Beijing Team:
- Da Li: (1) Bug verification. (2) DONE JMP 18.0 installer testing. (3) Pause: Feature testing WEBJMP-7867: Upgrade to Vue 3 , 22 new bugs created. (4) DONE JMP Live 18.0 installer testing, 3 bugs created.
- Nan Wu: (1) Bugs verification. (2) DONE JMP 18.0 installer testing.
- Kimi(Yu) Wang: (1) Bug Verification. (2) DONE JMP 18.0 installer testing. (3) Review EXP on-line help for python part and enter 5 bugs. - Done. (4) Study Control Chart Warnings: 19.0 Improvements - JMP Live - Confluence (atlassian.net) – In progress. (5) Jenkins: Migrate to a new Jenkins Docker – Done for developing, now is testing. Solve the mount errors. Backup Jenkins docker image. Update VS2022 license.
- Da Zhang: (1) Bug verification. (2) Improvement to JMP Live JSL tests (JMPTESTBJ-2277). (3) Added new stress tests for JMP Live – JMPTESTBJ-1822/JMPTESTBJ-2969/JMPTESTBJ-1862. (4) JMP Live 18.0 installer testing – DONE. (5) JMP 18.0 final installer validation – DONE
- Nala: (1) Bug Verification. (2) JMP 18.0 installer testing - DONE. (3) Tested and reopened WEBJMP-7961: Support filtering package views by space (back end) . (4) Prepared for the new tester's onboarding in Beijing team. (5) Learn GraphQL.
Data Discovery
- Dave B: Fixed the “filter/select where” table box dialog for tables that have columns with no titles, working adding an easier way to capture output as a pdf file that is automatically a single page sized to the content, and fixed a text import bug that caused the requested column type to be ignored.
- Dan S: Working on Margin/Padding updates for display boxes - Outline Box now displays the title above the padding area rather than within the padding. Changed Icon Box to allow scaling of size. Fixing some tab page issues related to different styles (tabbed, outline, combo, etc).
- Xan: GB handling of summary statistics on implicit count variables; Map polygon fixes and enhancements – you can now draw a polygon without filling it.
- Morgan: Pushed JMP Notebook code this week, and continued to fix bugs introduced by the Scintilla merge.
Host
- Paul N: Code review of Bryan’s change for Okta challenge response support. Work on creating a Python script to repackage Python.org distribution to the embedded distribution that we ship. Python is now at 3.11.8, while JMP 18.0 is shipping with 3.11.5. Also experimenting with making JMP’s Python site-packages environment generated by / compatible with Python’s venv. (Python virtual environment). This change could simplify package installation for troublesome packages or difficult user environments if the user could just initialize in an update the packages by using the built-in virtual environment functionality. Reviewing and updating Sam’s JMP is Pythonic! Confluence page. Intern Evan Carr has added jmp.path_variable() function to JMP 19. It works like JSL’s Get Path Variable(). Have him working on jmp.DataTable.Column.width property to get and set the column’s display width from Python.
- Daniel: Network issues impacting a few EA customers have been resolved with a final authorization fix, and we are now looking towards the AWS changes needed for trial products.
Interactive HTML
- John Powell: Fixed an issue with JMP Sessions not being freed when a JMP Live user closes a post or navigates away (WEBJMP-8032). Fixed an issue with markers missing from the Compare Distributions plot of the Life Distribution platform (JMPHTML-927). Fixed more issues with tooltips for the new Short Run Control Charts(JMPHTML-2360). Integrated fixes into 18.1 (WEBJMP-8032, JMPHTML-13492). Whitebox testing for Column Switcher, Dendrogram, Legend, Menu, and Profiler components. Met with Praveena, Paul S. , and Dieter to prioritize Interactive HTML Feature Requests.
- Praveena: Fixed the issue Hui found There should be no support for row selection in tables for a dashboard when 'Where' is used. Team ran Whitebox testing on Feb7th , consolidated the results in our HTML Team Confluence page. Reached out to JMP developers regarding issues found. A total of 25 issues were logged in JMP HTML JIRA board and 5 issues were logged in JMP JIRA board. Re-started work on GB: Area: LDF: Toggling [x] Inverse has no effect on chart.
- Michael Senoyuit: We had whitebox testing on Wednesday and found a few bugs. I also started getting up to speed on the Axis Component.
JMP Live
- Aurora: 18.1: Improve debugging of Sequelize errors. Bug fixing (package access records, audit log records, notification about deleted space, pagination). 19.0: Whitebox testing of Vue 3 upgrade. Inquiring about licensing issue on one of our third-party libraries. Investigate removal of pg-large-object package (looks promising).
- Adrianna: Adding a new JMP Event Queue state for requesting_session, refactoring some variable names to resolve a Sequelize truncation issue, Vue3 whitebox testing, and investigating some JMP Pool bugs.
Statistics
- Elizabeth: Fixed a couple bugs related to weights and prediction intervals with mixed models (JMP-20374 & JMP-20407). Added support of weights and freqs in GLMM (JMP-20146). Answered some user questions about GLMMs in JMP. Running some simulations related to shelf-life estimation looking at some alternatives available in JMP related to but not directly investigated in Stroup, W. W., & Quinlan, M. (2016). Statistical considerations for stability and the estimation of shelf life. Nonclinical Statistics for Pharmaceutical and Biotechnology Industries, 575-604.
- Laura C-S: Continue work on MIIV-2SLS for SEM. Finished the standard errors and moved on to investigate how to handle equality constraints.
Stat Testing
- Mark: Continued testing the Torch Deep Learning add-in using a properly configured AWS virtual machine. Attended the ASQ Statistics Division webinar about DOE presented by Mark Anderson from StatEase. I am writing my lightning talk for the DOE Roadmap. Tested DOE platforms after Ernest changed the selection lists. Now, I am investigating 5 new unit test failures in the EasyDOEDefects17_w script that all have to do with the prediction in Profiler.
- Jacob: Adding tests for confidence intervals in Categorical. Evaluating test builds for updated select lists in DOE. Preparing Easy DOE lightning talk for Discovery Europe. Triaging open Easy DOE tickets in 18.0, moving tickets to Test Ready that appear fixed.
- Tonya: Working on bug verification, unit test updating, and beta reporting.
Note from Shannon
Thanks to Inside JMP for sharing this article in honor of Black History month highlighting SAS and JMP’s continuing commitment to diversity and inclusivity in all its forms! As we all know, JMP now has its own DEI Action Committee, and I am extremely proud to work for a company that values all voices and says so loudly and proudly! The SAS Black Initiatives Group (BIG) has hosted several excellent sessions in recent weeks focused on exploring the impact of Martin Luther King Jr.’s legacy, from panel discussions reflecting on King speeches to guest speakers and discussions. As a reminder, all SAS and JMP employees are welcome to attend BIG sessions on Fridays at noon to learn, share, and reflect on the experience of Black Americans.
Today’s BIG session was hosted by Davetta Dunlap and featured guest Steve Swayne, a white man who shared his personal journey ranging from being completely oblivious to white privilege during childhood to young adulthood to a journey of learning about the concept and its history in this country and becoming an ally and advocate for other allies to action.
February’s SAS DEI book club is focused on the book "Uncomfortable Conversation with a Black Man" by former football and sports analyst Emmanual Acho. He also has an accompanying Emmy-award winning video series that he launched after the death of George Floyd. You can click this link to join the BIG Viva Engage group and click here to find out more about the SAS DEI Book Club. As Swayne said today, education is key for allies who simply have not lived the experiences of their black colleagues. He encouraged all attendees to do the work to understand and begin to advocate, no matter how uncomfortable the topic may make them feel personally.
