Skip to content

Releases: ethersphere/bee

v0.5.2

01 Mar 10:40
4a598b6
Compare
Choose a tag to compare

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

24 Feb 11:03
65ec2d0
Compare
Choose a tag to compare

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 the swap-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

09 Feb 07:41
bd14a67
Compare
Choose a tag to compare

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 seeing incompatible 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

20 Jan 09:34
dd6aa73
Compare
Choose a tag to compare

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

15 Dec 13:49
4b98b68
Compare
Choose a tag to compare

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.

v0.4.0

24 Nov 12:51
625d64e
Compare
Choose a tag to compare

Release notes

This release of Bee contains important new features, maintainability improvements, bug fixes, and performance increases.

Features:

  • PSS mailboxing, meaning that you will now receive PSS messages—even if you were offline at the moment that the message was sent
  • Un(pinning) API for files and collections, we complete the pinning API such that you can now pin and unpin your files and collections
  • Granular management of the pin-counter, which allows the user to force-unpin certain chunks. This feature is only advised for advanced users of Bee.
  • Listing pinned chunks with pages
  • Expose underlay address (logs/API) for nodes that are under a NAT protocol

Bug fixes:

  • Remove anonymous field in tag reply
  • Solve data inconsistency problem related to synching and garbage collection
  • Improve concurrent handling of SWAP updates
  • Passing context properly in protocols

Performance improvements:

  • Optimization of resource usage of hashing upon upload an download
  • Do not wait for the NAT manager to be ready in standalone mode
  • Terminate idle connections on Bee HTTP server by adding timeouts to requests

v0.3.1

07 Oct 12:44
2918ec2
Compare
Choose a tag to compare

This release addresses some of the problems discovered in the v0.3.0 release:

  • Disconnect peers that have no SWAP beneficiary when trying to pay
  • Improve the accounting flow so that settlement of actual debt is already triggered in the Reserve stage
  • Correctly return HTTP Not Found status on certain errors when downloading a file or a chunk

v0.3.0

28 Sep 14:42
2696c81
Compare
Choose a tag to compare

TL;DR

Bee Beta contains the required features to build rich applications on top of Swarm. This release adds:

  • Bandwidth incentives (on the Görli test network) are enabled by default
  • Zero-leak messaging (Pss)
  • External signer support (Clef)
  • Improved sync and download performance
  • Breaking changes on protocol level (TL;DR - just update your nodes)

We invite you to try it out and get in touch at our BeeHive or Telegram.

Milestone

Bee's third release marks a major milestone of the Bee project; we believe that developers can now unleash rich applications over Swarm with a good balance of performance and security. We understand that as the Swarm ecosystem develops, developers might need access to low-level APIs in order to develop a rich application experience, we therefore also offer a set of low-level APIs that allow you to interact with the Swarm network in your own, custom way.

We invite you to use our APIs. Your feedback would be beneficial for us to further improve them in the future.

Breaking changes

Several breaking changes were introduced with this version. You are advised to update your nodes promptly.

Bandwidth incentives

Bee Beta contains the basis for the Swarm bandwidth incentives. You will now earn gBZZ (Görli BZZ) by running your Swarm node.
Conversely, you are required to pay with gBZZ in order to upload and download content. You can get gBZZ at our faucet - check our documentation on how to fund your node's chequebook.

Zero-leak messaging

Bee Beta releases the second iteration of Pss (Postage service over swarm). Pss is zero-leak messaging over Swarm that allows for confidential, anonymous and untraceable node-to-node communication. Pss comes with a websocket API that allows clients to send a message to a recipient on an overlay address as well as to subscribe to a topic and receive messages.

External signer

Bee now supports an external signer (Clef) for security reasons to allow private keys not to be exposed to client process.

Speed improvements

Uploading and downloading data to Bee is now significantly more performant than it used to be(e).

Documentation

All new features are documented in our documentation.

Get in touch

