| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| bee_2.8.1_checksums.txt | 2026-07-07 | 1.7 kB | |
| bee_2.8.1_checksums.txt.sig | 2026-07-07 | 566 Bytes | |
| bee-2.8.1.arm.rpm | 2026-07-07 | 56.2 MB | |
| bee-2.8.1.x86_64.rpm | 2026-07-07 | 59.5 MB | |
| bee-2.8.1.aarch64.rpm | 2026-07-07 | 55.5 MB | |
| bee_2.8.1_amd64.deb | 2026-07-07 | 59.5 MB | |
| bee-2.8.1.386.rpm | 2026-07-07 | 29.1 MB | |
| bee_2.8.1_386.deb | 2026-07-07 | 29.2 MB | |
| bee_2.8.1_arm64.deb | 2026-07-07 | 55.6 MB | |
| bee_2.8.1_armhf.deb | 2026-07-07 | 56.3 MB | |
| bee-darwin-amd64.tar.gz | 2026-07-07 | 30.3 MB | |
| bee-darwin-arm64.tar.gz | 2026-07-07 | 29.2 MB | |
| bee-windows-386.zip | 2026-07-07 | 29.6 MB | |
| bee-windows-amd64.zip | 2026-07-07 | 30.2 MB | |
| bee-darwin-arm64 | 2026-07-07 | 54.8 MB | |
| bee-linux-386 | 2026-07-07 | 54.2 MB | |
| bee-linux-amd64 | 2026-07-07 | 57.7 MB | |
| bee-linux-armv7 | 2026-07-07 | 53.7 MB | |
| bee-darwin-amd64 | 2026-07-07 | 58.4 MB | |
| bee-linux-arm64 | 2026-07-07 | 53.4 MB | |
| bee-windows-386.exe | 2026-07-07 | 54.8 MB | |
| bee-windows-amd64.exe | 2026-07-07 | 58.0 MB | |
| README.md | 2026-07-06 | 12.9 kB | |
| v2.8.1 source code.tar.gz | 2026-07-06 | 1.2 MB | |
| v2.8.1 source code.zip | 2026-07-06 | 1.8 MB | |
| Totals: 25 Items | 968.5 MB | 0 | |
Bee v2.8.1 is a non-disruptive release focused on performance, data durability, and developer experience, with some operational cleanup. There are no breaking P2P protocol changes. Nodes on v2.8.0 can upgrade at any time without network-wide coordination. Highlights include opt-in SIMD-accelerated chunk hashing, a critical crash-safety fix for the chunk store, substantially reduced blockchain RPC traffic, and client-side stamping for browser-friendly uploads.
📖 Read the release announcement on the Swarm blog.
💬 Join us on Discord (#node-operators) if you have questions or feedback!
[!IMPORTANT] 📢 Upgrade notes
- Dev mode removed — the
bee devcommand is gone. For local development, migrate to Bee Factory or run against the Sepolia testnet configuration.- Bee v2.6.0 compatibility removed — nodes running v2.6.0 or older must first upgrade to v2.8.0, and only then to v2.8.1 (or reinstall fresh).
- SIMD hashing is opt-in — on Linux x86-64, enable hardware-accelerated BMT hashing with
--use-simd-hashing. With the flag off, behavior is unchanged.
New Features
-
SIMD-accelerated chunk hashing — Opt-in hardware-accelerated BMT hashing on Linux x86-64 (
--use-simd-hashing), reducing CPU cost during uploads and other hashing-intensive operations. (#5381) -
Client-side stamping over WebSocket — The
/chunks/streamendpoint now accepts pre-stamped chunks: omit theSwarm-Postage-Batch-Idheader to enter per-chunk-stamp mode. This enables browser-based uploads where keys never leave the client, parallel stamping across Web Workers, and per-chunk batch selection. (#5256) -
Reduced blockchain RPC traffic — The node now estimates progress from the average block time between syncs and uses a larger block page size when syncing from a snapshot, substantially cutting the number of RPC calls — good news for operators on paid RPC providers.
block-sync-intervalnow defaults to 10. (#5394, [#5504], [#5494]) -
Postage snapshot on
--resync— Resyncing postage events now bootstraps from the postage snapshot (unless explicitly skipped) and live sync resumes exactly where the snapshot replay stopped, making--resyncmuch faster and cheaper. (#5519, [#5517], [#5499]) -
Content-Type auto-detection on upload —
POST /bzzdetects the file content type when the header is not sent. (#5361) -
API additions (backward-compatible):
/socnow honorsSwarm-Tag,Swarm-PinandSwarm-Deferred-Uploadheaders. (#5461)- New
GET /batches/{batch_id}endpoint. (#5462) - New
PATCH /stamps/{batch_id}endpoint to update a batch label. (#5472, [#5512]) GET /chainstatenow returnsminimumValidityBlocks. (#5465)- Postage stamp responses now include batch utilization. (#5466)
GET /walletworks even when swap or the chequebook is disabled. (#5468)/statusand/status/peersnow include bootnodes. (#5457)- SOC responses expose the owner public key. (#5492)
Bug Fixes
- Crash-safe chunk store — Fixed a data-integrity issue in sharky affecting nodes interrupted mid-write. After an unclean shutdown, chunks are now validated against their content hashes during recovery and corrupted data is removed automatically — no manual intervention needed. (#5409)
- Soft-fail on insufficient stake — Nodes with insufficient stake no longer fail at startup; stake height is auto-updated via the API. (#5315)
- Cleaner redundancy retrieval — Retrieval with redundancy now exhausts its strategies and fails cleanly instead of returning incomplete results; the default redundancy level was also fixed. (#5470, [#5383], [#5505])
- Hardened P2P message handling — Improved validation of hive and pullsync messages against malformed peer input. (#5500)
- Efficient peer handshakes — Nodes sign their address record once per session and reuse it, re-signing only when the advertised addresses or chequebook details change, avoiding needless signing work, disk writes and gossip churn. (#5493)
- Nested config resolution — Environment variables and priority ordering now work correctly for nested config keys such as
blockchain-rpc. (#5443, [#5514]) - Postage safety — Fail fast when the stored postage block is ahead of the chain tip, guard against a nil postage contract in
/chainstateduring startup, and prevent a dirty stamper store. (#5460, [#5511], [#5515]) - Manifest fix — Infer
refBytesSizeat marshal time when it was never set. (#5484) - OpenAPI alignment — The Swarm/SwarmCommon spec now matches the actual handler behavior. (#5452)
- Legacy stamp format support — Restored reading of the legacy stamp store format. (#5498)
- Pusher fixes — Stamp removal is now synchronous and a data race in push chunk handling was fixed. (#5446, [#5447])
Removals
- Dev mode removed —
bee devis no longer available; use Bee Factory or the Sepolia testnet instead. (#5436) - v2.6.0 backward compatibility removed — Upgrade from v2.6.0 or older requires going through v2.8.0 first. (#5415)
Maintenance
- go-ethereum upgrade — Bumped to 1.17.3, picking up upstream security fixes. (#5319, [#5467])
- libp2p upgrade — Bumped to v0.48.0, with quic-go updated alongside. (#5430, [#5489])
- Docker — Environment variables in the Docker setup updated for compatibility with the latest configuration. (#5416)
- Postage snapshot — Updated the postage snapshot to v0.0.8. (#5525)
- Codebase hygiene — gofumpt formatting applied across the codebase, flaky tests stabilized, and CI workflows refreshed. (#5439, [#5429], [#5433])
What's Changed
- feat: per-chunk stamped putter for WebSocket chunk uploads by @agazso in https://github.com/ethersphere/bee/pull/5256
- fix: soft-fail on insufficient stake & auto-update height via API by @martinconic in https://github.com/ethersphere/bee/pull/5315
- chore(docker): update environment variables to be compatible with latest updates by @akrem-chabchoub in https://github.com/ethersphere/bee/pull/5416
- chore(deps): bump github.com/libp2p/go-libp2p to v0.48.0 by @gacevicljubisa in https://github.com/ethersphere/bee/pull/5430
- chore(deps): bump github.com/ethereum/go-ethereum from 1.15.11 to 1.16.9 by @dependabot[bot] in https://github.com/ethersphere/bee/pull/5319
- feat: add binary codec with backward-compatible migration by @martinconic in https://github.com/ethersphere/bee/pull/5419
- fix: sharky corruption by @martinconic in https://github.com/ethersphere/bee/pull/5409
- feat: optimize rpc calls by @sbackend123 in https://github.com/ethersphere/bee/pull/5394
- chore(deps): update GitHub Actions versions by @akrem-chabchoub in https://github.com/ethersphere/bee/pull/5433
- chore: apply gofumpt formatting across codebase by @gacevicljubisa in https://github.com/ethersphere/bee/pull/5439
- chore: stabilize flaky tests and remove flaky runner by @sbackend123 in https://github.com/ethersphere/bee/pull/5429
- chore: remove dev-mode by @sbackend123 in https://github.com/ethersphere/bee/pull/5436
- fix: resolve env vars for nested blockchain-rpc config keys by @gacevicljubisa in https://github.com/ethersphere/bee/pull/5443
- feat(upload): auto-detect file content-type if not sent by @akrem-chabchoub in https://github.com/ethersphere/bee/pull/5361
- test: increase gsoc test timeout by @acud in https://github.com/ethersphere/bee/pull/5455
- test: fix invalid chunk generation by @acud in https://github.com/ethersphere/bee/pull/5454
- fix: include bootnodes in /status and /status/peers by @martinconic in https://github.com/ethersphere/bee/pull/5457
- fix(openapi): align Swarm/SwarmCommon spec with handler implementations by @martinconic in https://github.com/ethersphere/bee/pull/5452
- docs: add CLAUDE.md and Agents.md for AI coding assistant guidance by @akrem-chabchoub in https://github.com/ethersphere/bee/pull/5437
- feat(api): support Swarm-Tag, Swarm-Pin, Swarm-Deferred-Upload on /soc by @martinconic in https://github.com/ethersphere/bee/pull/5461
- feat(api): add GET /batches/{batch_id} endpoint by @martinconic in https://github.com/ethersphere/bee/pull/5462
- fix: fail fast when postage block is ahead of chain tip by @martinconic in https://github.com/ethersphere/bee/pull/5460
- perf: bmt SIMD hasher by @acud in https://github.com/ethersphere/bee/pull/5381
- fix: read exactly M values from channel by @sbackend123 in https://github.com/ethersphere/bee/pull/5447
- fix: make stamps removal sync and data race in push chunk tests by @sbackend123 in https://github.com/ethersphere/bee/pull/5446
- feat(api): expose minimumValidityBlocks in /chainstate by @martinconic in https://github.com/ethersphere/bee/pull/5465
- feat(openapi): document utilization; add utilizedPercentage to postag… by @martinconic in https://github.com/ethersphere/bee/pull/5466
- fix(api): allow GET /wallet when swap or chequebook is disabled by @martinconic in https://github.com/ethersphere/bee/pull/5468
- refactor: redundancy getter exhaust by @nugaon in https://github.com/ethersphere/bee/pull/5470
- ci: goreleaser update by @acud in https://github.com/ethersphere/bee/pull/5479
- fix: default redundancy level by @nugaon in https://github.com/ethersphere/bee/pull/5383
- chore: revert [#5343] by @acud in https://github.com/ethersphere/bee/pull/5482
- chore(deps): bump github.com/ethereum/go-ethereum from 1.16.9 to 1.17.3 by @dependabot[bot] in https://github.com/ethersphere/bee/pull/5467
- ci: disable golangci-lint cache to avoid stale-cache lint failures by @martinconic in https://github.com/ethersphere/bee/pull/5488
- ci: add on-demand autotls beekeeper workflow by @gacevicljubisa in https://github.com/ethersphere/bee/pull/5478
- feat: use larger block page size when syncing from snapshot by @martinconic in https://github.com/ethersphere/bee/pull/5494
- fix(handshake): reuse session-stable signed BzzAddress by @gacevicljubisa in https://github.com/ethersphere/bee/pull/5493
- feat: soc pubkey by @nugaon in https://github.com/ethersphere/bee/pull/5492
- chore(deps): bump github.com/quic-go/quic-go from 0.59.0 to 0.59.1 by @dependabot[bot] in https://github.com/ethersphere/bee/pull/5489
- chore(deps): bump go.opentelemetry.io/otel from 1.40.0 to 1.41.0 by @dependabot[bot] in https://github.com/ethersphere/bee/pull/5487
- chore: remove backwards compatibility with 2.6.0 by @sbackend123 in https://github.com/ethersphere/bee/pull/5415
- fix: support legacy format by @sbackend123 in https://github.com/ethersphere/bee/pull/5498
- chore: improve hive and pullsync message handling by @akrem-chabchoub in https://github.com/ethersphere/bee/pull/5500
- revert: feat: add binary codec with backward-compatible migration (#5419) by @gacevicljubisa in https://github.com/ethersphere/bee/pull/5501
- feat(api): add patch endpoint to update issuer label by @akrem-chabchoub in https://github.com/ethersphere/bee/pull/5472
- feat: block time average by @sbackend123 in https://github.com/ethersphere/bee/pull/5504
- fix: prevent second batch store reset wiping postage snapshot on --resync by @martinconic in https://github.com/ethersphere/bee/pull/5499
- refactor: add BzzAddress to ChainConfig and remove LookupERC20Address by @martinconic in https://github.com/ethersphere/bee/pull/5476
- ci: auto-assign PR author when none is set by @darkobas2 in https://github.com/ethersphere/bee/pull/5507
- fix(api): reject empty label on PATCH /stamps/{batch_id} by @martinconic in https://github.com/ethersphere/bee/pull/5512
- chore(redundancy): increment fetchedCnt before closing wait channel by @martinconic in https://github.com/ethersphere/bee/pull/5505
- fix(api): guard nil postage contract in /chainstate during startup by @martinconic in https://github.com/ethersphere/bee/pull/5511
- fix: nested config priority by @sbackend123 in https://github.com/ethersphere/bee/pull/5514
- fix: stamper store was dirty by @sbackend123 in https://github.com/ethersphere/bee/pull/5515
- feat(node): use postage snapshot on --resync unless skipped by @gacevicljubisa in https://github.com/ethersphere/bee/pull/5519
- fix(postage): resume live sync where snapshot replay stopped by @gacevicljubisa in https://github.com/ethersphere/bee/pull/5517
- fix(manifest): infer refBytesSize at marshal time when never set by @mfw78 in https://github.com/ethersphere/bee/pull/5484
- chore: update postage snapshot to v0.0.8 by @gacevicljubisa in https://github.com/ethersphere/bee/pull/5525
Full Changelog: https://github.com/ethersphere/bee/compare/v2.8.0...v2.8.1