v2024.Sep: VI分析器与复杂类型修复
【v2024.Sep 精简公告】CSM v2024.September 已发布并推送至 VIPM。本期重点是质量与兼容性改进:核心库新增 VI Analyzer 支持(#92、#287);API String 插件修复了嵌套数组、二维数组在 Cluster 中的多个严重解析 bug;INI 插件新增 Multi-lines Key 支持和日志过滤配置 API。
2024 年 9 月的 CSM v2024.September 更新已经推送到 VIPM。如果你觉得 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
版本亮点
- VI Analyzer 支持(#92、#287):核心库新增 VI Analyzer 支持,开发者可以使用 LabVIEW VI Analyzer 对 CSM 项目进行静态代码分析,提升代码质量。
- API String 嵌套数组修复(#58、#2):修复了嵌套数组、Cluster 中的二维数组等复杂类型的解析问题,大幅提升了 API String 对复杂数据结构的支持可靠性。
- INI 插件 Multi-lines Key 支持(#41):LabVIEW Config 库新增对多行 Key 的支持,允许配置文件中的值跨越多行。
- INI 插件 Session/Key 大小写不敏感(#47、#48):Session 名和 Key 名现在大小写不敏感且对首尾空格免疫,使配置访问更加健壮。
- 多项核心库稳定性修复:修复了多个报告的小问题(#302、#304、#308、#309),进一步提升核心库稳定性。
按仓库变更
1. Communicable-State-Machine
功能改动(重点)
- VI Analyzer 支持(#92、#287):框架现在支持 LabVIEW VI Analyzer 静态分析,帮助开发者识别代码质量问题。
- VI Reference 工具支持 .vit 文件(#305):”Add VI Reference” 工具现在也会处理
.vit模板文件,确保模板文件也能正确获得 VI Reference Case。 - 取消
Parse State Queue++.vi的 Inline 选项:取消了该核心 VI 的 inline 标记,避免部分场景下的性能与兼容性问题。 - 多处稳定性修复(#302、#304、#308、#309):修复了用户报告的多个细节问题,进一步提升框架稳定性。
文档与图标(简述)
- 与核心库版本同步更新。
2. CSM-API-String-Arguments-Support
功能改动(重点)
- 修复嵌套数组问题(#58):修复了数组嵌套场景下的解析错误,确保多层嵌套数组能够正确编解码。
- 修复 Cluster 中的二维数组(#2):修复了 Cluster 中包含二维数组时的解析失败问题。
- 修复 Cluster 数组和二维 Cluster 数组:修复了 Cluster 数组和二维 Cluster 数组相关的解析问题,全面增强复杂类型的支持可靠性。
- “VI Reference” Case 更新:在模板中继续完善”VI Reference” Case 的实现。
- 错误处理改进(#56):进一步更新模板中的错误处理逻辑。
文档与图标(简述)
- 与核心库版本同步更新。
3. CSM-INI-Static-Variable-Support
功能改动(重点)
- 日志过滤规则读取 API(#42):新增
CSM - Read Log Filter Rules from INI Strings,可以从 INI 字符串中读取日志过滤规则。 - 文件日志配置读取 API(#45):新增
CSM - Read File Logger Configuration from INI String,可从 INI 配置中读取并应用文件日志配置参数。 - 读取数组键 VI:LabVIEW Config 库新增
Read Array Key.vi,支持读取配置文件中的数组类型值(对应 v2024.August 中的相同增强,在此版本正式发布)。 - Multi-lines Key 支持(#41):LabVIEW Config 库现在支持多行 Key,允许配置值跨越多行书写,适用于长字符串或多行文本配置。
- Session/Key 大小写不敏感(#47、#48):Session 名和 Key 名现在大小写不敏感,且对首尾空格进行了处理,使配置读写更加健壮和容错。
- 所有 CSM 模块升级”VI Reference”:INI 插件中的所有 CSM 模块均已加入”VI Reference” Case。
文档与图标(简述)
- 与核心库版本同步更新。
4. CSM-Continuous-Measurement-and-Logging
功能改动(重点)
文档与图标(简述)
- 与核心库版本同步更新。
5. 其他仓库
- CSM-MassData-Parameter-Support:本期无该版本发布,已忽略。
- CSM-TCP-Router:本期无该版本发布,已忽略。
按功能变更
1. 功能新增
- 核心库新增 VI Analyzer 支持(#92、#287)。
- INI 插件新增日志过滤规则读取 API(#42)。
- INI 插件新增文件日志配置读取 API(#45)。
- INI 插件新增读取数组键 VI。
- INI 插件新增 Multi-lines Key 支持(#41)。
2. 改进优化
- “Add VI Reference” 工具支持
.vit文件(#305)。 - INI 插件 Session/Key 大小写不敏感,对首尾空格免疫(#47、#48)。
- 取消
Parse State Queue++.vi的 Inline 标记。 - API String 模板错误处理继续完善(#56)。
3. 问题修复
- 核心库多处稳定性修复(#302、#304、#308、#309)。
- API String 修复嵌套数组解析问题(#58)。
- API String 修复 Cluster 中二维数组的解析问题(#2)。
- API String 修复 Cluster 数组和二维 Cluster 数组的解析问题。
- CSM Continuous 修复次要问题(#16、#14)。
破坏性变更
本期无破坏性变更。
升级指引
- 通过 VIPM 更新到 v2024.September 版本。
- 升级后可以使用 VI Analyzer 对 CSM 项目进行静态代码分析,建议在大型项目中使用以提升代码质量。
- 若使用 API String 处理嵌套数组或 Cluster 中的复杂类型,升级后请验证解析结果是否符合预期。
- INI 插件的 Session/Key 现在大小写不敏感,若代码中存在依赖大小写区分的配置,请检查兼容性。
完整变更来源
Release
- Communicable-State-Machine: https://github.com/NEVSTOP-LAB/Communicable-State-Machine/releases/tag/v2024.September
- CSM-API-String-Arguments-Support: https://github.com/NEVSTOP-LAB/CSM-API-String-Arguments-Support/releases/tag/v2024.September
- CSM-INI-Static-Variable-Support: https://github.com/NEVSTOP-LAB/CSM-INI-Static-Variable-Support/releases/tag/v2024.September
- CSM-Continuous-Measurement-and-Logging: https://github.com/NEVSTOP-LAB/CSM-Continuous-Measurement-and-Logging/releases/tag/v2024.September
结尾
欢迎大家使用并提出反馈!本次更新的重心在于质量和兼容性:VI Analyzer 支持为代码质量把关,复杂类型 bug 修复让 API String 更加可靠。如果你有好的想法或发现了问题,欢迎在 GitHub 提交 Issue!