Releases: nspcc-dev/neofs-node
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
.
v0.27.7
v0.27.6
Fixed
- Allow empty passwords in neofs-cli config (#1136)
- Set correct audit range hash type in neofs-ir (#1180)
- Read objects directly from blobstor in case of shard inconsistency (#1186)
- Fix
-w
flag in subnet commands of neofs-adm (#1223) - Do not use explicit mutex lock in chain caches (#1236)
- Force gRPC server stop if it can't shut down gracefully in storage node (#1270)
- Return non-zero exit code in
acl extended create
command failures and fixhelp message (#1259)
Added
v0.28.0-rc.2
v0.28.0-rc.1
Native RFC-6979 signatures of messages and tokens, LOCK object types,
experimental notifications over NATS with NeoFS API v2.12 support
Fixed
- Allow empty passwords in neofs-cli config (#1136)
- Remove session tokens from local storage of storage node after expiration (#1133)
- Set correct audit range hash type in neofs-ir (#1180)
- Readme typos (#1167)
- LOCODE attribute and announced address are not mandatory for relay node config (#1114)
- Read objects directly from blobstor in case of shard inconsistency (#1186)
- Shard ID is now consistent between restarts (#1204)
- Check session token verb (#1191)
- Fix
-w
flag in subnet commands of neofs-adm (#1223) - Do not use explicit mutex lock in chain caches (#1236)
- Fix data race leading to reputation data loss (#1210)
Added
- Look for
CustomGroup
scope in NNS contract before contract invocation (#749) - Interactive storage node configurator in neofs-adm (#1090)
- Cache of notary transaction heights (#1151)
- Logs for metabase PUT and DELETE operations (#1188)
- 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)
Changed
- 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)
Removed
- Remove some wrappers from
morph
package (#625) GetRange
method in blobovnicza (#1115)- Deprecated structures from SDK v1.0.0 rc (#1181)
Updating from neofs-node v0.27.5
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. See example config for more details.
v0.27.5
Fixed
- Flush small objects when persist write cache (#1088)
- Empty response body in object.Search request (#1098)
- Inner ring correctly checks session token in container.SetEACL request (#1110)
- Printing in verbose mode in CLI (#1120)
- Subnet removal event processing (#1123)
Added
- Password support in CLI config (#1103)
- Shard dump restore commands in CLI (#1085, #1086)
acl extended create
command in CLI (#1092)
Changed
- Adopt new
owner.ID
API from SDK (#1100) - Use
go install
instead ofgo get
in Makefile (#1102) - Storage node returns Fixed12 decimal on accounting.Balance request. CLIprints Fixed8 rounded value by default. (#1084)
- Support new update interface for NNS contract in NeoFS Adm (#1091)
- Rename
use_write_cache
towritecache.enabled
in stoarge config (#1117) - Preallocate slice in
headersFromObject
(#1115) - Unify collection of expired objects (#1115)
- Calculate blobovnicza size at initialization properly (#1115)
- Process fast search filters outside bbolt transaction (#1115)
- Update TZHash library to v1.5.1
Removed
--wif
and--binary-key
keys from CLI (#1083)- Extended ACL validator moved to SDK library (#1096)
--generate-key
flag in CLI control commands (#1103)- Various unused code (#1123)
Upgrading from v0.27.4
Use --wallet
key in CLI to provide WIF or binary key file instead of --wif
and --binary-key
.
Replace NEOFS_STORAGE_SHARD_N_USE_WRITE_CACHE
with NEOFS_STORAGE_SHARD_N_WRITECACHE_ENABLED
in Storage node config.
Specify password: xxx
in config file for NeoFS CLI to avoid password input.
v0.27.4
Fixed
- ACL check did not produce status code (#1062)
- Asset transfer wrapper used incorrect receiver (#1069)
- Empty search response missed meta header and body (#1063)
- IR node in single chain environment used incorrect source of IR list (#1025)
- Incorrect message sequence in object.Range request (#1077)
Added
- Option to disable compression of object based on their content-type attribute(#1060)
Changed
Upgrading from v0.27.3
To disable compression for object with specific content-types, specify themas a string array in blobstor section:NEOFS_STORAGE_SHARD_N_BLOBSTOR_COMPRESSION_EXCLUDE_CONTENT_TYPES
. Useasterisk as wildcard, e.g. video/*
.
v0.27.3
v0.27.2
Fixed
- Goroutine leak due to infinite response message await (neofs-api-go#366)
- Inconsistency in placement function (neofs-sdk-go#108)
Added
ListShards
RPC in control API, available in CLI (#1043)- Epoch metric in Storage and Inner Ring applications (#1054)
Changed
- Some object replication related logs were moved to DEBUG level (#1052)