Releases: nspcc-dev/neofs-node
v0.43.0 - Jukdo
Added
- Indexes inspection command to neofs-lens (#2882)
- Add objects sanity checker to neofs-lens (#2506)
- Support for 0.20.0+ neofs-contract archive format (#2872)
neofs-cli control object status
command (#2886)- Check the account alongside the public key in ACL (#2883)
- Allow addresses to be used in EACLs created from CLI (#2914)
Fixed
- Control service's Drop call does not clean metabase (#2822)
- It was impossible to specify memory amount as "1b" (one byte) in config, default was used instead (#2899)
- Container session token's lifetime was not checked (#2898)
- ACL checks for split objects could be forced by a node than might lack access (#2909)
Changed
- neofs-cli allows several objects deletion at a time (#2774)
ObjectService.Put
server of in-container node places objects using newObjectService.Replicate
RPC (#2802)ObjectService
'sSearch
andReplicate
RPC handlers cache up to 1000 lists of container nodes (#2892)- Default max_traceable_blocks Morph setting lowered to 17280 from 2102400 (#2897)
ObjectService
'sGet
/Head
/GetRange
RPC handlers cache up to 10K lists of per-object sorted container nodes (#2896)
Updated
v0.42.1
v0.42.0 - Dokdo
This release adds compatibility with the Neo N3 Cockatrice hardfork, so while other changes are minor it's still an important update.
Added
- "storage list" command to neofs-lens (#2852)
Fixed
- GETRANGE request may fail in certain cases (#2849)
Changed
- SN API server responds with status message even to old clients from now (#2846)
Removed
- IR contracts deployment code. Moved to the contracts repo (#2812)
blobovnicza-to-peapod
migration utility (#2842)
Updated
Updating from v0.41.1
Notice that blobovnicza-to-peapod
migration utility is gone. Blobovniczas were removed from the node since 0.39.0, so if you're using any current NeoFS node version it's not a problem. If you're using 0.38.0 or lower with blobovniczas configured, please migrate using earlier releases.
v0.41.1
A set of fixes and small utility improvements. We're providing darwin and arm64 binaries for you as well now.
Added
- Container estimations inspector to neofs-adm (#2826)
- Metabase object lister to neofs-lens (#2834)
- Shard ID from metabase reader to neofs-lens (#2834)
neofs-cli bearer print
command for reading binary bearer tokens (#2829)- linux-arm64, darwin-amd64 and darwin-arm64 binaries, linux-arm64 Docker images (#2835)
Fixed
- Attribute ACL checks for the first split object (#2820)
- Container size estimation contract writing (#2819)
- Custom contract deployment with custom zone via neofs-adm (#2827)
- Errors in neofs-adm morph dump-names output (#2831)
- GC stops if any non-critical "content" errors happen (#2823)
- Endless GC cycle if an object is stored on an unexpected shard (#2821)
- Storage node searches for objects even if local state prohibits operation (#1709)
- First object in a split chain can de deleted (#2839)
v0.41.0 - Daebudo
A very important release bringing a number of protocol changes. We have not changed the protocol for more than a year, but now we're doing that to add support for new functionality as well as fix long-standing issues.
Added
- Support of numeric object search queries (#2733)
- Support of
GT
,GE
,LT
andLE
numeric comparison operators in CLI (#2733) - SN eACL processing of NULL and numeric operators (#2742)
- CLI now allows to create and print eACL with numeric filters (#2742)
- gRPC connection limits per endpoint (#1240)
neofs-lens object link
command for the new link object inspection (#2799)- Storage nodes serve new
ObjectService.Replicate
RPC (#2674)
Fixed
- Access to
PUT
objects no longer grantsDELETE
rights (#2261) - Storage nodes no longer reject GET w/ TTL=1 requests to read complex objects (#2447)
- Response exceeding the deadline for TLS errors (#2561)
neofs-adm morph generate-storage-wallet
was not able to read--initial-gas
flag (#2766)- Inter-node connections closed on any status response (#2767)
- Child objects were available for deletion despite any lock relations (#2093)
Changed
- IR now checks format of NULL and numeric eACL filters specified in the protocol (#2742)
- Empty filter value is now treated as
NOT_PRESENT
op by CLIacl extended create
cmd (#2742) - Storage nodes no longer accept objects with header larger than 16KB (#2749)
- IR sends NeoFS chain GAS to netmap nodes every epoch, not per a configurable blocks number (#2777)
- Big objects are split with the new split scheme (#2667, #2782, #2784, #2788, #2792, #2807)
- Background replicator transfers objects using new
ObjectService.Replicate
RPC (#2317) - Tombstone objects are not allowed to store child objects (incomplete puts are exceptional) (#2810)
Removed
- Object notifications incl. NATS (#2750)
- Supporting of
__NEOFS__NETMAP*
X-headers (#2751) - Option to use insecure TLS cipher suites (#2755)
- Counter metrics that were deprecated since v0.38.0 (#2798)
Updated
Updating from v0.40.1
Remove notification
section from all SN configuration files: it is no longer supported. All NATS servers running for this purpose only are no longer needed. If your app depends on notifications transmitted to NATS, do not update and create an issue please.
Stop attaching __NEOFS__NETMAP*
X-headers to NeoFS API requests. If your app is somehow tied to them, do not update and create an issue please.
Notice that this is the last release containing blobovnicza-to-peapod
migration utility. Blobovniczas were removed from the node since 0.39.0, so if you're using any current NeoFS node version it's not a problem. If you're using 0.38.0 or lower with blobovniczas configured, please migrate ASAP.
Remove grpc.tls.use_insecure_crypto
from any storage node configuration.
Remove timers.emit
from any inner ring configuration.
v0.40.1
Fixed
- Inability to deploy contract with non-standard zone via neofs-adm (#2740)
- Container session token's
wildcard
field support (#2741)
Updating from v0.40.0
We no longer provide .tag.gz
binaries in releases, they always were just duplicates, but if you're using them in some scripts please update to fetch raw binaries. All binaries have OS in their names as well now, following regular naming used throughout NSPCC, so instead of neofs-cli-amd64
you get neofs-cli-linux-amd64
now.
v0.40.0 - Maldo
Added
neofs-adm morph generate-storage-wallet
now supports more than one wallet generation per call (#2425)- Missing containers cleanup (#1663)
Fixed
- IR does not wait for HTTP servers to stop gracefully before exiting (#2704)
- Zero exit code if IR fails (#2704)
- Neo RPC client failure when the first endpoint is unavailable even if there are more endpoints to try (#2703)
- Incorrect address mapping of the Alphabet contracts in NNS produced by deployment procedure (#2713)
- IR compares and logs public keys difference, not hash of keys difference at SN verification check (#2711)
- Incorrect handling of notary request leading to inability to collect signatures in some cases (#2715)
- Deadlock in autodeploy routine (#2720)
- SN now validates session tokens attached to objects (#1159)
Changed
- Created files are not group writable (#2589)
- IR does not create new notary requests for the SN's bootstraps but signs the received ones instead (#2717)
- IR can handle third-party notary requests without reliance on receiving the original one (#2715)
- SN validates container session token's issuer to be container's owner (#2466)
- Storage node now consumes much less memory when slicing small data of a fixed size (#2719)
Removed
- Deprecated
neofs-adm [...] inspect
commands (#2603)
Updated
neo-go
tov0.105.1
(#2725)
Updating from v0.39.2
neofs-adm [...] inspect
commands were deleted, use get
instead.
v0.39.2
v0.39.1
v0.39.0 - Baegado
Complete contract autodeploy/autoupdate functionality, much simplified SN/IR attribute interaction, numerous optimizations and obligatory bug fixes --- that's your new NeoFS release in short. Beware of deprecated commands and options removal, check your scripts and configurations and update to the latest and greatest of NeoFS.
Added
- Policer's setting to the SN's application configuration (#2600)
- Support of verified domains for the storage nodes (#2280)
neofs-lens storage status
CLI command (#2550)- Human-readable output of objects' creation timestamp to
neofs-cli container list-objects
(#2653) - Ability to preset P2PNotary and NeoFSAlphabet roles to validators at the FS chain's genesis (#2643)
Fixed
neofs-cli netmap netinfo
documentation (#2555)GETRANGEHASH
to a node without an object producedGETRANGE
orGET
requests (#2541, #2598)- Iteration over locally collected container estimation values (#2597)
- Synchronous objects
PUT
to the local storage (#2607) copies_number
field was not used inPUT
request handling (#2607)- Neo-go notary deposit data workaround (#2429)
- Error of missing network endpoint in
neofs-cli object
commands when it is set in the file config (#2608)
Changed
- FSTree storage now uses more efficient and safe temporary files under Linux (#2566, #2624, #2633)
- BoltDB open timeout increased from 100ms to 1s (#2499)
- Internal container cache size from 10 to 1000 (#2600)
- Transaction witness scope no longer uses CustomGroups relying on more strict Rules now (#2619)
- New optimized SDK version is integrated (#2622)
- IR uses internal LOCODE DB from Go package (#2610, #2658)
- Contract group for the committee is no longer registered/used in the Sidechain auto-deployment (#2642)
- IR does not change SNs' attributes, SNs expand UN/LOCODE attributes do it themselves (#2612)
- The priority of metrics service is increased (#2428)
- The priority of running control service is maximized (#2585)
Removed
- Deprecated
no-precheck
flag ofneofs-cli container set-eacl
(#2496) - Recently-handled objects Policer's cache (#2600)
- Deprecated blobovnicza substorage (#2614)
- Contract group wallet support from
neofs-adm
(#2619) neofs-cli util locode generate
andneofs-cli util locode info
commands (#2610)- Locode DB configuration options (#2610)
v
prefix in version (#2640)
Updated
- Update minimal supported Go version up to v1.19 (#2485)
- Update
neo-go
tov0.104.0
(#2221, #2309, #2596, #2626, #2639, #2659) neofs-lens
inspect
object commands toget
withinspect
deprecation (#2548)- Update
tzhash
tov1.7.1
github.com/panjf2000/ants/v2
tov2.8.2
github.com/nspcc-dev/neofs-contract
tov0.18.0
(#2580)golang.org/x/net
to 0.17.0 (#2621)github.com/nats-io/nats-server/v2
to 2.9.23 (#2623)- UUID, golang-lru, compress, go-multiaddr, nats.go, cobra, grpc and other dependencies (#2632)
hrw
library to v2.0.0 version (#2629, #2658)github.com/nats-io/nkeys
to 0.4.6 (#2636)- neofs-contract to v0.19.1 (#2659)
Updating from v0.38.1
Blobovniczas are gone from the node with this release, see 0.38.0 upgrade notes for migration instruction (the tool is still provided, but will be gone after a couple of minor releases).
neofs-adm no longer creates a contract group wallet and no longer needs it for the operation which may affect deployment scripts.
Pre-0.39.0 storage nodes may not be able to register on the network running 0.39.0 inner ring nodes unless they provide complete LOCODE data in the configuration (0.39.0 SNs add it automatically, so upgrade SNs).
native_activations
subsection of consensus
IR configuration should be removed. It never actually did anything useful anyway.
Automatic contract deployments and updates require fschain_autodeploy
configuration, currently it's optional an IR behaves as previously by default.