github ethersphere/bee v0.6.1

latest releases: v2.0.1, v2.0.1-rc1, v2.0.0...
pre-release2 years ago

Release notes Bee v0.6.1 🐝

⚠️ Bee v0.6.1 contains a few important improvements over v0.6.0, but is not stable. Node operators are advised to continue operating v0.5.3 until further notice in our Discord channel

Release notes Bee v0.6.0 🐝

The long-awaited v0.6.0 release is out. This release contains many new features and improvements, all focused on hardening your Bee node and the network.

Users should be aware that updating your node includes a migration path to ensure that there is no content stored by your node that does not have postage stamps. Users who pin content need to manually migrate their data.

The release also features a brand-new documentation and will soon be followed by releases of bee-js and the swarm-cli and bee-dashboard

New features

  • ⚠️ The light node feature enables you to use Swarm while requiring minimal resource consumption of your system. A light node can be used to upload and download content or receive PSS messages. It does not store chunks or forward traffic (#1458). Please take note that the default configuration of a node is to be a light node if you want to be a full node, you will have to explicitly mention this by configuring your node with the full-node flag.
  • ⚠️ Postage stamps enable the persistence of content based on a costly signal on the blockchain. By doing so, maximizing the utilization of the DISC (#1562). Please take note that adding a postage stamp is now compulsory on each upload. Migrating to v0.6.0 will remove all un-pinned chunks without stamps. If you are pinning content, please ensure this is backed up and unpin all content before updating. Instead of unpinning all content, you can also manually erase the <path_to_data-dir>/localstore. As part of this change, the db-capacity flag was changed to cache-capacity. Lastly, there exists a known issue that may cause the loss of locally pinned chunks when a node is not properly shut down
  • Bee nodes now give each other a limited amount of bandwidth allowance per time for free! This means that downloading from Swarm is possible without on-chain interaction if you stay within this limit. The current, monetary way, of settling bandwidth debt is provided for those nodes that want to use more bandwidth than is provided for free (#1711)
  • You can now instruct your Bee node to re-upload previously-pinned content by using the PATCH /bzz/{address} endpoint (#1705)
  • A brand-new ASCII-art Bee in the logs and README (thanks asciiart.eu) (#1761)

Hardening

  • ⚠️ Reduce the possibility of launching a DDOS attack on the network by requiring at least one interaction with Ethereum. This change was needed because the free bandwidth allowance feature now allows starting a node without a chequebook. Please take note that nodes which deployed their chequebook with bee v0.5.0 will have to be started with the --transaction TXHASH flag where TXHASH is any Ethereum transaction on goerli network sent from the bee node's Ethereum address. The hash of the chequebook deployment transaction can be used for this and can be looked up on etherscan. For nodes which first started with v0.5.1 or higher no action is necessary, as their chequebook deployment transaction will be automatically picked-up by the Bee node. (#1655)
  • To improve the reliability of receipts to know whether an upload was successful, each storer node now signs the storage receipts of chunks that belong to their neighborhood. The signed receipt is passed back and validated by all forwarder nodes and the uploader (#1431).
  • Make it more likely that nodes share the same view on who belongs to a neighborhood by redefining how Swarm calculates the depth--not allowing unsaturated bins outside the depth (#1553).
  • Prevent SWAP imbalances by defining a separate context for push-sync replication within the neighborhood (#1567).
  • Change the maximum depth of the network to 32, allowing 2^32 neighborhoods. (#1593)
  • Disconnect from peers that have a payment threshold that is too low. (#1635)
  • Apply rate limiting on peer gossiping. #1654
  • Bootnodes kick out old nodes when reaching a certain threshold, ensuring a reasonable resource consumption by the bootnodes (#1715)
  • No longer use the slock.it RPC endpoint by default. Instead, instruct the user to run their node or create an API endpoint with Infura (#1731).

Improvements to existing features

  • ⚠️ Removal of /files and /dirs endpoints. Individual files can now be uploaded on the /bzz endpoint (#1501).
  • ⚠️ /cashout endpoint updated to make it easier to manage uncashed cheques. If you programatically manage your uncashed cheques, be sure to update it (#1402).
  • The pinning API has been completely rewritten to expose basic operations over pinned content (#1566)
  • Improved handling of blockchain transactions (#1484), (#1487), (#1465)
  • The checksums are now signed by our GPG key. To validate the authenticity of your node: download the checksums, validate the signature and compare against the checksums of your version (#1581)
  • Allow the handling of non-standard, bee-specific headers via the browser through CORS preflight requests. (#1597)
  • Use the correct HTTP response code when creating a new resource (#1611)
  • Log welcome message on incoming connections (#1590)
  • Close the NAT manager on node shutdown. (#1622)
  • Update to go 1.16 (#1657)
  • The /topolgy endpoint in the debugAPI now exposes metrics, allowing you to know more about your peer connections (#1658)
  • Change the default initial deposit to 10000000000000000 PLUR (1BZZ) (#1657)
  • Improvements to feed-lookup algorithm (#1548)
  • Increase the default bin size to 8 (#1729)

Bugs

  • Improve consistency of addressbook by adding additional libp2p verifications. ([#1696])(#1696)
  • Several improvements to push sync to ensure a chunk is pushed to the neighborhood, even in face of errors via some routes (#1662)
  • Fix overflow bug in pull sync (#1609)
  • Print bee version to stdout instead of stderr. (#1660)

Efficiency improvements

  • Unneeded pull syncing in the network is reduced by only syncing within the nearest-neighborhood (#1537)
  • Improve localstore lock contention when putting single chunks that already exist in the store. This prevents acquiring the lock for already existing chunks (#1568)
  • Reduced the cost to deploy a chequebook by a factor of 10, by utilizing a proxy pattern. This change requires bee-clef to be v0.4.12 or higher if you don't have a chequebook deployed yet (#1539).
  • Build up a healthy topology faster by establishing connections concurrently. (#1647)
  • Reduce resource consumption (IO/CPU/memory) on live pull syncing with multiple peers (#1683)
  • Improve the efficiency of retrieval and push sync by doing settlement asynchronously (#1578)

Misc

  • Database export/import functionalities are now available to facilitate integration testing and enable a smooth future migration path (#1580)
  • Allow configuration of how many Ethereum calls are done by exposing the block-time configuration parameter. Adjustment of this parameter is not advised on the Goerli network (1697)

Docker images

  • docker pull ethersphere/bee:0
  • docker pull ethersphere/bee:0.6
  • docker pull ethersphere/bee:0.6.1
  • docker pull ethersphere/bee:latest
  • docker pull ethersphere/bee:beta
  • docker pull quay.io/ethersphere/bee:0
  • docker pull quay.io/ethersphere/bee:0.6
  • docker pull quay.io/ethersphere/bee:0.6.1
  • docker pull quay.io/ethersphere/bee:latest
  • docker pull quay.io/ethersphere/bee:beta

Don't miss a new bee release

NewReleases is sending notifications on new releases.