Skip to content

Releases: celestiaorg/celestia-node

v0.25.2-mocha

18 Aug 15:48
37c99f2
Compare
Choose a tag to compare
v0.25.2-mocha Pre-release
Pre-release

Celestia Node v0.25-mocha Release Notes

This release accumulates all Arabica v0.25.x releases (v0.25.0–v0.25.2) and applies them to the Mocha testnet. It introduces several breaking API changes, new features, and critical updates for client developers (Go & Rust).


⚡ TL;DR

  • ⚠ API Breaking Changes

    • JSON integers now encoded as strings (#3928, #3930, #3929)
    • Blobstream root encoding → hex (#4390, #4430, #4435)
    • Gateway removed (#4120)
    • Share API consistency: GetSamples now uses height, shares encoded as base64 strings (#4481, #4480)
  • Config Update Required – Run before starting if upgrading from < v0.25.0:

    celestia <node_type> config-update
  • Data Retention Changes

    • Full Nodes: Pruning enabled by default (≈30 days). Use --archival to keep full history (#4303, #4482)
    • Light Nodes: Sampling window reduced to 7 days (#4427)
  • Performance & Features – Faster GetRange via shwap (#4156, #4325), parallelized namespace data (#4420), optimized blob fetching (#4431).

  • Rust UsersMust upgrade to latest Rust crates for RPC compatibility (see section below).


🚨 Breaking Changes

Configuration

  • Config update required: #4303
  • Pruner config removed from config.toml, replaced with --archival flag (#4482)

API & JSON

Gateway Removal

  • Gateway removed – migrate to direct API (#4120)

✨ New Features

  • Configurable CORS policy (#4266)
  • Celestia client library (Go) (#4318)
  • Multi-core transaction submission (#4380)

🚀 Performance

  • Faster GetRange via shwap protocol (#4156, #4325)
  • Parallelized namespace data (#4420)
  • Optimized blob fetching (#4431)

🛠 Bug Fixes & Maintenance

  • Pruner to archival migration warning update (#4471)
  • Core/test stability fixes (#4366, #4429)
  • Dependency bumps: go-header v0.6.6, go-fraud v0.2.3 (#4217), libp2p (#4401), tendermint (#4396), go-square v2.3.1 (#4402)

🦀 Rust Users – Required Upgrade

Rust ecosystem must upgrade to maintain RPC compatibility with v0.25.

Upgrade timeline:

  • If you do not use header.GetRangeByHeight: upgrade immediately.
  • If you do use it: upgrade Rust crates & celestia-node together.

🔗 Full Changelog


Would you like me to also prepare a migration matrix (Node Operator vs Rust Client) with direct before/after code snippets (like we did for GetSamples)? That might help prevent mistakes during rollout.

v0.25.2-arabica

13 Aug 16:02
37c99f2
Compare
Choose a tag to compare
v0.25.2-arabica Pre-release
Pre-release

Celestia Node v0.25.2 Release Notes

This patch release includes additional API breaking changes that further improve consistency across the node API. Please review these changes carefully before upgrading from v0.25.0 or v0.25.1.

TL;DR

  • Additional API Breaking Changes

    • Share Samples API now uses height parameter instead of ExtendedHeader
    • Share encoding in Samples response changed to base64 string (was object with data field)
    • Pruner config removed → Use --archival flag exclusively to disable pruning
  • Config Update Required (if upgrading from pre-v0.25.0)

    celestia <node_type> config-update

🚨 Breaking Changes (Additional to v0.25.0)

Pruner Configuration Removal

  • fix(nodebuilder/pruner)!: Remove pruner config from nodes config by @renaynay in #4482

Changes:

  • The pruner configuration field has been completely removed from node config files
  • Pruning behavior is now controlled exclusively via command-line flags

Migration:

  • Remove any pruner-related configuration from your config files
  • To run an archival node (disable pruning): MUST use --archival flag when starting the node
  • Default behavior (without flag): Pruning enabled with 30-day retention

Share API Consistency Improvements

Samples Method Signature Change

Changes:

  • Samples method now accepts height parameter directly
  • No longer requires passing ExtendedHeader
  • Brings consistency with other share module methods

Migration:

// Before:
samples, err := client.Share.GetSamples(ctx, header)

// After:
samples, err := client.Share.GetSamples(ctx, height)

Share Encoding in Samples Response

  • !fix(api/share) encode share in sample json as base64 by @walldiss in #4480

Changes:

  • Shares in GetSamples response now encoded as base64 strings
  • Previously encoded as objects with data field
  • Matches encoding format used by GetRow and other methods

Migration:

// Before (v0.25.0-v0.25.1):
{
  "share": {
    "data": "AAAAAAA...base64..."
  },
  "proof": { ... }
}

// After (v0.25.2+):
{
  "share": "AAAAAAA...base64...",
  "proof": { ... }
}

Update JSON parsing to expect shares as direct base64 strings rather than nested objects.


Full Changelog: v0.25.1...v0.25.2

v0.25.1-arabica

11 Aug 09:39
1cc69e4
Compare
Choose a tag to compare
v0.25.1-arabica Pre-release
Pre-release

Full changelog from last release: https://github.com/celestiaorg/celestia-node/releases/tag/v0.25.0-arabica

What's Changed

  • fix(cmd/celestia): parse only store determination flags for auxiliary commands by @renaynay in #4472

Full Changelog: v0.25.0-arabica...v0.25.1-arabica

v0.25.0-arabica

07 Aug 13:00
90b8e41
Compare
Choose a tag to compare
v0.25.0-arabica Pre-release
Pre-release

Celestia Node v0.25 Release Notes

This release includes significant changes accumulated since May 2025 while waiting for the Celestia App v4/v5 mainnet update. Please review all breaking changes carefully before upgrading.

TL;DR

  • API Breaking Changes

    • JSON integers now encoded as strings (Tendermint compatibility)
    • Blobstream root encoding switched to hex (plus pointer cleanups in Go API)
    • Gateway removed → use direct API; configure CORS as needed
  • Config Update Required
    Run before starting:

    celestia <node_type> config-update
  • Data Retention Changes

    • Full Nodes: Pruning enabled by default (≈30 days)
    • Light Nodes: Sampling window reduced to 7 days
    • Use --archival to keep full history
  • API Enhancements – Configurable CORS, new client library, multi-endpoint tx submission

  • Faster GetRange – Uses shwap protocol for efficient partial retrieval

  • Performance Boosts – Parallelized namespace data; optimized blob retrieval

  • Bootstrap Updates – Added 01node mainnet bootstrap; removed outdated nodes

🚨 Breaking Changes

Configuration Breaking Changes

This release contains configuration breaking changes. Node operators must run the config update command before starting their node:

celestia <node_type> config-update --p2p.network  (or --node.store)

API & JSON Compatibility

  • fix(api/header)!: tendermint compatible json marshall #3928 by @zvolin (ported in #4428)
  • fix(share)!: tendermint compatible get range result json marshall by @zvolin in #3930
  • fix(blob)!: tendermint compatible commitment proof json marshall #3929 by @zvolin (ported in #4434)

Changes:

  • Integer values in JSON responses are now encoded as strings for Tendermint compatibility
  • Example: “height”: 67374 becomes “height”: “67374”

Migration: Update JSON parsing logic to handle integers as strings in header, share range, and blob commitment proof endpoints.

Gateway Removal

Migration: If you were using the gateway, switch to direct API endpoints. Configure CORS policy using the new configurable CORS feature if needed.

Blobstream API Changes

  • refactor!(blobstream): change DataRootTupleRoot to HexBytes type alias by @vgonkivs in #4390
  • fix!(blobstream): change DataRootTupleInclusionProof type by @vgonkivs in #4430
  • fix!(blobstream): change GetDataRootTupleRoot return type by @vgonkivs in #4435
  • fix(open-rpc): add blobstream api docs by @vgonkivs in #4432

Changes:

  • DataRootTupleRoot: String encoding changed from base64 to hex bytes
  • DataRootTupleInclusionProof: Removed extra pointer (affects native Go API only, not JSON encoding)
  • GetDataRootTupleRoot: Removed extra pointer in returned value (affects native Go API only)
  • Blobstream API is now publicly documented

Migration:

  • Update code expecting base64 encoded roots to handle hex encoding
  • Go API users: Update code to handle direct values instead of pointers

GetRange efficiency improvements

  • feat!(share/shwap): implement get range request over shwap by @vgonkivs in #4156
  • refactor!(share/shwap): rework range namespace data by @vgonkivs in #4325

Changes:

  • GetRange requests now use efficient P2P protocol instead of downloading entire EDS
  • Significant performance improvement for partial data retrieval

Migration: Update clients using range requests to use the new shwap protocol implementation.

Data Pruning Now Default

  • refactor(nodebuilder/pruner)!: Remove --experimental-pruning by @renaynay in #4303
  • feat(share/availability)!: lower sampling window to 7 days by @renaynay in #4427

Changes:

  • Data pruning is now enabled by default (stores 30 days of data)
  • Sampling window reduced from 30 to 7 days
  • Archival nodes must use --archival flag to disable pruning

Migration:

  • Archival nodes: Add --archival flag to maintain full history
  • All other nodes: Remove --experimental-pruning flag (pruning is now automatic)
  • Adjust monitoring for the new 7-day sampling window

🔄 Bootstrap Nodes

  • chore: removing the bootstrapper 3 and 4 from lunar by @tty47 in #4302
  • chore(bootstrapers): add 01node mainnet bootstrap node by @daemon2k3 in #4270

✨ New Features

API Enhancements

Testing Infrastructure

  • test: Tastora framework integration with test for blob module by @chatton in #4283
  • test: tastora remove fullnode and rely on bridge and light nodes only by @gupadhyaya in #4441
  • test: use tastora docker types instead of interface types by @gupadhyaya in #4421

🚀 Performance Improvements

  • perf(share/eds): parallelise row nd collection in NamespaceData by @renaynay in #4420
  • perf(api/da): request all blobs once in da.Get by @walldiss in #4431

🔧 Bug Fixes

Test Fixes

  • chore(node/tests): fix and cleanup swamp tests by @shipit in #4381
  • chore(node/tests): fix a flaky nd test by @shipit in #4382

🧹 Chore & Maintenance

Go Version & Core Dependencies

Celestia App Updates (v3 → v5)

Tastora Dependencies

Repo

Read more

v0.24.1

31 Jul 07:55
fb95d45
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.23.5...v0.24.1

v0.24.1-mocha

30 Jul 12:27
ad99ae6
Compare
Choose a tag to compare
v0.24.1-mocha Pre-release
Pre-release

What's Changed

Full Changelog: v0.23.5-mocha...v0.24.1-mocha

v0.24.1-arabica

29 Jul 15:55
a3d8b8d
Compare
Choose a tag to compare
v0.24.1-arabica Pre-release
Pre-release

What's Changed

Full Changelog: v0.23.5-arabica...v0.24.1-arabica

v0.24.0-rc0

29 Jul 10:22
7abc938
Compare
Choose a tag to compare
v0.24.0-rc0 Pre-release
Pre-release

What's Changed

Full Changelog: v0.23.5...v0.24.0-rc0

v0.21.9-mammoth-v0.0.17

24 Jul 13:57
914c08e
Compare
Choose a tag to compare

v0.23.5

17 Jul 14:34
1a02cee
Compare
Choose a tag to compare

This release is the celestia-node release intended to be compatible with celestia-app v4 release.

What's Changed

New Contributors

Full Changelog: v0.22.3...v0.23.5