Neo SPCC has published NeoGo v0.117.0, a maintenance release focused on improving the developer experience with compiler enhancements, performance optimizations, and enhancements to Notary Services functionality. This update is fully compatible with C# Node version 3.9.2 and addresses many important bugs that improve the stability and correctness of Node operations.
No resynchronization or configuration changes are required during upgrade.
Compiler improvements and performance optimizations
NeoGo v0.117.0 includes several improvements to the compiler that improve its functionality and usability. The compiler now supports embedded struct fields (#4160), expanding the range of Go language features available to smart contract developers. Additionally, a bug in switch statement processing in non-final default cases is fixed (#4078) to ensure correct compilation behavior.
Performance optimizations include reducing allocations for public key methods (#4154), which improves throughput for operations with cryptographic verification. of neotest The framework now supports parallel coverage collection (#4101), enabling faster testing workflows for developers.
Custom Witness Support for Notary Services
An important new feature is custom support. System.Contract.CallBased on collection of witnesses by notary public (#4155). This extends the flexibility of the notary service to handle witness verification beyond simple signature checks, allowing for more complex contract-based authentication schemes.
The wallet package has also been extended to support signing using custom validation scripts (#4147), providing the underlying infrastructure for these more sophisticated authentication patterns.
VM script parsing extension
of scparser The package includes a set of enhancements for reverse engineering static VM scripts (#4122). These enhancements support analysis. System.Contract.Call The ability to use any number of nested arguments improves your ability to programmatically analyze and understand VM scripts.
Adjusting the storage dump format
The storage dump format has been adjusted to follow StorageDumper plugin output (#4143), improving compatibility with other Neo ecosystem tools and simplifying data export workflows.
Improvements to exported APIs and native contracts
The default native contract constructor is now exported (#4145), as is the default native NeoToken contract implementation (#4146). These changes improve access to the underlying protocol components for applications that need to work closely with native contracts.
bug fix
This release fixed several bugs.
- Invalid MPT traversal order that caused incorrect findstates and findstoragehistory results has been resolved (#4151)
- Added validation for missing CALLT parameters (#4165)
- Fixed invalid reference count for unreferenced elements (#4152, #4153)
- Fixed incorrectly parameterized contract witness collection (#4157)
The complete changelog and release assets can be found here:
https://github.com/nspcc-dev/neo-go/releases/tag/v0.117.0

