Skip to content

v2.5.0

Latest
Compare
Choose a tag to compare
@istae istae released this 11 Mar 10:21
· 12 commits to master since this release
5ec231b

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 of null ( #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 deprecated ethereum 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 added SwarmActHistoryAddressHeader 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