Neo Express 更新至 v3.9.1,新增对 .NET 10 的支持并改进了开发者体验。

本文为机器翻译
展示原文

Neo Core 开发团队发布了Neo Express v3.9.1,这是自 2025 年 5 月以来本地区块链工具的首次正式更新。新版本于 2 月 4 日发布,引入了对 .NET 10.0 的支持,更新了与 Neo-CLI v3.9.1 的兼容性,并进行了大量改进,旨在提升开发人员的工作流程。

Neo Express v3.9.1 的主要升级

Neo Express v3.9.1 整合了 39 个合并的 pull request,涵盖多个重点领域,包括错误修复、安全升级、平台支持和基础架构维护。它移除了旧框架目标,提升了跨平台可用性,并解决了长期影响智能合约测试、本地化和调试的问题。

平台和框架更新

.NET 10 兼容性: Neo Express 现在支持 .NET 10.0,这是微软开发平台的最新版本 (#515),确保开发人员能够利用最新的框架特性和性能改进。此次更新还移除了旧版 .NET Standard 和 .NET Framework 目标 (#496),从而简化了代码库并降低了维护成本。

Neo v3.9.1 集成:此版本升级了Neo Express,使其与 Neo-CLI v3.9.1 (#516) 保持一致,确保与最新的协议功能兼容,包括合约费用白名单、国库原生合约和增强的执行费用因子精度。

多平台二进制文件:现在提供适用于多个平台的预构建二进制文件,包括 Linux (x64, ARM64, musl)、macOS (x64, ARM64) 和 Windows (x64, ARM64),从而在开发环境中提供原生支持。

开发工作流程改进

增强命令执行: RunDotNetCommand方法现在使用参数列表而不是字符串连接(#478),提高了可靠性,并减少了在智能合约开发和测试期间执行 .NET CLI 命令时可能出现的错误。

改进的测试基础架构:测试命令执行已重构,以消除测试类之间的代码重复(#480),使测试套件更易于维护,并降低不同测试场景中行为不一致的风险。

本地化修复:解决了在非英语语言环境下运行Test02_BuildValidation测试会失败的问题 (#483),改善了国际开发者的体验。

错误修复和稳定性提升

修复了多个关键漏洞,提高了Neo Express 的可靠性:

状态服务增强:修复了StateServiceStore (#493) 和MemoryTrackingStore类 (#492) 中的问题,改进了开发和测试工作流程期间的区块链状态管理和内存跟踪。

存储项处理:解决了GetProvenState中未知存储项会导致错误而不是返回 null 的问题 (#491),防止在查询不存在的区块链状态时发生崩溃。

转账状态准确性:修复了GetTransfers方法中不正确的状态报告(#494),确保在开发和测试期间准确跟踪代币转账。

$NFT支持改进:修正了$NFT转账代币解析和余额堆栈顺序 (#507),解决了开发者在测试$NFT合约时遇到的问题。

Neo-trace 协议设置:修复了 neo-trace 中的协议设置,并改进了跟踪操作失败时的错误消息(#488),增强了调试功能。

当前目录处理:解决了从某些工作目录执行命令时可能导致命令失败的路径解析问题(#495)。

Neo3-visual-tracker 版本下载:修复了影响 Neo3 Visual Tracker 扩展的下载问题 (#499),确保开发人员可以正确安装和使用 Visual Studio Code 扩展。

快照数据处理:修改了快照功能,添加条目的副本而不是列表本身(#490),防止在状态快照期间出现意外的副作用和数据损坏。

安全更新

此次发布通过更新 neo3-visual-tracker 扩展中的依赖项,解决了许多安全漏洞:

  • 更新 tar-fs (2.1.1 → 2.1.4) (#476, #500) 以解决归档文件提取漏洞
  • 更新 base-x(5.0.0 → 5.0.1)(#473),以提高基础编码安全性
  • 更新 pbkdf2 (3.1.2 → 3.1.3) (#477) 以支持基于密码的密钥派生
  • 更新密码库(1.0.4 → 1.0.6)(#497),用于加密操作
  • 更新了 sha.js(2.4.11 → 2.4.12)(#498),以支持 SHA 哈希函数
  • 更新了 tmp 模块(0.2.1 → 0.2.4)(#489),用于临时文件处理。
  • 更新了 js-yaml (#509) 以提高 YAML 解析安全性
  • 更新了 jws(3.2.2 → 3.2.3)(#511),以处理 JSON Web 签名
  • 更新了 qs(6.14.0 → 6.14.1)(#512),用于查询字符串解析
  • 更新了 undici(7.16.0 → 7.18.2)(#513),以支持 HTTP 客户端操作
  • 已更新 @isaacs/brace-expansion (5.0.0 → 5.0.1) (#518),以支持 glob 模式匹配
  • 更新了 Microsoft.Build.Utilities.Core (17.14.8 → 17.14.28) (#505, #506),用于构建工具
  • 通用安全软件包更新(#502,#510)

这些更新共同解决了关键和高危安全漏洞,确保Neo Express 在开发工作流程中保持安全。

代码质量改进

已弃用方法更新:替换了整个代码库中已弃用的方法调用(#482),确保与当前和未来的 .NET 版本兼容,并减少编译器警告。

减少警告:清理了各种编译器警告(#501),提高了代码质量,使开发人员更容易识别自己代码中的真正问题。

软件包版本更新:定期维护依赖项(#479,#503),以使项目与上游更改保持同步。

兼容性

Neo Express v3.9.1 与 Neo-CLI v3.9.1 及更高版本兼容。使用Neo Express 进行本地区块链测试的开发者应更新至此版本,以确保与最新的协议特性以及主网/测试网行为兼容。

此次更新需要 .NET 10.0 SDK,以便开发人员从源代码​​进行构建。对于不想自行编译工具的开发人员,我们提供了预构建的二进制文件。

您可以从以下链接下载Neo Express v3.9.1:
https://github.com/neo-project/neo-express/releases/tag/3.9.1

来源
免责声明:以上内容仅为作者观点,不代表Followin的任何立场,不构成与Followin相关的任何投资建议。
喜欢
71
收藏
11
评论