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 #7301
- chore(deps): bump golang.org/x/sys from 0.44.0 to 0.45.0 by @dependabot[bot] in #7296
- chore(deps): bump actions/stale from 10.2.0 to 10.3.0 by @dependabot[bot] in #7290
- chore(deps): bump github.com/aws/aws-sdk-go-v2/service/ec2 from 1.302.0 to 1.304.0 by @dependabot[bot] in #7299
- chore(deps): bump github.com/digitalocean/godo from 1.191.0 to 1.192.0 by @dependabot[bot] in #7297
- chore(deps): bump codecov/codecov-action from 6.0.0 to 6.0.1 by @dependabot[bot] in #7292
- feat: add blockstore compaction command by @rach-id in #7285
- chore: remove
dependabot-tidyGitHub Actions workflow by @rach-id in #7302 - fix(talis): retry GC instance creation across zones on stockout by @rach-id in #7304
- test: add integration test for min-retain-blocks pruning by @rootulp in #7305
- chore(deps): bump github.com/aws/aws-sdk-go-v2/config from 1.32.17 to 1.32.18 by @dependabot[bot] in #7300
- chore(deps): bump golang.org/x/crypto from 0.50.0 to 0.52.0 by @dependabot[bot] in #7298
- chore: bump the embedded v8 binary version by @ninabarbakadze in #7307
- chore: add the ability to backport to v9 by @ninabarbakadze in #7308
- perf(fibre): flat-file shard store for fibre by @walldiss in #7190
- refactor(rsema1d,fibre): replace
VerifyRowsWithContextwith Verifier by @Wondertan in #7214 - feat(rsema1d):
Reconstructorby @Wondertan in #7271 - refactor(fibre)!: accelerate reads by @Wondertan in #7283
- test(app): tolerate GetTx race in TestStandardSDK assert messages by @walldiss in #7309
- fix(test): set HOME for simapp container in IBC e2e by @ninabarbakadze in #7303
- chore(ci): bump celestiaorg/.github to v0.6.5 by @rootulp in #7314
- fix(test): reduce TestSyncToTipMocha nightly flakiness by @rootulp in #7317
- refactor(rsema1d): extract rlc subpackage and tighten primitive layering by @Wondertan in #7315
- refactor(rsema1d): prune deprecated API by @Wondertan in #7316
- chore(talis): remove persistent peers to avoid creating a direct connected network by @rach-id in #7322
- refactor(rsema1d)!: make merkle proofs alloc-free and prune padding by @Wondertan in #7321
- fix(fibre): free input blob at all Client.Upload call sites by @Wondertan in #7323
- docs: document the pruning process for min-retain-blocks by @rach-id in #7326
- chore(deps): upgrade to core v0.40.5 by @rootulp in #7332
- docs: update dependency forks table for v0.40.x and v9 by @rootulp in #7329
- chore(deps): bump go.opentelemetry.io/contrib/bridges/prometheus from 0.68.0 to 0.69.0 by @dependabot[bot] in #7335
- chore(deps): bump github.com/grafana/otel-profiling-go from 0.5.1 to 0.5.3 by @dependabot[bot] in #7340
- fix: retry tx query to avoid flaky "tx not found" in integration tests by @chatton in #7345
- fix: reduce race skip list by @chatton in #7346
- fix: disable privval gRPC server in non-fibre builds by @rach-id in #7349
- fix: deflake TestTimeInPrepareProposalContext by @rootulp in #7351
- fix: replace MustGetFreePort with deterministic port allocation by @chatton in #7344
- refactor(fibre)!: cleanup fibre proto by @Wondertan in #7320
- fix: use published goreleaser-cross tag v1.26.2 by @rach-id in #7353
- chore(deps): bump go.opentelemetry.io/contrib/instrumentation/runtime from 0.68.0 to 0.69.0 by @dependabot[bot] in #7343
- chore(deps): bump nick-fields/retry from 3.0.2 to 4.0.0 by @dependabot[bot] in #7334
- test: add arabica load test for block time monitoring by @ninabarbakadze in #7057
- chore(deps): bump github.com/grafana/pyroscope-go from 1.3.0 to 1.3.1 by @dependabot[bot] in #7337
- docs: fix minor rsema1d spec issues by @rootulp in #7350
- chore(deps): bump actions/upload-artifact from 7.0.0 to 7.0.1 by @dependabot[bot] in #7365
- chore(deps): bump go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp from 1.43.0 to 1.44.0 by @dependabot[bot] in #7369
- chore(deps): migrate AWS S3 manager usage to github.com/aws/aws-sdk-go-v2/feature/s3/transfermanager by @dependabot[bot] in #7360
- chore(deps): bump github/codeql-action from 4.36.0 to 4.36.2 by @dependabot[bot] in #7361
- chore(deps): bump github.com/aws/aws-sdk-go-v2/service/ec2 from 1.304.0 to 1.305.2 by @dependabot[bot] in #7366
- docs: add instruction when there is an app-hash mismatch by @rach-id in #7375
- chore(deps): bump core to v0.40.6 by @rach-id in #7376
- fix: de-flake txsim CLI tests on gRPC DeadlineExceeded during shutdown by @rootulp in #7358
- refactor(rsema1d): rename rlc.Derive to DeriveCoefficients to match spec by @rootulp in #7379
- chore: bump the embedded v8 binary to latest v8 by @ninabarbakadze in #7385
- refactor!: check spendable balance during token forwarding by @ninabarbakadze in #7386
- perf(fibre): zero-allocation gRPC marshal path for UploadShardRequest by @walldiss in #7191
- fix: skip racy txsim CLI tests in test-race nightly job by @rootulp in #7389
- fix: mocha sync, os race condition, add retries to TestRun by @chatton in #7388
- fix: relax flaky TestTxSubmission success-rate threshold to 99.5% by @rootulp in #7397
- feat(fibre-reader): add reading simulator + talis Reader instance type by @walldiss in #7221
- feat(fibre): validator-endorsed gRPC TLS by @walldiss in #7306
- fix(ci): retry go mod tidy -diff to avoid flaky tidy-check failures by @rootulp in #7396
- fix: poll for delegation rewards in TestClaimRewardsAfterFullUndelegation by @rootulp in #7401
- chore(deps): bump github.com/digitalocean/godo from 1.192.0 to 1.194.1 by @dependabot[bot] in #7364
- fix: bump celestiaorg/cosmos-sdk to v0.52.7 by @rootulp in #7399
- chore(deps): bump codecov/codecov-action from 6.0.1 to 7.0.0 by @dependabot[bot] in #7362
- chore(deps): bump google.golang.org/api from 0.279.0 to 0.284.0 by @dependabot[bot] in #7367
- fix(multiplexer): provide default minimum-gas-prices to embedded v4/v5 by @rach-id in #7404
- ci: notify #protocol-ci Slack channel on CI failures by @rootulp in #7400
- chore: bump cosmos-sdk to v0.52.8 by @rach-id in #7408
- chore(deps): bump github.com/digitalocean/godo from 1.194.1 to 1.195.0 by @dependabot[bot] in #7412
- chore(deps): bump github.com/aws/aws-sdk-go-v2/feature/s3/transfermanager from 0.2.8 to 0.2.10 by @dependabot[bot] in #7417
- feat: add duplicate row indices check to Verify() in Fibre by @ninabarbakadze in #7395
- fix(cmd): strip color codes when logging to a file by @rootulp in #7421
- chore(deps): bump golang.org/x/crypto from 0.52.0 to 0.53.0 by @dependabot[bot] in #7414
- fix: relax TestTxSubmission success-rate threshold to de-flake nightly by @rootulp in #7390
- feat: cap sdk msg count in CheckTx by @ninabarbakadze in #7426
- fix: pre-pull busybox image to de-flake docker e2e tests by @rootulp in #7430
- fix: add missing newlines when printing errors in CLI tools by @rootulp in #7429
- chore(deps): bump github.com/aws/aws-sdk-go-v2/service/ec2 from 1.305.2 to 1.307.0 by @dependabot[bot] in #7419
- fix: retry transient failures when downloading embedded binaries by @rootulp in #7427
- feat(fibre): query the state when validator's host errors by @rach-id in #7347
- fix(fibre): publish shard file before committing its marker by @ninabarbakadze in #7433
- chore(fibre): fix row indices typo by @reflecttypefor in #7431
- fix(rsema1d): reject row-size mismatch in VerifyShared by @ninabarbakadze in #7434
- chore(deps): bump actions/checkout from 6 to 7 by @dependabot[bot] in #7442
- chore(deps): bump github.com/ethereum/go-ethereum from 1.17.3 to 1.17.4 in /test/docker-e2e by @dependabot[bot] in #7446
- chore(deps): bump github.com/aws/aws-sdk-go-v2/service/ec2 from 1.307.0 to 1.307.1 by @dependabot[bot] in #7450
- chore(deps): bump github.com/digitalocean/godo from 1.195.0 to 1.196.0 by @dependabot[bot] in #7447
- fix(test): remove flaky GetTx query in TestSquareSizeIntegrationTest by @rootulp in #7441
- chore(deps): bump github.com/grafana/otel-profiling-go from 0.5.3 to 0.6.0 by @dependabot[bot] in #7451
- chore(deps): bump google.golang.org/api from 0.284.0 to 0.285.0 by @dependabot[bot] in #7443
- feat(talis): expand resource monitor counters by @rach-id in #7456
- chore(deps): bump github.com/pelletier/go-toml/v2 from 2.3.1 to 2.4.0 by @dependabot[bot] in #7449
- chore(deps): bump github.com/aws/aws-sdk-go-v2/service/s3 from 1.103.3 to 1.104.0 by @dependabot[bot] in #7445
- fix(talis): expand reset cleanup coverage by @rach-id in #7455
- feat(talis): parallelize fibre throughput monitor by @rach-id in #7454
- docs: update the fibre specs to match the implementation by @rach-id in #7424
- fix(fibre): enforce MaxRowSize on upload and download by @rootulp in #7460
- fix(fibre): reject nil shard in UploadShard and recover handler panics by @rootulp in #7459
- chore: bump celestia-core to v0.40.7 by @ninabarbakadze in #7461
- feat(valaddr)!: garbage-collect stale fibre provider entries by @vgonkivs in #7457
- fix(user): retry worker account query after funding by @rootulp in #7468
- chore(deps): bump github.com/klauspost/reedsolomon from 1.14.1-0.20260518132338-1166fa573ff0 to 1.14.1 by @dependabot[bot] in #7448
- chore(deps): bump github.com/aws/aws-sdk-go-v2/feature/s3/transfermanager from 0.2.10 to 0.2.11 by @dependabot[bot] in #7452
- chore(deps): bump github.com/moby/moby/client from 0.4.1 to 0.5.0 in /test/docker-e2e by @dependabot[bot] in #7444
- fix(fibre): route settled escrow payments to the fee collector by @vgonkivs in #7470
- fix: retry chain start on host-port collision in TestAllUpgrades by @rootulp in #7437
- fix(encoding): reject empty tx bytes in the tx decoder by @rootulp in #7467
- fix(gasestimation): use gov max bytes when extracting mempool gas prices by @rootulp in #7477
- feat: improve the migrate-db script by @rach-id in #7436
- fix: retry chain start on host-port collision in IBC e2e suite by @rootulp in #7472
- fix(chainbuilder): close leaked CometBFT DBs on TestRun retry by @rootulp in #7474
- fix(ci): retry TestTxSubmission to de-flake nightly latency assertion by @rootulp in #7479
- chore(deps): bump github.com/aws/aws-sdk-go-v2/service/ec2 from 1.307.1 to 1.308.0 by @dependabot[bot] in #7483
- chore(deps): bump google.golang.org/api from 0.285.0 to 0.286.0 by @dependabot[bot] in #7487
- chore(deps): bump github.com/digitalocean/godo from 1.196.0 to 1.197.0 by @dependabot[bot] in #7485
- chore(deps): bump github.com/hashicorp/go-metrics from 0.5.4 to 0.6.0 by @dependabot[bot] in #7484
- chore(deps): bump github.com/pelletier/go-toml/v2 from 2.4.0 to 2.4.2 by @dependabot[bot] in #7486
- fix(docker-e2e): verify txsim container stays running after start by @rootulp in #7480
- feat!: prepare for app version 10 by @rach-id in #7492
- test: run fibre codec fuzzers in nightly CI by @rach-id in #7494
- feat!: enable fibre by default and remove fibre build tags by @rach-id in #7493
- ci: don't fail-fast the docker-e2e matrix by @rootulp in #7496
- test: skip TestE2EFullStackPFB until celestia-node supports app v10 by @rootulp in #7498
- feat(fibre): add timeout for fibre requests by @vgonkivs in #7501
- refactor(fibre): rework HostRegistry by @vgonkivs in #7499
- fix(fibre): use celestia-app go_package so proto-gen regenerates fibre files in place by @rootulp in #7503
- fix!: harden TxCache.getBlobsHash against blob hash collisions by @rootulp in #7398
- test: wait for claimable rewards before undelegation by @rootulp in #7407
- feat(fibre): retain shards for a configurable local duration (default 4h) by @rach-id in #7489
- chore(deps): bump github.com/aws/aws-sdk-go-v2/service/s3 from 1.104.0 to 1.104.2 by @dependabot[bot] in #7514
- chore(deps): bump google.golang.org/grpc from 1.81.1 to 1.82.0 in /test/docker-e2e by @dependabot[bot] in #7509
- chore(deps): bump dorny/paths-filter from 4.0.1 to 4.0.2 by @dependabot[bot] in #7506
- chore(deps): bump github.com/aws/aws-sdk-go-v2/service/ec2 from 1.308.0 to 1.312.0 by @dependabot[bot] in #7513
- chore(deps): bump github.com/grafana/pyroscope-go from 1.3.1 to 1.4.0 by @dependabot[bot] in #7517
- chore(deps): bump github.com/aws/aws-sdk-go-v2/feature/s3/transfermanager from 0.2.11 to 0.2.13 by @dependabot[bot] in #7510
- chore(deps): bump google.golang.org/api from 0.286.0 to 0.287.0 by @dependabot[bot] in #7512
- chore(deps): bump github.com/pelletier/go-toml/v2 from 2.4.2 to 2.4.3 by @dependabot[bot] in #7516
- ci: verify goreleaser-cross image exists before merge by @rootulp in #7522
- test(docker-e2e): skip TestArabicaLoad when Arabica is unreachable by @rootulp in #7523
- chore: increase observability cluster size by @ninabarbakadze in #7520
- chore(deps): bump github/codeql-action to v4.36.3 by @rootulp in #7525
- chore(deps): bump google.golang.org/grpc from 1.81.1 to 1.82.0 by @dependabot[bot] in #7515
- chore(deps): bump github.com/aws/aws-sdk-go-v2/config from 1.32.27 to 1.32.28 by @dependabot[bot] in #7511
- fix: show network tag in version cmd by @vgonkivs in #7521
- test: add benchmark to compare fibre vs core tree implementations by @vgonkivs in #7519
- chore(deps): bump github.com/aws/aws-sdk-go-v2/service/ec2 from 1.312.0 to 1.316.0 by @dependabot[bot] in #7538
- chore(deps): bump github/codeql-action/init from 4.36.3 to 4.37.0 by @dependabot[bot] in #7528
- chore(deps): bump github/codeql-action/analyze from 4.36.3 to 4.37.0 by @dependabot[bot] in #7527
- chore(deps): bump google.golang.org/api from 0.287.0 to 0.288.0 by @dependabot[bot] in #7534
- fix(fibre): verify PP ChainID matches executing chain by @ninabarbakadze in #7546
- fix(fibre): use context.Context in BeginBlock so module is dispatched by @ninabarbakadze in #7547
- fix(fibre): reject oversized RLC field before decoding by @ninabarbakadze in #7549
- chore(deps): bump github.com/aws/aws-sdk-go-v2/credentials from 1.19.27 to 1.19.28 by @dependabot[bot] in #7536
- chore(deps): bump golang.org/x/term from 0.44.0 to 0.45.0 by @dependabot[bot] in #7540
- feat!: Custom IGP Hook by @jonas089 in #7526
- fix(app): PrepareProposal must match Core's protobuf byte accounting by @ninabarbakadze in #7550
- chore(deps): bump golang.org/x/sync from 0.21.0 to 0.22.0 in /test/docker-e2e by @dependabot[bot] in #7532
- feat(fibre): maintain escrow balance client-side to avoid upload failures by @vgonkivs in #7497
- feat(zkism): support SP1 v6 Groth16 proofs | Delayed for post-V9 by @jonas089 in #7374
- fix(zkism): update docker-e2e testdata to SP1 v6 fixtures by @jonas089 in #7551
- feat(fibre): add escrow StartupGracePeriod to prevent over-signing after a restart by @vgonkivs in #7552
- chore(deps): bump github.com/digitalocean/godo from 1.197.0 to 1.198.0 by @dependabot[bot] in #7541
- chore(deps): bump actions/stale from 10.3.0 to 10.4.0 by @dependabot[bot] in #7531
- chore(deps): bump slackapi/slack-github-action from 3.0.3 to 3.0.5 by @dependabot[bot] in #7529
- fix(fibre): reject non canonical proof segment lengths by @ninabarbakadze in #7555
- fix(fibre): reject future dated PP creation timestamp by @ninabarbakadze in #7556
- chore(deps): bump slackapi/slack-github-action from 3.0.5 to 4.0.0 by @dependabot[bot] in #7560
- chore(deps): bump github/codeql-action/analyze from 4.37.0 to 4.37.1 by @dependabot[bot] in #7559
- chore(deps): bump github/codeql-action/init from 4.37.0 to 4.37.1 by @dependabot[bot] in #7563
- chore(deps): bump google.golang.org/grpc from 1.82.0 to 1.82.1 in /test/docker-e2e by @dependabot[bot] in #7565
- chore(deps): bump golang.org/x/sync from 0.21.0 to 0.22.0 by @dependabot[bot] in #7569
- chore(deps): bump github.com/digitalocean/godo from 1.198.0 to 1.199.0 by @dependabot[bot] in #7566
- chore(deps): bump github.com/grafana/pyroscope-go from 1.4.0 to 1.4.1 by @dependabot[bot] in #7570
- chore(deps): bump github.com/aws/aws-sdk-go-v2/service/ec2 from 1.316.0 to 1.316.1 by @dependabot[bot] in #7568
- chore(deps): bump github.com/aws/aws-sdk-go-v2/config from 1.32.28 to 1.32.30 by @dependabot[bot] in #7533
- chore(deps): bump actions/setup-node from 6.4.0 to 7.0.0 by @dependabot[bot] in #7562
- chore(deps): bump actions/setup-go from 6 to 7 by @dependabot[bot] in #7561
- chore(deps): bump github.com/aws/aws-sdk-go-v2/feature/s3/transfermanager from 0.2.13 to 0.3.4 by @dependabot[bot] in #7564
- chore(deps): bump golang.org/x/crypto from 0.53.0 to 0.54.0 by @dependabot[bot] in #7537
- chore(deps): bump google.golang.org/grpc from 1.82.0 to 1.82.1 by @dependabot[bot] in #7574
- chore(deps): bump github.com/aws/aws-sdk-go-v2/service/s3 from 1.104.2 to 1.105.0 by @dependabot[bot] in #7539
- fix!: index wrapper should only decode PFBs by @ninabarbakadze in #7576
- fix(fibre): process withdrawals atomically with bank send by @NikhilSharmaWe in #7578
- fix(fibre)!: unique available withdrawal index by @NikhilSharmaWe in #7579
- chore(deps): bump github/codeql-action/init from 4.37.1 to 4.37.3 by @dependabot[bot] in #7584
- chore(deps): bump github/codeql-action/analyze from 4.37.1 to 4.37.3 by @dependabot[bot] in #7585
- chore(deps): bump github.com/prometheus/client_golang from 1.23.2 to 1.24.1 by @dependabot[bot] in #7588
- chore(deps): bump cloud.google.com/go/compute from 1.64.0 to 1.65.0 by @dependabot[bot] in #7595
- chore(deps): bump github.com/aws/aws-sdk-go-v2 from 1.42.1 to 1.43.0 by @dependabot[bot] in #7591
- test(fibre): add missing e2e tests by @vgonkivs in #7598
- chore(deps): bump github.com/aws/aws-sdk-go-v2/service/s3 from 1.105.2 to 1.106.0 by @dependabot[bot] in #7586
- feat(fibre): release fibre server binaries with goreleaser by @rach-id in #7577
- fix(minfee): export params in ExportGenesis by @rach-id in #7580
- feat(fibre)!: add min/max bounds for payment promise timeout and shard retention by @rach-id in #7582
- chore(deps): bump github.com/digitalocean/godo from 1.199.0 to 1.201.0 by @dependabot[bot] in #7596
- chore(deps): bump github.com/aws/aws-sdk-go-v2/service/ec2 from 1.316.1 to 1.317.0 by @dependabot[bot] in #7593
- chore(deps): bump github.com/ethereum/go-ethereum from 1.17.4 to 1.17.5 in /test/docker-e2e by @dependabot[bot] in #7590
- chore(deps): bump github.com/aws/aws-sdk-go-v2/credentials from 1.19.29 to 1.19.30 by @dependabot[bot] in #7597
- chore(deps): bump google.golang.org/api from 0.288.0 to 0.290.0 by @dependabot[bot] in #7587
- chore: bump hyperlane-cosmos to v1.2.0 by @ninabarbakadze in #7601
- chore(deps): bump github.com/aws/aws-sdk-go-v2/config from 1.32.30 to 1.32.31 by @dependabot[bot] in #7594
- docs: add ADR 029 Fibre upload rate limiting by @vgonkivs in #7571
- chore: bump tastora to v0.21.0 by @ninabarbakadze in #7603
- chore: bump sdk to v0.52.9 by @ninabarbakadze in #7604
- chore(deps): bump github.com/aws/aws-sdk-go-v2/feature/s3/transfermanager from 0.3.4 to 0.3.5 by @dependabot[bot] in #7592
- fix: export account for slashing and pay rewards in zero-height export by @rach-id in #7600
- refactor!: replace Arabica testnet with internal Corto testnet by @rach-id in #7605
- chore(deps): bump github.com/moby/moby/client from 0.5.0 to 0.5.1 in /test/docker-e2e by @dependabot[bot] in #7610
- chore(deps): bump hadolint/hadolint-action from 3.3.0 to 3.4.0 by @dependabot[bot] in #7617
- chore(deps): bump github.com/aws/aws-sdk-go-v2/config from 1.32.31 to 1.32.33 by @dependabot[bot] in #7613
- chore(deps): bump github/codeql-action/init from 4.37.3 to 4.37.4 by @dependabot[bot] in #7615
- fix(fibre): require the payment promise retention window to outlast the promise freshness window by @rach-id in #7583
- chore(deps): bump github.com/aws/aws-sdk-go-v2/service/ec2 from 1.317.0 to 1.318.0 by @dependabot[bot] in #7609
- chore(deps): bump github.com/digitalocean/godo from 1.201.0 to 1.202.0 by @dependabot[bot] in #7620
- chore(deps): bump github/codeql-action/analyze from 4.37.3 to 4.37.4 by @dependabot[bot] in #7612
- docs: remove
availableDataHeaderfromBlockin specs by @rootulp in #7624 - chore(deps): bump google.golang.org/grpc from 1.82.1 to 1.83.0 by @dependabot[bot] in #7623
- feat(fibre): implement admission control and rate limiting by @vgonkivs in #7607
- feat(talis): add fibre storage-limiter experiment controls by @vgonkivs in #7625
- fix(fibre)!: prevent pruned promise replay after WithdrawalDelay increase by @vgonkivs in #7626
- fix(fibre)!: signature verification bug by @ninabarbakadze in #7599
- chore(deps): bump actions/stale from 10.4.0 to 11.0.0 by @dependabot[bot] in #7608
- ci: re-add proto-gen check to flag hand-edited generated code by @rootulp in #7636
- chore: pin protobuf plugins via go.mod tool directives by @rootulp in #7639
- chore(deps): bump github.com/aws/aws-sdk-go-v2/feature/s3/transfermanager from 0.3.5 to 0.3.8 by @dependabot[bot] in #7614
- chore(deps): bump github.com/hashicorp/go-metrics from 0.6.0 to 0.6.1 by @dependabot[bot] in #7616
- feat(fibre)!: drop unused params by @vgonkivs in #7634
- ci: auto-tidy go modules on dependabot PRs by @rootulp in #7642
- chore(deps): bump google.golang.org/api from 0.290.0 to 0.291.0 by @dependabot[bot] in #7618
- chore(deps): bump go.opentelemetry.io/otel/sdk from 1.44.0 to 1.45.0 by @dependabot[bot] in #7658
- chore(deps): bump go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc from 0.68.0 to 0.70.0 by @dependabot[bot] in #7650
- chore(deps): bump go.opentelemetry.io/otel/sdk/metric from 1.44.0 to 1.45.0 by @dependabot[bot] in #7656
- ci: disable mergify merge queue comments by @rootulp in #7660
- chore(deps): bump github.com/aws/aws-sdk-go-v2/feature/s3/transfermanager from 0.3.8 to 0.3.11 by @dependabot[bot] in #7653
- feat(fibre)!: use Celestia-owned OID for TLS identity extension by @rach-id in #7645
- docs: update KMS policy in release notes by @rach-id in #7663
- chore(deps): bump go.opentelemetry.io/contrib/bridges/prometheus from 0.69.0 to 0.70.0 by @dependabot[bot] in #7654
- chore(deps): bump go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp from 1.43.0 to 1.45.0 by @dependabot[bot] in #7657
- fix: compare unscaled square size in ProcessProposal by @rootulp in #7661
- chore(deps): bump dorny/paths-filter from 4.0.2 to 4.0.3 by @dependabot[bot] in #7646
- chore(deps): bump github.com/celestiaorg/tastora from 0.21.0 to 0.21.1 in /test/docker-e2e by @dependabot[bot] in #7648
- chore: group dependabot updates into weekly batches by @rootulp in #7667
- docs(fibre): specify endorsed TLS identity and add golden vectors by @rach-id in #7662
- fix(ci): ignore hadolint DL3066 false positive by @rootulp in #7672
- fix(fibre): execute PFF messages on proposal state by @ninabarbakadze in #7644
- chore(deps): bump github/codeql-action to v4.37.6 by @rootulp in #7668
- ci: harden nightly workflow against tag input injection by @rootulp in #7669
- chore(deps): bump celestia-core to v0.40.8 by @rootulp in #7670
- chore(deps): bump celestiaorg/cosmos-sdk to v0.52.10 by @ninabarbakadze in #7682
- test: cover power-of-two non-square share counts in TestExtendShares by @rootulp in #7678
- feat(talis): use ssd in GC servers by default by @rach-id in #7679
- feat(talis): use goleveldb as default db backend by @rach-id in #7680
- docs: require clickable issue links in PR descriptions by @rootulp in #7686
- fix!: validate the PayForFibre promise namespace by @rootulp in #7677
- docs: add simplicity rules to CLAUDE.md by @rach-id in #7681
- feat(fibre)!: set the default FullStakeStorageBudget to 2 TiB by @rach-id in #7689
- fix(fibre)!: reject nested PFBs and PFFS in MsgSubmitProposal by @ninabarbakadze in #7685
- fix!: validate the whole PayForFibre promise in the shape check by @rootulp in #7691
- docs(fibre): document the validator operator path end to end by @rach-id in #7687
- docs(fibre): add usage docs, module reference, and v10 spec wiring by @rach-id in #7688
- fix: don't block forever when the NMT tree pool is drained by @rootulp in #7673
- chore(deps): bump github.com/stretchr/testify from 1.11.1 to 1.12.0 in /test/docker-e2e in the go-deps-docker-e2e group by @dependabot[bot] in #7696
- chore(deps): bump the github-actions group with 2 updates by @dependabot[bot] in #7697
- chore: fine tune fibre gas consts by @ninabarbakadze in #7702
- chore(deps): bump the go-deps group with 22 updates by @dependabot[bot] in #7698
- chore(fibre): reduce MaxConcurrentStreams to 13 by @vgonkivs in #7701
- chore: bump hyperlane-cosmos to v1.3.0 by @ninabarbakadze in #7704
- chore: instruct dependabot to ignore cosmos-sdk dependencies by @rootulp in #7699
- fix!: bound MaxAgeNumBlocks to the unbonding period by @rootulp in #7706
- chore(deps): bump the go-deps group with 6 updates by @dependabot[bot] in #7708
- docs: instruct Claude to write short godoc comments by @rootulp in #7713
- fix: skip signerDataFromTx when CheckTx fails by @rootulp in #7712
- feat(fibre): add validator-local promise cache to close double-spend window by @vgonkivs in #7703
- feat: support TLS and auth token for corto gRPC in nightly by @rach-id in #7711
- feat: script to state sync a node to corto by @rach-id in #7716
- fix!: require canonical encoding for blob txs by @rootulp in #7705
- feat!: classify transactions in the app and pass them to go-square by @rootulp in #7700
- chore!: replace mocha-4 with mocha-5 by @rach-id in #7709
- fix!: bump x/evidence to v0.1.2-celestia by @rootulp in #7718
- chore: add itrocket seed, peer and RPC for mocha-5 by @rach-id in #7723
- chore(deps): bump the go-deps group with 11 updates by @dependabot[bot] in #7730
- chore(deps): bump the github-actions group with 2 updates by @dependabot[bot] in #7729
- chore(deps): bump the go-deps-docker-e2e group in /test/docker-e2e with 2 updates by @dependabot[bot] in #7728
- ci: retry TestAllUpgrades once in the nightly by @rach-id in #7720
- feat(talis): add --skip-payload-upload flag to deploy by @rach-id in #7722
- fix: verify downloaded genesis before replacing destination by @wangjingshuiku in #7733
- fix: fibre module address should be a base account by @ninabarbakadze in #7725
- fix: bound validator signatures in MsgPayForFibre by @vgonkivs in #7732
- fix: decide PFF signature verification by exec mode, not sig cache by @rach-id in #7739
- fix!: reject transaction fees denominated in non-utia denoms by @rootulp in #7734
- fix(zkism)!: require compressed curve points in Groth16 vkey validation by @rootulp in #7735
- chore: bump cosmossdk.io/store to v1.1.3-celestia.2 by @rootulp in #7737
- chore(deps): bump celestiaorg/cosmos-sdk to v0.52.11 by @rootulp in #7741
- fix: use p99 instead of max for Corto load block-time assertion by @rach-id in #7731
- fix(fibre): handle Store.Size cancellation consistently by @rootulp in #7742
- fix: bound PFF signature verification cache by @ninabarbakadze in #7726
- docs: add AI code generation invariants and workflow by @rach-id in #7695
- revert: accidental direct pushes to main by @rootulp in #7747
- fix!: apply fibre state transitions in proposal before pay-for-fibre settlement by @vgonkivs in #7743
- fix: disable inter-block cache for embedded v3-v8 apps by @rach-id in #7750
- fix: run PFF stateful checks in checktx by @ninabarbakadze in #7746
- fix!: count authz MsgExec messages against the block message limit by @rach-id in #7745
- fix(fibre): bound UploadShard row and proof counts before decoding by @ninabarbakadze in #7754
- fix(forwarding)!: include custom_hook_id in the canonical derivation path of forwarding address #7640 by @jonas089 in #7643
- chore(deps): bump the github-actions group with 3 updates by @dependabot[bot] in #7758
- chore(deps): bump google.golang.org/grpc from 1.83.1 to 1.83.2 in /test/docker-e2e in the go-deps-docker-e2e group by @dependabot[bot] in #7757
- chore(deps): bump the go-deps group with 25 updates by @dependabot[bot] in #7759
- refactor: simplify getTxPriority to a single utia fee amount by @rootulp in #7760
- fix!: count MsgModuleQuerySafe queries against the block message limit by @rootulp in #7762
- fix!: count ICA messages in MsgRecvPacket against the block message limit by @rootulp in #7761
- chore(deps): bump celestia-core to v0.41.0 and nmt to v0.24.4 and rsmt2d to v0.15.3 and cosmos-sdk api to v0.7.7 by @rach-id in #7764
- docs: add v10 node operator release notes by @rach-id in #7765
- fix: force inter-block cache on for embedded v3 app by @rach-id in #7771
- docs: simplify fibre server TLS section for node operators by @rach-id in #7766
- docs: add Fibre elastic shard storage ADR by @renaynay in #7763
- test(fibre): wait for settlement state visibility before asserting by @rach-id in #7773
- feat: report effective tx latency alongside actual latency by @rach-id in #7772
- docs: clarify Fibre prune integrity handling in ADR 030 by @renaynay in #7779
- ci: run tx submission before other nightly tests by @rach-id in #7783
- fix: bound the PFB tx cache with an LRU by @rach-id in #7778
- chore(deps): bump the go-deps-docker-e2e group in /test/docker-e2e with 2 updates by @dependabot[bot] in #7784
- chore: remove decommissioned celestia-bootstrap seeds from mainnet script by @pippokr in #7787
- docs: simplify fibre server signing section by @rach-id in #7767
- fix(fibre): retry PayForFibre broadcast until the signing height commits by @rach-id in #7775
- fix!: bump embedded v9 to v9.0.7-corto by @rach-id in #7789
- chore(deps): bump the go-deps group with 8 updates by @dependabot[bot] in #7785
- fix(fibre): bound DownloadShard request size in the server codec by @rach-id in #7793
- fix(multiplexer): exit when an embedded binary fails by @rootulp in #7439
- fix!: read max square size before the ante loop in ProcessProposal by @rootulp in #7801
- refactor: remove the no-op blob tx cache pruning by @rach-id in #7806
- ci: harden release pipeline against artifact substitution by @rootulp in #7799
- ci: assert tx submission latency on Corto by @rach-id in #7803
- ci: sync GitHub releases to the Linear release pipeline by @rootulp in #7809
- test: expired PFF is evicted on ReCheck by @ninabarbakadze in #7832
- refactor: PFF cache by @ninabarbakadze in #7831
- chore(deps): bump the go-deps group with 14 updates by @dependabot[bot] in #7837
- feat: make fibre server connection caps configurable by @vgonkivs in #7841
- chore(deps): bump the github-actions group with 2 updates by @dependabot[bot] in #7836
- test: wait for first block before starting host registry by @rootulp in #7843
- ci: disable mergify queue control comments by @rootulp in #7833
- test: pin celestia-node to v0.34.1-corto and re-enable TestE2EFullStackPFB by @rootulp in #7844
- fix: route Fibre OTLP signals to separate paths by @rach-id in #7847
- docs: recommend separate disks for fibre and celestia-app by @rach-id in #7848
- chore(deps): bump celestia-core to v0.42.0 by @rach-id in #7849
- 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
New Contributors
- @reflecttypefor made their first contribution in #7431
- @wangjingshuiku made their first contribution in #7733
Full Changelog: v9.0.8...v10.4.0