en

Neo SPCC ships NeoFS Node v0.55.0, SDK Go RC21, Panel v0.10.1

image
rubric logo Altcoins
like 1

Neo SPCC shipped coordinated NeoFS updates covering the storage node, developer SDK, and web management panel. Node v0.55.0 “Moido,” released July 31, leads with architectural cleanup, removing FSTree compression and dropping artificial concurrency limits. SDK Go v1.0.0-rc.21 adopts NeoFS API 2.25 as its default with performance optimizations across all NeoFS applications, while Panel v0.10.1 delivers a minor UX improvement.

The releases follow a familiar dependency chain: Node v0.55.0 requires SDK RC21, which in turn requires NeoGo v0.121.0. Neo SPCC shipped the three components within a three-day window, continuing a pattern established with the May batch covering Node v0.53.0, Panel v0.9.0, and SDK RC19.

NeoFS Node v0.55.0

The headline change in Node v0.55.0 is the complete removal of FSTree compression. The feature was described as “error-prone, very inefficient for ranged requests, and consumed significant CPU and memory.” Neo SPCC provides a new fstree-decompress migration utility for operators with existing compressed data. On Linux, the tool can run while the storage node remains online; other platforms require a node shutdown. Old compressed data remains readable during a transition period, with full phase-out expected over approximately six months.

Operators must remove blobstor.compress and blobstor.compression_exclude_content_types from their configuration files before upgrading. Pre-built binaries of the migration tool are available across six platform targets.

In a parallel cleanup, Neo SPCC removed static concurrency caps from PUT and SearchV2 handling, citing “problems, misunderstandings, or both” with the existing limits. The change drops four config options: object.put.pool_size_remote, storage.shard_pool_size, storage.put_retry_timeout, and object.search.pool_size. Rather than tuning the existing approach, the team opted to remove the limits entirely as a precursor to implementing adaptive algorithms from scratch. The neofs-adm tool no longer adds storage.shard_pool_size to newly generated configurations.

Inter-node TLS received a security hardening: certificates are now verified against node cryptographic identity keys, closing a gap where TLS certificates were not cross-checked against the keys that establish node identity on the Neo blockchain.

Erasure coding continues to evolve. Storage nodes now support GET requests with a missing EC part index, returning the first available part when no specific index is provided. EC part ranges have migrated from the deprecated RANGE API to GET, reducing memory consumption for range-only requests. Storage nodes also no longer sign EC parts, instead attaching payload hashes to parent object attributes.

Additional performance gains include optimized GET handling for fully buffered payloads, skipped SHA256 verification for proxied data, and cached session token authentication in REPLICATE operations, avoiding redundant re-authentication across replicated requests.

Operators upgrading from versions earlier than v0.51.0 must first upgrade to any release between v0.51.0 and v0.54.0 and allow the IR container structurization migration to complete before moving to v0.55.0.

NeoFS SDK Go RC21

SDK RC21 makes NeoFS API 2.25 the default protocol version, with the client automatically negotiating down when connecting to older servers. Origin signatures, previously re-generated and verified at every forwarding hop, are no longer produced or checked for API 2.25 requests, simplifying peer communication.

Performance work targets data movement. The object payload reader now implements io.WriterTo and the payload writer implements io.ReaderFrom, eliminating intermediate data copies on both read and write paths. GET, SEARCH, and HEAD request encoding has also been optimized to reduce allocations.

New API 2.25 features include extended range parameters for object GET using HTTP-style range syntax, an EACL record comment field for human-readable annotations on access control rules, and a slicer callback allowing developers to adjust object headers before sealing via SetSplitChainModifier. The callback is designed for use with erasure-coded chunk headers.

Two interfaces were removed in legacy cleanup. The SignerV2 interface was dropped, described as not justifying its existence, and the response info callback was deleted after its primary use case, reading the current epoch, proved unreliable. The team noted the feature may be re-exposed in a more deliberate form in a future release.

NeoFS Panel v0.10.1

Panel v0.10.1, released July 28, moves deposit and withdrawal functionality from modal dialogs to an inline form within the Profile page balance section. The change adds keyboard shortcuts, auto-focus on the quantity input, and toggle behavior for the active operation. The update is live at panel.fs.neo.org.

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

https://github.com/nspcc-dev/neofs-node/releases/tag/v0.55.0
https://github.com/nspcc-dev/neofs-sdk-go/releases/tag/v1.0.0-rc.21
https://github.com/nspcc-dev/panel-fs-neo-org/releases/tag/v0.10.1