19.0.4:安全冻结日期:2026年1月8日• 19.1 : JMP 代码冻结日期:2026年1月5日; JMP 临床代码审批开始日期:2026年1月26日;JMP 临床代码冻结日期:2026年2月9日 • 20.0:主版本发布 • 20 EA1: 2026年1月22日
欢迎阅读 2025 年 1 月 9 日 JMP 开发更新!
非常感谢奥黛丽·舒尔分享以下周年纪念公告,并祝贺 Mike!
祝贺高级测试工程师迈克·穆拉达加入 JMP 十周年!Mike 此前曾在东芝和 IBM 担任测试工程师,2016 年 JMP 测试团队扩充时,我们邀请他加入。Mike 曾测试过 JMP 的应用程序构建器和公式编辑器等多个功能,但您最熟悉的可能是他在图像测试框架方面的工作。他负责监控数千个测试用例,以便在出现意外差异时及时通知您。目前,Mike 正与埃文·麦考克尔合作,扩展由 Evan 开发的 GUI 测试框架 Mimic;我们可能会在今年晚些时候的开发者讲座上听到更多关于这项工作的信息。有趣的是,在加入 JMP 之前,Mike 就对 SAS 并不陌生,他曾参与 SAS Vocal Motion 项目多年。祝贺 Mike 十周年!

随着JMP 19.0.4 安全更新工作的接近尾声以及 JMP 19.1 代码冻结期的结束, JMP 19.2 分支计划于下周启动。与此同时,开发人员继续向 JMP 20 分支提交修复程序以供测试,我们预计其中一些修复程序至关重要,将在 19.2 分支开放时集成到该分支中。文档团队正在努力完成 19.1 帮助文档的构建,而本地化团队正在审核文档交稿并最终确定各种字符串返回值。测试团队继续验证 19.1 的修复程序,并为近期 19.0.4、20 EA1 和 19.1 的安装程序测试做好准备。
提醒各位,我们将于2026 年 1 月 22 日(周四)冻结JMP 20 EA1 版本。请查看 Outlook 日历上的提醒,了解更多 EA 版本更新提醒和详情!很高兴看到本周有这么多用户添加新的功能页面并更新现有页面。请继续为功能页面贡献内容,以便产品管理团队能够将尽可能多的信息传递给我们的早期用户,让他们了解那些亟待测试的新功能。
本周的 JMP 开发者会议上, 拉斯·沃尔芬格演示了新版 JMP Assistant 插件,该插件由 Claude Code 协助开发。Claude Code 是一款近期获得 SAS 认证的编码辅助工具,Russ Wolfinger 认为它非常实用。演示引发了热烈的讨论,大家提出了许多问题并发表了评论。我相信,在未来的日子里,Assistant 和 AI 编码工具都将成为人们热议的话题。如果您错过了本次会议, 可以在这里找到录像。
在开发者会议上, 丹·瓦伦丁还介绍了我们产品经理团队的最新成员斯科特·艾伦 ,并表示热烈欢迎。Scott 最初以系统工程师的身份加入 JMP,多年来也开发过许多广受欢迎的市场扩展程序。他将担任 JMP Marketplace(当然也包括扩展程序!)的新产品经理,并与开发者合作开展自然语言界面相关的项目。正如 Scott 所提到的,Russ 征求了大家对 JMP Assistant 的反馈意见,Scott 也创建了这个页面,用于在 Confluence 中汇总和整理这些反馈。感谢您提前为该页面做出贡献!
一般公告
重要日期
- JMP 19.1 L10N 冷冻 - 2026年1月15日
- JMP 19.1 安全冻结 – 2026年2月19日
- JMP 19.1 最终图像候选版本 – 2026年2月23日
- 请访问合流查看JMP 19 的完整日期列表。
JMP 开发最新进展
核
- Xan:为坐标轴和梯度刻度添加了“伪对数”刻度类型——一种在接近零时平滑过渡到线性,且在负输入时为负值的对数。

