Neo SPCC has updated NeoGo to v0.99.1. The release brings compatibility with Neo 3.3.1, a range of bug fixes, and is the first to offer support for devices operating on the ARM architecture.

After finalizing Windows support in March, the team moved on to complete the changes required to support ARM chips. Darwin and Linux OS binaries for ARM devices are provided as of the latest release, making it possible for users of Apple silicon, 64-bit Raspberry Pi’s, and other ARM-based computers to leverage all the functionality made available in NeoGo.

V0.99.1 follows the reference implementation in its modified handling of iterators returned by the RPC service. The new mechanism uses sessions, allowing a client to traverse the iterator and retrieve all desired values without exceeding any request limits. Further refactoring of the RPC client is also planned for NeoGo; Neo SPCC has welcomed suggestions and comments as the team begins to scope new usability and functionality enhancements.

A long list of improvements arrived in the new build, split between internal refactoring and developer conveniences. Users will find improved error messages in the CLI and when using WebSockets, better documentation for JSON differences with the C# node, and new helper methods in the interop package for type comparisons in smart contracts.

Several bug fixes also arrived in v0.99.1. Inclusions are improvements to consensus message handling and recovery responses, a fix for invalid block height estimation when performing historic calls, and a return type change from null to an empty array for empty transaction lists, altered for compatibility with the C# RPC implementation.

A full resync will be required for existing node runners in order to get the correct state. Compatibility with MainNet is confirmed up to block 1,932,677, and with T5 TestNet up to block 475,398.

The full changelog and latest binaries can be found at the following link:
https://github.com/nspcc-dev/neo-go/releases/tag/v0.99.1