Releases: nspcc-dev/neofs-node
v0.33.0 - Anmado (안마도, 鞍馬島)
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 inneofs-adm morph refill-gas
command (#1820)- Validate policy before container creation (#1704)
--timeout
flag inneofs-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
ifGET_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-knownMaintenanceModeAllowed
key (#1892)add
,get-by-path
andadd-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
andflush-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
tov0.16.0
neofs-api-go
tov2.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 (풍도, 楓島)
Added
- Objects counter metric (#1712)
meta
subcommand toneofs-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
tov0.99.2
nspcc-dev/neofs-contract
tov0.15.5
prometheus/client_golang
tov1.13.0
google.golang.org/protobuf
tov1.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 (백령도, 白翎島)
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 insession 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
andmetrics
configuration sections (#1654)
Updated
chzyer/realine
tov1.5.1
google/uuid
tov1.3.0
nats-io/nats.go
tov1.16.0
prometheus/client_golang
tov1.12.2
spf13/cast
tov1.5.0
spf13/viper
tov1.12.0
go.uber.org/zap
tov1.21.0
google.golang.org/grpc
tov1.48.0
Updating from v0.30.0
- Change
morph.endpoint.client
priority values using the following rule:
the higher the priority the lower the value (non-specified or0
values are
interpreted as the highest priority --1
). - Deprecated
profiler
andmetrics
configuration sections are dropped,
usepprof
andprometheus
instead.
v0.30.2
v0.30.1
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
tov0.99.1
neofs-sdk-go
tov1.0.0-rc.6
v0.30.0 - Saengildo (생일도, 生日島)
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
andGETRANGE
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
tov0.15.3
neo-go
to the pre-release versiongithub.com/spf13/cobra
to v1.5.0
Updating from v0.29.0
- Change morph endpoints from simple string to a pair of
address
andpriority
. The second can be omitted.For inner ring node this resides inmorph.endpoint.client
section,for storage node -- inmorph.rpc_endpoint
section. Seeconfig/example
for an example. - Move
storage.default
section tostorage.shard.default
. - Rename
metrics
andprofiler
sections toprometheus
andpprof
respectively, though old versions are supported.In addition, these sections must now be explicitly enabled withenabled: true
flag.
v0.29.0 - Yeonpyeongdo (연평도, 延坪島)
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 formatMakefile
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 versiontzhash
tov1.6.1
v0.28.3
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
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
andneofs-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
andshard_num
parameters from the configuration (#1474)