Releases: ethersphere/bee
v2.6.0-rc5
v2.6.0-rc4
v2.6.0-rc3
v2.6.0-rc2
Changelog
- f191ab0 revert: "feat(libp2p): enable websockets transport by default (#5095)" (#5102)
- e188a40 revert: "fix: update libp2p and use share listen address functionality… (#5101)
- f1f7642 chore(deps): bump github.com/ethereum/go-ethereum from 1.14.3 to 1.14.13 (#4970)
- 165d294 chore: update abis (#5099)
- 1dd0cbc feat: import batches from exported postage contract events log file (#5094)
- 4c81fd5 refactor: use slices.Contains to simplify code (#5087)
v2.6.0-rc1
Changelog
- a8a31a5 chore: update abi (#5093)
- 9c05546 feat(libp2p): enable websockets transport by default (#5095)
- 6c08f77 revert: defaultBgCacheWorkers from 128 to 32 (#5090)
- 7e10b69 revert: "feat(pushsync): forward chunk after storing (#5037)" (#5088)
- 455a3d5 chore(deps): bump golang.org/x/net from 0.33.0 to 0.38.0 (#5078)
- 6e51a8a feat: exit warmup dynamically based on Kademlia peer stabilization (#5077)
- b7bc25a chore: golang v1.24 (#5083)
- c2f300a chore: fix some typos in comment (#5075)
- 39e9dc8 fix: update libp2p and use share listen address functionality (#5069)
- 6dfa847 chore: fix some function names in comment (#5065)
- 4ee9909 fix: prometeus vector variables as pointers (#5064)
- 13eebcb chore: add logs to exit errors (#5063)
- 38eb6e4 feat: add metrics to status protocol (#5059)
- 2cc5d53 feat: feed legacy payload header (#5029)
- 87306d6 feat: remove code owners (#5054)
- 6ab75cb feat: add isWarmingUp to status response (#5047)
- 0b54b10 chore: fix some comments (#5052)
- e93677b feat(pushsync): forward chunk after storing (#5037)
- aa6868b chore: remove deprecated swap-endpoint and swap-deployment-gas-price (#5048)
- 8eb41d5 docs: remove outdated auth related entries (#5050)
- 8beece5 chore: update release triggers (#5035)
- b7099a3 refactor: replace golang.org/x/exp with stdlib (#5042)
- 44adaea refactor: use a more direct and less error-prone return value (#5036)
- 2f1c9e3 fix: chequebook error msg and
/stake
openapi (#5040) - bbc28d0 chore: fix some struct field names (#5041)
v2.5.0
The Bee team is elated to announce the v2.5.0 release! 🎉
Our focus this time around is on improvements to uploads and downloads. We've made several optimizations to the pusher, pushsync protocol, and peer routing.
The release also includes various bug fixes and API related changes, so make sure to check out the full list below.
For questions, comments, and feedback, reach out on Discord.
See the pre-release blog post here.
Features
- Added a new profiling tool method under
/debug/fgprof
that profiles both CPU and I/O operations ( #4984 ).
Bug fixes
- Fixed an issue with the chunk streams API where the tag stats were not being updated ( #4920 ).
- Fixed a stewardship iterator bug with respect to file references uploaded using the
/bytes
endpoint and erasure coding ( #4955 #4996 ). - Fixed a bug where in rare circumstances the uint64 chunk cache size would underflow ( #4986 ).
- Fixed a tag related bug where if a tag associated with an active upload were to be deleted, the syncing of chunks would get stuck ( #4995 #5018 #5019 #5032 ).
- Fixed an ACT upload bug for the
/chunks
and/soc
endpoints ( #5008 ).
Optimizations
- Various improvements in pusher and pushsync protocols ( #4958 ).
- The pusher now only checks if a chunk's batch exists, and does not do a full verification of the stamp before pushing the chunk to the network.
- Forwarder nodes in a pushsync request no longer perform receipt validation for shallow receipts.
- Origin nodes allow for some tolerance for shallow receipts by a factor of the maximum allowed reserve doubling.
- Max parallel workers count in the pusher has been raised to 128.
- Closest peer selection used by pushsync and retrieval protocols now processes fewer peers by ignoring peers whose proximity order is beyond the proximity of the chunk and the pusher node's address.
API Changes
- Added OpenAPI Content-Type field to
HEAD /bytes
endpoint ( #4915 ). GET /pins
now returns empty array instead ofnull
( #4971 ).- Removed the
/stake/migrate
obsolete endpoint from the OpenAPI specs ( #4945 ). - Changed the OpenAPI default value of the deferred uploads header to
true
( #4956 ). - Fixed an issue where
Access-Control-Expose-Headers
were not being formatted and set correctly ( #4960 ). - Fixed OpenAPI specs for the
/status/neighborhoods
and/status/peers
endpoints ( #4972 ). - Added a new field
chain_address
to the/addresses
endpoint, which will replace the now deprecatedethereum
field in a future release ( #4978 ). - Fixed the OpenAPI response type for
PATCH /tags/{uid}
( #4979 ). - Added the
SwarmActTimestampHeader, SwarmActPublisherHeader, SwarmActHistoryAddressHeader
as CORS headers for ACT related uploads and addedSwarmActHistoryAddressHeader
to the AccessControlExposeHeaders for ACT related uploads/downloads ( #5008 #5024 ).
Hardening
- Changed the default Testnet blocktime to 12 seconds ( #4969 ).
- Set sane defaults to several config options like bootnode address and blockchain block time ( #4998 ).
For a full PR rundown, please consult the v2.5.0 diff.
New Contributors
- @darkobas2 made their first contribution in #4895
- @binchengqu made their first contribution in #4905
- @thirdkeyword made their first contribution in #4916
- @mfw78 made their first contribution in #4943
- @PabloCastellano made their first contribution in #4988
- @hugehope made their first contribution in #5011
- @bosi95 made their first contribution in #5008
- @asabya made their first contribution in #4819
v2.4.0
This release is dedicated to the memory of ldeffenb, who recently passed away.
ldeffenb was an irreplaceable pillar of the Swarm community—undoubtedly the most active, knowledgeable, kind, dedicated, and selfless individual among us. He touched lives throughout the community, always offering invaluable help and support. In addition to personally assisting community members, he made countless contributions to testing new candidate Bee versions, playing a critical role in identifying and resolving important issues. His efforts were always entirely altruistic, driven by a genuine desire to help others and improve Swarm to fulfill the project's vision.
His sudden passing is a tremendous loss to us all, and his absence is deeply felt across the entire community. Outside Swarm, ldeffenb was also an active participant in other non-commercial community projects, where he held a similarly vital role.
In his honor, Bee v2.4.0 will include a new line in the startup message logs: "Share the knowledge." This simple yet profound message was ldeffenb's personal slogan, encapsulating his spirit and values, which he consistently demonstrated through his actions.
Bug fixes
- Fixed a bug where pushsync requests would get stuck due to connectivity problems with the storer neighborhood nodes ( #4950).
For a full PR rundown, please consult the v2.4.0 diff.
v2.3.2
v2.3.1
v2.3.0
v2.3.0
The Bee team is pleased to announce the v2.3.0 release. 🎉
Reserve Doubling for Optimized Node Rewards
The most anticipated feature of this release is the new ability for node operators to double the reserve capacity of their nodes to store chunks from a “sister” neighborhood. By storing chunks from its sister neighborhood, a node gains the opportunity to participate in the redistribution game whenever its sister neighborhood is selected, doubling its chances of participating in the redistribution game. The amount of doubling is controlled by a new config option, reserve-capacity-doubling
which by default is 0 and is currently capped at 1.
See the Official Release Announcement for more details.
Warning
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.
Graffiti Several Owner Chunks
GSOC features allows for uploads of multiple version of the same Single-Owner-Chunk but different payloads to be picked up by a subscriber in a distant neighborhood. The SOC addresses can be configured to target a specific neighborhood to trigger the message subscriptions of the listeners. A WebSocket connection can be registered for a particular SOC address using the new /gsoc/subscribe/{address}
endpoint to pick up the new payloads of the SOC in real time.
For questions, comments, and feedback, reach out on Discord.
Features
- Allow user to specify the retrieval redundancy level in the download headers ( #4814 ).
- Reserve size doubling allows for doubling of the reserve capacity to be able to participate in multiple sister neighborhoods. ( #4847 )
- Added a new status endpoint path,
status/neighborhoods
that returns the different neighborhoods the nodes is storing chunks for in string binary form, the proximity to the neighborhood, and the respective reserves sizes for each neighborhood ( #4853 ). - Added committed depth field to the status response. The committed depth is the current storage radius + reserve doubling amount ( #4892 ).
- Added a new status endpoint path,
- Graffiti Several Owner Chunks feature adds the ability to upload multiple versions of the Single-Owner-Chunk (SOC) to a specific neighborhood where owners of the neighbor nodes can subscribe to pick up latest versions of the same SOC in real time ( #4901 ).
Bug fixes
- Fixed a bug where block-chain transaction would get stuck in pending status mode due to faulty nonce calculation ( #4839 #4867 ).
- Fixed a bug where a node is unable to block-list peers if connected peers are all from inbound connections ( #4871 ).
- Several boot-node related fixes ( #4909 #4910 )
- The storage incentives agent can no longer attempt to participate in a round before the global warm up period is over ( #4898 ).
Optimization
- Improved reserve sampling duration by avoiding certain unnecessary crypto operations for SOCs and matching the worker count to the available number of CPUs ( #4882 ).
Hardening
- Readiness endpoint now returns a JSON response based on the initialization status of the node ( #4601 ).
- Reduced verbosity of some logs in kademlia and transaction packages from
Info
toDebug
( #4825 ). - Wallet endpoint can now be called even if swap is not enabled ( #4859 ).
- RCHash endpoint now returns the total duration in seconds ( #4862 ).