Skip to content

Releases: nspcc-dev/neofs-node

v0.27.0-rc.1

03 Dec 11:43
v0.27.0-rc.1
Compare
Choose a tag to compare
v0.27.0-rc.1 Pre-release
Pre-release

NeoFS API v2.11.0 support with response status codes and storage subnetworks.

Fixed

  • CLI now opens LOCODE database in read-only mode for listing command (#958)
  • Tombstone owner now is always set (#842)
  • Node in relay mode does not require shard config anymore (#969)
  • Alphabet nodes now ignore notary notifications with non-HALT main tx (#976)

Added

Changed

  • Alphabet contract number is not mandatory (#880)
  • Alphabet nodes resign AddPeer request if it updates Storage node info (#938)
  • All applications now use client from neofs-sdk-go library (#966)
  • Some shard configuration records were renamed, see upgrading section (#859)
  • Nonce and VUB values of notary transactions generated from notification hash (#844)
  • Non alphabet notary invocations now have 4 witnesses (#975)
  • Object replication is now async and continuous (#965)
  • NeoFS ADM updated for the neofs-contract v0.13.0 deploy (#984)
  • Minimal TLS version is set to v1.2 (#878)

Upgrading from v0.26.1

NEOFS_IR_CONTRACTS_ALPHABET_AMOUNT is not mandatory env anymore. If it is not set, Inner Ring would try to read maximum from config and NNS contract. However, that parameter still can be set in order to require the exact number of contracts.

Shard configuration records were renamed:

  • refill_metabase -> resync_metabase
  • writecache.max_size -> writecache.max_object_size
  • writecache.mem_size -> writecache.memcache_capacity
  • writecache.size_limit -> writecache_capcity
  • blobstor.blobovnicza.opened_cache_size -> blobstor.blobovnicza.opened_cache_capacity
  • *.shallow_depth -> *.depth
  • *.shallow_width -> *.width
  • *.small_size_limit -> *.small_object_size

Specify storage subnetworks in NEOFS_NODE_SUBNET_ENTRIES as the list of integer numbers. To exit default subnet, use NEOFS_NODE_SUBNET_EXIT_ZERO=true

v0.26.1

02 Nov 14:18
v0.26.1
Compare
Choose a tag to compare

Fixed

  • Storage Node handles requests before its initialization is finished (#934)
  • Release worker pools gracefully (#901)
  • Metabase ignored containers of storage group and tombstone objects in listing (#945)
  • CLI missed endpoint flag in control netmap-snapshot command (#942)
  • Write cache object persisting (#866)

Added

  • Quote symbol support in .env example tests (#935)
  • FSTree object counter (#821)
  • neofs-adm prints contract version in dump-hashes command (#940)
  • Default values section in shard configuration (#877)
  • neofs-adm downloads contracts directly from GitHub (#733)

Changed

  • Use FSTree counter in write cache (#821)
  • Calculate notary deposit till parameter depending on available deposit (#910)
  • Storage node returns session token error if attached token's private key is not available (#943)
  • Refactor of NeoFS API client in inner ring (#946)
  • LOCODE generator tries to find the closest continent if there are no exact match (#955)

Upgrading from v0.26.0

You can specify default section in storage engine configuration. See example for more details.

v0.26.0 - Udo (우도, 牛島)

19 Oct 17:12
v0.26.0
Compare
Choose a tag to compare

NeoFS API v2.10 support.

Fixed

  • Check remote node public key in every response message (#645)
  • Do not lose local container size estimations (#872)
  • Compressed and uncompressed objects are always available for reading
  • regardless of compression configuration (#868)
  • Use request session token in ACL check of object.Put (#881)
  • Parse URI in neofs-cli properly (#883)
  • Parse minutes in LOCODE DB properly (#902)
  • Remove expired tombstones (#884)
  • Close all opened blobovniczas properly (#896)
  • Do not accept objects with empty OwnerID field (#841)

Added

  • More logs in governance and policer components (#867, #882)
  • Contract address getter in static blockchain clients (#627)
  • Alphabet configuration option to disable governance sync (#869)
  • neofs-lens app implementation (#791)
  • Detailed comments in neofs-node config example (#858)
  • Size suffixes support in neofs-node config (#857)
  • Docs for neofs-adm (#906)
  • Side chain block size duration and global NeoFS configuration in NetworkConfig response (#833)
  • Support native container names (#889)

Changed

  • Updated grpc to v1.41.0 (#860)
  • Updated neo-go to v0.97.3 (#833)
  • Updated neofs-api-go to v1.30.0
  • Adopt neofs-adm for new contracts release (#835, #888)
  • Adopt neofs-node for new contracts release (#905)
  • SN and IR notary deposits are made dynamically depending on the Notary and GAS balances (#771)
  • VMagent port in testnet config is now 443 (#908)
  • Use per-shard worker pools for object.Put operations (#674)
  • Renamed --rpc-endpoint CLI flag for control command to --endpoint (#879)

Removed

  • Global flags in CLI. Deleted useless flags from accounting balance command (#810).
  • Interactive mode in docker run command (#916)

Upgrading from v0.25.1

Deleted NEOFS_IR_NOTARY_SIDE_DEPOSIT_AMOUNT, NEOFS_IR_NOTARY_MAIN_DEPOSIT_AMOUNT and NEOFS_IR_TIMERS_SIDE_NOTARY, NEOFS_IR_TIMERS_MAIN_NOTARY Inner Ring envs.

Deleted NEOFS_MORPH_NOTARY_DEPOSIT_AMOUNT and NEOFS_MORPH_NOTARY_DEPOSIT_DURATION Storage Node envs.

control CLI command does not have --rpc-endpoint/r flag, use endpoint instead.

v0.25.1

29 Sep 10:53
Compare
Choose a tag to compare

Fixed

  • Panic caused by missing Neo RPC endpoints in storage node's config (#863)

Added

  • Support of multiple Neo RPC endpoints in Inner Ring node (#792)

mainchain section of storage node config is left unused by the application.

v0.25.0 - Mungapdo (문갑도, 文甲島)

27 Sep 13:46
Compare
Choose a tag to compare

Fixed

  • Work of a storage node with one Neo RPC endpoint instead of a list (#746)
  • Lack of support for HEAD operation on the object write cache (#762)
  • Storage node attribute parsing is stable now (#787)
  • Inner Ring node now logs transaction hashes of Deposit and Withdraw events
    in LittleEndian encoding (#794)
  • Storage node uses public keys of the remote nodes in placement traverser
    checks (#645)
  • Extended ACL Target check of role and public keys is mutual exclusive now
    (#816)
  • neofs-adm supports update and deploy of neofs-contract v0.11.0 (#834, #836)
  • Possible NPE in public key conversion (#848)
  • Object assembly routine do not forward existing request instead of creating
    new one (#839)
  • Shard now returns only physical stored objects for replication (#840)

Added

  • Support events from P2P notary pool
  • Smart contract address auto negotiation with NNS contract (#736)
  • Detailed logs for all data writing operations in storage engine (#790)
  • Docker build and release targets in Makefile (#785)
  • Metabase restore option in the shard config (#789)
  • Write cache used size limit in bytes (#776)

Changed

  • Reduce container creation delay via listening P2P notary pool (#519)
  • Extended ACL table is not limited to 1KiB (#731)
  • Netmap side chain client wrapper now has TryNotary option (#793)
  • Sticky bit is ignored in requests with SYSTEM role (#818)
  • Incomplete object put error now contains last RPC error (#778)
  • Container service invalidates container cache on writing operations (#803)
  • Improved write cache size counters (#776)
  • Metabase returns NotFound error instead of AlreadyRemoved on GCMarked
    objects (#840)
  • Object service uses two routine pools for remote and local GET requests (#845)

Removed

  • Dockerfile for AllInOne image moved to a separate repository (#796)

Upgrading from v0.24.1

Added NEOFS_CONTRACTS_PROXY env for Storage Node; mandatory in
notary enabled environments only. It should contain proxy contract's
scripthash in side chain.

Added NEOFS_MORPH_NOTARY_DEPOSIT_AMOUNT and
NEOFS_MORPH_NOTARY_DEPOSIT_DURATION envs for Storage Node, that
have default values, not required. They should contain notary deposit
amount and frequency(in blocks) respectively.

All side chain contract address config values are optional. If side chain
contract address is not specified, then value gathered from NNS contract.

Added NEOFS_STORAGE_SHARD_<N>_WRITECACHE_SIZE_LIMIT where <N> is shard ID.
This is the size limit for the all write cache storages combined in bytes. Default
size limit is 1 GiB.

Added NEOFS_STORAGE_SHARD_<N>_REFILL_METABASE bool flag where <N> is shard
ID. This flag purges metabase instance at the application start and reinitialize
it with available objects from the blobstor.

Object service pool size now split into NEOFS_OBJECT_PUT_POOL_SIZE_REMOTE and
NEOFS_OBJECT_PUT_POOL_SIZE_LOCAL configuration records.

v0.24.1

07 Sep 15:18
v0.24.1
Compare
Choose a tag to compare

Fixed

  • Storage and Inner Ring will not start until Neo RPC node will have the height of the latest processed block by the nodes (#795)

Upgrading from v0.24.0

Specify path to the local state DB in Inner Ring node config with NEOFS_IR_NODE_PERSISTENT_STATE_PATH. Specify path to the local state DB in Storage node config with NEOFS_NODE_PERSISTENT_STATE_PATH.

v0.24.0 - Anmyeondo (안면도, 安眠島)

30 Aug 16:26
v0.24.0
Compare
Choose a tag to compare

Fixed

  • Linter warning messages (#766)
  • Storage Node does not register itself in network in relay mode now (#761)

Changed

  • neofs-adm fails when is called in a notary-disabled environment (#757)
  • neofs-adm uses neo-go client's native NNS resolving method instead of the custom one (#756)
  • Node selects pseudo-random list of objects from metabase for replication (#715)

Added

  • Contract update support in neofs-adm utility (#748)
  • Container transferring support in neofs-adm utility (#755)
  • Storage Node's balance refilling support in neofs-adm utility (#758)
  • Support COMMON_PREFIX filter for object attributes in storage engine and neofs-cli (#760)
  • Node's and IR's notary status debug message on startup (#758)
  • Go 1.17 unit tests in CI (#766)
  • Supporting all eACL filter fields from the specification (#768)
  • Cache for Container service's read operations (#676)

Updated

  • neofs-api-go library to v1.29.0

Removed

  • Unused DB_SIZE parameter of writecache (#773)

Upgrading from v0.23.1

Storage Node does not read unused NEOFS_STORAGE_SHARD_XXX_WRITECACHE_DB_SIZE
config parameter anymore.

v0.23.1

06 Aug 16:01
v0.23.1
Compare
Choose a tag to compare

N3 Mainnet launch release with minor fixes.

Added

  • Initial version of neofs-adm tool for fast side chain deployment and management in private installations
  • Notary support auto negotiation (#709)
  • Option to disable side chain cache in Storage node (#704)
  • Escape symbols in Storage node attributes (#700)

Changed

  • Updated neo-go to v0.97.1
  • Updated multiaddr lib to v0.4.0 with native TLS protocol support (#661)
  • Default file permission in storage engine is 660 (#646)

Fixed

  • Container size estimation routine now aggregates values by cid-epoch tuple (#723)
  • Storage engine always creates executable dirs (#646)
  • GC routines in storage engine shards shutdown gracefully (#745)
  • Handle context shutdown at NeoFS multi client group address switching (#737)
  • Scope for main chain invocations from Inner Ring nodes (#751)

Upgrading from v0.23.0

Added NEOFS_MORPH_DISABLE_CACHE env. If true, none of the eACL/netmap/container RPC responses cached.

Remove WITHOUT_NOTARY and WITHOUT_MAIN_NOTARY records from Inner Ring node config. Notary support is now auto negotiated.

v0.23.0 - Wando (완도, 莞島)

23 Jul 16:50
v0.23.0
Compare
Choose a tag to compare

Improved stability for notary disabled environment.

Added

  • Alphabet wallets generation command in neofs-adm (#684)
  • Initial epoch timer tick synchronization at Inner Ring node startup (#679)

Changed

  • --address flag is optional in NeoFS CLI (#656)
  • Notary subsystem now logs ValidUntilBlock (#677)
  • Updated neo-go to v0.96.1
  • Storage Node configuration example contains usable parameters (#699)

Fixed

  • Do not use side chain RoleManagement contract as source of Inner Ring list when notary disabled in side chain (#672)
  • Alphabet list transition is even more effective (#697)
  • Inner Ring node does not require proxy and processing contracts if notary disabled (#701, #714)

Upgrading from v0.22.3

To upgrade Storage node or Inner Ring node from v0.22.3, you don't need to change configuration files. Make sure, that NEO RPC nodes, specified in config, are connected to N3 RC4 (Testnet) network.

v0.22.3

13 Jul 13:38
v0.22.3
Compare
Choose a tag to compare

Added

  • Support binary eACL format in container CLI command (#650).
  • Dockerfile for neofs-adm utility (#680).

Changed

  • All docker files moved to .docker dir (#682).

Fixed

  • Do not require MainNet attributes in "Without MainNet" mode (#663).
  • Stable alphabet list merge in Inner Ring governance (#670).
  • User can specify only wallet section without node key (#690).
  • Log keys in hex format in reputation errors (#693).
  • Connections leak and reduced amount of connection overall (#692).

Removed

  • Debug output of public key in Inner Ring log (#689).