As mentioned, we invite you to start building your applications on top of Swarm. We welcome discussions and collaborations. Get in touch with us via Telegram or the Beehive.

v0.2.0

31 Aug 16:00
c5ad0c0
Compare
Choose a tag to compare

The second release (AKA Bee Summer) of Bee improves the utility of the DISC (as released in v0.1.0) and lays the foundation for Swarm bandwidth incentives. To that end, we:

  1. Add the necessary utilities for developers to start building unstoppable applications on top of Swarm
  2. Add features which makes it possible for chunks to persist and be globally discoverable in the network
  3. Add features that improve the UX of already-released features
  4. Lay the foundation for Swarms bandwidth incentives, ultimately ensuring a self-sustaining network with economically incentivized replication of popular content

This release of Bee comes with a new documentation.

More in detail, the added features are (grouped per category):

  1. Create unstoppable applications with:
    a. Manifests: a way to represent a collection in Swarm. Use this feature to upload directories or websites to Swarm.
    b. Single owner chunks: A special type of chunk where the address is identified as the hash of the owner and a configurable identifier. You can play with the identifier to create all kinds of funky chunks (e.g. feeds) in your virtual personal Swarm address space.
    c. Seek in content: Added the necessary nuts and bolts so you can seek in content that is hosted in Swarm. This allows you, among others, to play video content in your browser.
    d. name resolution: Content addresses are hard to read and even harder to memorize. That is why you can add name resolution. ENS and RNS name resolution is supported out-of-the-box.
    e. encryption: encrypt content by the Bee node before uploading.

  2. Persistence of content with help of:
    a. Local pinning: ensures that certain chunks are not garbage collected on your node.
    b. Global pinning: makes locally pinned chunks globally discoverable.

  3. Improved UX of existing features:
    b. Tags: follow the status of your upload with tags.
    c. Printconfig: a new command to the bee node, allows you to print the current configuration (including all default values to the console)
    d. Install script. This handy install script detects what system you run and makes installing bee a breeze

  4. Swarm bandwidth incentives through:
    a. Accounting in retrieval and push sync: Bee nodes will count the services (download and upload) received and utilized per peer connection
    b. Mock settlement protocol: when the accounting signals that there is a big difference in services consumed versus provided per peer connection, the mock settlement protocol allows for sending and receiving mock payments to set the balance back to zero.

All new features and UX improvements are thoroughly documented in the new documentation.

As always you can reach out to us with bug reports and support requests through GitHub and Mattermost.

v0.1.0

29 Jun 13:55
339a35a
Compare
Choose a tag to compare

Release notes

The first release of bee lays the foundation for the Swarm network, aimed at offering storage and communication infrastructure for a self-sovereign digital society. The bee client implements a node in the Swarm and will allow operators to collectively implement a Distributed Immutable Store of Chunks (DISC), described in chapter 2 of the Book of Swarm (swarm-gateways.net/bzz:/latest.bookofswarm.eth/).

To that end, we have implemented:

  • Discovery and topology: upon startup, you bee node will connect with other nodes, to form an overlay network with Kademlia topology.
  • Retrieval: when you download from Swarm, you retrieve chunks from the network using forwarding Kademlia routing with response backwarding to locate chunks and to deliver them.
  • Push sync: When you upload to Swarm, chunks are pushed immediately to the place in the network where they belong. This process is similar to the inverse process of retrieval.
  • Pull sync: this protocol helps nodes to sync on chunks in order to replicate chunks in a local ndeighbourhood. It ensures that chunks stay in the place where they belong according to the network topology even in the face of nodes continuously leaving and joining the network.

On top of the DISC, we added a simplistic chunker and joiner, allowing you to upload and download files.

The focus has been on correct design and simplicity. Performance optimizations and non-essential features are left out deliberately.

You can interact with the bee node via HTTP API, which offers endpoints to upload and download chunks and inspect the state of the node. Further documentation is found at swarm-gateways.net/bzz:/docs.swarm.eth/