Releases: nspcc-dev/neofs-node
v0.30.2
v0.30.1
Fixed
GetRange
operation now works correctly with objects stored in write-cache (#1638)- Losing request context in eACL response checks (#1595)
- Wrong balance contract in innerring processor (#1636)
neofs-adm
now sets groups in manifest for all contracts properly (#1631)
Updated
neo-go
tov0.99.1
neofs-sdk-go
tov1.0.0-rc.6
v0.30.0 - Saengildo (생일도, 生日島)
Added
- Profiler and metrics services now should be enabled with a separate flag
- Experimental support for the tree-service, disabled by default (#1607)
- Homomorphic hashes calculation can be disabled across the whole network (#1365)
- Improve
neofs-adm
auto-completion (#1594)
Changed
- Require SG members to be unique (#1490)
neofs-cli
now doesn't remove container with LOCK objects without--force
flag (#1500)- LOCK objects are now required to have an expiration epoch (#1461)
morph
sections in IR and storage node configuration now accept an address and a priority of an endpoint (#1609)- Morph client now retries connecting to the failed endpoint too (#1609)
- Redirecting
GET
andGETRANGE
requests now does not store full object copy in memory (#1605) neofs-adm
now registers candidates during initialization in a single transaction (#1608)
Fixed
- Shard now can start in degraded mode if the metabase is unavailable (#1559)
- Shard can now be disabled completely on init failure (#1559)
- Storage group members are now required to be unique (#1490)
- Print shard ID in component logs (#1611)
Updated
neofs-contract
tov0.15.3
neo-go
to the pre-release versiongithub.com/spf13/cobra
to v1.5.0
Updating from v0.29.0
- Change morph endpoints from simple string to a pair of
address
andpriority
. The second can be omitted.For inner ring node this resides inmorph.endpoint.client
section,for storage node -- inmorph.rpc_endpoint
section. Seeconfig/example
for an example. - Move
storage.default
section tostorage.shard.default
. - Rename
metrics
andprofiler
sections toprometheus
andpprof
respectively, though old versions are supported.In addition, these sections must now be explicitly enabled withenabled: true
flag.
v0.29.0 - Yeonpyeongdo (연평도, 延坪島)
Support WalletConnect signature scheme.
Added
- Retrieve passwords for storage wallets from the configuration in neofs-adm (#1539)
- Metabase format versioning (#1483)
neofs-adm
generates wallets in a pretty JSON formatMakefile
supports building from sources without a git repo
Fixed
- Do not replicate object twice to the same node (#1410)
- Concurrent object handling by the Policer (#1411)
- Attaching API version to the forwarded requests (#1581)
- Node OOM panics on
GetRange
request with extremely huge range length (#1590)
Updated
neofs-sdk-go
to latest pre-release versiontzhash
tov1.6.1
v0.28.3
Updated
- Neo-go 0.98.3 => 0.99.0 (#1480)
Changed
- Replace pointers with raw structures in results for local storage (#1460)
- Move common CLI's functions in a separate package (#1452)
Fixed
- Confirmation of eACL tables by alphabet nodes when ACL extensibility is disabled (#1485)
- Do not use WS neo-go client in
neofs-adm
(#1378) - Log more detailed network errors by the Alphabet (#1487)
- Fix container verification by the Alphabet (#1464)
- Include alphabet contracts to the base group in
neofs-adm
(#1489)
v0.28.2
Updated
- Neo-go 0.98.2 => 0.98.3 (#1430)
- NeoFS SDK v1.0.0-rc.3 => v1.0.0-rc.4
- NeoFS API v2.12.1 => v2.12.2
- NeoFS Contracts v0.14.2 => v0.15.1
Added
- Config examples for Inner ring application (#1358)
- Command for documentation generation for
neofs-cli
,neofs-adm
andneofs-lens
(#1396)
Fixed
- Do not ask for contract wallet password twice (#1346)
- Do not update NNS group if the key is the same (#1375)
- Make LOCODE messages more descriptive (#1394)
- Basic income transfer's incorrect log message (#1374)
- Listen to subnet removal events in notary-enabled env (#1224)
- Update/remove nodes whose subnet has been removed (#1162)
- Potential removal of local object when policy isn't complied (#1335)
- Metabase
Select
is now slightly faster (#1433) - Fix a number of bugs in writecache (#1462)
- Refactor eACL processing and fix bugs (#1471)
- Do not validate subnet removal by IR (#1441)
- Replace pointers with raw structures in parameters for local storage (#1418)
Removed
- Remove
num
andshard_num
parameters from the configuration (#1474)
v0.28.1
v0.28.0 - Heuksando (흑산도, 黑山島)
Native RFC-6979 signatures of messages and tokens, object locking,
experimental notifications over NATS with NeoFS API v2.12 support.
Removed
- Remove some wrappers from
morph
package (#625) GetRange
method in blobovnicza (#1115)- Deprecated structures from SDK v1.0.0 rc (#1181)
- Reduced amount of slices with pointers (#1239)
Added
morph dump-balances
command to NeoFS Adm (#1308)- Ability to provide session token from file in NeoFS CLI (#1216)
- Look for
CustomGroup
scope in NNS contract before contract invocation (#749) - Cache of notary transaction heights (#1151)
- NATS notifications (#1183)
- LOCK object type (#1175, #1176, #1181)
- Progress bar for object upload/download in neofs-cli (#1185)
- Support of new status codes (#1247)
- Print details for AccessDenied errors in neofs-cli (#1252)
- Split client creation into 2 stages (#1244)
- Update morph client to work with v0.15.0 (#1253)
- Persistent storage for session tokens (#1189)
- Cache for Inner Ring list fetcher (#1278)
- Degraded mode of storage engine (#1143)
- Command to change native Policy contract in
neofs-adm
(#1289) - Single websocket endpoint pool for RPC and notifications (#1053)
Fixed
- Panic in
netmap netinfo
command of NeoFS CLI (#1312) - Container cache invalidation on DELETE op (#1313)
- Subscription to side-chain events in shards (#1321)
- Trusted object creation without session token (#1283)
- Storing invalid objects during trusted PUT op (#1286)
- RAM overhead when writing objects to local storage (#1343)
- Check expiration epoch of provided session token (#1168)
- Prevent corruption in
writecache.Head
(#1149) - Use separate caches in N3 RPC multi client (#1213)
neofs-adm
fixes (#1288, #1294, #1295)- Don't stop notification listener twice (#1291)
- Metabase panic (#1293)
- Disallow to tick block timer twice on the same height (#1208)
- Remove session tokens from local storage of storage node after expiration (#1133)
- Readme typos (#1167)
- LOCODE attribute and announced address are not mandatory for relay node config (#1114)
- Check session token verb (#1191)
- Fix data race leading to reputation data loss (#1210)
- Respect format flags for
SplitInfo
output (#1233) - Output errors in neofs-cli to stderr where possible (#1259)
Changed
- NeoFS Adm output from stderr to stdout (#1311)
- Node's object GC mechanism (#1318)
- Update neofs-api-go and neofs-sdk-go (#1101, #1131, #1195, #1209, #1231)
- Use
path/filepath
package for OS path management (#1132) - Shard sets mode to
read-only
if it hits threshold limit (#1118) - Use request timeout in chain client of neofs-adm (#1115)
- Generate wallets with 0644 permissions in neofs-adm (#1115)
- Use cache of parsed addresses in GC (#1115)
- Determine config type based on file extension in neofs-ir (#1115)
- Reuse some error defined in contracts (#1115)
- Improved neofs-cli usability (#1103)
- Refactor v2 / SDK packages in eACL (#596)
- Cache NeoFS clients based only on public key (#1157)
- Make
blobovnicza.Put
idempotent (#1262) - Optimize metabase list operations (#1262)
- PDP check ranges are now asked in random order (#1163)
- Update go version up to v1.17 (#1250)
HOWTO upgrade from >=v0.27.5
Remove NEOFS_IR_MAINNET_ENDPOINT_NOTIFICATION
,
NEOFS_IR_MORPH_ENDPOINT_NOTIFICATION
, and NEOFS_MORPH_NOTIFICATION_ENDPOINT
from Inner Ring and Storage configurations.
Specify WebSocket endpoints in NEOFS_IR_MAINNET_ENDPOINT_CLIENT
,
NEOFS_IR_MORPH_ENDPOINT_CLIENT
, and NEOFS_MORPH_RPC_ENDPOINT
at Inner Ring
and Storage configurations.
Specify path to persistent session token db in Storage configuration with
NEOFS_NODE_PERSISTENT_SESSIONS_PATH
.
Set shard error threshold for read-only mode switch with
NEOFS_STORAGE_SHARD_RO_ERROR_THRESHOLD
(default: 0, deactivated).
Set NATS configuration for notifications in NEOFS_NODE_NOTIFICATION
section.
Clean up all metabases and re-sync them using resync_metabase
config flag
(backup first!).
See config/example/*
for details.
v0.28.0-rc.3
Fixed
- Check expiration epoch of provided session token (#1168)
- Prevent corruption in
writecache.Head
(#1149) - Use separate caches in N3 RPC multi client (#1213)
neofs-adm
fixes (#1288, #1294, #1295)- Don't stop notification listener twice (#1291)
- Metabase panic (#1293)
- Disallow to tick block timer twice on the same height (#1208)
Added
- Persistent storage for session tokens (#1189)
- Cache for Inner Ring list fetcher (#1278)
- Degraded mode of storage engine (#1143)
- Command to change native Policy contract in
neofs-adm
(#1289) - Single websocket endpoint pool for RPC and notifications (#1053)
Changed
- Cache NeoFS clients based only on public key (#1157)
- Make
blobovnicza.Put
idempotent (#1262) - Optimize metabase list operations (#1262)
- PDP check ranges are now asked in random order (#1163)
- Update go version up to v1.17 (#1250)
Removed
- Reduced amount of slices with pointers (#1239)
Updating from v0.28.0-rc.2
Remove NEOFS_IR_MAINNET_ENDPOINT_NOTIFICATION
,
NEOFS_IR_MORPH_ENDPOINT_NOTIFICATION
, and NEOFS_MORPH_NOTIFICATION_ENDPOINT
from Inner Ring and Storage configurations.
Specify WebSocket endpoints in NEOFS_IR_MAINNET_ENDPOINT_CLIENT
,
NEOFS_IR_MORPH_ENDPOINT_CLIENT
, and NEOFS_MORPH_RPC_ENDPOINT
at Inner Ring
and Storage configurations.
Specify path to persistent session token db in Storage configuration with
NEOFS_NODE_PERSISTENT_SESSIONS_PATH
.