Neo SPCC shipped three coordinated NeoFS updates on Could 21, overlaying the storage node, net administration panel, and developer SDK. NeoFS Node v0.53.0 “Sido” leads the discharge with efficiency optimizations, ranged GET assist, and several other legacy API removals, whereas NeoFS Panel v0.9.0 introduces account-scoped file sharing and a simplified session token mannequin. NeoFS SDK Go RC19 gives the library-level basis for each, including API 2.23 compatibility and deprecating a number of legacy strategies.
The three releases type a dependency chain – Node v0.53.0 requires SDK RC19, which in flip requires NeoGo v0.119.0, lined by NNT earlier this month. The coordinated launch follows an analogous sample from April, when Neo SPCC bundled Node v0.52.0 “Woodo” with SDK RC18.
NeoFS Node v0.53.0
The NeoFS Node launch targets efficiency and upkeep throughout a number of areas of the storage node.
Database operations that modify state, beforehand batched just for PUT requests, are actually batched throughout all common operations. The metabase storage layer has been up to date to retailer related object IDs as uncooked bytes as a substitute of Base58-encoded strings, triggering a schema migration to metabase model 11 on first startup. Operators operating giant shards ought to plan for downtime throughout this migration, as it might take appreciable time to finish.
Search efficiency in erasure-coded containers has been improved by lowering the variety of nodes contacted throughout SEARCH operations, and SearchV2 integer comparisons have been optimized. GET, HEAD, and RANGE request forwarding has additionally been streamlined.
The discharge provides ranged GET assist, permitting shoppers to retrieve particular byte ranges of an object’s payload by means of the usual GET methodology. This consolidates object retrieval right into a single API, with the legacy RANGE methodology marked for future removing. The change mirrors the ranged GET functionality launched in SDK RC19.
Node v0.53.0 additionally provides sd_notify assist for each storage nodes and internal ring nodes, enabling operators to make use of Kind=notify of their systemd unit recordsdata for extra dependable service administration.
On the removing facet, a number of legacy APIs have been cleaned up. The GetRangeHash methodology has been faraway from storage nodes, together with the corresponding neofs-cli object hash command. The deprecated Search methodology has been eliminated in favor of SearchV2, and homomorphic hash search has been stripped from each the CLI and node implementations. The policer.max_workers configuration possibility, already a no-op since v0.52.0, has additionally been eliminated.
Notable bug fixes embody a correction to the policer, which beforehand allowed redundant native shard copies to stay on disk indefinitely. A session token storage epoch parsing panic has been resolved, compressed object GET failures have been mounted, and meta resync points on case-insensitive filesystems have been addressed.
NeoFS Panel v0.9.0
The Panel launch delivers probably the most user-facing adjustments on this batch, together with a number of options which have been requested since early 2024.
Account-scoped file sharing permits customers to share recordsdata with particular Neo account addresses somewhat than producing public hyperlinks accessible to anybody. The characteristic offers container house owners granular management over who can entry shared objects, shifting past the earlier all-or-nothing sharing mannequin.
Session administration has been simplified by means of an all-in-one grasp session token that replaces the earlier system of a number of separate tokens. Customers now signal as soon as per session as a substitute of authenticating individually for various operations – a UX enchancment that requires session token v2 assist from neofs-rest-gw v0.16.0.
The discharge provides full assist for creating and modifying numeric comparability filters in prolonged entry management lists, together with a brand new interface for managing verified node domains. Each options lengthen the Panel’s functionality as a administration instrument for NeoFS infrastructure.
On the pockets facet, NEP-21 compatibility has been added, with testing confirmed on NeoLine 5.8.5+ and OneGate 2.0+. O3 pockets assist has been eliminated following the pockets’s discontinuation.
A bug that brought on file uploads exceeding 700 MB to fail on account of a lacking Content material-Kind header has been mounted, together with a problem the place the FilePath attribute was not being set robotically on uploads, rendering recordsdata invisible within the tree view.
Panel v0.9.0 is already deployed to the general public occasion.
NeoFS SDK Go RC19
The nineteenth launch candidate continues the SDK’s path towards a steady v1.0.0 by including API 2.23 compatibility and eradicating legacy strategies.
Ranged GET requests, the library-level counterpart to Node v0.53.0’s ranged GET assist, enable builders to retrieve particular byte ranges by means of the usual Get name. In parallel, each GetRange and GetRangeHash RPCs have been deprecated, with shoppers anticipated to compute hashes domestically somewhat than counting on server-side computation.
The Tillich-Zémor homomorphic hash has been deprecated as NeoFS API 2.23 not helps it. Object payload readers now implement the io.WriterTo interface, lowering knowledge copies throughout object downloads and decreasing reminiscence allocations for purposes dealing with giant payloads.
The total launch notes for NeoFS Node v0.53.0, NeoFS Panel v0.9.0, and NeoFS SDK Go RC19 might be discovered on the hyperlinks under:
https://github.com/nspcc-dev/neofs-node/releases/tag/v0.53.0
https://github.com/nspcc-dev/panel-fs-neo-org/releases/tag/v0.9.0
https://github.com/nspcc-dev/neofs-sdk-go/releases/tag/v1.0.0-rc.19

