Skip to content

Releases: nspcc-dev/neofs-node

v0.43.0 - Jukdo

20 Aug 15:52
1a9784c
Compare
Choose a tag to compare

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 new ObjectService.Replicate RPC (#2802)
  • ObjectService's Search and Replicate RPC handlers cache up to 1000 lists of container nodes (#2892)
  • Default max_traceable_blocks Morph setting lowered to 17280 from 2102400 (#2897)
  • ObjectService's Get/Head/GetRange RPC handlers cache up to 10K lists of per-object sorted container nodes (#2896)

Updated

  • neofs-contract dependency to 0.20.0 (#2872)
  • NeoGo dependency to 0.106.3 (#2872)

v0.42.1

13 Jun 17:20
450c4e5
Compare
Choose a tag to compare

A tiny update that adds compatibility with the Neo N3 Domovoi hardfork.

Added

  • "morph mint-balance" command to neofs-adm (#2867)

Fixed

  • Unenforced IR morph.consensus.p2p.peers.min config default (#2856)
  • Object parts do not expire (#2858)

Updated

  • NeoGo dependency to 0.106.2 (#2869)

v0.42.0 - Dokdo

22 May 18:31
9a9a5d5
Compare
Choose a tag to compare

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

  • neofs-contract dependency (#2847)
  • NeoGo dependency to 0.106.0 (#2854)

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

27 Apr 19:24
1cb9970
Compare
Choose a tag to compare

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

19 Apr 12:45
7f03438
Compare
Choose a tag to compare

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 and LE 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 grants DELETE 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 CLI acl 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

22 Feb 06:23
9756cc4
Compare
Choose a tag to compare

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

09 Feb 17:00
v0.40.0
1e37ecb
Compare
Choose a tag to compare

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 to v0.105.1 (#2725)

Updating from v0.39.2

neofs-adm [...] inspect commands were deleted, use get instead.

v0.39.2

21 Dec 12:04
v0.39.2
df2cc08
Compare
Choose a tag to compare

NeoFS chain's auto-deployment fixes with some maintainability improvements.

Added

  • Logs on a connection drop in the cache of NeoFS API clients (#2694)

Fixed

  • Auto-deployment of the Balance and Container contracts (#2695)

v0.39.1

19 Dec 12:23
v0.39.1
5c66479
Compare
Choose a tag to compare

Fixed

  • Fund transfer deadlock in NeoFS chain auto-deploy/update procedure (#2681)
  • Invalid contracts' update transactions when epochs are stuck during the NeoFS chain update (#2680)
  • Metrics availability during startup (#2677)

v0.39.0 - Baegado

12 Dec 14:46
v0.39.0
6151f15
Compare
Choose a tag to compare

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 produced GETRANGE or GET 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 in PUT 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 of neofs-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 generateand neofs-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 to v0.104.0 (#2221, #2309, #2596, #2626, #2639, #2659)
  • neofs-lens inspect object commands to get with inspect deprecation (#2548)
  • Update tzhash to v1.7.1
  • github.com/panjf2000/ants/v2 to v2.8.2
  • github.com/nspcc-dev/neofs-contract to v0.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.