NeoSPCC has released NeoGo v0.106.3. The update, the team’s second Neo v3.7.5-compatible release, brings several bug fixes, new APIs, and feature enhancements.

Bug fixes

The release was primarily motivated by a state mismatch on the N3 TestNet, encountered at block height 4,368,840. The cause was due to a difference in handling a malformed contract manifest during deployment.

NeoGo’s manifest handling code has now been updated to reject invalid manifests; TestNet node runners will need to resynchronize their nodes to get the correct node state relative to the reference implementation. MainNet nodes are unaffected, but a timely update is suggested.

v1.106.3 also includes a number of less critical fixes. A panic and a potential deadlock in the WSClient unsubscription and disconnection code have been alleviated. The missing PrimaryIndex field has also been added to the result of the Ledger native contract’s getBlock call.

New features

NeoGo’s new update brings enhancements to the RPC component, with Signers and SignerAccounts APIs, alongside an extension to the actor package that introduces a method for waiting for a transaction to complete with a VM halt (success result).

Another notable addition is the new VM Hooks API. This allows developers to register callbacks that are invoked with each executed instruction in the VM, which can be used for various purposes, such as collecting test coverage, tracing, and more.

The full changelog may be read at the following link:
https://github.com/nspcc-dev/neo-go/releases/tag/v0.106.3