- Dan S:改进了对“脏”报告的处理——在报告脏时提示保存,并在需要时设置脏标记。初步开发了“探索”功能。继续改进辅助功能。研究如何更新 ScriptItem 以提供更动态的支持。
- 戴夫·B:
- 初步清理了那些没有生成任何报告或日志的图像测试,因此这些测试从来没有可供比较的图像。
- 研究了现有的 JSL 加密技术以及 Paul 提出的保护 Marketplace 插件 JSL 源代码的方案。
- 修复了“创建合并数据表”回归问题
- Ernest:正在和 Evan 和 Dan 一起开发新的数据表面板,用于显示衍生平台。
美国能源部和可靠性
- Caleb:在可修复系统模拟器中工作,研究如何让用户克隆设计并在该平台上创建库项目。
主机和接口
- John Schroedl:与 Paul S. 合作处理 Visual Studio 项目变更。审核了即将进行的 VS 2026 切换计划。将 JMP 20 更新到最新的 WebView2 运行时和 SDK 以保持最新状态(与安全无关)。推进与虚拟化容器相关的辅助功能改进。
- Will:参与了WEBJMP-9830 的开发:添加了对使用 SharePoint 数据连接器的 JMP Live 刷新脚本的支持;以及JMP-23687 的开发:改进了 Mac 与 ActualTech 驱动程序的 ODBC 集成,以便在将表保存到数据库时包含空架构。
- 保罗:
- 对 Python 中的 2 个 Snyk 误报进行分类。
- 探索如何确保 JMP Marketplace 插件的安全。在 macOS 上,我们已编写代码,扩展了 ZipArchive 类,以处理 .zip(.jmpaddin)文件中的加密文件。
- 测试 macOS 上 libzip 从 1.5.2 更新到 1.11.4。
- 为 SecureString 类编写了额外的 C++ 单元测试,并为新的 EncryptedZip 类编写了测试。
- 帮助 Caleb 找到了他机器上 PySR 包的问题,Dahlia 则为客户提供支持。
- 我和布拉德·诺里斯以及露丝·胡梅尔开会讨论了如何改进 Python 入门培训材料。我和 Evan 发现,很多客户在 Python 入门方面都提出了许多相同的基本问题。
- 下载了 Russ 的 JMP Assistant 插件,以便了解插件包的内部结构。
- 已开始更新 JMP 20 的 curl 库的构建和更新流程。周三发布的新版本将修复中低危漏洞。
交互式 HTML
- 约翰·鲍威尔:
- JMP 20 的第一个重构冲刺已经结束,新的冲刺也已开始。
- 由于 three.js 最新版本 ( JMPHTML-15152 ) 已弃用 Scatterplot 3D 中使用的 3D 视图控制器 (TrackballControls.js),因此已将其替换为新的视图控制器。
- 已完成年终讨论。
- 在 PluralSight 上参加了一个关于 JavaScript 模块的短期课程。
- 与 Dieter、Praveena 和 Paul 一起审查了交互式 HTML 功能请求。
- Mike Stickles:目前正在处理JMPHTML-489 (将区间柱状图重构为子类)。由于 BarSegment 的复杂性,这项工作可能需要数周时间,最终可能还会将其他柱状图类型(堆叠柱状图、范围柱状图等)也拆分为子类。
- 保罗·斯皮查拉 :与其他开发人员合作创建新的 HTML 构建系统 ( JMPHTML-1824 )。
JMP Live
- 极光:
- 19.5 - 修复异常 GraphQWL 查询导致的信息泄露问题。当警告状态“后退”时,重新通知分诊负责人。始终在分诊相关下载中包含有效/无效信息。审核移动过程中包 ID 的更改日志。审核用户删除审核日志记录中直接包含的内容重新分配日志。
- 创建了一篇 Confluence 文章,记录了哪些用户可以移动帖子。
统计测试
- Mark:我编写了一个脚本,用于收集贝叶斯优化拟合失败的诊断信息,以帮助 Chris 和 Kasia。为了便于参考,我在我的 Windows 电脑和 Mac 电脑上运行了该脚本,这两台电脑都没有出现这些故障。Jim 将在测试机重新配置后,每天为我运行该脚本,测试机每天都会出现持续的故障。Jim 下周完成分支工作后,他将在测试机上运行该脚本。我和 Jacob 探讨了 JMP 开发团队如何使用 JMP Notebooks。我和 Jacob 一起集思广益,提出了一个可以发布到 JMP Marketplace 的内部可用性研究工具版本。我还和 Jacob 一起集思广益,探讨了 Easy DOE 中的遥测功能。
- Tonya:测试流程包括筛选新功能、验证漏洞,以及准备关于Beta版反馈的质量保证演示文稿。
生命科学最新动态
- 理查德:与FDA会面讨论了多阶段研究。正在撰写一份关于所有不良事件(AE)的TTE分析报告。与CRC出版社签订了合同,撰写一本暂定名为《使用JMP进行生命科学数据可视化》的书。
- Drew:研究 JMPC 20 基础架构变更,以简化报告编写。协助进行代码审查,并将其集成到 JMPC 19.1 分支。排查 Roche 的 JMP Clinical Citrix 部署中的性能问题。
产品管理和产品营销
- 布莱恩:
- 对于“探索”功能,发布了“报表状态和提示”规范,说明如何更轻松地保存报表和在数据表上下文中链接的数据表,在功能页面上链接了 Figma Make 原型,更新了功能目标以提高清晰度,并探索了聚合面板的命名。
- 针对 JMP Live 的空间/文件夹导航 (JMPUX-193) 提供了反馈,建议采用筛选器图标而非标签页的方式。此外,还就如何向 JMP Live 用户提供数据表脚本提供了反馈。
- 关于助手插件,提出了重要的用户界面更改建议,并与 Scott 一起审查了 Discovery Lab 的笔记。
- 主持召开了一次关于支持键盘导航和屏幕阅读器的无障碍访问工作会议。制定了未来每两周召开一次无障碍访问会议的机制。
- 向大卫·怀特提供了反馈,说明我们如何才能让用户更容易在 JMP 中取消选择所有行和列。
- 已下载 FluentUI 系统图标(约 6900 个图标),目前正在将其导出为 PNG 格式,以便更轻松地交付图标。
技术支持与互动
- 温迪:
- 我们希望大家度过了一个温暖美好的假期。本周用户需求量将逐步恢复,我们正在推进的项目也将保持强劲势头。用户赋能团队将于下周在卡里举行启动会议。如果您在附近或餐厅看到我们,欢迎过来打个招呼!
- 以下是技术支持和客户互动中常见的案例数量和主题图表。这里还有TS JMP Live 报告以及指向 Jira 筛选器的链接,该筛选器显示了过去 14 天内支持团队提交的工单。
每周技术支持案例数量:

