en
Back to the list

Neo SPCC updates NeoFS Node, SDK, Panel with storage reshaping, ReplicateV2, S3 credentials

source-logo  neonewstoday.com 1 h
image

Neo SPCC shipped coordinated updates to the NeoFS Node, SDK, and Panel on Sept. 29-30, introducing online storage reshaping, initial ReplicateV2 support, and S3 credential issuance from the web interface. The releases, NeoFS Node v0.57.0 “Bido,” SDK Go RC23, and Panel v0.11.0, continue a pattern of interdependent infrastructure updates, with Node v0.57.0 requiring SDK RC23 to build.

NeoFS Node v0.57.0 “Bido”

The headline feature for storage operators is online FSTree depth reshaping. Nodes can now change their underlying FSTree directory structure without a full shutdown and rebuild by setting blobstor.allow_depth_change to true alongside the desired blobstor.depth value, then restarting. Once the node logs that reshaping is complete, the flag can be removed. The write-cache FSTree depth has also been increased from one to two, with migration handled automatically. The feature builds on work in Node v0.55.0, which removed FSTree compression entirely, described at the time as “error-prone” and “very inefficient for ranged requests.” With compression out of the storage layer, online reshaping becomes a more practical operation.

Node v0.57.0 adds initial support for the ReplicateV2 inter-node API. Storage nodes now serve the ReplicateV2 endpoint and use it for objects larger than 256K in the PUT handler when available. The feature extends the single-signature request work introduced in SDK RC22 and Node v0.56.0. Where RC22 simplified client-to-node request signing, ReplicateV2 applies a similar approach to node-to-node replication.

app-logo

Know when your
coins move

Alerts, real-time prices, and market news — all in one app
4.8 based on 40K reviews in the App Store and Google Play

The release also removes the GetRange object service method, completing a multi-release deprecation that began in Node v0.53.0. SDK RC22 previously removed GetRangeHash, and applications must now use parameterized Get for all range operations.

Container revisions are now supported, aligning the node with new versioning semantics in SDK RC23 and the NeoFS API. Storage nodes push URI-style endpoints into the network map instead of multiaddr format. Multiaddr is still accepted by the inner ring and storage nodes but will be removed in the next release. The neofs-adm CLI gains a fschain netmap command for fetching current and historical network maps.

Reliability fixes address broken EC object GET operations when all data parts were missing and a buffer race condition in EC part range request handling. The policer now balances data across local shards, and write cache flushes objects dynamically based on consumed space.

Operator notes

  • Metabase migration from version 10 has been removed. Operators on versions earlier than v0.56.0 must upgrade to v0.56.0 first or resynchronize metabases.
  • Metabase v12 is introduced; migration runs automatically on startup but may take time on large shards.
  • Network maps containing v0.56.0+ nodes may differ from previous versions due to multiaddr-to-URI address conversion.

NeoFS SDK Go RC23

SDK Go RC23 adopts NeoFS API 2.27 as the default protocol version, up from the API 2.26 default established in RC22. The release adds ReplicateV2 inter-node API support, container revisions, versioned network maps, and object nonce attributes, all required by Node v0.57.0.

Client initialization has been simplified with a reworked DialEndpoint flow. PrmDial.SetServerURI now defaults to port 80 for grpc and port 443 for grpcs when the scheme is specified without a port. New convenience methods provide version-independent access to the object expiration epoch system attribute, and pool users can configure session cache size via InitParameters.SetSessionCacheSize.

The older object search API is deprecated and expected to be removed in the next release. Validation has been tightened with zero-byte rejection in attributes and network map verification during decoding. The release also updates its gRPC dependency and aligns with NeoFS contracts v0.27.0, matching the same dependency updates in Node v0.57.0.

NeoFS Panel v0.11.0

The most user-facing change in the batch is S3 credential issuance from the NeoFS Panel. When an authmate service is configured via the VITE_AUTHMATESRV environment variable, users can generate AWS-compatible S3 access credentials directly from their profile page. The flow covers gateway selection, permission scoping, and expiration configuration, with the resulting access box stored in NeoFS for gateway validation. The feature is live on the production panel and works with the NeoFS S3 gateway.

Panel v0.11.0 also allows users to set an initial EACL when creating a container, eliminating the need for a separate operation after creation. The UI validates that required container permissions are signed in a single token before proceeding.

A compatibility fix addresses changes in the OneGate wallet’s NEP-21 implementation, ensuring signing and authentication flows continue to work with updated wallet versions. The Panel had previously undergone backend API changes in v0.10.2, which migrated to the REST Gateway’s updated bearer authentication endpoint.

The full release notes for each component can be found at the links below:

NeoFS Node v0.57.0
NeoFS SDK Go v1.0.0-rc.23
NeoFS Panel v0.11.0

neonewstoday.com