Skip to content

Releases: nspcc-dev/neofs-node

v0.28.0 - Heuksando (흑산도, 黑山島)

29 Apr 16:17
Compare
Choose a tag to compare

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

08 Apr 13:57
v0.28.0-rc.3
Compare
Choose a tag to compare
v0.28.0-rc.3 Pre-release
Pre-release

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

30 Mar 12:43
v0.27.7
Compare
Choose a tag to compare

Fixed

  • Shard ID is now consistent between restarts (#1204)

Added

  • More N3 RPC caches in object service (#1278)

v0.27.6

28 Mar 12:10
v0.27.6
Compare
Choose a tag to compare

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

  • Interactive storage node configurator in neofs-adm (#1090)
  • Logs in metabase operations (#1188)

v0.28.0-rc.2

24 Mar 15:00
Compare
Choose a tag to compare
v0.28.0-rc.2 Pre-release
Pre-release

Fixed

  • Respect format flags for SplitInfo output (#1233)
  • Return non-zero exit code in acl extended create command failures (#1259)
  • Output errors in neofs-cli to stderr where possible (#1259)

Added

  • 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)

v0.28.0-rc.1

18 Mar 07:24
v0.28.0-rc.1
Compare
Choose a tag to compare
v0.28.0-rc.1 Pre-release
Pre-release

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

31 Jan 11:48
v0.27.5
Compare
Choose a tag to compare

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 of go 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 to writecache.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 --wifand --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

13 Jan 13:00
v0.27.4
Compare
Choose a tag to compare

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

  • Factor out autocomplete command in CLI and Adm (#1041)
  • Single crypto rand source (#851)

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

30 Dec 11:54
v0.27.3
Compare
Choose a tag to compare

Added

  • SetShardMode RPC in control API, available in CLI (#1044)
  • Support of basic ACL constants without final flag in CLI (#1066)

Changed

  • neofs-adm updates contracts in single tx (#1035)
  • Proxy contract arguments for deployment in neofs-adm (#1056)

v0.27.2

28 Dec 14:21
v0.27.2
Compare
Choose a tag to compare

Fixed

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)