Neo SPCC has published a coordinated wave of NeoFS releases, led by NeoFS Node v0.51.0, which delivers protocol-level changes including mutable NEP-11 containers, synchronous container operations, and the introduction of session token v2. The companion NeoFS SDK Go v1.0.0-rc.17 provides the underlying library support for these features, while XK6-NeoFS v0.2.1 provides stability fixes and dependency upgrades for the load testing extension. A TestNet upgrade is ready and MainNet is expected to follow in the coming days.
NeoFS Node v0.51.0
The NeoFS Node v0.51.0 release brings a number of important protocol changes. Containers now appear as mutable NEP-11 tokens on-chain, with both Storage Nodes and Inner Ring Nodes supporting new container contract methods including createV2 And getInfoas well as attribute management methods setAttribute And removeAttributeproviding a richer container management API for the chain. Corresponding CLI commands for setting and removing attributes have been added to the container section.
Container activities Put, DeleteAnd SetExtendedACL are now handled synchronously by storage nodes, replacing the previous asynchronous flow. This change simplifies client-side logic by eliminating the need for polling or waiting for eventual consistency. Containers can also be locked against removal by the __NEOFS__LOCK_UNTIL attribute, where storage nodes create a new CONTAINER_LOCKED status when attempting to delete a locked container.
Session Token v2 is being introduced across the stack. Both Inner Ring and Storage nodes now accept the new token format for container and object operations, and a new CLI command is available for generating v2 tokens. Lock objects and tombstone objects with API versions older than 2.18 are no longer accepted.
On the performance side, metabase optimizations allow for faster object removal by reworking the lock information scheme and removing the outdated graveyard structure. Object service improvements specifically target containers with erase code: EC components are now co-located, the order of shards is consistent between reads and writes, and raw data requests are supported in EC containers. The continuation of the RANGE request in multi-line EC scenarios has also been fixed. Pick up from $LINK objects in EC containers are now supported, and size-split objects remain available even if the $LINK item is not available. The placement of objects to Shard has been optimized and objects requested for deletion through the control service are now deleted immediately instead of being queued for garbage collection.
Several outdated inner ring configuration options have been removed, including fschain_autodeploy, without_mainnet, governance.disable, fee.main_chainAnd contracts. Node operators upgrading from v0.50.2 should remove these options from their IR configuration files as their presence prevents the node from starting. Automatic metabase migrations from versions 3 and 4 have also been removed; Operators still running these versions should resync or migrate using NeoFS Node v0.50.2 before upgrading.
Bug fixes address an Inner Ring panic during proper shutdown, incorrect saving of IR node lists via the netmap contract instead of RoleManagement, a deadlock when exiting storage nodes in rare garbage collection scenarios, and expired EC components incorrectly persisting on storage nodes.
NeoFS SDK Go v1.0.0-rc.17
The SDK release provides the library-level foundation for the protocol changes in Node v0.51.0 and is compatible with NeoFS API 2.21. Session token v2 support has been fully implemented, allowing clients to create and use the new token format for both container and object operations.
A new container attribute management API introduces methods for setting and deleting container attributes, along with a set of new well-known attribute names. The container API itself has been made synchronized, in line with the behavior change in the node. The connection pool now uses a sliding window for error counting, improving load balancing decisions during intermittent failures.
The object creation API has been redesigned so that object.New is more attuned to creating new objects, and the previous ones InitCreation method has been removed. Three-way matching methods have been added for OID, CID, and address types, allowing for more expressive sorting and ordering operations.
The release also fixes incorrect status handling for incomplete responses and updates the NeoGo dependency to v0.116.0.
XK6-NeoFS v0.2.1
The NeoFS loadtest extension for k6 is receiving a maintenance release focused on stability and fairness. A panic caused during S3 testing has been resolved and false checksum warnings that appeared during test execution have been eliminated.
Load distribution across target nodes is now fairer, reducing hotspot effects during benchmarking runs. The build requirement has been increased to Go 1.24 and dependencies have been updated across the board, including the NeoFS SDK Go buffer to v1.0.0-rc.17, the AWS SDK to v1.39.0, and the k6 framework itself from v0.51.0 to v1.3.0.
Guidance on upgrades
Node operators should monitor the TestNet upgrade and prepare for the upcoming MainNet deployment. Inner Ring operators should review their configuration files and remove the deprecated options listed above before upgrading to v0.51.0. Storage node operators still using metabase version 3 or 4 must complete their migration through v0.50.2 before this upgrade because automatic migration paths have been removed.
The full changelogs and release notes can be found via the links below:
https://github.com/nspcc-dev/neofs-node/releases/tag/v0.51.0
https://github.com/nspcc-dev/neofs-sdk-go/releases/tag/v1.0.0-rc.17
https://github.com/nspcc-dev/xk6-neofs/releases/tag/v0.2.1
