This release adds initial support for Fibre.
Highlights
Fibre client support: celestia-node now ships a built-in Fibre client, exposed under the new fibre JSON-RPC namespace on Light and Bridge nodes. Blobs are uploaded to Fibre Storage Providers and settled on-chain via an escrow-funded payment model — all driven locally by the node rather than routed through a bridge.
The fibre namespace exposes:
- Submit — upload a blob and settle its MsgPayForFibre payment on-chain in one call.
- Upload — upload off-chain and settle the payment in the background.
- Download — retrieve a blob by its BlobID.
- Deposit / Withdraw — fund and unwind the escrow account that pays for storage.
- QueryEscrowAccount / PendingWithdrawals — inspect escrow balance and pending exits.
- Verified-header state client: DA nodes resolve validator sets and Fibre host addresses from the locally verified header chain (ABCI queries with Merkle-proof verification), so host discovery and payment validation don't rely on a trusted gRPC endpoint. [https://github.com//pull/5220]
Requirements & notes
Requires a configured core endpoint running celestia-app v10 (with the x/fibre and x/valaddr modules). Fibre is unavailable when no core endpoint is set.
Breaking changes & upgrade notes
- Blob CLI input:
blob submitnow treats unprefixed blob data as plain text. Scripts that submit hexadecimal data must add the0xprefix to preserve the submitted bytes. - Staking CLI arguments:
state delegateandstate undelegatenow accept exactly two arguments: validator address and amount. Remove extra arguments used to work around the previous four-argument requirement. - Go API changes:
blob.NewServicenow requires aHeaderServicewithGetByHeightandWaitForHeightmethods instead of a header-getter function. Custom implementations ofnodebuilder/blob.Modulemust also implementSubscribeFromStartHeight. - Go version: Source builds now require Go 1.26.8 or later.
Highlights
- Initial Fibre client support: Light and Bridge nodes expose a new
fibreJSON-RPC namespace for blob uploads, downloads and escrow management.Submituploads a blob and settles its payment on-chain.Uploadreturns before settlement completes; background settlement failures are logged. Withdrawals are subject to an unbonding period. - Verified Fibre discovery: DA nodes obtain validator sets from their locally verified header chain. Fibre host records are verified through ABCI queries with Merkle proofs against the local header’s application hash.
- SHREX reliability and memory improvements: Fixes a peer cooldown deadlock, synchronises peer-pool cleanup and prevents unused pools from accumulating. EDS serving also avoids retaining the whole original data square in the proof cache.
- IPv6 endpoint support: Endpoint configuration now handles IPv6 literals, including bracketed addresses with ports.
What's Changed
- feat: add fibre support to celestia-node by @vgonkivs in #5220
- chore(deps): bump the go-deps group across 1 directory with 2 updates by @dependabot[bot] in #5226
- config: Support IPv6 literal endpoints by @neyy91 in #5168
- fix(test): remove Corto network from TestBootstrapperHealth by @vgonkivs in #5227
- fix(share/shwap): bound rows read in NamespaceData.ReadFrom by @vgonkivs in #5229
- chore(deps): bump github.com/celestiaorg/nmt from v0.24.4 to v0.24.5 by @rootulp in #5230
- ci: sync GitHub releases to the Linear release pipeline by @rootulp in #5232
- chore(deps): bump the go-deps group across 2 directories with 7 updates by @dependabot[bot] in #5234
- shrex/peers: Avoid cooldown lock-order deadlock by @neyy91 in #5179
- chore: remove Slava from PRs assignment by @rootulp in #5236
- chore(deps): bump app to v10.1.0-corto and core to v0.42.0 by @rach-id in #5238
- ci: disable Mergify merge queue comments by @rootulp in #5240
- chore(deps): bump celestia-app to v10.1.0-mocha by @ninabarbakadze in #5239
- state: Fix flaky TestSubmitFromCustomAccount balance assertions by @rootulp in #5243
- ci: authenticate Codecov uploads with OIDC by @rootulp in #5242
- chore(deps): bump linear/linear-release-action from 0.17.2 to 0.18.0 by @dependabot[bot] in #5245
- chore(deps): bump go-libp2p to v0.50.0 by @rach-id in #5247
- chore(deps): bump codecov/codecov-action from 7.0.0 to 7.1.1 by @dependabot[bot] in #5244
- chore(deps): enforce 7-day dependency cooldown by @rootulp in #5249
- fix(shrex): reserve what the server holds by @vgonkivs in #5251
- chore: remove celestia-app v9 dependency by @vgonkivs in #5252
- fix(ci): tolerate small project coverage fluctuations by @rootulp in #5290
- fix(shrex): synchronize peer pool cleanup by @rootulp in #5293
- fix(fibre/stateclient): bound the host query in GetHost by @kriss39 in #5297
- fix(ci): pin reusable Docker workflows to commit SHA by @rootulp in #5289
- fix(shrex/peers): don't keep pools in managers without shrexsub by @kriss39 in #5256
- fix(nodebuilder/blob): stop prefixing blob data with 0x in submit by @0xShadowX in #5262
- feat(das): add das_sampling_head_lag metric by @operagxsasha in #5307
- chore(deps): bump the go-deps group across 2 directories with 3 updates by @dependabot[bot] in #5308
- fix(share/shwap): return an error for an unknown row side in JSON by @0xShadowX in #5286
- fix(nodebuilder/state): accept two arguments in delegate and undelegate by @shiaho777 in #5313
- chore(deps): bump celestia-app to v10.4.0-corto and celestia-core to v0.42.3 by @renaynay in #5317
- chore(deps): bump celestia-app to v10.4.0-mocha and celestia-core to v0.42.3 by @rach-id in #5316
- fix(share/shwap): reset RangeNamespaceData on ReadFrom by @kriss39 in #5255
- fix(share/shwap): bound proof node count in wire decoders by @FlashWayne in #5270
- test(api): [low] wait for consensus height before fetching blocks by @rootulp in #5318
- chore(deps): bump celestia-app to v10.4.0 mainnet by @rach-id in #5321
New Contributors
- @kriss39 made their first contribution in #5297
- @0xShadowX made their first contribution in #5262
- @operagxsasha made their first contribution in #5307
- @shiaho777 made their first contribution in #5313
- @FlashWayne made their first contribution in #5270
Full Changelog: v0.33.2...v0.34.3