GET operations received two performance improvements. The gateway now skips SHA256 checksum verification on downloaded objects, eliminating a full-payload hash computation on every request. Internal buffer handling was also refactored to reduce memory allocation overhead during object reads, with a new readCloseWriterTo interface enabling zero-copy data forwarding to HTTP response writers. These changes are particularly impactful for large object downloads.
A new X-Object-Type response header accompanies object GET and HEAD responses, allowing API consumers to distinguish between REGULAR, TOMBSTONE, LOCK, and LINK object types. The release also adds origin token support for the /v2/auth/session/complete endpoint, preserving delegation chains when a session token is derived from a parent token.
On the cleanup side, RANGEHASH operation support was removed, a prerequisite enabled by the NeoFS SDK RC20 upgrade. Authentication endpoints now accept both hex and Base64 encoding for key and signature fields, where previously only hex was accepted.
No configuration changes are required for users upgrading from v0.17.x, though applications reading the X-Attributes header for objects with non-ASCII metadata should migrate to X-Attributes-Base64.
S3 Gateway v0.45.0
The S3 Gateway release carries several breaking changes alongside new features and performance gains. Users upgrading from older versions should review the migration requirements before proceeding.
A new namespace configuration option enables namespace-bound gateway mode, where all requests are scoped to a specific namespace. This addresses user preferences for bucket subdomains and namespace scoping.
HEAD request handling was optimized by consolidating the internal resolution path from two SEARCH operations plus one HEAD to a single SEARCH plus one HEAD per request, reducing network round-trips to NeoFS storage nodes. Checksum verification was also disabled in the Get handler for performance, and EACL rules were simplified with GETRANGEHASH removed, reducing table size and eliminating duplicate entries. A memory issue in CompleteMultipartUpload was fixed, where all parts were previously read into gateway memory simultaneously during the completion operation.
The release removes several legacy mechanisms. Support for access boxes with session token v1 and bearer-based tokens has been dropped entirely, following the session token v2 introduction in v0.43.0. Backward-compatibility code for storing bucket settings, CORS, tags, and notification metadata as dedicated NeoFS objects was also removed. This storage scheme migrated to container attributes in v0.42.0. Object-level ACL support was dropped as well, citing known bugs, oversized EACL tables, and unresolved issues.
These removals carry practical upgrade requirements. Users with old bearer-token credentials must regenerate them using the authmate tool. Those who have not yet migrated bucket metadata from the legacy object-based storage format must first upgrade to v0.44.0, which handles the migration automatically, before proceeding to v0.45.0.
Both gateway releases can be found at the links below:
https://github.com/nspcc-dev/neofs-rest-gw/releases/tag/v0.18.0
https://github.com/nspcc-dev/neofs-s3-gw/releases/tag/v0.45.0