The Neo Core development team has published Neo Express v3.9.1, the first official update to the local blockchain tool since May 2025. The new version released on February 4th introduces support for .NET 10.0, updates compatibility with Neo-CLI v3.9.1, and includes a wide range of improvements aimed at improving developer workflows.
Major upgrades for Neo Express v3.9.1
Neo Express v3.9.1 integrates 39 merged pull requests across multiple focus areas, including bug fixes, security upgrades, platform support, and infrastructure maintenance. It removes legacy framework targets, improves cross-platform usability, and resolves long-standing issues affecting smart contract testing, localization, and debugging.
Platform and framework updates
.NET 10 Compatibility: Neo Express now targets .NET 10.0, the latest version of Microsoft’s development platform (#515), allowing developers to take advantage of the latest framework features and performance improvements. This update also removes the legacy .NET Standard and .NET Framework targets (#496) to streamline the codebase and reduce maintenance overhead.
Neo v3.9.1 Integration: This release upgrades Neo Express to Neo-CLI v3.9.1 (#516) to ensure compatibility with the latest protocol features such as Contract Fee Whitelist, Treasury Native Contracts, and enhanced Execution Fee Factor Accuracy.
Multiplatform binaries: Pre-built binaries are now available for multiple platforms, including Linux (x64, ARM64, musl), macOS (x64, ARM64), and Windows (x64, ARM64), providing native support across development environments.
Improved development workflow
Enhanced command execution: RunDotNetCommand Methods now use argument lists instead of string concatenation (#478), improving reliability and reducing potential errors when running .NET CLI commands during smart contract development and testing.
Test infrastructure improvements: Test command execution has been refactored to eliminate code duplication between test classes (#480), improve test suite maintainability, and reduce the risk of inconsistent behavior between different test scenarios.
Localization fixes: Test02_BuildValidation Improved experience for international developers as tests fail when run in a non-English language environment (#483).
Bug fixes and stability
Several important bug fixes improve the reliability of Neo Express.
State service enhancements: Fixed an issue with. StateServiceStore (#493) and MemoryTrackingStore Class (#492) improves blockchain state management and memory tracking during development and testing workflows.
Handling storage items: Resolved an issue where unknown storage items would cause an error instead of returning null. GetProvenState (#491), prevent crash when querying non-existent blockchain state.
Transfer status accuracy: Fixed incorrect status reporting. GetTransfers method (#494) to ensure accurate tracking of token transfers during development and testing.
$NFT Improved support: fixed $NFT Transfer Token Parsing and Balanced Stack Order (#507), resolves issues encountered by developers during testing $NFT contract.
Neo-trace protocol settings: We fixed the neo-trace protocol settings, improved the error message when a trace operation fails (#488), and improved debugging capabilities.
Handling current directory: Resolved a path resolution issue that could cause commands to fail when run from certain working directories (#495).
Neo3-visual-tracker release download: Fixes a download issue affecting the Neo3 Visual Tracker extension (#499) to ensure developers can properly install and use the Visual Studio Code extension.
Handling snapshot data: Changed snapshot functionality to append copies of entries rather than the list itself (#490) to prevent unintended side effects and data corruption during state snapshots.
security update
This release addresses a number of security vulnerabilities through dependency updates for the neo3-visual-tracker extension.
- Updated tar-fs (2.1.1 → 2.1.4) (#476, #500) to address archive extraction vulnerability.
- Updated base-x (5.0.0 → 5.0.1) (#473) to improve security of base encoding.
- Updated pbkdf2 (3.1.2 → 3.1.3) (#477) for password-based key derivation.
- Updated cipher base for encryption operations (1.0.4 → 1.0.6) (#497)
- Updated sha.js (2.4.11 → 2.4.12) (#498) for SHA hash functions.
- Updated tmp (0.2.1 → 0.2.4) (#489) for temporary file handling.
- Updated js-yaml (#509) for YAML parsing security
- Updated jws (3.2.2 → 3.2.3) (#511) for JSON web signature processing.
- Updated qs (6.14.0 → 6.14.1) (#512) for query string parsing.
- Updated undici (7.16.0 → 7.18.2) (#513) for HTTP client operations.
- Updated @isaacs/brace-expansion (5.0.0 → 5.0.1) (#518) for glob pattern matching.
- Updated Microsoft.Build.Utilities.Core (17.14.8 → 17.14.28) (#505, #506) for build tools.
- General security package updates (#502, #510)
These updates collectively address critical and high-severity security vulnerabilities to ensure Neo Express is secure in your development workflow.
Improved code quality
Deprecated method updates: Replace deprecated method calls throughout the codebase (#482) to ensure compatibility with current and future .NET releases and reduce compiler warnings.
Warning reduction: Various compiler warnings (#501) have been cleaned up to improve code quality and make it easier for developers to identify true problems in their code.
Package version updates: Regular dependency maintenance to keep your project up to date with upstream changes (#479, #503).
compatibility
Neo Express v3.9.1 is compatible with Neo-CLI v3.9.1 and later. Developers using Neo Express for local blockchain testing should update to this version to ensure compatibility with the latest protocol features and MainNet/TestNet behavior.
This update requires the .NET 10.0 SDK for developers building from source. Pre-built binaries are available for developers who don’t want to compile the tools themselves.
Neo Express v3.9.1 can be downloaded from the link below.
https://github.com/neo-project/neo-express/releases/tag/3.9.1