上周技术支持队列中的案例主题:

每周客户支持案例量:

上周待处理案件主题(不包括受限方筛选) :

开发运营
- 吉姆:
- 准备下周发布 JMP 19.2 和 19.0.5 的 Perforce 分支版本,以及一周后发布的 JMP 20 EA 版本。
- 由于 Jenkins 的连接问题,在 Windows Server 2022 上手动触发了 JMP Pro 19.0.4 的单元测试运行。
- 与 Bruce Crenshaw 和 Chad Williams 合作,解决了从 Tahoe 单元测试运行中访问内部 SAS 站点的问题。最终,需要重新部署这台机器。
- 我与 Brook Banks 合作,为我的无法升级的 Windows 10 调试 UT 运行机器获取 Windows 桌面替代方案;目前正在进行设置和配置。
- 与保罗·纳尔逊一起解决 JMP 20 Python 问题。
- 梅兰妮:
- 19.1:完成了 19.1 PortableUI 字符串的 JSL 冲突;完成了对已翻译示例数据表的检查。
- 单元测试仪表板:现在每天运行两次(上午 6 点和下午 3 点);添加了处理某些情况下出现的进程命名问题的代码;在 JMP Live 20 中遇到了 LDF 问题,但很快就得到了修复。
- 针对自动化流程的各种故障排除。
- Shannon C:继续与团队进行第四季度总结。与 Jim 和 Nick 一起调查了一些单元测试流失败和操作系统检测异常的问题。
- Bob:编写脚本为版本 20 的早期用户(jmp、jmppro、jmpstudent、jmpclinical)创建 Windows 安装程序。修改 OneDrive 的每日构建流程,添加 JMP Live 安装程序。
- Myron:假期结束后正在处理一些工作,包括清理单元测试数据的各个方面。
本土化
- Krzysztof:完成了 19.1 版本的用户界面本地化工作(所有内容均已验证并推送至 Portable、Builtins 和 SampleData)。正在使用最新翻译重新训练机器翻译引擎。协助修复了 19.1 版本中 JMPLivePublic 的帮助任务和脚本。正在测试本地化工作流程中的新功能。
- Trish:准备 JMP Live 公开帮助交接工作。继续通过 ZIP 系统完成新韩语审校员的入职培训。准备第四季度总结会议。
- Sandy:修复了文件填充验证和图像差异文件验证的错误。改进了 PortableUI 的返回处理功能。
文档
- Chris:在几位开发人员和统计信息编写人员的帮助下,更新了 JSL 兼容性文档。更新了帮助文档。审核了 Susan 对 JMPDOC-2705 的修改。审核并运行了 CR 上的生产脚本。正在处理翻译人员的疑问,并修复了我们 19.1 版本文档推送中的问题。
- Qiana:参加了会议。完成了卡片、UG 和 JSR 中 JMP 19.1 的文档更新。运行了 BookPDF 和卡片的生产脚本。参与了 MathType 软件的采购流程。负责项目规划和协调。
- Susan C:已完成 JMP Live 的脚本和视频制作,供 SPC 帮助文档使用。已为所有 JMP Live 帮助文件添加标签,并经过同行评审后移交给 L10N。已对 JMP 帮助文档的最终版本进行生产检查。
- Jill:对 JMP Live 帮助文档进行了同行评审。生产部门检查了 DOE、EG、AR 和 LS 文档。审核了 JMP Live 的动画 GIF 说明。最终审核了 19.1 版本的用户界面字符串。新员工入职培训。
- 德文郡:准备 XML 文件供团队审核新的 Web 帮助输出,准备批量转换 FrameMaker 文件,运行 19.1 帮助的生产检查。
系统/主机测试-Cary
- Mandy:在假期前夕,我一直在追踪 JMP 20 中一些奇怪的问题——不过都找到了,并修复了一些错误,清理了测试用例。遇到了一个随机的首选项崩溃——真是我的“崩溃女王”风格(哈哈),我相信开发人员已经修复了这个问题。我验证了一些 JIRA 问题,并添加了一个测试用例。我和 Melisa 一起配置了她的 Mac,安装了 P4 和 JMPRUNNER,并制作了一个测试版本来测试修复,一切顺利(她做得非常棒!)。接下来——测试筛选视图的更改和即将推出的 JMP 20 中的新数据表外观,以及对动态表(汇总、堆叠、拆分、转置)的更多测试。
- Hunter:使用当前 JMP 19.0.4 每日构建版本完成了安装和授权流程,为下周的最终镜像测试做准备。审核了 JMP 19.1 的 Windows 和 Mac 键盘快捷键和菜单说明卡,并更新了相关的 JIRA 条目。调查了崩溃问题并进行了 JIRA 验证。
- Nick H:正在进行 20.0 版本的验证工作,包括 bug 和一些小功能的测试。我也一直在尝试清理一些单元测试,但效果参差不齐——本地运行和夜间运行的结果有很多不一致的地方。我还开始调查仪表盘图表的日期问题,这些问题可能与时区有关。
- Eric:正在努力解决 19.1 版本 JIRA 的问题。我还从 Marketplace 安装了我的第一个插件……LearnBot。希望利用这个聊天机器人来加速我学习 JMP 的过程!
网站测试 – Cary
- 乔什:
- 已创建JMP Live 19.0.4 环境,包括 Jira 问题跟踪系统和测试矩阵。准备从下周开始进行安装程序测试。密切跟踪19.0.4 版本的 Jira 问题,确保它们得到适当的优先级处理。
- 回答了以下问题:
- 本地构建 JMP Live
- 在同一台机器上运行和构建多个 Live 版本
- 编写了一个测试自动化脚本,允许测试人员(在初始设置完成后)执行以下操作:
- 拉取所需版本的 JMP Live
- 自动更新环境配置文件
- 执行Jira 验证。
- 在 wt-midweekly 环境中增加额外的刷新间隔,以确保每 5 分钟处理一次刷新。
- 创建包含多个数据表的 JMP 项目,并验证它们在 JMP Live 中是否正确刷新。
- 安娜:
- 已报告的问题:
- 数据查看器 - JMP Live。
- 树状图默认应显示颜色映射。
- HG:DS:尚未支持的功能对应的三点菜单项应从菜单中移除。
- DS:HG:需要允许用户在图表和表格中切换显示连续拟合分布曲线。
- OneWay:错误:报表脚本未返回 JMPApp、Platform 或 DisplayBox。
- 图形生成器:错误:报告脚本未返回 JMPApp、Platform 或 DisplayBox。
- CCB:OC曲线图缺失 - NOREP
- 验证 JMP Live 中数据查看器客户端的修复程序。
- 开始验证 Michael Snoit 对 LDF 所做的修复。
- 根据 John P 和 Hui 的反馈,修改 JMP Live 20 为 JMP Pro 20 新功能做好准备的网页。
- Natalie: HTML自动化报告:19.0.4 – 全部正常,19.1 – 全部正常,19.5 – 全部正常,20.0 – 5处差异正在调查中。由于将北京UT测试集成到日常运行中,以及新的个人访问令牌更新,导致20.0自动化服务器中断。但这些必要的更新现已完成。我正在调查20.0的差异并进行错误验证。
- 惠:
- 已验证客户报告的 JMP Live 19.1 中 HTML5 流程筛选的交互问题。
- 好消息:该问题不会重现。
- 报告了一个新的流程筛选交互问题。
- 为 Anna 的JMP Live 19 准备情况Confluence 页面提供了反馈。
- 开始对 JMP Live 19.1进行回归测试,重点关注国际化和本地化。
- 继续测试流程筛选分诊功能
- 史蒂夫:
- 已完成将 JSL UT 测试(端到端、安全性、各种报告、兼容性、压力)集成到现有自动化框架中。
- 创建并更新了有关如何使用当前框架设置和运行上述 JSL UT 测试的文档。
- 更新了现有管道,并探索了每晚运行 JSL UT 测试以及现有 JMP Live 自动化测试的方案。
- 目前正在配置服务器和 Jenkins 流水线,以部署 JMP Live 20.0、19.5 和 19.1 的 JSL UT 测试。
香农的笔记
我必须分享一下迈克尔·赫克特本周制作的这张可爱的AI生成的图片,以此来表彰曼迪·钱伯斯能够找到所有那些奇怪的崩溃问题,尤其是在Mac系统上!:smiling_face_with_smiling_eyes: 希望大家周末愉快!
