Upgrade Notice
This release is intended for the Corto testnet (corto-1). If you are upgrading from v9 please read through the release notes.
v10 introduces fibre, a data availability protocol served by validator-operated fibre servers, together with the new x/fibre and x/valaddr modules. Validators are recommended to run a fibre server and register their host on-chain; see the fibre server guide. This release also bumps celestia-core to v0.41.0.
Supported operating systems
See the canonical matrix in the README.
- Tested in CI: Ubuntu 24.04 LTS (Noble Numbat) on x86_64
- Prebuilt binaries provided: Linux (
amd64,arm64), macOS (amd64,arm64). arm64 binaries are cross-compiled and are not executed in CI. - Minimum glibc: 2.38. Ubuntu 22.04 and older are not supported for multiplexer builds and will fail to start with a glibc version mismatch error.
- Changes since the previous release: none
What's Changed
Fibre
- The fibre and valaddr modules are enabled by default; build tags are removed (#7493). The fibre server ships as its own release archive per platform, versioned in lockstep with
celestia-appd(#7577). - The privval gRPC endpoint is enabled by default on every node and its default address moved to
127.0.0.1:26669; the fibre server uses it for payment-promise endorsements and its TLS identity (#7493, #7306). - On-chain fibre params with governance bounds:
payment_promise_timeout(10m-12h, default 1h),shard_retention(10m-168h, default 4h), full-stake storage budget default 2 TiB; per-validator storage budgets are derived from stake (#7582, #7689, #7607, #7634).
Consensus & state machine
- Transaction fees must be paid in
utiaonly (#7734). - Blob transactions must use canonical protobuf encoding (#7705).
- The per-block SDK message limit counts messages nested in authz
MsgExec, ICAMsgRecvPacket, andMsgModuleQuerySafe(#7745, #7761, #7762). - The evidence window (
MaxAgeNumBlocks) is reduced to 404,400 to stay within the unbonding period; the v10 upgrade handler applies it (#7706). x/forwardingsupports a custom IGP hook, now part of the forwarding address derivation (#7526, #7643); forwarding checks spendable balance (#7386).x/zkismsupports SP1 v6 Groth16 proofs (#7374).
Node operators
- Heavy RPC endpoints are gated by a concurrency limit, configurable via
max_concurrent_heavy_requests(default 20) — from celestia-core v0.41.0. - Optional blockstore compaction:
[storage] compactandcompaction_intervalinconfig.toml, plus a newcelestia-appd compact-blockstorecommand (#7285). - New
--otel-endpointflag pushes node metrics to an OpenTelemetry collector (#7200). - Arabica is retired in favor of the internal Corto testnet (
corto-1); the Mocha chain ID is nowmocha-5(#7605, #7709). download-genesisverifies the genesis SHA-256 before replacing the existing file (#7733).
Sync & stability
- PayForFibre signature verification no longer depends on a node-local cache, fixing a sync halt for replaying and state-syncing nodes (#7739).
- State sync snapshot restore crash fixed (#7737); NMT tree pool is self-healing (#7673).
- The multiplexer embeds v9.0.4; embedded v3-v8 run with the inter-block cache disabled (#7750) and embedded v4/v5 pin
minimum-gas-prices(#7404), fixing genesis-sync issues.
Dependencies
- celestia-core v0.41.0, cosmos-sdk fork v0.52.11, go-square v4.0.0, nmt v0.24.4, rsmt2d v0.15.3, hyperlane-cosmos (celestiaorg fork) v1.3.0. Building from source requires Go 1.26.6.
Full Changelog: v9.0.6...v10.0.0-corto