This release adds support for celestia-app v8 and is safe to run before the migration. Once the v8 activation height takes place, upgrading to this version is required.
Key Highlights
- TLS Support for JSON-RPC (#4839) — Users are encouraged to enable TLS in their RPC clients to secure connections to endpoints.
- Export Prometheus Metrics to OpenTelemetry (#3702) — All telemetry, including libp2p metrics, is now exported via OpenTelemetry. A separate Prometheus instance is no longer required to collect these metrics.
- Shrex server enabled on Bridge Nodes (#4288, #4758) — Bridge nodes can now serve samples over the shrex protocol.
- Improved Bridge Node fresh start (#4768, #4776) — Bridge nodes can now start from non-archival consensus nodes and sync headers and data from the p2p network.
- Full node option removed (#4773) — Full nodes were deprecated 6 months ago; this release finalizes deprecation.
- Headers in subscription responses (#4752)
Header Sync
- Fix syncer tail estimation overshoot (#4840) — The syncer was using nominal 6s block time to estimate tail height, but real block times average ~6.14s. Over the 7-day pruning window this caused the tail to land ~3.8 hours outside the window. Fixed by using 7s as the upper bound.
- go-header v0.8.5-rc (#4841) — Parallel header fetches from trusted peers.
Bridge & DAS
- Fix bridge DASer gossip race (#4820) — Bridge nodes were receiving gossip headers before the local core.Listener finished storing EDS, causing WARN “das requesting data from peer failed” floods. Fixed by adding FanoutOnly mode.
API & State
- Delegation rewards API (#4800) — Added WithdrawDelegatorReward and QueryDelegationRewards to the state module.
Networking & Core
- Verify core endpoint network on startup (#4781) — Prevents misconfiguration by checking the core endpoint belongs to the expected network.
- Fix inverted gRPC connection readiness check (#4793)
What's Changed
- chore: Update CODEOWNERS by @adlerjohn in https://github.com/celestiaorg/celestia-node/pull/4714
- fix(node): Harden keystore filesystem permissions (0700 dir; validate key modes) by @anim001k in https://github.com/celestiaorg/celestia-node/pull/4476
- chore: Update CODEOWNERS by @vgonkivs in https://github.com/celestiaorg/celestia-node/pull/4715
- chore(cmd): update flags description by @vgonkivs in https://github.com/celestiaorg/celestia-node/pull/4717
- core: return explicit error on AddPartWithoutProof ok=false in partsToBlock by @Forostovec in https://github.com/celestiaorg/celestia-node/pull/4644
- nodebuilder/header: remove unused exchange field by @GarmashAlex in https://github.com/celestiaorg/celestia-node/pull/4632
- fix(p2p): validate CELESTIA_CUSTOM netID and avoid empty network by @Galoretka in https://github.com/celestiaorg/celestia-node/pull/4720
- chore(blob|header|state): add and cleanup tracing and logs by @Wondertan in https://github.com/celestiaorg/celestia-node/pull/4539
- fix!(shwap/rangeNamespaceDataID): fix RangeNamespaceDataID fields type by @vgonkivs in https://github.com/celestiaorg/celestia-node/pull/4696
- fix(test): extendBlock tests by @moldis in https://github.com/celestiaorg/celestia-node/pull/4298
- fix(listener): fix memory leak in core.listener by @walldiss in https://github.com/celestiaorg/celestia-node/pull/4733
- doc: shrex specification by @vgonkivs in https://github.com/celestiaorg/celestia-node/pull/4728
- misc(cel-shed): add a data hash exists | get helper to cel-shed by @vgonkivs in https://github.com/celestiaorg/celestia-node/pull/4736
- chore(das): remove unused subscriberDone channel from DASer by @Forostovec in https://github.com/celestiaorg/celestia-node/pull/4744
- fix: simplify fs keystore delete and rely on os.Remove by @radik878 in https://github.com/celestiaorg/celestia-node/pull/4745
- fix(lint): fix lint errors by @vgonkivs in https://github.com/celestiaorg/celestia-node/pull/4760
- chore(lifecycle): disable service breaker by @vgonkivs in https://github.com/celestiaorg/celestia-node/pull/4759
- chore(befp): improve validation by @vgonkivs in https://github.com/celestiaorg/celestia-node/pull/4761
- enable getSamples and getRow in shrex by @vgonkivs in https://github.com/celestiaorg/celestia-node/pull/4288
- fix(shwap/rngNamespaceData): fix for RangeNamespaceDataFromShares by @vgonkivs in https://github.com/celestiaorg/celestia-node/pull/4766
- feat: implement routing exchange for bridge nodes by @vgonkivs in https://github.com/celestiaorg/celestia-node/pull/4758
- feat(pruning): allow pruning for Bridge Nodes by @vgonkivs in https://github.com/celestiaorg/celestia-node/pull/4768
- refactor: Delete option to run full node by @walldiss in https://github.com/celestiaorg/celestia-node/pull/4773
- chore: update CODEOWNERS by @walldiss in https://github.com/celestiaorg/celestia-node/pull/4775
- chore: bump celestia-app to v7.0.0-arabica by @walldiss in https://github.com/celestiaorg/celestia-node/pull/4774
- fix(state): Log signer + key name even when default account; and log estimated gas + gas price by @renaynay in https://github.com/celestiaorg/celestia-node/pull/4751
- feat(core): allow BN to BN sync by @walldiss in https://github.com/celestiaorg/celestia-node/pull/4776
- chore: bump to app v7.0.1-arabica by @walldiss in https://github.com/celestiaorg/celestia-node/pull/4778
- chore: add walldiss to docs owners by @walldiss in https://github.com/celestiaorg/celestia-node/pull/4779
- !feat(api):Add headers to subscription response by @alpe in https://github.com/celestiaorg/celestia-node/pull/4752
- store: close accessor in GetRow and GetRangeNamespaceData by @phrwlk in https://github.com/celestiaorg/celestia-node/pull/4575
- chrore: golang 1.26 by @walldiss in https://github.com/celestiaorg/celestia-node/pull/4783
- chore(deps): bump alpine from 3.20.2 to 3.23.3 by @dependabot[bot] in https://github.com/celestiaorg/celestia-node/pull/4784
- chore(deps): bump golangci/golangci-lint-action from 8.0.0 to 9.2.0 by @dependabot[bot] in https://github.com/celestiaorg/celestia-node/pull/4730
- chore(deps): bump actions/upload-artifact from 4 to 6 by @dependabot[bot] in https://github.com/celestiaorg/celestia-node/pull/4742
- chore(ci): pin golangci-lint to v2.10.0 and fix new gosec warnings by @walldiss in https://github.com/celestiaorg/celestia-node/pull/4788
- fix(shrex): return valid samples from empty EDS instead of empty slice by @walldiss in https://github.com/celestiaorg/celestia-node/pull/4789
- fix(core): retry test network start on port-in-use errors by @walldiss in https://github.com/celestiaorg/celestia-node/pull/4790
- chore: bump celestia-app to v7.0.2-mocha by @walldiss in https://github.com/celestiaorg/celestia-node/pull/4791
- chore(deps):go mod parity for tastora by @walldiss in https://github.com/celestiaorg/celestia-node/pull/4787
- fix(pruner): fix race condition in TestFindPruneableHeaders by @walldiss in https://github.com/celestiaorg/celestia-node/pull/4792
- feat(core): verify core endpoint network on startup by @walldiss in https://github.com/celestiaorg/celestia-node/pull/4781
- chore(deps): bump actions/setup-node from 5 to 6 by @dependabot[bot] in https://github.com/celestiaorg/celestia-node/pull/4647
- feat(cel-shed): add ODS storage verification and recovery tool by @walldiss in https://github.com/celestiaorg/celestia-node/pull/4780
- fix(nodebuilder/core): fix inverted gRPC connection readiness check by @walldiss in https://github.com/celestiaorg/celestia-node/pull/4793
- feat(state): add WithdrawDelegatorReward and QueryDelegationRewards by @walldiss in https://github.com/celestiaorg/celestia-node/pull/4800
- fix: bump go-header to v0.8.1 to fix
hdr_store_head_height_gaugemetric by @rootulp in https://github.com/celestiaorg/celestia-node/pull/4806 - feat(cel-shed): datastore: erase samples by @Wondertan in https://github.com/celestiaorg/celestia-node/pull/4146
- docs: add CLAUDE.md for Claude Code guidance by @rootulp in https://github.com/celestiaorg/celestia-node/pull/4805
- ci: add assign random reviewer workflow by @tty47 in https://github.com/celestiaorg/celestia-node/pull/4808
- fix(shrex): fix off-by-one in GetRangeNamespaceData test by @walldiss in https://github.com/celestiaorg/celestia-node/pull/4810
- feat(observability): add basic auth support for Pyroscope by @walldiss in https://github.com/celestiaorg/celestia-node/pull/4811
- fix: upate nodes ids by @tty47 in https://github.com/celestiaorg/celestia-node/pull/4821
- Revert "fix: upate nodes ids" by @tty47 in https://github.com/celestiaorg/celestia-node/pull/4822
- chore(deps): bump github.com/ethereum/go-ethereum from 1.16.8 to 1.17.0 by @dependabot[bot] in https://github.com/celestiaorg/celestia-node/pull/4796
- chore: add tastora submodule to dependabot config by @walldiss in https://github.com/celestiaorg/celestia-node/pull/4826
- chore(deps): bump go-header to v0.8.4-rc by @walldiss in https://github.com/celestiaorg/celestia-node/pull/4837
- fix(das): prevent bridge DASer from receiving gossip headers before EDS is stored by @walldiss in https://github.com/celestiaorg/celestia-node/pull/4820
- fix(core): use startNetwork retry helper in all core tests by @walldiss in https://github.com/celestiaorg/celestia-node/pull/4838
- fix(header): use upper bound block time for syncer tail estimation by @walldiss in https://github.com/celestiaorg/celestia-node/pull/4840
- chore(deps): bump go-header to v0.8.5-rc by @walldiss in https://github.com/celestiaorg/celestia-node/pull/4841
- feat(cel-shed): Add blob.Submit and blob.Retrieve latency monitor tool by @renaynay in https://github.com/celestiaorg/celestia-node/pull/4718
- chore(deps): bump github.com/libp2p/go-libp2p-kad-dht from 0.34.0 to 0.38.0 by @dependabot[bot] in https://github.com/celestiaorg/celestia-node/pull/4834
- chore(deps): bump go.opentelemetry.io/otel from 1.40.0 to 1.41.0 by @dependabot[bot] in https://github.com/celestiaorg/celestia-node/pull/4835
- chore(deps): bump go.opentelemetry.io/contrib/instrumentation/runtime from 0.45.0 to 0.66.0 by @dependabot[bot] in https://github.com/celestiaorg/celestia-node/pull/4833
- chore(deps): bump the patch-updates group across 2 directories with 5 updates by @dependabot[bot] in https://github.com/celestiaorg/celestia-node/pull/4844
- refactor(blob): match all shares in ProveCommitment by @rootulp in https://github.com/celestiaorg/celestia-node/pull/4836
- ci: remove required labels check by @walldiss in https://github.com/celestiaorg/celestia-node/pull/4847
- ci: add Go build and test cache to unit test jobs by @walldiss in https://github.com/celestiaorg/celestia-node/pull/4812
- ci: remove setup job and fix debug flag propagation by @walldiss in https://github.com/celestiaorg/celestia-node/pull/4813
- feat(rpc): add TLS support for JSON-RPC server by @walldiss in https://github.com/celestiaorg/celestia-node/pull/4839
- chore(deps): bump github.com/multiformats/go-multiaddr-dns from 0.4.1 to 0.5.0 by @dependabot[bot] in https://github.com/celestiaorg/celestia-node/pull/4832
- chore(deps): bump github.com/filecoin-project/go-jsonrpc from 0.6.0 to 0.10.1 by @dependabot[bot] in https://github.com/celestiaorg/celestia-node/pull/4851
- chore(deps): bump go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp from 1.27.0 to 1.42.0 by @dependabot[bot] in https://github.com/celestiaorg/celestia-node/pull/4853
- chore(deps): bump github.com/rollkit/go-da from 0.8.0 to 0.9.0 by @dependabot[bot] in https://github.com/celestiaorg/celestia-node/pull/4831
- chore(deps): bump golang.org/x/text from 0.34.0 to 0.35.0 by @dependabot[bot] in https://github.com/celestiaorg/celestia-node/pull/4854
- chore(deps): bump filippo.io/edwards25519 from 1.1.0 to 1.1.1 by @dependabot[bot] in https://github.com/celestiaorg/celestia-node/pull/4795
- chore(deps): bump github.com/celestiaorg/celestia-app/v7 from 7.0.3-arabica to 7.0.3-mocha by @dependabot[bot] in https://github.com/celestiaorg/celestia-node/pull/4850
- chore(deps): bump github.com/dgraph-io/badger/v4 from 4.6.0 to 4.9.1 by @dependabot[bot] in https://github.com/celestiaorg/celestia-node/pull/4830
- chore: using testing.B.Loop by @Lorsmirq0cB in https://github.com/celestiaorg/celestia-node/pull/4573
- chore(deps): bump codecov/codecov-action from 5.5.1 to 5.5.2 in the patch-updates group by @dependabot[bot] in https://github.com/celestiaorg/celestia-node/pull/4741
- chore(deps): bump actions/stale from 9 to 10 by @dependabot[bot] in https://github.com/celestiaorg/celestia-node/pull/4534
- chore(deps): Bump actions/checkout from 4 to 5 by @dependabot[bot] in https://github.com/celestiaorg/celestia-node/pull/4502
- feat(metrics): export prometheus metrics to otel by @walldiss in https://github.com/celestiaorg/celestia-node/pull/3702
- chore(deps): bump github.com/celestiaorg/celestia-app/v7 from 7.0.3-arabica to 7.0.3-mocha in /nodebuilder/tests/tastora by @dependabot[bot] in https://github.com/celestiaorg/celestia-node/pull/4855
- ci: reintroduce breaking change detection as advisory workflow by @walldiss in https://github.com/celestiaorg/celestia-node/pull/4859
- Add ADR for Fibre API design by @cmwaters in https://github.com/celestiaorg/celestia-node/pull/4843
- chore: update CODEOWNERS to use protocol team by @rootulp in https://github.com/celestiaorg/celestia-node/pull/4860
- ci: separate fast unit tests from coverage collection by @walldiss in https://github.com/celestiaorg/celestia-node/pull/4814
- fix(pruner): rename failed gauge to prnr_failed_prunes_amount and fix description by @radik878 in https://github.com/celestiaorg/celestia-node/pull/4702
- chore: bump celestia-app to v8.0.0-rc0 by @ninabarbakadze in https://github.com/celestiaorg/celestia-node/pull/4896
- chore: bump app to v8.0.0-arabica by @ninabarbakadze in https://github.com/celestiaorg/celestia-node/pull/4897
- chore: bump celestia-app to v8.0.1-arabica by @ninabarbakadze in https://github.com/celestiaorg/celestia-node/pull/4910
- fix(p2p): remove broken mocha bootstrappers (backport to v0.30.x) by @rootulp in https://github.com/celestiaorg/celestia-node/pull/4915
- chore: remove remaining broken bootstrapper by @ninabarbakadze in https://github.com/celestiaorg/celestia-node/pull/4920
- chore(shrex/client): change log level in shrex-client (#4927) by @vgonkivs in https://github.com/celestiaorg/celestia-node/pull/4928
- chore: bump node to v8.0.3 by @ninabarbakadze in https://github.com/celestiaorg/celestia-node/pull/4960
New Contributors
- @anim001k made their first contribution in https://github.com/celestiaorg/celestia-node/pull/4476
- @radik878 made their first contribution in https://github.com/celestiaorg/celestia-node/pull/4745
- @alpe made their first contribution in https://github.com/celestiaorg/celestia-node/pull/4752
- @phrwlk made their first contribution in https://github.com/celestiaorg/celestia-node/pull/4575
- @Lorsmirq0cB made their first contribution in https://github.com/celestiaorg/celestia-node/pull/4573
Full Changelog: https://github.com/celestiaorg/celestia-node/compare/v0.28.4...v0.30.2