v2024.Dec: 简化模板与全局日志缓存
【v2024.Dec 精简公告】CSM v2024.December 已发布并推送至 VIPM,为 2024 年画上圆满句号。本期重点改进了模板外观(感谢 @drjdpowell 的贡献)、新增全局日志历史缓存 VI、优化了调试工具性能,同时修复了多处已知问题。MassData 插件的控制面板更新也在本期完成。
2024 年 12 月的 CSM v2024.December 更新已经推送到 VIPM,这是 2024 年的最后一次正式版本更新。如果你觉得 CSM 对你有帮助,请在 GitHub/Gitee 上 star 对应的仓库!也欢迎有经验的 LabVIEW 高手参与到 CSM 的开发中来。
- GitHub: https://github.com/NEVSTOP-LAB
- Gitee: https://gitee.com/NEVSTOP-LAB
- VIPM: Communicable State Machine Framework - Package List
- VIPM 打包好的 Release Package(VIPC) 合集(包含全部 Addon + Examples,可以离线安装): https://pan.baidu.com/s/10fsnFmJpn-P_HLbpH9IFLg 提取码: CSMF
版本亮点
- 模板界面简化(#349):感谢 @drjdpowell 的贡献,模板前面板外观更加简洁,降低了新用户的视觉复杂度。
- 新增全局日志历史缓存 VI:
Global Log History Cacher.vi以及对应的 Quick Drop 代码片段,让开发者可以方便地在程序中构建全局日志监控循环。 - 修复反注册语法(#323):修正了 unregister 相关操作的语法措辞,使其对新用户更加友好。
- 调试工具过滤周期日志增强(#344):在调试工具中,被过滤的周期日志现在也能显示其参数,方便了解周期状态携带的数据。
- 新增 JKISM vs CSM 模板对比示例:新增一个示例 VI,直观展示 JKI State Machine 模板与 CSM 模板的异同,帮助从 JKISM 迁移过来的开发者快速上手。
按仓库变更
1. Communicable-State-Machine
功能改动(重点)
- 修复反注册语法(#323):修正了 unregister 操作相关的语法措辞,使代码可读性更好,对新用户更加友好。
- 内部状态注册自动清理(#297):内部状态注册现在会在 CSM 退出后自动从系统中移除,减少了不必要的手动清理步骤。
- 模板简化(#349):感谢 @drjdpowell 的建议与贡献,模板前面板外观经过简化,呈现更加清爽。
- 新增全局日志历史缓存 VI:
Global Log History Cacher.vi提供了一个标准方式来缓存全局日志历史,同时新增对应的 Quick Drop 代码片段,方便快速插入全局日志监控循环模式。 CSM - Internal State Debug Log History.vi增强:新增 “Skip in Runtime(T)” 选项,可以在运行模式下跳过日志记录,减少运行时开销。- 调试工具增强(#344):被过滤的周期日志现在可以显示其携带的参数,方便开发者了解周期状态的运行数据。
- JKISM vs CSM 对比示例:新增一个示例 VI,通过并排展示 JKISM 和 CSM 模板的结构,帮助从 JKISM 迁移到 CSM 的开发者快速理解两者差异。
- 修复不可读描述问题(#348):感谢 @drjdpowell 的报告,修复了部分场景下 VI 描述无法正常显示的问题。
- 控制面板图标更新:更新了控制面板中所有工具 VI 的图标。
- 次要修复(#347):修复了一处已报告的细节问题。
- CSM 工具性能改进:优化了多个 CSM 调试工具的运行性能。
文档与图标(简述)
- 更新了实用工具 VI 图标,视觉风格更加统一。
- 控制面板更新,整理 VI 分组。
2. CSM-API-String-Arguments-Support
功能改动(重点)
本期 API String 插件无重大功能变更。
文档与图标(简述)
- 更新控制面板图标,与核心库保持一致。
3. CSM-INI-Static-Variable-Support
功能改动(重点)
本期 INI 插件无重大功能变更。
文档与图标(简述)
- 更新控制面板图标,与核心库保持一致。
4. CSM-MassData-Parameter-Support
功能改动(重点)
- 显示控制面板(#19):MassData 插件更新控制面板,使其在调色板中正确显示,改善了插件的可发现性和使用体验。
文档与图标(简述)
- 与核心库版本同步更新。
5. 其他仓库
- CSM-TCP-Router:本期无该版本发布,已忽略。
按功能变更
1. 功能新增
- 新增
Global Log History Cacher.vi及对应的 Quick Drop 代码片段。 - 新增 JKISM vs CSM 模板对比示例 VI。
CSM - Internal State Debug Log History.vi新增 “Skip in Runtime(T)” 选项。
2. 改进优化
- 模板前面板简化,降低视觉复杂度(#349,感谢 @drjdpowell)。
- 调试工具中被过滤周期日志也能显示参数(#344)。
- 内部状态注册在 CSM 退出后自动清除(#297)。
- CSM 调试工具性能优化。
- MassData 控制面板更新,改善可发现性(#19)。
- 全面更新控制面板图标和实用工具 VI 图标。
3. 问题修复
破坏性变更
本期无破坏性变更。
升级指引
- 通过 VIPM 更新到 v2024.December 版本。
- 升级后模板前面板外观有所变化(更简洁),但功能不变,无需调整代码。
- 内部状态注册现在在 CSM 退出时自动清除(#297),对于已经手动清除的代码,可以考虑移除冗余的手动清除逻辑。
Global Log History Cacher.vi可以替代之前手动搭建的全局日志监控模式,建议新项目优先使用。
完整变更来源
Release
- Communicable-State-Machine: https://github.com/NEVSTOP-LAB/Communicable-State-Machine/releases/tag/v2024.December
- CSM-API-String-Arguments-Support: https://github.com/NEVSTOP-LAB/CSM-API-String-Arguments-Support/releases/tag/v2024.December
- CSM-INI-Static-Variable-Support: https://github.com/NEVSTOP-LAB/CSM-INI-Static-Variable-Support/releases/tag/v2024.December
- CSM-MassData-Parameter-Support: https://github.com/NEVSTOP-LAB/CSM-MassData-Parameter-Support/releases/tag/v2024.December
结尾
2024 年的最后一次更新,感谢每一位 CSM 用户的支持和贡献!特别感谢 @drjdpowell 在本期贡献的模板简化改进。期待 2025 年 CSM 继续成长,帮助更多 LabVIEW 开发者构建更好的应用!新年快乐!🎉