Skip to content

Releases: ethersphere/bee

v2.3.0-rc8

11 Nov 21:01
Compare
Choose a tag to compare
v2.3.0-rc8 Pre-release
Pre-release

Changelog

  • 5f9aefb fix: reserve repair to use LoadWithStampHash
  • 24658d5 fix: chunkstamp loadWithHash, replace to increase refCnt, new soc eviction unit test

v2.3.0-rc7

11 Nov 16:41
Compare
Choose a tag to compare
v2.3.0-rc7 Pre-release
Pre-release

Changelog

  • a21c988 fix: node pushsync
  • 4cf5ab6 fix(gsoc): improvements (#4899)
  • 2c00152 fix: replace gsoc payload
  • 5988539 revert: remove pinning and uploadstore usage
  • e0e914e fix: replace gsoc payload
  • ccc7516 test: move testcase away
  • 02dcc38 test: always save newer payload of soc
  • d9b6935 feat: always save newer payload of soc
  • e0dcc95 feat: remove pinning and uploadstore usage
  • 19c3272 refactor: export handler
  • e336d8d docs: update put desc
  • 2a19241 refactor: gsoc handler param soc as reference
  • a25e874 test: identity address unit
  • f00055a fix: eviction locking
  • de26b73 docs: verbosing
  • 3121d3d refactor: remove shouldDecrReserveSize
  • f378d29 test: correcting fata prompt message
  • 0a06031 test: add reserve case (#4886)
  • 8b420ab docs: added comments
  • a725b2f refactor: wrong parameter name ordering
  • 892f285 refactor: add closer function for gsoc sub
  • 2ecf155 refactor: remove waitgroup in hook function calls
  • dde6e53 fix: use resenje multex (#4883)
  • ecc639f feat: postage stamping for gsoc
  • 1ddacbf fix: remove ChunkTypeUnspecified check
  • 73203b5 fix: new multex to lock reserve put
  • 009b827 fix: lock by batch id and stamp
  • de65176 fix: important reserve changes same ps index
  • 80858f4 fix: reserve put
  • f5ad179 fix: remove unnecessary stamp higher condition
  • 837563d feat: id address usage on pusher and its inflight handling
  • 1178a90 refactor: log id_address on push failiure
  • 25bb9bd test: working signature for pushsync
  • 37378e5 fix: idAddress in pushsync where it is needed
  • 3284476 fix: param mismatch after rebasing
  • fca83e6 test: gsoc listener
  • bb0909a test: multiple payload push
  • 6744b5f feat: identity address in pull sync
  • 99b5e1f refactor: unnecessary go call on gsoc handler
  • 36624ef refactor: rename register to subscribe
  • 3008299 docs: copypastes
  • 713a985 refactor: handle instead of handler
  • e58b7e7 feat: logger in gsoc listener
  • d979ee5 feat: add new error handling
  • 858ff26 docs: fix yaml indentation
  • ee12d03 test: unit
  • e07b696 docs: gsoc openapi
  • b970494 refactor: remove unused pusher
  • 455cf73 test: add empty function for so clisten in pushsync t
  • 4951d6f test: gsoc api
  • e95fbd7 test: gsoc as param for testServer
  • 3f80697 fix: gsoc address path parsing
  • 8baba8d feat: gsoc subscribe api
  • 7378e32 feat: add gsoc listener to pull and pushsync
  • d6836dc feat: gsoc
  • 9e388ed fix: add warmup allowing pullsync to commence (#4898)
  • 102fa58 chore: update service package to mitigate CVE-2022-29583 (#4895)

v2.3.0-rc6

08 Nov 16:02
daefec6
Compare
Choose a tag to compare
v2.3.0-rc6 Pre-release
Pre-release

Changelog

  • daefec6 chore: abi rc7 version bump (#4897)
  • be17cd2 chore: add docker-build target to Makefile with support for configurable build flags (#4893)

v2.3.0-rc5

05 Nov 17:03
ef966b1
Compare
Choose a tag to compare
v2.3.0-rc5 Pre-release
Pre-release

Changelog

  • ef966b1 chore: set beelocal branch to update-k3s-1.30.3 and go 1.23 upgrade (#4878)
  • fb6c2e8 feat: add commited depth field to status protocol (#4892)

v2.3.0-rc4

01 Nov 00:17
e161ee8
Compare
Choose a tag to compare
v2.3.0-rc4 Pre-release
Pre-release

Changelog

v2.3.0-rc3

30 Oct 15:11
Compare
Choose a tag to compare
v2.3.0-rc3 Pre-release
Pre-release

Changelog

v2.3.0-rc2

29 Oct 13:03
243bd3c
Compare
Choose a tag to compare
v2.3.0-rc2 Pre-release
Pre-release

Changelog

v2.3.0-rc1

29 Oct 12:13
f5ba590
Compare
Choose a tag to compare
v2.3.0-rc1 Pre-release
Pre-release

Changelog

v2.2.0

12 Sep 13:34
06a0aca
Compare
Choose a tag to compare

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.

v2.1.0

28 May 10:21
de7eccc
Compare
Choose a tag to compare

v2.1.0

The Bee team is excited to announce the v2.1.0 release. 🎉

In this release, localstore transactions have been refactored to bring increased stability and performance gains.

We have also detected that some nodes have experienced the corruption of their reserves. To address this, the release introduces the new bee db repair-reserve --data-dir=... command, which will scan the node’s reserve and fix any corrupted chunks. All node operators should make sure to run this command immediately following the update.

Warning

Make sure to run the command one by one rather than concurrently for nodes which are running on the same physical disk, since running the command concurrently on multiple nodes could lead to drastic slowdowns. As is the case with all the db commands, the nodes must be stopped first.

The release also includes a new redistribution contract which introduces a limit to the number of freezes per round. The specific rate of the limit is configurable by the team. At the time of the release, the default behavior will be the same as the old contract. The goal of the new db repair-reserve command and the localstore improvements is to decrease the freezing rate so it is closer to an acceptable level, in which case the freezing limit can be left untouched.

The Bee team will also coordinate the pausing of the old contract based on a predetermined block height of the Gnosis Chain.

With this release, the endpoints under the Debug API have been also included in the main API. The Debug API will be removed entirely in the next release (v2.2.0)

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

Features

  • A new redistribution contract has been released that controls the freezing limit. #240

Bug fixes

  • Fixed an error when uploading the same file with pinning multiple times. (#4638)
  • Fixed a data race in the reserve sampler which may resolve inclusion proof related errors in the redistribution game. (#4665)

Hardening

  • Localstore refactoring (#4626)
    • The same leveldb transaction is now used for both indexstore and chunkstore writes.
    • The stewardship upload endpoint now requires a valid batchID in the request header.
    • When the reserve capacity is reached, only enough chunks to fall below the capacity are evicted. Previously, the evictor would remove the entire bin of chunks belonging to a batch, without regard to how much capacity is recovered during the process. With this change, the loss of chunks belonging to shallower bins than the storage radius in the neighborhood is minimized.
    • When the radius decreases, the bins which have been evicted previously are all properly reset to re-initiate syncing.
  • Improved logging when the node is out balance for buying a batch. (#4666)

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