Repository navigation
Releases
v11.0.0-corto
Upgrade Notice
This release is intended for Corto and is built from the v11.x release branch. It is an emergency release cut from v10.x that introduces app version 11, which requires a coordinated upgrade. All validators must install it and signal for version 11.
App version 11 restricts a fixed list of accounts whose keys were exposed in the Keplr/Web3Auth social-login incident: from v11, these accounts can only move funds to one whitehat recovery address. On Corto the list holds three test accounts. App version 11 also shortens Corto's unbonding time to 10 minutes so that unbonding can be tested end to end.
Upgrade existing nodes
Download the celestia-app archive for your platform and verify it against checksums.txt. Validators should also download the matching fibre archive. Source builds use Go 1.26.10; the Makefile now downloads it when another Go version is installed. The multiplexer embeds v10.6.0 to serve heights before the upgrade.
Stop the node and, for validators, Fibre. Replace both binaries and restart with the existing homes and database. The node keeps running app version 10 until the upgrade activates.
Activating v11
Each validator signals for version 11:
celestia-appd tx signal signal 11 <plus transaction flags>Once at least 5/6 of the voting power has signalled, anyone can submit:
celestia-appd tx signal try-upgrade <plus transaction flags>The upgrade activates 33,231 blocks later (about 25 hours at Corto's current block time).
Configuration
No configuration changes are required.
Notable changes
See docs/release-notes/release-notes.md for breaking changes.
Supported operating systems
See the canonical matrix in the release README.
- Tested in CI: Ubuntu 24.04 LTS (Noble Numbat) on x86_64.
- Prebuilt binaries provided: Linux (
amd64,arm64), macOS (amd64,arm64), including the separate Fibre server. arm64 binaries are cross-compiled and are not executed in CI. - Minimum glibc: 2.38 for Linux multiplexer builds. Ubuntu 22.04 and older are unsupported for these builds. The separate Fibre binary requires glibc 2.34.
- Changes since v10.6.0: none.
What's Changed
- fix(proof): [medium] validate proof query requests before decoding the block (backport #8532) by @mergify[bot] in #8537
- fix(grpc): [medium] bound TxStatusBatch tx ids while decoding (backport #8534) by @mergify[bot] in #8538
- fix(app): [high] bound MsgModuleQuerySafe requests at mempool admission (v10.x) by @rootulp in #8535
- fix(multiplexer): [high] answer ABCI Info from the previous app until the new app commits (backport #8530) by @mergify[bot] in #8555
- build: [high] build with -trimpath and a pinned Go toolchain everywhere (backport #8630) by @rootulp in #8637
- feat!: [high] bump v10.x to app version 11 (emergency release) by @rach-id in #8617
- feat!: [high] restrict accounts with exposed keys to a whitehat address from v11 by @rach-id in #8618
- feat!: [high] shorten corto unbonding to 10 minutes at v11 by @rach-id in #8621
Full Changelog: v10.6.0-corto...v11.0.0-corto
v10.6.0
Upgrade Notice
This release is intended for Mainnet (celestia) and is built from the same v10.x commit as v10.6.0-mocha and v10.6.0-corto. It is a minor update for nodes already running app version 10 and does not require a coordinated upgrade. All node operators, especially validators, should upgrade promptly: it includes celestia-core v0.42.8 with consensus, p2p, mempool and RPC fixes, plus Fibre and dependency fixes.
Upgrade existing nodes
Download the celestia-app archive for your platform and verify it against checksums.txt. Validators should also download the matching fibre archive. Source builds now require Go 1.26.10 (up from 1.26.6); make install builds the multiplexer and make build-fibre-server builds Fibre.
Stop the node and, for validators, Fibre. Replace both binaries and restart with the existing homes and database. Confirm the node resumes syncing and signing, and that Fibre reports ready.
Configuration
No configuration changes are required. There are no new settings since v10.5.0.
Notable changes
- celestia-core v0.42.5 → v0.42.8. Fixes in consensus block propagation, the CAT mempool, p2p peer identity validation, and the JSON-RPC server.
tx_searchandblock_searchnow applymax_search_resultsto the whole query, not only its first condition. - Hyperlane. hyperlane-cosmos is bumped to v1.3.3, which tightens ECDSA signature verification and ISM routing checks.
- Proofs.
ShareProofandRowProofverification now checks the proof's position in the data square. Clients that verify proofs (for example celestia-node) should use this release's packages. - Fibre.
MsgDepositToEscrowtransactions with a non-canonical signer address or a denom other thanutiaare rejected from the mempool and from new proposals. Blocks that already contain them remain valid. The payment promise cache now re-checks its budget when an escrow's available balance drops, and the Fibre client no longer crashes when a state node returns an incomplete provider response. - IBC. The capability module moves to the celestiaorg fork v1.0.2, which makes its in-memory map safe for concurrent use.
Supported operating systems
See the canonical matrix in the release README.
- Tested in CI: Ubuntu 24.04 LTS (Noble Numbat) on x86_64.
- Prebuilt binaries provided: Linux (
amd64,arm64), macOS (amd64,arm64), including the separate Fibre server. arm64 binaries are cross-compiled and are not executed in CI. - Minimum glibc: 2.38 for Linux multiplexer builds. Ubuntu 22.04 and older are unsupported for these builds. The separate Fibre binary requires glibc 2.34.
- Changes since v10.5.0: none.
What's Changed
- chore(deps): [medium] bump celestia-core to v0.42.5 by @rootulp in #8378
- chore(deps): [high] bump celestia-core to v0.42.6 (backport #8394) by @rootulp in #8395
- fix(fibre): [high] reject legacy escrow deposits in CheckTx and PrepareProposal by @rootulp in #8401
- fix(proof): [high] bind ShareProof and RowProof to positions in the data square (backport #8409) by @rootulp in #8410
- chore(deps): [medium] bump celestia-core to v0.42.7 (v10.x) by @rootulp in #8413
- fix(deps): [medium] bump ibc-go capability module to celestiaorg fork v1.0.2 (backport #8417) by @mergify[bot] in #8418
- chore(deps): [high] bump hyperlane-cosmos to v1.3.3 (v10.x) by @rootulp in #8464
- fix(fibre): [medium] re-sweep promise cache budget when available balance drops (v10.x) by @rootulp in #8494
- fix(fibre): [medium] reject a found provider response without info (v10.x) by @rootulp in #8507
- chore(deps): [medium] bump celestia-core to v0.42.8 (v10.x) by @rootulp in #8509
Full Changelog: v10.5.0...v10.6.0
v10.6.0-mocha
Upgrade Notice
This release is intended for Mocha (mocha-5) and is built from the v10.x release branch. It is a minor update for nodes already running app version 10 and does not require a coordinated upgrade. All node operators, especially validators, should upgrade promptly: it includes celestia-core v0.42.8 with consensus, p2p, mempool and RPC fixes, plus Fibre and dependency fixes.
Upgrade existing nodes
Download the celestia-app archive for your platform and verify it against checksums.txt. Validators should also download the matching fibre archive. Source builds now require Go 1.26.10 (up from 1.26.6); make install builds the multiplexer and make build-fibre-server builds Fibre.
Stop the node and, for validators, Fibre. Replace both binaries and restart with the existing homes and database. Confirm the node resumes syncing and signing, and that Fibre reports ready.
Configuration
No configuration changes are required. There are no new settings since v10.5.0.
Notable changes
- celestia-core v0.42.5 → v0.42.8. Fixes in consensus block propagation, the CAT mempool, p2p peer identity validation, and the JSON-RPC server.
tx_searchandblock_searchnow applymax_search_resultsto the whole query, not only its first condition. - Hyperlane. hyperlane-cosmos is bumped to v1.3.3, which tightens ECDSA signature verification and ISM routing checks.
- Proofs.
ShareProofandRowProofverification now checks the proof's position in the data square. Clients that verify proofs (for example celestia-node) should use this release's packages. - Fibre.
MsgDepositToEscrowtransactions with a non-canonical signer address or a denom other thanutiaare rejected from the mempool and from new proposals. Blocks that already contain them remain valid. The payment promise cache now re-checks its budget when an escrow's available balance drops, and the Fibre client no longer crashes when a state node returns an incomplete provider response. - IBC. The capability module moves to the celestiaorg fork v1.0.2, which makes its in-memory map safe for concurrent use.
Supported operating systems
See the canonical matrix in the release README.
- Tested in CI: Ubuntu 24.04 LTS (Noble Numbat) on x86_64.
- Prebuilt binaries provided: Linux (
amd64,arm64), macOS (amd64,arm64), including the separate Fibre server. arm64 binaries are cross-compiled and are not executed in CI. - Minimum glibc: 2.38 for Linux multiplexer builds. Ubuntu 22.04 and older are unsupported for these builds. The separate Fibre binary requires glibc 2.34.
- Changes since v10.5.0: none.
What's Changed
- chore(deps): [medium] bump celestia-core to v0.42.5 by @rootulp in #8378
- chore(deps): [high] bump celestia-core to v0.42.6 (backport #8394) by @rootulp in #8395
- fix(fibre): [high] reject legacy escrow deposits in CheckTx and PrepareProposal by @rootulp in #8401
- fix(proof): [high] bind ShareProof and RowProof to positions in the data square (backport #8409) by @rootulp in #8410
- chore(deps): [medium] bump celestia-core to v0.42.7 (v10.x) by @rootulp in #8413
- fix(deps): [medium] bump ibc-go capability module to celestiaorg fork v1.0.2 (backport #8417) by @mergify[bot] in #8418
- chore(deps): [high] bump hyperlane-cosmos to v1.3.3 (v10.x) by @rootulp in #8464
- fix(fibre): [medium] re-sweep promise cache budget when available balance drops (v10.x) by @rootulp in #8494
- fix(fibre): [medium] reject a found provider response without info (v10.x) by @rootulp in #8507
- chore(deps): [medium] bump celestia-core to v0.42.8 (v10.x) by @rootulp in #8509
Full Changelog: v10.5.0...v10.6.0-mocha
v10.6.0-corto
Upgrade Notice
This release is intended for Corto and is built from the v10.x release branch. It is a minor update for nodes already running app version 10 and does not require a coordinated upgrade. All node operators, especially validators, should upgrade promptly: it includes celestia-core v0.42.8 with consensus, p2p, mempool and RPC fixes, plus Fibre and dependency fixes.
Upgrade existing nodes
Download the celestia-app archive for your platform and verify it against checksums.txt. Validators should also download the matching fibre archive. Source builds now require Go 1.26.10 (up from 1.26.6); make install builds the multiplexer and make build-fibre-server builds Fibre.
Stop the node and, for validators, Fibre. Replace both binaries and restart with the existing homes and database. Confirm the node resumes syncing and signing, and that Fibre reports ready.
Configuration
No configuration changes are required. There are no new settings since v10.5.0.
Notable changes
- celestia-core v0.42.5 → v0.42.8. Fixes in consensus block propagation, the CAT mempool, p2p peer identity validation, and the JSON-RPC server.
tx_searchandblock_searchnow applymax_search_resultsto the whole query, not only its first condition. - Hyperlane. hyperlane-cosmos is bumped to v1.3.3, which tightens ECDSA signature verification and ISM routing checks.
- Proofs.
ShareProofandRowProofverification now checks the proof's position in the data square. Clients that verify proofs (for example celestia-node) should use this release's packages. - Fibre.
MsgDepositToEscrowtransactions with a non-canonical signer address or a denom other thanutiaare rejected from the mempool and from new proposals. Blocks that already contain them remain valid. The payment promise cache now re-checks its budget when an escrow's available balance drops, and the Fibre client no longer crashes when a state node returns an incomplete provider response. - IBC. The capability module moves to the celestiaorg fork v1.0.2, which makes its in-memory map safe for concurrent use.
Supported operating systems
See the canonical matrix in the release README.
- Tested in CI: Ubuntu 24.04 LTS (Noble Numbat) on x86_64.
- Prebuilt binaries provided: Linux (
amd64,arm64), macOS (amd64,arm64), including the separate Fibre server. arm64 binaries are cross-compiled and are not executed in CI. - Minimum glibc: 2.38 for Linux multiplexer builds. Ubuntu 22.04 and older are unsupported for these builds. The separate Fibre binary requires glibc 2.34.
- Changes since v10.5.0: none.
What's Changed
- chore(deps): [medium] bump celestia-core to v0.42.5 by @rootulp in #8378
- chore(deps): [high] bump celestia-core to v0.42.6 (backport #8394) by @rootulp in #8395
- fix(fibre): [high] reject legacy escrow deposits in CheckTx and PrepareProposal by @rootulp in #8401
- fix(proof): [high] bind ShareProof and RowProof to positions in the data square (backport #8409) by @rootulp in #8410
- chore(deps): [medium] bump celestia-core to v0.42.7 (v10.x) by @rootulp in #8413
- fix(deps): [medium] bump ibc-go capability module to celestiaorg fork v1.0.2 (backport #8417) by @mergify[bot] in #8418
- chore(deps): [high] bump hyperlane-cosmos to v1.3.3 (v10.x) by @rootulp in #8464
- fix(fibre): [medium] re-sweep promise cache budget when available balance drops (v10.x) by @rootulp in #8494
- fix(fibre): [medium] reject a found provider response without info (v10.x) by @rootulp in #8507
- chore(deps): [medium] bump celestia-core to v0.42.8 (v10.x) by @rootulp in #8509
Full Changelog: v10.5.0...v10.6.0-corto
v10.5.0
Upgrade Notice
This release is intended for Mainnet (celestia) and is built from the same v10.x commit as v10.5.0-mocha and v10.5.0-corto. It is a minor, non-consensus-breaking update for nodes already running app version 10.
Upgrade existing nodes
Download the celestia-app archive for your platform and verify it against checksums.txt. Validators should also download the matching fibre archive. Source builds require Go 1.26.6; make install builds the multiplexer and make build-fibre-server builds Fibre.
Stop the node and, for validators, Fibre. Replace both binaries and restart with the existing homes and database. Confirm the node resumes syncing and signing, and that Fibre reports ready (see below).
Update configuration
Fibre gains a [health] table in server_config.toml. Add it and any other missing settings with the new binary:
celestia-appd config sync --home ~/.celestia-app --fibre-home ~/.celestia-fibre --dry-run
celestia-appd config sync --home ~/.celestia-app --fibre-home ~/.celestia-fibreUse your actual home directories. This preserves existing values and creates backups before changes. Missing files are skipped. The defaults (check_interval = "10s", probe_timeout = "3s", max_block_age = "2m") apply when the table is absent, so the sync is optional but recommended.
Validators: Fibre changes
-
Health and readiness endpoint. The Fibre server now exposes the standard gRPC health service on its client-facing port (default 7980). Use it for service monitoring and alerting; the log names the failing check and what to do when the server is not ready. Readiness does not gate uploads or downloads. See the health guide.
grpc_health_probe -addr=127.0.0.1:7980 -tls -tls-no-verify # readiness grpc_health_probe -addr=127.0.0.1:7980 -tls -tls-no-verify -service=fibre-liveness # liveness
-
Object storage requires HTTPS.
object_storage.endpointmust now be anhttps://URL; a plaintexthttp://endpoint fails validation at startup. Fibre also checks at startup that the configured bucket is reachable with the configured credentials and refuses to start otherwise. Review your object storage settings before restarting. Prune failures now also report corrupt shard markers. -
Idle connections close sooner. The server idle timeout drops from five minutes to 30 seconds and the client idle timeout is 20 seconds. Clients reconnect on the next request; custom clients must tolerate this.
-
An unexpected gRPC server exit now terminates the Fibre process so a supervisor can restart it, and shutdown publishes not-ready before draining.
Supported operating systems
See the canonical matrix in the release README.
- Tested in CI: Ubuntu 24.04 LTS (Noble Numbat) on x86_64.
- Prebuilt binaries provided: Linux (
amd64,arm64), macOS (amd64,arm64), including the separate Fibre server. arm64 binaries are cross-compiled and are not executed in CI. - Minimum glibc: 2.38 for Linux multiplexer builds. Ubuntu 22.04 and older are unsupported for these builds. The separate Fibre binary requires glibc 2.34.
- Changes since v10.4.0: none.
What's Changed
- feat(fibre): add WaitForAllUploads client option (backport #8034) by @mergify[bot] in #8073
- feat(fibre): [high] add gRPC health and readiness diagnostics to the fibre server (backport #8009) by @mergify[bot] in #8132
- test(docker-e2e): [medium] refresh mocha archive peers for genesis sync (backport #8134) by @mergify[bot] in #8136
- fix(fibre): [low] wait for the in-flight store health probe instead of failing fast (backport #8135) by @mergify[bot] in #8137
- fix(app): [high] align prepare proposal tx filtering with process proposal (backport #8193) by @mergify[bot] in #8223
- fix(fibre): [low] shorten idle connection timeouts (backport #8151) by @mergify[bot] in #8155
- fix(app): [high] branch ante state per tx in prepare proposal (backport #8192) by @mergify[bot] in #8225
- fix(multiplexer): [high] start on the app's committed app version (backport #8203) by @mergify[bot] in #8219
- fix(multiplexer): [medium] initialize nextAppVersion (backport #8190) by @mergify[bot] in #8221
- fix(fibre): [medium] backport object storage fixes to v10.x (#8012, #8086, #8090, #8089) by @rootulp in #8267
- fix(deps): [high] bump hyperlane-cosmos to v1.3.1 by @rootulp in #8291
Full Changelog: v10.4.0...v10.5.0
v10.5.0-mocha
What's Changed
- feat(fibre): add WaitForAllUploads client option (backport #8034) by @mergify[bot] in #8073
- feat(fibre): [high] add gRPC health and readiness diagnostics to the fibre server (backport #8009) by @mergify[bot] in #8132
- test(docker-e2e): [medium] refresh mocha archive peers for genesis sync (backport #8134) by @mergify[bot] in #8136
- fix(fibre): [low] wait for the in-flight store health probe instead of failing fast (backport #8135) by @mergify[bot] in #8137
- fix(app): [high] align prepare proposal tx filtering with process proposal (backport #8193) by @mergify[bot] in #8223
- fix(fibre): [low] shorten idle connection timeouts (backport #8151) by @mergify[bot] in #8155
- fix(app): [high] branch ante state per tx in prepare proposal (backport #8192) by @mergify[bot] in #8225
- fix(multiplexer): [high] start on the app's committed app version (backport #8203) by @mergify[bot] in #8219
- fix(multiplexer): [medium] initialize nextAppVersion (backport #8190) by @mergify[bot] in #8221
- fix(fibre): [medium] backport object storage fixes to v10.x (#8012, #8086, #8090, #8089) by @rootulp in #8267
- fix(deps): [high] bump hyperlane-cosmos to v1.3.1 by @rootulp in #8291
Full Changelog: v10.4.0...v10.5.0-mocha
v10.5.0-corto
What's Changed
- feat(fibre): add WaitForAllUploads client option (backport #8034) by @mergify[bot] in #8073
- feat(fibre): [high] add gRPC health and readiness diagnostics to the fibre server (backport #8009) by @mergify[bot] in #8132
- test(docker-e2e): [medium] refresh mocha archive peers for genesis sync (backport #8134) by @mergify[bot] in #8136
- fix(fibre): [low] wait for the in-flight store health probe instead of failing fast (backport #8135) by @mergify[bot] in #8137
- fix(app): [high] align prepare proposal tx filtering with process proposal (backport #8193) by @mergify[bot] in #8223
- fix(fibre): [low] shorten idle connection timeouts (backport #8151) by @mergify[bot] in #8155
- fix(app): [high] branch ante state per tx in prepare proposal (backport #8192) by @mergify[bot] in #8225
- fix(multiplexer): [high] start on the app's committed app version (backport #8203) by @mergify[bot] in #8219
- fix(multiplexer): [medium] initialize nextAppVersion (backport #8190) by @mergify[bot] in #8221
- fix(fibre): [medium] backport object storage fixes to v10.x (#8012, #8086, #8090, #8089) by @rootulp in #8267
- fix(deps): [high] bump hyperlane-cosmos to v1.3.1 by @rootulp in #8291
Full Changelog: v10.4.0...v10.5.0-corto
v10.4.0
Upgrade Notice
This release is intended for Mainnet (celestia). It introduces app version 10, including Fibre, and includes celestia-core v0.42.3 and Cosmos SDK v0.52.12.
All consensus node operators must install the v10 multiplexer binary before the v10 activation height. Read the major-version release notes and the operator instructions below before upgrading.
Upgrade existing mainnet nodes
Download the celestia-app archive for your platform and verify it against checksums.txt. Validators should also download the matching fibre archive. Source builds require Go 1.26.6; make install builds the multiplexer and make build-fibre-server builds Fibre.
While mainnet is still on v9, stop your node service, replace celestia-appd with the multiplexer build, and restart with your existing home and database. Confirm the node resumes syncing and, for validators, signing. The multiplexer embeds v9.0.8 and switches to v10 automatically at activation. Do not use the celestia-app-standalone build for the v9-to-v10 transition, and do not use Cosmovisor to perform it.
Coordinated activation
Activation is coordinated through x/signal; publishing or installing this release does not activate v10. Validators should signal app version 10 only after installing and checking their upgrade setup, following the network's upgrade coordination:
celestia-appd tx signal signal 10 --from <validator-account-key> --chain-id celestia <transaction-flags>Once at least 5/6 of voting power has signalled and a MsgTryUpgrade succeeds, the mainnet upgrade is scheduled 232,616 blocks later (approximately seven days).
Review configuration before restarting
Use the new binary to preview and add missing configuration settings:
celestia-appd config sync --home ~/.celestia-app --fibre-home ~/.celestia-fibre --dry-run
celestia-appd config sync --home ~/.celestia-app --fibre-home ~/.celestia-fibreUse your actual home directories. This updates the node's config/config.toml and Fibre's config/server_config.toml, preserves existing values, and creates backups before changes. Missing files are skipped. It does not run automatically at startup, update app.toml, or replace saved values with newer defaults. Review the additions and update deployment-managed configuration templates too.
Validators: prepare Fibre before activation
Fibre runs as a separate service. Follow the Fibre server guide to install and configure it before activation. Start the service and register its host only after the chain reaches app version 10.
- Enable the node's application gRPC endpoint (normally port 9090) and privval gRPC endpoint (normally 26669), and point Fibre at the correct validator node. Fibre connects to the node for signatures; it does not connect directly to an external KMS.
- Make the Fibre client-facing port (default 7980) publicly reachable. Application gRPC remains plaintext and should stay on the same host or a trusted private network.
- Store Fibre data and consensus node data ideally on separate disks. Review
max_connectionsandmax_concurrent_streamsfor the available RAM. See the capacity guidance.
KMS and signer transport
Any KMS may be used if it supports the privval SignRawBytes message and meets the median signing latency of 10 ms or less requirement. Monitor cometbft_privval_signing_latency_*; a node using a remote signer logs a warning when the median of its last 50 signatures exceeds 10 ms.
Remote Fibre-to-node signer connections require mutual TLS by default. Configure the node's server certificate, key, and client CA, plus Fibre's client certificate, key, and server CA. All three TLS fields must be set together on each side; incomplete node TLS settings fail startup. See the privval TLS guide and Fibre signing guide.
For a same-host plaintext signer connection, use a loopback IP literal, such as 127.0.0.1:26669, on both sides. The node does not accept localhost as a loopback exemption. Retain a working custom port if needed, but ensure the node listener and Fibre's signer address match. The Fibre client-facing TLS identity is automatically endorsed by the validator's consensus key and requires no operator-managed public certificate.
Validators: start and register Fibre after activation
Once the chain runs app version 10, start Fibre and confirm it is reachable before registering its public host. Sign registration with your validator's account key:
celestia-appd tx valaddr set-host <public-host>:7980 --from <validator-account-key> --chain-id celestia <transaction-flags>
celestia-appd query valaddr provider <celestiavalcons-address>
celestia-appd query valaddr providersThe host must be host:port, without a URL scheme or path. Clients discover servers through this registry; an unregistered server receives no Fibre traffic. Registration persists, so submit it again only when the address changes or its entry has been removed after leaving the validator set. See the registry guide.
RPC and storage operators
- Heavy RPC requests retain the shared default limit of 20 concurrent requests across HTTP, WebSocket, and gRPC. Configure
[rpc].max_concurrent_heavy_requestsas needed; clients should retry busy responses with backoff and backfill missed gRPC height notifications. - Archival nodes must retain
min-retain-blocks = 0. A nonzero value enables block pruning. New explicit blockstore compaction settings default off; review disk space and I/O capacity before enabling them. - Fibre supports local and object shard storage. Changing backends does not move existing shards: retain access to the original data and object namespace until those shards are pruned. See the storage migration instructions.
Supported operating systems
See the canonical matrix in the release README.
- Tested in CI: Ubuntu 24.04 LTS (Noble Numbat) on x86_64.
- Prebuilt binaries provided: Linux (
amd64,arm64), macOS (amd64,arm64), including the separate Fibre server. arm64 binaries are cross-compiled and are not executed in CI. - Minimum glibc: 2.38 for Linux multiplexer builds. Ubuntu 22.04 and older are unsupported for these builds and fail with a glibc version mismatch. The separate Fibre binary requires glibc 2.34, which does not lower the consensus multiplexer requirement.
- Changes since v9.0.8: the celestia-app OS matrix is unchanged; Fibre archives are added for the same four platforms.
What's Changed
Full change list since v9.0.8
- chore(deps): bump github/codeql-action from 4.35.4 to 4.35.5 by @dependabot[bot] in #7274
- chore(deps): bump peaceiris/actions-gh-pages from 4.0.0 to 4.1.0 by @dependabot[bot] in #7272
- chore(deps): bump github.com/aws/aws-sdk-go-v2/service/ec2 from 1.301.0 to 1.302.0 by @dependabot[bot] in #7275
- chore(deps): bump github.com/digitalocean/godo from 1.189.0 to 1.191.0 by @dependabot[bot] in #7276
- chore(deps): bump github.com/consensys/gnark from 0.14.0 to 0.15.0 by @dependabot[bot] in #7279
- feat(metrics): export prometheus metrics to OTel collector via OTLP push by @walldiss in #7200
- chore(deps): bump github.com/celestiaorg/tastora from 0.19.0 to 0.20.0 in /test/docker-e2e by @dependabot[bot] in #7280
- chore(deps): bump google.golang.org/grpc from 1.81.0 to 1.81.1 in /test/docker-e2e by @dependabot[bot] in #7282
- chore(deps): bump github.com/ethereum/go-ethereum from 1.17.2 to 1.17.3 in /test/docker-e2e by @dependabot[bot] in #7281
- chore(deps): bump cloud.google.com/go/compute from 1.62.0 to 1.63.0 by @dependabot[bot] in #7278
- chore(deps): bump google.golang.org/api from 0.277.0 to 0.279.0 by @dependabot[bot] in #7273
- chore(deps): bump google.golang.org/grpc from 1.81.0 to 1.81.1 by @dependabot[bot] in #7277
- chore: set up sync kpi metrics by @ninabarbakadze in #7263
- fix(talis): strip DNS suffix when parsing hostname for per-validator dir by @rach-id in #7289
- chore(talis): update default
fibre-accountsandencoder-fibre-accountsto 1 by @rach-id in #7287 - chore(deps): bump github/codeql-action from 4.35.5 to 4.36.0 by @dependabot[bot] in #7291
- chore(deps): bump cloud.google.com/go/compute from 1.63.0 to 1.64.0 by @dependabot[bot] in https:/...
v10.4.0-mocha
Upgrade Notice
This minor release is for Mocha (mocha-5), built from the v10.x release branch. It includes celestia-core v0.42.3, Cosmos SDK v0.52.12, and Fibre security, storage, and reliability updates.
Release notes: All node operators upgrading from v10.2.0-mocha or an earlier version must read the v10 release notes and upgrade instructions before upgrading.
Upgrade existing nodes
Download the celestia-app and, if applicable, fibre archives for your platform and verify them against checksums.txt. For nodes already running v10, stop the node and Fibre, replace both binaries, and restart using the existing homes and database after reviewing the configuration below. Source builds require Go 1.26.6.
Nodes still on v9 must use the multiplexer celestia-app build and follow the coordinated v10 activation process in the upgrade notes. The multiplexer switches versions automatically at activation; do not use Cosmovisor. Start Fibre only after the chain reaches app version 10.
Update configuration
Run the new binary to add missing settings and documentation:
celestia-appd config sync --home ~/.celestia-app --fibre-home ~/.celestia-fibreUse your actual home directories. This updates config/config.toml and Fibre's config/server_config.toml, preserves existing values, and creates backups before changes. Missing files are skipped. Add --dry-run to preview additions. Synchronization is explicit and does not run on startup; app.toml must still be maintained separately.
Fibre signer transport
Remote signer connections now require mutual TLS by default. Configure the node's server certificate, key, and client CA, and Fibre's client certificate, key, and server CA. All three TLS fields must be configured together on each side; incomplete node TLS settings now fail startup. Follow the privval TLS guide and Fibre signing guide.
For a same-host plaintext signer, use an IP literal such as 127.0.0.1:26669 on both sides. The localhost hostname is no longer accepted as a loopback exemption by the node. Existing configurations retain their saved listener address; check that Fibre's signer address matches it.
For local development only, the explicit insecure overrides must be enabled on both the node and Fibre to use a non-loopback plaintext signer. Anyone who can reach an unprotected signing endpoint can request signatures. Application gRPC is a separate connection and remains plaintext; keep it on a trusted private network.
Other operator changes
- Fibre supports local or object storage and a configurable
min_upload_size(default 256 KiB). When switching storage backends, retain access to existing shards and the original object namespace until they are pruned. See the Fibre configuration guide. - Fibre connections rotate after approximately five minutes, with a two-minute grace period. Custom clients must reconnect and handle interrupted requests.
- The SDK store can recover an incomplete IAVL commit on restart. Try the updated binary before a manual rollback; this is not a general database-corruption repair.
- Genesis exports now preserve validator provider registrations and all zkISM message IDs. Regenerate exports intended for restarts or migrations if older exports omitted this data.
Supported operating systems
See the release README.
- Tested in CI: Ubuntu 24.04 LTS on x86_64.
- Prebuilt binaries: Linux and macOS,
amd64andarm64. arm64 binaries are cross-compiled and are not executed in CI. - Minimum glibc: 2.38 for Linux multiplexer builds. Ubuntu 22.04 and older are unsupported for these builds.
- Changes since the previous release: none.
What's Changed
- fix: bump embedded v9 binary to v9.0.8 (v10.x) by @rach-id in #7910
- chore: update embedded v3, v6, and v7 releases (v10.x) by @rach-id in #7912
- fix: update Corto genesis checksum (v10.x) by @rach-id in #7941
- feat(fibre): add validator-local minimum upload size (backport #7944) by @mergify[bot] in #7948
- fix(valaddr): preserve provider registry in genesis exports (backport #7969) by @mergify[bot] in #7970
- feat(fibre): Introduce ability to use object storage for storing blob shards (backport #7808) by @mergify[bot] in #7972
- fix(fibre): log missing blob shards at debug level (backport #7975) by @mergify[bot] in #7990
- feat(fibre): export the time of the last successful shard upload (backport #8013) by @mergify[bot] in #8014
- feat(fibre)!: support mTLS for the fibre signer gRPC connection (backport #7842) by @mergify[bot] in #8042
- chore: extend config sync to Fibre (backport #8039) by @mergify[bot] in #8046
- fix(fibre): cap gRPC connection age so stalled streams free slots (backport #8024) by @mergify[bot] in #8055
- fix(zkism): export all genesis messages per ISM (backport #7946) by @mergify[bot] in #8053
- fix(fibre): apply on-chain promise validation before signing (backport #8021) by @mergify[bot] in #8050
- fix(multiplexer): don't forward unsupported start flags to embedded binaries (backport #7991) by @mergify[bot] in #8054
- fix(deps): bump cosmos-sdk to v0.52.12 and store to v1.1.3-celestia.3 (backport #7995) by @mergify[bot] in #8051
- fix(fibre): retain cached connections during active requests (backport #7938) by @mergify[bot] in #8052
- chore(deps): bump celestia-core to v0.42.3 (backport #8058) by @mergify[bot] in #8059
Full Changelog: v10.2.0-mocha...v10.4.0-mocha
v10.4.0-corto
Upgrade Notice
This minor release is for Corto (corto-1), built from the v10.x release branch. It includes celestia-core v0.42.3, Cosmos SDK v0.52.12, and Fibre security, storage, and reliability updates.
The previous Corto release, v10.3.0-corto, was built from rachid/fibre-performance-main. This release uses the shared v10.x release branch.
Release notes: All node operators upgrading from v10.3.0-corto or an earlier version must read the v10 release notes and upgrade instructions before upgrading.
Upgrade existing nodes
Download the celestia-app and, if applicable, fibre archives for your platform and verify them against checksums.txt. For nodes already running v10, stop the node and Fibre, replace both binaries, and restart using the existing homes and database after reviewing the configuration below. Source builds require Go 1.26.6.
Nodes still on v9 must use the multiplexer celestia-app build and follow the coordinated v10 activation process in the upgrade notes. The multiplexer switches versions automatically at activation; do not use Cosmovisor. Start Fibre only after the chain reaches app version 10.
Update configuration
Run the new binary to add missing settings and documentation:
celestia-appd config sync --home ~/.celestia-app --fibre-home ~/.celestia-fibreUse your actual home directories. This updates config/config.toml and Fibre's config/server_config.toml, preserves existing values, and creates backups before changes. Missing files are skipped. Add --dry-run to preview additions. Synchronization is explicit and does not run on startup; app.toml must still be maintained separately.
Fibre signer transport
Remote signer connections now require mutual TLS by default. Configure the node's server certificate, key, and client CA, and Fibre's client certificate, key, and server CA. All three TLS fields must be configured together on each side; incomplete node TLS settings now fail startup. Follow the privval TLS guide and Fibre signing guide.
For a same-host plaintext signer, use an IP literal such as 127.0.0.1:26669 on both sides. The localhost hostname is no longer accepted as a loopback exemption by the node. Existing configurations retain their saved listener address; check that Fibre's signer address matches it.
For local development only, the explicit insecure overrides must be enabled on both the node and Fibre to use a non-loopback plaintext signer. Anyone who can reach an unprotected signing endpoint can request signatures. Application gRPC is a separate connection and remains plaintext; keep it on a trusted private network.
Other operator changes
- Fibre supports local or object storage and a configurable
min_upload_size(default 256 KiB). When switching storage backends, retain access to existing shards and the original object namespace until they are pruned. See the Fibre configuration guide. - Fibre connections rotate after approximately five minutes, with a two-minute grace period. Custom clients must reconnect and handle interrupted requests.
- The SDK store can recover an incomplete IAVL commit on restart. Try the updated binary before a manual rollback; this is not a general database-corruption repair.
- Genesis exports now preserve validator provider registrations and all zkISM message IDs. Regenerate exports intended for restarts or migrations if older exports omitted this data.
Supported operating systems
See the release README.
- Tested in CI: Ubuntu 24.04 LTS on x86_64.
- Prebuilt binaries: Linux and macOS,
amd64andarm64. arm64 binaries are cross-compiled and are not executed in CI. - Minimum glibc: 2.38 for Linux multiplexer builds. Ubuntu 22.04 and older are unsupported for these builds.
- Changes since the previous release: none.
What's Changed
- feat(gRPC): add Cosmos reflection service (backport #7855) by @mergify[bot] in #7860
- feat(fibre): allow downloads without a keyring (backport #7861) by @mergify[bot] in #7863
- refactor: rely on go-square blob tx validation (backport #7871) by @mergify[bot] in #7879
- fix(blob): compile on 32-bit targets (backport #7864) by @mergify[bot] in #7872
- feat: add missing config settings using a command (backport #7877) by @mergify[bot] in #7880
- fix: bump embedded v9 binary to v9.0.8 (v10.x) by @rach-id in #7910
- chore: update embedded v3, v6, and v7 releases (v10.x) by @rach-id in #7912
- fix: update Corto genesis checksum (v10.x) by @rach-id in #7941
- feat(fibre): add validator-local minimum upload size (backport #7944) by @mergify[bot] in #7948
- fix(valaddr): preserve provider registry in genesis exports (backport #7969) by @mergify[bot] in #7970
- feat(fibre): Introduce ability to use object storage for storing blob shards (backport #7808) by @mergify[bot] in #7972
- fix(fibre): log missing blob shards at debug level (backport #7975) by @mergify[bot] in #7990
- feat(fibre): export the time of the last successful shard upload (backport #8013) by @mergify[bot] in #8014
- feat(fibre)!: support mTLS for the fibre signer gRPC connection (backport #7842) by @mergify[bot] in #8042
- chore: extend config sync to Fibre (backport #8039) by @mergify[bot] in #8046
- fix(fibre): cap gRPC connection age so stalled streams free slots (backport #8024) by @mergify[bot] in #8055
- fix(zkism): export all genesis messages per ISM (backport #7946) by @mergify[bot] in #8053
- fix(fibre): apply on-chain promise validation before signing (backport #8021) by @mergify[bot] in #8050
- fix(multiplexer): don't forward unsupported start flags to embedded binaries (backport #7991) by @mergify[bot] in #8054
- fix(deps): bump cosmos-sdk to v0.52.12 and store to v1.1.3-celestia.3 (backport #7995) by @mergify[bot] in #8051
- fix(fibre): retain cached connections during active requests (backport #7938) by @mergify[bot] in #8052
- chore(deps): bump celestia-core to v0.42.3 (backport #8058) by @mergify[bot] in #8059
Full Changelog: v10.3.0-corto...v10.4.0-corto