Skip to content

Releases: nspcc-dev/neofs-node

v0.30.1

29 Jul 09:57
v0.30.1
Compare
Choose a tag to compare

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 to v0.99.1
  • neofs-sdk-go to v1.0.0-rc.6

v0.30.0 - Saengildo (생일도, 生日島)

25 Jul 14:07
v0.30.0
Compare
Choose a tag to compare

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 and GETRANGE 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 to v0.15.3
  • neo-go to the pre-release version
  • github.com/spf13/cobra to v1.5.0

Updating from v0.29.0

  1. Change morph endpoints from simple string to a pair of address and priority. The second can be omitted.For inner ring node this resides in morph.endpoint.client section,for storage node -- in morph.rpc_endpoint section. See config/example for an example.
  2. Move storage.default section to storage.shard.default.
  3. Rename metrics and profiler sections to prometheus and pprof respectively, though old versions are supported.In addition, these sections must now be explicitly enabled with enabled: true flag.

v0.29.0 - Yeonpyeongdo (연평도, 延坪島)

08 Jul 09:42
Compare
Choose a tag to compare

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 format
  • Makefile 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 version
  • tzhash to v1.6.1

v0.28.3

08 Jun 11:32
v0.28.3
Compare
Choose a tag to compare

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

03 Jun 14:49
Compare
Choose a tag to compare

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 and neofs-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 and shard_num parameters from the configuration (#1474)

v0.28.1

05 May 09:08
Compare
Choose a tag to compare

Fixed

  • Loss of the connection scheme during address parsing in NeoFS CLI (#1351)

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)