Skip to content

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

Compare
Choose a tag to compare
@sami-nspcc sami-nspcc released this 29 Apr 16:17
· 2309 commits to master since this release

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.