Skip to content

Releases: nspcc-dev/neofs-node

v0.33.0 - Anmado (안마도, 鞍馬島)

17 Oct 16:44
v0.33.0
Compare
Choose a tag to compare

Added

  • Serving NetmapService.NetmapSnapshot RPC (#1793)
  • netmap snapshot command of NeoFS CLI (#1793)
  • apiclient.allow_external config flag to fallback to node external addresses (#1817)
  • Support MAINTENANCE state of the storage nodes (#1680, #1681)
  • Changelog updates CI step (#1808)
  • Validate storage node configuration before node startup (#1805)
  • neofs-node -check command to check the configuration file (#1805)
  • flush-cache control service command to flush write-cache (#1806)
  • wallet-address flag in neofs-adm morph refill-gas command (#1820)
  • Validate policy before container creation (#1704)
  • --timeout flag in neofs-cli subcommands (#1837)
  • container nodes command to output list of nodes for container, grouped by replica (#1704)
  • Configuration flag to ignore shard in neofs-node (#1840)
  • Add new RPC TreeService.Healthcheck
  • Fallback to GET if GET_RANGE from one storage nodes to another is denied by basic ACL (#1884)
  • List of shards and logger level runtime reconfiguration (#1770)
  • neofs-adm morph set-config now supports well-known MaintenanceModeAllowed key (#1892)
  • add, get-by-path and add-by-path tree service CLI commands (#1332)

Changed

  • Allow to evacuate shard data with EvacuateShard control RPC (#1800)
  • Flush write-cache when moving shard to DEGRADED mode (#1825)
  • Make morph.cache_ttl default value equal to morph block time (#1846)
  • Policer marks nodes under maintenance as OK without requests (#1680)
  • Unify help messages in CLI (#1854)
  • evacuate, set-mode and flush-cache control subcommands now accept a list of shard ids (#1867)
  • Reading object commands of NeoFS CLI don't open remote sessions (#1865)
  • Use hex format to print storage node ID (#1765)

Fixed

  • Description of command netmap nodeinfo (#1821)
  • Proper status for object.Delete if session token is missing (#1697)
  • Fail startup if metabase has an old version (#1809)
  • Storage nodes could enter the network with any state (#1796)
  • Missing check of new state value in ControlService.SetNetmapStatus (#1797)
  • Correlation of object session to request (#1420)
  • Do not increase error counter in engine.Inhume if shard is read-only (#1839)
  • control drop-objects can remove split objects (#1830)
  • Node's status in neofs-cli netmap nodeinfo command (#1833)
  • Child check in object assembly process of ObjectService.Get handler (#1878)
  • Shard ID in the object counter metrics (#1863)
  • Metabase migration from the first version (#1860)

Removed

  • Remove WIF and NEP2 support in neofs-cli's --wallet flag (#1128)
  • Remove --generate-key option in neofs-cli container delete (#1692)
  • Serving ControlService.NetmapSnapshot RPC (#1793)
  • control netmap-snapshot command of NeoFS CLI (#1793)

Updated

  • neofs-contract to v0.16.0
  • neofs-api-go to v2.14.0

Updating from v0.32.0

Replace using the control netmap-snapshot command with netmap snapshot one in NeoFS CLI.
Node can now specify additional addresses in ExternalAddr attribute. To allow a node to dial
other nodes external address, use apiclient.allow_external config setting.
Add --force option to skip placement validity check for container creation.

Pass maintenance state to neofs-cli control set-status to enter maintenance mode.
If network allows maintenance state (*), it will be reflected in the network map.
Storage nodes under maintenance are not excluded from the network map, but don't
serve object operations. (*) can be fetched from network configuration via
neofs-cli netmap netinfo command.

To allow maintenance mode during neofs-adm deployments, set
network.maintenance_mode_allowed parameter in config.

When issuing an object session token for root (virtual, "big") objects,
additionally include all members of the split-chain. If session context
includes root object only, it is not spread to physical ("small") objects.

neofs-node configuration now supports mode: disabled flag for a shard.
This can be used to temporarily ignore shards without completely removing them
from the config file.

v0.32.0 - Pungdo (풍도, 楓島)

14 Sep 15:22
Compare
Choose a tag to compare

Added

  • Objects counter metric (#1712)
  • meta subcommand to neofs-lens (#1714)
  • Storage node metrics with global and per-shard object counters (#1658)
  • Removal of trees on container removal (#1630)
  • Logging new epoch events on storage node (#1763)
  • Timeout for streaming RPC (#1746)
  • neofs-adm is now able to dump hashes from a custom zone (#1748)
  • Empty filename support in the Tree Service (#1698)
  • Flag to neofs-cli container list-objects command for attribute printing (#1649)

Changed

  • neofs-cli object put's object ID output has changed from "ID" to "OID" (#1296)
  • neofs-cli container set-eacl command now pre-checks container ACL's extensibility (#1652)
  • Access control in Tree service (#1628)
  • Tree service doesn't restrict depth in rpc GetSubTree (#1753)
  • neofs-adm registers contract hashes in both hex and string address formats (#1749)
  • Container list cache synchronization with the Sidechain (#1632)
  • Blobstor components are unified (#1584, #1686, #1523)

Fixed

  • Panic on write-cache's Delete operation (#1664)
  • Payload duplication in neofs-cli storagegroup put (#1706)
  • Contract calls in notary disabled environments (#1743)
  • Blobovnicza.Get op now iterates over all size buckets (#1707)
  • Object expiration time (#1670)
  • Parser of the placement policy (#1775)
  • Tree service timeout logs (#1759)
  • Object flushing on writecache side (#1745)
  • Active blobovniczas caching (#1691)
  • neofs-adm TX waiting (#1738)
  • neofs-adm registers contracts with a minimal GAS payment (#1683)
  • Permissions of the file created by neofs-cli (#1719)
  • neofs-adm creates TX with a high priority attribute (#1702)
  • Storage node's restart after a hard reboot (#1647)

Updated

  • neo-go to v0.99.2
  • nspcc-dev/neofs-contract to v0.15.5
  • prometheus/client_golang to v1.13.0
  • google.golang.org/protobuf to v1.28.1

Updating from v0.31.0

Storage Node now collects object count prometheus metrics: neofs_node_object_counter.

Provide --no-precheck flag to neofs-cli container set-eacl for unconditional sending of a request(previous default behavior).

Blobstor's configuration from now supports different storage types, see shard configuration example.

v0.31.0 - Baengnyeongdo (백령도, 白翎島)

04 Aug 14:18
v0.31.0
Compare
Choose a tag to compare

Added

  • neofs-adm allows deploying arbitrary contracts (#1629)

Changed

  • Priority order in the Morph client (#1648)

Fixed

  • Losing request context in eACL response checks (#1595)
  • Do not return expired objects that have not been handled by the GC yet (#1634)
  • Setting CID field in neofs-cli acl extended create (#1650)
  • neofs-ir no longer hangs if it cannot bind to the control endpoint (#1643)
  • Do not require lifetime flag in session create CLI command (#1655)
  • Using deprecated gRPC options (#1644)
  • Increasing metabase error counter on disabled pilorama (#1642)
  • Deadlock in the morph client related to synchronous notification handling (#1653)
  • Slow metabase COMMON_PREFIX search for empty prefix (#1656)

Removed

  • Deprecated profiler and metrics configuration sections (#1654)

Updated

  • chzyer/realine to v1.5.1
  • google/uuid to v1.3.0
  • nats-io/nats.go to v1.16.0
  • prometheus/client_golang to v1.12.2
  • spf13/cast to v1.5.0
  • spf13/viper to v1.12.0
  • go.uber.org/zap to v1.21.0
  • google.golang.org/grpc to v1.48.0

Updating from v0.30.0

  1. Change morph.endpoint.client priority values using the following rule:
    the higher the priority the lower the value (non-specified or 0 values are
    interpreted as the highest priority -- 1).
  2. Deprecated profiler and metrics configuration sections are dropped,
    use pprof and prometheus instead.

v0.30.2

01 Aug 18:40
v0.30.2
Compare
Choose a tag to compare

Added

  • EACL_NOT_FOUND status code support (#1645).

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)