Skip to content

v2.2.0

Compare
Choose a tag to compare
@github-actions github-actions released this 12 Sep 13:34
· 49 commits to master since this release
06a0aca

v2.2.0

The Bee team is elated to announce the v2.2.0 release. 🎉

The release includes major new features and important fixes which operators and users should take note of.

See the Official Release Announcement and Node Operator's Guide.

The Debug API and port has been removed and endpoints under the Debug API have been merged into the main Bee API. Configuration options related to the Debug API must be removed for the node to run as normal (see 2.2.0 upgrade guide for details).

Based on a community poll, we have also removed the API authorization and --restricted option.

The release contains new redistribution and staking contracts, so it's advised to upgrade as soon as possible. Before upgrading, however, the stake must be manually migrated by operators. The instructions on how to do so are available here.

Warning

The 2.2.0 upgrade includes a localstore migration which will take an extended time to complete (the exact time will vary based on your particular system specs). You can check your node’s logs for messages related to the migration in order to check on the migration progress. Turning off your node before the migration is complete could cause your node to become corrupted! ⚠️ Before every Bee client upgrade, it is best practice to ALWAYS take a full backup of your node.

Access Control Trie (ACT)

The Access Control Trie (ACT) is a major new feature that gives DAPP developers specific control over who can access encrypted data on Swarm. ACT introduces two main roles: “content publishers” and “content viewers.” Content publishers can grant or revoke access to content viewers on a fine-grained, chunk-by-chunk basis. Publishers can also establish and update group lists for managing access.

Neighborhood Hopping & Staking Changes

Previously, using the target-neighborhood option, node operators were able to mine overlays for their new nodes to join specific neighborhood, generally underpopulated ones, to increase winning rewards and strengthen the network. Now, with this release, different neighborhood can be targeted for old nodes as well by supplying a new option. The node will also automatically reassociate the stake with the new overlay address if the node was previously staked.

Before, stake was non-withdrawable and set arbitrarily to 10 xBZZ. The new partial stake withdrawal feature allows operators to withdraw part of their stake when the price of the oracle drops below the price of when the node was staked. The withdrawable amount can fetched and withdrawn using the endpoints GET stake/withdrawable and DELETE /stake/withdrawable endpoints, respectively.

Postage Contract Safe Guards

To protect the network, we are introducing new safe guards for when the postage contract is paused. The contract is paused generally when there is a new contract available and operators are required to upgrade as soon as possible. As such, nodes that pick up the pause event from the contract will automatically shutdown and won't be able to start up again.

For questions, comments, and feedback, reach out on Discord.

Features

  • Added the last synced block to the status endpoint response ( #4710 ).
  • ACT feature ( #4692 ).
  • Added the ability to carry the stake to new neighborhoods and withdraw part of the stake ( #4718 #4685 #4720 ).

Bug fixes

  • Fixed a bug where the peer prune function was not counting peers correctly and changed the pruning to run periodically and not on every connection attempt ( #4759 #4774).
  • Fixed the issue of the pullsync protocol and ultimately the reserve ignoring chunks that have been previously synced but that are re-uploaded with higher stamp timestamps. ( #4717 ) .

Deprecation

  • Debug API and authorization deprecated (#4679 #4732).

Hardening

  • Stewardship API endpoint now checks leaf chunks as well and downloads all chunks belonging to the root reference ( #4735 ).
  • Node is shutdown and is unable to start up if the postage contract is ( #4748 ).
  • Stopped unnecessary pullsyncing with peers beyond two proximity orders below the storage radius ( #4764 ).
  • Added a per peer rate limiter to the pullsync handler ( #4799 ).
  • Improved batch error response for new batches when the amount is below the minimum allowed value ( #4729 ).

For a full PR rundown, please consult the v2.2.0 diff.