Releases · nspcc-dev/neofs-node · GitHub
Skip to content

Releases: nspcc-dev/neofs-node

v0.56.0 - Nabdo

Choose a tag to compare

@roman-khimov roman-khimov released this 01 Sep 14:42
db2dd63

Added

  • Self-signed certificates for TLS gRPC endpoints (#4114, #4152)
  • --raw-attributes output mode in neofs-cli object head and neofs-cli container list-objects (#4139)
  • Support for API 2.26 requests with single signature (#4144)

Fixed

  • SN could panic on forwarding GET/HEAD/RANGE request (#4120)
  • Storage node shuts down when SIGHUP configuration reload fails (#4113)
  • Storage node shuts down gracefully on invalid node attributes during SIGHUP (#4113)
  • Object GET availability during policer relocation (#4122)
  • SN accepted REPLICATE requests after removal from container placement (#4133)
  • neofs-cli container get-eacl and neofs-cli session create-v2 no longer print non-JSON text before JSON output (#4129)
  • Policer no longer removes tombstone objects from backup container storage nodes (#3587)
  • Inconsistent object list in EC containers during Search (#4151)

Changed

  • SNs exchange TLS certificates on inter-node connections (#4097)
  • SN no longer adds origin signature to EC requests sent to remote nodes with API >= v2.25 (#4118)
  • SN now allocates less to handle ranged GET requests (#4115)
  • SN responds with server's API version only if it is older than client (#4110)
  • SNs no longer sign TTL=1 requests over mutually authenticated inter-node connections (#4100, #4159)
  • Optimized GRPC read/write bufferring (#4130)
  • TLS key of SN is now always read from the node wallet instead of configuration (#4131)
  • SN now allocates less to forward SEARCH/GET/HEAD requests (#4116, #4160, #4158)
  • SN object GET server now communicates over remote SN API version if it is lower than the local one (#4153)

Removed

  • Session token storage migration (#4124)
  • Metabase migrations for DB versions 8 and 9 (#4127)
  • Support for deprecated container contract calls and notifications in IR (#4141)

Updated

  • github.com/nspcc-dev/neo-go module to v0.123.0 (#4123, #4162)
  • github.com/nspcc-dev/neofs-sdk-go module to v1.0.0-rc.22 (#4123, #4144, #4116, #4162)
  • Go 1.26+ is required to build now (#3816)
  • github.com/cheggaaa/pb dependency from v1.0.29 to v3.2.1 (#4135)
  • github.com/klauspost/compress dependency from v1.18.4 to v1.19.2 (#4135)
  • github.com/klauspost/reedsolomon dependency from v1.13.2 to v1.14.2 (#4135)
  • github.com/mr-tron/base58 dependency from v1.2.0 to v1.3.0 (#4135)
  • github.com/panjf2000/ants/v2 dependency from v2.11.5 to v2.12.1 (#4135)
  • github.com/prometheus/client_golang dependency from v1.23.2 to v1.24.1 (#4135)
  • go.uber.org/zap dependency from v1.27.1 to v1.28.0 (#4135)
  • golang.org/x/net dependency from v0.57.0 to v0.58.0 (#4135)
  • google.golang.org/grpc dependency from v1.82.1 to v1.83.1 (#4135)
  • google.golang.org/protobuf dependency from v1.36.11 to v1.36.12 (#4135)
  • github.com/nspcc-dev/locode-db dependency from 0.8.2 to 0.9.0 (#4138)

Updating from v0.55.0

Session token storage migration introduced in v0.52.0 has been removed. Storage nodes updating from versions earlier than v0.52.0 must first update to a v0.52.0-v0.55.0 release and let the migration complete before updating to this release.

Metabase migrations for versions 8 and 9 introduced in NeoFS node 0.49.0 and 0.51.0 were removed from this release, upgrade to 0.55.0 first if using earlier versions or resynchronize metabases.

Remove grpc.tls.key from SN configurations: TLS keys are now always read from the node wallet.

IR won't approve some container operations created by SNs with versions lower than 0.51.0, upgrade SNs appropriately.

v0.55.0 - Moido

Choose a tag to compare

@roman-khimov roman-khimov released this 31 Jul 13:06
9e592e2

Added

  • Storage node support GET request with missing part index X-Header (#4033)
  • fstree-decompress utility for rewriting old compressed FSTree objects (#4079)
  • Extended payload ranges in GET requests and the object get CLI command (#4094)

Fixed

  • Session v2 token was not supported in the new container + eACL RPC (#4056)
  • Full reads from compressed combined FSTree objects corrupting the zstd stream (#4055)
  • Wrong (1028) status code returned for missing session token verb, should be 2048 (#4052)
  • IR changing hardfork name case before passing it to neo-go (#4085)
  • More than one EC part can be PUT on a node with overall success response code (#3994)
  • SN does not cache session tokens in REPLICATE (#4082)

Changed

  • Optimized GET for fully buffered payloads (#4058)
  • Proxied GET data is not checked against SHA256 hash from header (#4081)
  • SN requests EC part ranges using GET API instead of deprecated RANGE one (#4067, #4102)
  • In-container SN no longer attaches session/bearer tokens to spawned GET/HEAD requests (#4067)
  • SN no longer limits number of concurrent outgoing requests in PUT handler (#4092)
  • SN no longer limits number of concurrent shard PUT ops (#4092)
  • SN no longer limits local PUT with static timeout (#4092)
  • SN no longer limits number of concurrent outgoing requests in SearchV2 handler (#4092)
  • Inter-node TLS certificates are verified against node keys (#4095)
  • SN does not sign EC parts, it attaches payload hashes to parent's attributes instead (#4057)
  • Origin verification and meta headers are no longer considered for requests (#4103)
  • RANGE requests now using the same forwarding scheme as GET (#4103)
  • PUT request forwarding no longer mangles meta headers (#4103)
  • SN spends less memory to handle range-only EC GET requests (#4102)
  • SN does not respond with server's epoch in response meta header (#4072)

Removed

  • Compression support from FSTree (#4054)
  • IR container structurization migration (#4062)
  • ADM no longer adds storage.shard_pool_size to produced SN configurations (#4092)

Updated

  • golang.org/x/net dependency from 0.51.0 to 0.55.0 (#4060)
  • github.com/nspcc-dev/neofs-sdk-go module to v1.0.0-rc.21 (#4065, #4099, #4107)
  • NeoGo dependency to 0.121.0 (#4083)
  • golang.org/x/crypto dependency from 0.51.0 to 0.52.0 (#4084)
  • google.golang.org/grpc dependency from 1.79.3 to 1.82.1 (#4098)

Updating from v0.54.0

Drop blobstor compress and compression_exclude_content_types settings, they're no longer used. Notice that old (compressed) data is still available, but no new objects are going to be compressed. Support for compressed blobstors will eventually be phased out in about half a year.

Storage nodes with compressed FSTree objects can run fstree-decompress while Linux storage nodes continue serving requests. On other platforms, stop the storage node first and run the utility as the same operating-system user as the storage node. The utility accepts either a single FSTree path or the node config and rewrites objects as plain canonical bytes.

IR container structurization migration introduced in v0.51.0 has been removed. Inner Ring nodes updating from versions earlier than v0.51.0 must first update to a v0.51.0-v0.54.0 release and let the migration complete before updating to v0.55.0.

Drop no longer supported options from all SN configurations:

  • object.put.pool_size_remote
  • storage.shard_pool_size
  • storage.put_retry_timeout
  • object.search.pool_size

v0.54.0 - Ando

Choose a tag to compare

@roman-khimov roman-khimov released this 29 Jun 05:59
579a4fa

Added

  • Possibility to set eACL in the same RPC that creates new container (#4006)

Fixed

  • SN panic on start without Control service (#4017)
  • Incorrect protobuf scanning (#4013)
  • Data race in RANGE response buffer (#4013)
  • Incorrect access denial during EACL rechecks for payload-only GET (#4024, #4029)
  • neofs-ir does not fill neofs_ir_state_epoch metrics on startup and does not keep it actual after FS chain connection loss (#4035)
  • Ranged object reads from FSTree sometimes returning more payload bytes than requested (#4046, #4051)
  • Incorrect remote EC part ranges used during policer checks (#4051)

Changed

  • Optimized EC GET request execution (#3996)
  • Optimized GET/HEAD/SEARCH/RANGE request signing when forwarding (#4008, #4021)
  • Optimized ranged GET in FSTree (#4016)
  • Split object assembly now prefetches child objects concurrently while streaming (#4014, #4042)

Updated

v0.53.0 - Sido

Choose a tag to compare

@roman-khimov roman-khimov released this 21 May 16:30
a53de4f

Added

  • storage.shard.metabase.search_iteration_limit SN config option limiting fruitless SearchV2 metabase iterations (#3915)
  • Policer cycle/object metrics with replica vs EC breakdown (#3945)
  • replicator.disable_post_initial_queue SN config option (#3959)
  • sd_notify support: both storage and inner ring nodes now notify systemd when the service is ready, allowing Type=notify in systemd unit files (#3943)
  • GET now supports payload ranges (#3991)

Fixed

  • Policer removes redundant local shard copies that could remain on disk forever (#3908, #3997)
  • Treat only HALTed main transactions as successfully executed, retry the rest (#3868)
  • different object owner and session issuer for stored objects (#3929)
  • SearchV2 method returning zero result instead of "bad request" error for incorrect numeric filters (#3934)
  • Garbage double-counting in metrics (#3933)
  • Panic in session token storage epoch parsing (#3941)
  • Compressed object GET failure in some cases (#3936)
  • Support v2 session tokens in cli object search (#3955, #3962)
  • Write cache may flush empty objects to FSTree in some scenarious (#3937)
  • Warnings in logs of node receiving garbage objects to store from peers (#3916)
  • meta resync failures with address mismatch on case-insensitive filesystems (#3969)

Changed

  • object search CLI command is now the same as object searchv2 (#3931)
  • Optimized integer comparison in SearchV2 (#3938, #3947)
  • Optimized number of nodes for SEARCH in EC containers (#3940)
  • Optimized post-initial placement replication (#3923)
  • All regular state-modifying DB operations are batched now (was Put-only, #3942)
  • Optimized metabase object checks for container-level GC marks (#3953)
  • Rejected metabase PUT requests into GC-marked containers (#3953)
  • Improved IR list caching in SN (#3954)
  • Optimized local (TTL=1, EC parts) request processing (#3957)
  • neofs-cli does not allow searches based on homomorphic hash values (#3847)
  • neofs-cli, neofs-node do not allow searches based on homomorphic hash values (#3847)
  • Storage nodes do not calculate homomorphic hashes for objects (#3847)
  • Optimized GET/HEAD/RANGE request forwarding (#3877, #3967)
  • Optimized netmap caching in node (#3966)
  • Store associated object ID as bytes instead of Base58 in metabase (#3971)
  • Optimized local RANGE request execution (#3967)

Removed

  • policer.max_workers configuration (#3920)
  • Deprecated Search method support from storage nodes (#3931)
  • Internal conversions of node addresses received from network map (#3981)
  • GetRangeHash method support from storage nodes and related object hash CLI command (#3991)

Updated

  • NeoGo dependency to 0.119.0 (#3993)
  • github.com/nspcc-dev/neofs-sdk-go module to v1.0.0-rc.19 (#3991, #3999)

Updating from v0.52.0

Drop policer.max_workers configuration, it's no-op since 0.52.0.

Use CLI object search command instead of object searchv2, functionally they are the same now and v2 variant will be removed in future.

Storage nodes no longer implement deprecated and insecure Search method, migrate to Searchv2 if needed.

Metabase will migrate to version 11 with this release to update object counters, this can take a while for shards with a lot of objects.

Storage nodes no longer implement deprecated GetRangeHash method and neofs-cli object hash command has been removed.

GET now supports payload ranges. Migrate from deprecated RANGE requests to GET with range parameters, old ones are still supported but will be removed eventually.

v0.52.0 - Woodo

Choose a tag to compare

@roman-khimov roman-khimov released this 27 Mar 12:13
60d685f

Delivering performance optimizations and initial placement feature this release also brings with it much more powerful maintenance tools and a huge list of updates and fixes.

Added

  • neofs-lancet meta resync command (#3849, #3890)
  • policer.boost_multiplier SN config option (#3855)
  • neofs-lancet storage flush-write-caches command (#3872)
  • Reload gRPC SN config with SIGHUP (#3874)
  • Support for creation of containers with initial placement policy (#3830)
  • neofs-lancet meta remove command (#3891)
  • neofs-lancet fstree remove command (#3892)
  • SN has new root, ts, lock, link, gc object counter metrics (#3740)
  • Optimal placement state metric (#3901)

Fixed

  • Resending the header after chunks have already been sent in object service Get handler (#3833)
  • GC deadlock on local object storage shutdown (#3837)
  • owner mismatches signature for stored objects (#3836)
  • SN does not retry resending failed transaction because of insufficient GAS in some cases (#3839)
  • Too early GET/HEAD/RANGE request failure on single SN dial failure (#3840)
  • Payment deadlock on IR side (#3842)
  • Wrong shard ID entry in FSTree descriptor (#3849, #3861)
  • Shard evacuation replicate for EC parts (#3854)
  • Suboptimal shard selection for EC parts during data evacuation (#3870)
  • No redistribution of objects when adding a new REP 3 node (#3873)
  • Split of a split is allowed (#3867)
  • SN no longer fails to read valid objects with non-payload fields larger than 16K (#3887)
  • Session v2 origin signature verification (#3909)

Changed

  • SN returns unsigned responses to requests with API >= v2.22 (#3785)
  • Move lancet write-cache get/list commands into fstree section in CLI (#3838, #3844)
  • Session key storage access session keys by account only (#3817)
  • Optimized locking for reputation data collector (#3851)
  • Optimized local HEAD/GET request execution (#3783, #3882, #3903)
  • Unpaid container's data is deleted now (#3691)
  • Policer iterates engine-level object list now instead of shard-level (#3862)
  • SN now ignores copies_number field of object.PutRequest.Body.Init message (#3830)
  • Policer starts from a random offset (#3879)
  • SN now determines request API version from original request meta header (#3897)
  • 2.18 is the minimum supported version for new objects (#3869)
  • Rename neofs-lens into neofs-lancet (#3894)
  • SN no longer accepts objects with invocation or verification script bigger than 1KiB (#3887)
  • Every object with non-zero payload is now paid, not only regular ones (#3856)
  • Separate policer placement state from replica shortage (#3901)

Removed

  • node.persistent_sessions.path config option from SN config (#3846)
  • Undocumented ability to fetch the latest contract release for adm update-contracts (#3850)
  • storage.shards.resync_metabase config option from SN config (#3849)
  • One-time netmap contract placement migration routine for v0.49.0+ releases (#3821)
  • Metabase v5 to v6 and v6 to v7 migrations (#3864)
  • SN's logic object counter metric (#3740)
  • replicator.pool_size option (#3899)

Updated

  • github.com/nspcc-dev/neofs-sdk-go module to v1.0.0-rc.18 (#3785, #3817, #3808, #3830, #3883, #3896, #3887, #3906)
  • github.com/nspcc-dev/neo-go module to v0.118.0 (#3896)
  • Go 1.25+ is required to build now (#3525)
  • github.com/klauspost/compress dependency from v1.18.0 to v1.18.4 (#3850)
  • github.com/klauspost/reedsolomon dependency from v1.12.5 to v1.13.2 (#3850)
  • github.com/nspcc-dev/tzhash dependency from v1.8.3 to v1.8.4 (#3850)
  • github.com/panjf2000/ants/v2 dependency from v2.11.3 to v2.11.5 (#3850)
  • github.com/spf13/cobra dependency from v1.10.1 to v1.10.2 (#3850)
  • go.uber.org/zap dependency from v1.27.0 to v1.27.1 (#3850)
  • golang.org/x/net dependency from v0.47.0 to v0.51.0 (#3850)
  • google.golang.org/grpc dependency from v1.75.1 to v1.79.1 (#3850)
  • google.golang.org/protobuf dependency from v1.36.10 to v1.36.11 (#3850)

Updating from v0.51.1

SN config option node.persistent_sessions.path was deprecated since release 0.50.0 and has now been removed. Drop this config and associated file, migrate with 0.51.1 if needed. Sessions are stored in node.persistent_state.path DB now.

Delete storage.shards.resync_metabase config option from SN config, it's no longer used. Use neofs-lancet meta resync command if you need to resync metabase.

Delete replicator.pool_size config option from SN config, it's no longer needed.

Storage nodes no longer automatically migrate metabases from version 5 (NeoFS 0.46.0) to 6 (NeoFS 0.48.0) and from version 6 to version 7 (NeoFS 0.48.1), migrate using SN 0.51.1 or resynchronize with 0.52.0 if needed.

Storage nodes clean up objects that belong to unpaid containers. This means data will permanently be deleted from shards, recovery isn't possible.

copies_number parameter of object PUT request no longer has any effect. Use max_replicas setting of container's initial placement policy instead.

CLI --await flag is now deprecated for container commands. For servers supporting NeoFS API version starting from v2.21, the flag may be safely dropped. For older servers, success checks should now be done by polling with symmetric read command instead. Please note that this flag will be removed in a future release.

neofs-lens command was renamed to neofs-lancet to reflect that it now supports modifying storage state in addition to inspection. Replace neofs-lens references with neofs-lancet.

v0.51.1

Choose a tag to compare

@roman-khimov roman-khimov released this 18 Feb 19:43
c9370f3

Added

  • neofs-cli container policy check command (#3790)
  • neofs-adm mainchain update command (#3799, #3811)
  • neofs-adm mainchain version command (#3811)
  • policer_consistency_state SN metric that means all SN's objects correspond placement policies (#3795)

Fixed

  • Unclosed compressed FSTree files (#3802)
  • Potential payload overflow on getting full object from combined FSTree file (#3801)
  • Too high nbf/iat token defaults in CLI for testnet/mainnet (#3819)
  • Repeated attempts to delete nonexistent objects (#3820)
  • Address change in configuration not triggering netmap update (#3828)
  • Billing for networks with 0.25.0 -> 0.26.0 migrated contracts (#3832)

Changed

  • SN retries notary requests if insufficient amount of gas error appears (#3739)
  • Speed up metabase resync by using batch operations (#3804)

Updated

  • NeoGo dependency to 0.117.0 (#3829)
  • neofs-contracts to 0.26.1 (#3832)

v0.51.0

Choose a tag to compare

@roman-khimov roman-khimov released this 04 Feb 11:53
58f146c

A number of important protocol updates are delivered with this release including mutable NEP-11 containers, synchronous container operations and session token version 2. Metabase optimizations make some operations like object deletion significantly faster. Object service optimizations also allow to squeeze some additional ops/s from hardware, most noticeably for RANGE requests and PUT into containers using erasure coding.

Added

  • SN now supports new getInfo and createV2 methods of the Container contract (#3670)
  • IR now supports container creation requests submitted via new createV2 contract method (#3670)
  • IR structures containers in the contract iteratively (#3670, #3732)
  • SN tries new NEP-11 methods tokens and tokensOf of Container contract (#3701)
  • SN now listens to NEP-11 transfer events of Container contract (#3701)
  • CLI supports CONTAINER_AWAIT_TIMEOUT status now (#3711)
  • Policer logs when it reaches the end of its cycle (#3720)
  • Support for GET of LINK objects in EC containers (#3722)
  • Containers can now be locked for deletion via __NEOFS__LOCK_UNTIL attribute (#3708)
  • SN can respond with CONTAINER_LOCKED status now (#3708)
  • session create-v2 cli command to create new session token v2 (#3750)
  • SN now support raw GET/HEAD/RANGE requests in EC containers (#3756)
  • IR now serves setAttribute and removeAttribute methods of Container contract (#3733)
  • SN now serves ContainerService's SetAttribute and RemoveAttribute RPC (#3733, #3784)
  • CLI set-attribute and remove-attribute commands to container` section (#3733, #3784)
  • Size-split object is now available even when LINK is unavailable in EC container (#3754)
  • neofs-adm balance container-status command (#3693)
  • Container IDs to JSON output of ADM fschain dump-containers command (#3789)
  • Support for IDs from JSON to ADM fschain restore-containers command (#3789)
  • IR supports new session token v2 (#3671)
  • SN supports new session token v2 for container and object operations (#3671)

Fixed

  • IR panics at graceful shutdown (#3706)
  • IR using netmap contract to store IR node list instead of RoleManagement (#3707)
  • Missing PUT local storage operation log when flushing objects from write cache to underlying blobstor (#3720)
  • EC parts of expired object no longer remain on SN (#3718)
  • Metabase reset not deleting old buckets in some cases (#3744)
  • Object left in the storage after unsuccessful meta PUT (#3744)
  • Object left in some shards on fatal broadcast failure (#3744)
  • Deadlock on SN exit in rare GC cases (#3744)
  • SN no longer counts removed parent objects as physical ones in metrics (#3717)
  • SN updates internal cache (if any) after attribute changes immediately (#3780)
  • Error handling in removeNode notary request (#3786)
  • SN RANGE continuation in EC multi-rule case (#3662)

Changed

  • Optimized locking info in metabase (#3672)
  • Lock objects with API <2.18 are no longer accepted (#3672)
  • SN handles ContainerService's Put, Delete and SetExtendedACL requests in sync manner (#3711)
  • SNs report storage statistics with random time offset if netmap is empty (#3714)
  • SN removes objects immediately when requested via control service now instead of just marking them to be deleted by GC (#3727)
  • Tombstone objects with API <2.18 are no longer accepted (#3731)
  • Garbage marking scheme in metabase (#3753)
  • SN sorts shards identically when writing and reading EC parts (#3773)
  • SN puts EC parts concurrently now (#3777)
  • Optimized object-to-shard placement (#3794)

Removed

  • Deprecated fschain_autodeploy, without_mainnet, governance.disable, fee.main_chain and contracts IR config options (#3716)
  • Metabase v3 to v4 migration (#3735)
  • Metabase v4 to v5 migration (#3735)
  • Broken logical object metric from shards (#3741)
  • Graveyard from metabase (#3744)
  • "ToMoveIt" bucket from the metabase (#3763)

Updated

Updating from v0.50.2

Please remove the following deprecated configuration options from IR config:

  • fschain_autodeploy
  • without_mainnet
  • governance.disable
  • fee.main_chain
  • contracts
    They were removed in this version and using them will lead to failure to start the node.

Storage nodes no longer automatically migrate metabases from version 3 (NeoFS 0.44.0) to 4 (NeoFS 0.45.0) and from version 4 to version 5 (NeoFS 0.46.0), resynchronize or migrate using SN 0.50.2 if needed.

v0.50.2

Choose a tag to compare

@roman-khimov roman-khimov released this 27 Nov 09:43
2de6d94

Changed

  • SN announces load reports in a separate single routine (#3703)

Fixed

  • IR deadlock in basic income routine (#3700)

v0.50.1

Choose a tag to compare

@roman-khimov roman-khimov released this 24 Nov 20:03
e1882ff

Changed

  • Session iterator expansion is enabled for internal SN RPC (#3695)

Fixed

  • Container and Balance contract updates for 7 Alphabet nodes networks (#3696)

v0.50.0

Choose a tag to compare

@roman-khimov roman-khimov released this 24 Nov 05:51
df67c62

Added

  • Erasure coding in containers' storage policies (#3570)
  • IR experimental.allow_ec config option (#3570)
  • SN pprof.enable_block and pprof.enable_mutex options (#3655)
  • neofs-adm fschain load-report command (#3649)
  • neofs-adm fschain load-summary command (#3687)

Fixed

  • Write cache using too much CPU (#3642)
  • Split object with link not found stuck in GC cycle (#3653)
  • Quotas TTL (#3665)
  • SN load reporting race (#3652)
  • Incompatibility with wallets using non-standard scrypt parameters (#3675)
  • Improper handling of Incomplete status in CLI commands (#3679)
  • Incomplete status response missing data for SEARCH/PUT/DELETE operations (#3679, #3683, #3684, #3686)
  • Basic income payments (#3357)

Changed

  • Move fschain_autodeploy into fschain.disable_autodeploy in IR config (#3619)
  • Move without_mainnet into mainnet.enabled in IR config (#3619)
  • Move governance.disable into mainnet.disable_governance_sync in IR config (#3619)
  • Move fee.main_chain into mainnet.extra_fee in IR config (#3619)
  • Move contracts into mainnet.contracts in IR config (#3619)
  • Move persistent_sessions data to persistent_state in SN (#3630)
  • More efficient write cache batching for small objects (#3414, #3682)
  • SN now indexes metadata for root objects nested twice (parents of parents) (#3674)
  • Storage nodes do not serve unpaid containers (#774)
  • IR logs public keys in HEX encoding, not base64 (#3690)

Removed

  • Pre-0.46.0 write cache format migration (#3647)

Updated

  • NeoGo dependency to 0.114.0 (#3679)
  • NeoFS SDK dependency to RC16+ (#3679)
  • golang.org/x/crypto dependency from 0.42.0 to 0.45.0 (#3685)
  • neofs-contract from 0.24.0 to 0.25.1 (#3650)

Updating from v0.49.1

Erasure coding is available in experimental mode. To enable it, set experimental.allow_ec flag in IR config.

Use IR configuration options:

  • fschain.disable_autodeploy instead of deprecated fschain_autodeploy with reverted value, by default autodeploy is enabled now;
  • mainnet.enabled instead of deprecated without_mainnet with reverted value, by default mainnet is disabled now;
  • mainnet.disable_governance_sync instead of deprecated governance.disable;
  • mainnet.extra_fee instead of deprecated fee.main_chain;
  • mainnet.contracts instead of deprecated contracts;
    Old options are still supported but will be removed in future releases.

SN config option node.persistent_sessions.path now is deprecated and used only for migration. Sessions are stored in node.persistent_state.path option now.

Write cache migration from pre-0.46.0 format is no longer supported, use some earlier version if you still have write cache database with objects.

Contracts autoupdate doesn't support pre-0.20.0 contract versions corresponding to NeoFS 0.43.0 release. Update from earlier versions using 0.49.1 first.