Releases: ethersphere/bee
v1.0.0
Release notes Bee v1.0.0
Hello world, bee 🐝
-
The mainnet will become operational soon. Please follow Swarm's twitter (@ethswarm) to be among the first Bee's that run on mainnet.
-
The Goerli testnet (network id 10) will be reset today - June 21, 2359 CET.
-
The BZZ token addresses are:
- BZZ (Ethereum main chain): 0x19062190b1925b5b6689d7073fdfc8c2976ef8cb
- xBZZ (Bridged BZZ on xDAI): 0xdBF3Ea6F5beE45c02255B2c26a16F300502F68da
-
The following system contracts are deployed on xDAI Ethereum sidechain, to facilitate the economics of the Swarm:
- Chequebook factory: 0xc2d5a532cf69aa9a1378737d8ccdef884b6e7420
- Postage stamp: 0x6a1a21eca3ab28be85c7ba22b2d6eae5907c900e
- Bandwidth price oracle: 0x0FDc5429C50e2a39066D8A94F3e2D2476fcc3b85
-
Bridge your BZZ to xDAI, using xDAI's omni bridge
-
Run your own xDAI node or utilize a public RPC endpoint such as getblock.io
Breaking changes
- The testnet networkID has changed to
10
, making place for the mainnet to take networkID1
. In case you need to specify a custom network ID - please update the networkID in your configuration file. - Your node will start by default in testnet configuration. If you'd like to use
bee
on the mainnet please specify the--mainnet
flag. These default configurations make sure that your nodes has the right network ID and the right bootnode settings. - Introduce non-minable overlay addresses, which makes it much harder and costly for node operators to choose their overlay, thereby improving the security of the Swarm network (#2108)
Improvements
- Add a disclaimer on startup and in our README (#2147)
- Increase the likelyhood that all chunks fall in their natural location by retrying the upload of those chunks from which we suspect they did not land in their natural location (#2049)
- Making the push-sync protocol resilient against closest-peer malfunctioning (#2066)
- Replicate chunks in the nearest neighborhood if our node is the closest to a chunk (#2115))
- Protect the user against using a stamp too soon, by not allowing the usage of a postage batch for 10 blocks after it was purchased (#2063)
- Change the global refreshment rate to 45% of the current refresh rate (#2142)
- Improve the useability of postage stamps and content-management by adding additional information to the
GET /stamps
endpoint (#2051) - Optimize the storage space utilization (#2071)
- Prevent the loss of postage batches, by reading information on postage batch creation from the chain (#2080)
- Allow nodes to connect to other nodes that did not deploy a chequebook, thereby paving the way for zero-eth, zero-bzz and zero-xDAI entry to the network (#2102)
- Ensure that the proper gas-limits are passed on xDAI by hard-coding the gas limits for that chain (#2102)
- Improve the handling of blockchain-transactions (#1469)
- Protect against overissuance of postage stamps and allow the transfer of part of the stamps under a postage batch (#1625)
- Allow the price for bandwidth to fluctuate and deduct an initial amount from the first-received cheque from a peer (#1925)
- Increase the resilience against churn by:
- Ensure the profitability and security of forwarder nodes by only letting originator nodes pay with cheques (#1870)
- Several bug fixes and cleanups
v0.6.2
Release notes Bee v0.6.2 🐝
Dear node operators,
After a week of observing our cluster, testing and flying with Bee v0.6.* in the wild, we present you the v0.6.2 release.
Thank you all for your patience and helping us with the real-life testing!
For questions and support, please join our Discord
Notable improvements over v0.6.0
- Fix a panic that can happen when the statestore is closed (#1807)
- Correctly decode and interpret the
transaction
configuration parameter (1810) - add gas price setting for deployment and initial deposit (#1812)
- Be able to handle incorrect protocol messages in pullsync (#1851)
- Revert updating to go 1.16 because one of our dependencies can't handle the newest Go version. Use go 1.15 instead #1855)
- Disable the pull sync as a light node (#1883). Please note that this means that a light node cannot receive PSS message.
- Limit number of light nodes that a full node accepts (#1898)
- Shutdown the node when the connection with Infura times out (#1868)
- Several performance optimizations across our protocols. Interested people can look up the git-log
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 thefull-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, thedb-capacity
flag was changed tocache-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 thefree bandwidth allowance
feature now allows starting a node without a chequebook. Please take note that nodes which deployed their chequebook with beev0.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 withv0.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 bev0.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)]...
v0.6.1
Release notes Bee v0.6.1 🐝
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 thefull-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, thedb-capacity
flag was changed tocache-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 thefree bandwidth allowance
feature now allows starting a node without a chequebook. Please take note that nodes which deployed their chequebook with beev0.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 withv0.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 bev0.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
v0.6.0
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 thefull-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, thedb-capacity
flag was changed tocache-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 thefree bandwidth allowance
feature now allows starting a node without a chequebook. Please take note that nodes which deployed their chequebook with beev0.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 withv0.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 bev0.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.0
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.0
docker pull quay.io/ethersphere/bee:latest
docker pull quay.io/ethersphere/bee:beta
v0.5.3
Release notes v0.5.3
Dear Swarm supporters and Bee users, over the past few weeks we've been looking into various issues that have been reported by the community in an effort to improve the user experience and resource usage of bee. This release has plenty of improvements to performance, node configurability, metrics as well as the usual refactorings and cleanups. We'd like to thank all of you for your significant contributions, be they with bug reports, PRs of all sorts, debugging profiles and just test driving version candidates on our Discord channels! We're humbled by your engagement and we hope you enjoy this latest release <3
Notes
We've exposed some of the underlying leveldb configuration parameters through new CLI flags of bee. You can now tweak your setup without having to rebuild the image every time you'd like to adjust a parameter. Important to note: since the Swarm working set is over 20 gigabytes of data, leveldb has to have enough open file limit allowance for it not to be overburdened by continuous opening and closing of file handles to retrieve blocks.
We therefore recommend node operators to set the number of open file limit to at least 7200 open files. We did not set this value by default as this might be out of bound for certain setups and operating systems, resulting in a setup which is broken by default, however you are highly encouraged to set this number anywhere between 7200-12000.
If you experience high I/O you can also toggle the disable seeks compaction option. Block cache and write buffer are also adjustable, and you are free to experiment with them and see what works best for your setup.
Features:
- Allow specifying an account for clef, enabling one clef instance to control multiple bee instances (#1313)
- Prevent users from starting with a different overlay address (#1377)
- Bootstrap Debug API in two phases to allow health checks response while node is still starting (#1358, #1370)
- Expose levelDB configuration parameters through CLI flags (#1454)
- Increase default cashout gas limit to 300K and allow gas price and gas limit to be specified through the cash debug API with headers (#1455)
Performance improvements
- Limit the number of kademlia connections per bin to 16 outside of depth (#1352) and (#1399)
- Coalesce pull sync writes to localstore (#1386)
- Improve context handling in push sync (#1416)
- Increase batch size for garbage collection (#1424)
- Reduce number of pusher concurrent jobs (#1430)
- Improved localstore lock contention by reducing GC critical section (#1435):
- Utilize falling edge detection to await notifying subscriptions when there is a write to the database (#1484)
- Balanced bins in Kademlia (#1207, #1453)
General improvements
- Improvements to logging (#1360, #1379)
- Don't accept incoming connections before the node is online (#1390)
- Add expiration to connection attempt to bootnode (#1407)
- Fix a security issue with CORS headers (#1421)
- Fix panic by returning previously swallowed error (#1426)
- Fix typo in bee-get-addr for homebrew (#1460)
- Refactor content-addressed chunks and single-owner chunks (#1363) (#1394)
- Remove abigen-generated bindings (#1361, #1360, #1362)
- Added metrics to a bunch of places and fixed how we collect metrics at some (#1373, #1410, #1417, #1427, #1446, #1373)
v0.5.2
Release notes 0.5.2
The 0.5.2 release includes two essential patches
- Disk I/O is reduced by configuring LevelDB more efficiently (#1339)
- Set the
payment-threshold
field as a copy, instead of a reference (#1329)
There was one minor patch, making it possible for MacOS users who use brew to update their bee node (#1334)
Lastly, the deploy
command was added to bee. This command deploys a chequebook if needed, thus reducing the time for the main service to start up and allowing bee to start in environments which have strict requirements on boot-up time (such as Windows) (#1314)
Docker images
docker pull ethersphere/bee:0
docker pull ethersphere/bee:0.5
docker pull ethersphere/bee:0.5.2
docker pull ethersphere/bee:latest
docker pull ethersphere/bee:beta
v0.5.1
Release notes
This release is mostly characterized by bug fixes 🐛, but also includes some minor new features 🎉.
FEATURES 🎉:
- CORS is now enabled on the debugAPI, allowing application developers to use the endpoints in the debugAPI (#1288)
- ARM support for dockerized bee, allowing easy installation of bee on Raspberri Pi! (#1315)
- allow DNS entry inside
nat-addr
option to enable usage of dynamic DNS (#1278) - Most packages in the bee code now include go.doc documentation (#1152). Have a look at go.doc
- The standard configuration file for bee package managers was updated, now enabling the debuAPI by default, using the slock.it rpc endpoint for
swap-endpoint
updating the default values to be in line with the new defaults of the bee node and enabling the clef-signer by default. (#1230, #1327) Note: we reccomend setting theswap-endpoint
to an endpoint which you maintain yourself.
BUG FIXES 🐛:
- The feeds feature now works (#1259, #1246)
- A memory leak was fixed by better handling of streams in the libp2p networking package (#1282, #1290)
- Upon loading the statstore, bee now attempts to repair a corrupted state (#1253)
- The
bee-get-addr
command now directs the user to the bzzaar (#1228) - The hasher package now correctly handles wrapping chunks in the deeper levels (#1267)
- On updating the bee package in homebrew, the password does not anymore automatically reset (#1231).
- We improved the logic on how we are sending transactions to the blockchain, making it less likely that a transaction will get stuck and reducing the burden on the connected Ethereum node (#1266, #1308, #1310)
- The bee node does not anymore accept two SOC's with the same address, preventing the user from corrupting his private address space in Swarm (#1256)
- Previously deleted tags are not anymore reinserted in the database when the node restarts (#1255)
Docker images
docker pull ethersphere/bee:0
docker pull ethersphere/bee:0.5
docker pull ethersphere/bee:0.5.1
docker pull ethersphere/bee:latest
docker pull ethersphere/bee:beta
v0.5.0
Release notes v0.5.0
This Bee release is a breaking release. We kindly ask all node operators to update their nodes as soon as possible to ensure continuity of the network.
Breaking changes:
- A new testnet token is deployed and used by the node. This redeployment happened to facilitate integration with the new Bzzaar and means that new nodes won't connect to old nodes.
- The default values for any token-related configuration has changed since the new gBZZ token has 16 decimals instead of zero. If you start Bee with a custom configuration, please ensure that you base your configuration on the right default values.
- The handshake protocol version was updated from 1 to 2 and the signed payload is now prefixed with
bee-handshake
so that the security properties of the signing module can be improved. You will be seeingincompatible stream: protocol not supported
error messages in your terminal output until all nodes in the network have been upgraded. - the
/chunks
endpoint has two notable breaking changes: i) it will only accept content-addressed chunk uploads, and ii) it does not require a precalculated BMT hash in order to upload a chunk. The node will calculate the BMT hash for the given span and chunk content, and will return the BMT hash in the response. For uploading single-owner chunks, please refer to the/soc
endpoint documentation in our OpenAPI spec.
Non-breaking changes/additions:
- Bee now supports swarm feeds. You can now use feeds from your ENS entry and have automatic feed indirection using the
/bzz
endpoint. - We made it easier to follow the progress of your upload by revamping
tags
. - The pushsync protocol is refactored and we worked out some rough edges. This improves protocol resilience.
- Tags will no longer be auto-generated on the
/chunks
endpoint. Please create your custom tag and attach it to all chunks that belong to a single upload. - We added the
/blocklist
debugAPI endpoint which shows what peers are banned from interacting with your node. - The boot-up sequence now detects when you connect to an Ethereum node that is not synced and pauses the Bee node until the Ethereum node is synced.
- The boot-up sequence now waits for bee-clef to boot up instead of immediately returning an error.
- We improved the observability of the retrieval protocol with better metrics.
- We improved the observability of the libp2p networking stack by adding metrics.
- We added metrics to track the availableBalance, which makes it possible to programmatically create warnings when your node running out of token balance.
- The retrieval protocol now sends preemptive retrieve requests when a certain peer appears to be slow, resulting in improved resilience of the protocol.
- The logs are improved to enhance understanding of what the node is doing.
- The default address for IPv6 was changed to be aligned with the default address of IPv4.
v0.4.2
Release notes
This release of Bee adds the following features and improvements:
- Chunks are fetched from the network when you attempt to pin content that is not available locally. Please note that this operation should be regarded as a fall back; the recommended use is to ensure that the content is available in your localstore and only after that do the pin operation.
- Non-encrypted content which is uploaded via the
dirs
endpoint are now idempotent, meaning that uploading the same content twice will result in the same Swarm hash - The Bee node can now write logs to the Windows Event Log
- Your node's version will be from now on printed on startup
- Push sync metrics are simplified to facilitate better visibility on what happens during content-upload
v0.4.1
Release notes
This release contains 3 essential improvements to the Bee:
- Increased reliability of upload and download through fixing an inconsistency in the way we maintain the addressbook of peer connections and cleaning the file path when uploading a directory
- Added support for docker compose, which creates an app container for Bee and Bee-clef
- Improved configuration of ENS, now allowing you to load a custom ens contract on any EVM chain which complies with the ENS interface.