Releases: nspcc-dev/neofs-node
v0.27.0-rc.1
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
- Maintenance mode for Storage node (#922)
- Float values in Storage node config (#903)
- Status codes for NeoFS API Response messages (#961)
- Subnetwork support (#977, #973, #983, #974, #982, #979, #998, #995, #1001)
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
andVUB
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
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 (우도, 牛島)
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 forcontrol 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
v0.25.0 - Mungapdo (문갑도, 文甲島)
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 ofAlreadyRemoved
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
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 (안면도, 安眠島)
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
usesneo-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 andneofs-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 tov1.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
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 (완도, 莞島)
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
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).