Changelog
Unreleased
Merged pull requests:
- ci(cli): split the full validator-cli suite over two runners #1513 (DylanVerstraete)
- ci(blockchain,examples): informational storage-version diff on dev, pin examples #1512 (DylanVerstraete)
- test(cli): wait for Bob to see the registration in show-status #1511 (DylanVerstraete)
- ci(cli): run attestor CLI e2e when the CLI code changes #1506 (DylanVerstraete)
- ci(cli): split attestor-cli tests over two runners #1505 (DylanVerstraete)
- test(cli): check argument validation in unit tests #1504 (DylanVerstraete)
- ci(cli): run only signing-path tests in proxy variants #1503 (DylanVerstraete)
- test(cli): write JUnit reports for e2e suites #1502 (DylanVerstraete)
- ci(e2e): replace fixed sleeps with condition waits #1501 (DylanVerstraete)
- test(cli): bound sanity and randomness soak tests #1500 (DylanVerstraete)
- build(deps): bump brace-expansion from 1.1.13 to 1.1.21 in /scripts #1499 (dependabot[bot])
- build(deps): bump handlebars from 4.7.9 to 4.7.10 in /cli #1498 (dependabot[bot])
- fix(precompiles): improve substrate-transfer precompile (CSUB-2080) #1497 (didac-gluwa)
- fix(hooks): compare new branches against origin/dev in pre-push #1496 (didac-gluwa)
- ci(release): build release notes from the tagged range, grouped by topic #1494 (DylanVerstraete)
- feat(scripts): add a sweep for the stable2512 staking currency migration #1493 (beqaabu)
- build(deps): bump handlebars from 4.7.9 to 4.7.10 in /docs/smart-contract-development/with-hardhat #1492 (dependabot[bot])
- ci(extrinsics): compare against the target network's latest release #1491 (DylanVerstraete)
- feat(supported-chains): add set_chain_name extrinsic to rename a registered chain #1490 (DylanVerstraete)
- feat(scripts): add bsc testnet to the testnet USC audit #1488 (jakerumbles)
- feat(scripts): add asc-devnet to the USC audit and run it every 6h #1487 (didac-gluwa)
- fix(attestor): probe an http(s) eth endpoint with eth_chainId at startup #1485 (DylanVerstraete)
- build(deps): bump proxy-addr from 2.0.7 to 2.0.8 in /cc3-indexer #1483 (dependabot[bot])
- ci(dependabot): hold @PolkaDot majors and group @PolkaDot packages #1481 (DylanVerstraete)
- feat(streams): follow the source-chain head by polling when the RPC is HTTP-only #1480 (DylanVerstraete)
- feat(scripts): add BSC Testnet (ck10) to devnet USC audit #1479 (jakerumbles)
- feat(archiver): pace source-chain RPC requests with --eth-rps #1478 (DylanVerstraete)
- fix(attestation): chain configuration checks (CSUB-2082) #1477 (DylanVerstraete)
- ci(release): allow devnet hotfix releases from any branch #1476 (beqaabu)
- fix(indexer): drop default postgres password from the image #1472 (DylanVerstraete)
- build(deps): bump proxy-addr from 2.0.7 to 2.0.8 in /cli #1471 (dependabot[bot])
- build(deps-dev): bump source-map-js from 1.2.1 to 1.2.2 in /docs/smart-contract-development/with-ethers.js #1470 (dependabot[bot])
- feat(attestor): pace source-chain RPC requests #1463 (DylanVerstraete)
- ci(gate): count fork PR approvals by repository permission #1462 (DylanVerstraete)
- build(deps): bump vm2 from 3.11.6 to 3.12.2 in /cc3-indexer #1461 (dependabot[bot])
- archiver: log RPC endpoints through redact_url_query #1458 (beqaabu)
- ci(git): let the sanity checks run on fork PRs #1457 (DylanVerstraete)
- build(deps): bump linode-cli from 5.68.0 to 5.69.0 in /.github in the linode-dependencies group across 1 directory #1454 (dependabot[bot])
- build(deps): bump the all-dependencies group across 3 directories with 2 updates #1453 (dependabot[bot])
- docs(claude): point the conventional-commits skill at dev after the usc-dev rename #1450 (DylanVerstraete)
- build(deps-dev): bump brace-expansion from 1.1.13 to 1.1.21 in /docs/smart-contract-development/with-hardhat #1449 (dependabot[bot])
- Replace USC Audit Automation BSC key from 8 to 9 #1447 (didac-gluwa)
- fix(attestation): release matured unlocking chunks when unbonding into a full queue #1446 (didac-gluwa)
- fix(Archiver): Follow the last included attestation #1444 (BradleyOlson64)
- fix(scripts): derive usc audit maturity lag from on-chain strategy #1443 (didac-gluwa)
- fix(stream_eth): fuse the head watchdog so an ETH reconnect can't panic the attestor #1442 (DylanVerstraete)
- fix(runtime): update EVM fee handling (CSUB-2061) #1439 (beqaabu)
- fix(proof-gen,continuity): answer 422 while the archiver stores the newest attested blocks #1438 (DylanVerstraete)
- fix(precompiles): attestor-stash precompile improvements (CSUB-2063) #1437 (didac-gluwa)
- feat(claude): require a scope on every commit header and PR title #1435 (DylanVerstraete)
- chore(claude): add a shared skill for conventional commits and PR titles #1433 (DylanVerstraete)
- CSUB-2054 (fix) Proof of possession hardening #1432 (BradleyOlson64)
- fix: charge DB-read gas on both outcomes of chain-info key lookup (CSUB-2064) #1431 (didac-gluwa)
- feat(attestor): log gossipsub subscription and support events #1429 (HusseinAdeiza)
- fix(node): tx pool validation improvements (CSUB-2053) #1426 (BradleyOlson64)
- fix(attestation): rework attestation cleanup (CSUB-2059) #1425 (didac-gluwa)
- CSUB-2058 (fix) attestation improvements #1423 (didac-gluwa)
- Validate attestor/invulnerable roster limits on chain registration #1421 (didac-gluwa)
- ci: add the asc-devnet release flavour #1418 (beqaabu)
- fix(cli): derive prover-check gas limits from on-chain BlockGasLimit #1371 (mason-gluwa)
- ci: report peak runner resource usage in job summaries #1329 (mason-gluwa)
3.138.4-devnet (2026-10-12)
3.138.4-testnet (2026-10-12)
3.138.3-devnet (2026-10-12)
3.142.0-asc-devnet (2026-10-08)
3.141.0-asc-devnet (2026-10-08)
audit/asc-2026-10 (2026-10-05)
3.140.0-asc-devnet (2026-10-02)
3.138.2-devnet (2026-10-02)
Fixed bugs:
- attestor: stream_eth panics "Unfold must not be polled after it returned Poll::Ready(None)" after an ETH reconnect (3.138.0-devnet regression) #1441
3.139.0-asc-devnet (2026-10-01)
3.138.0-devnet (2026-09-25)
Merged pull requests:
- fix(hooks): indent merge SHAs without sed in pre-push #1420 (beqaabu)
- feat(checkpoint-builder): chain multiple Sled databases as one RootSource #1419 (didac-gluwa)
- ci: accept dev alongside usc-dev ahead of the branch rename #1417 (beqaabu)
- fix(hooks): only reject merge commits that are actually being pushed #1416 (beqaabu)
- feat(node): add the asc-dev chainspec #1415 (beqaabu)
- feat(proof-gen-api-server): label request metrics with the exact HTTP status #1414 (didac-gluwa)
- fix(ci): stop lychee failing on a template URL and an authed RPC endpoint #1413 (beqaabu)
- feat(ci): require two approvals for pull requests opened from forks #1407 (beqaabu)
- fix(github): point CODEOWNERS at a team that exists #1406 (beqaabu)
- ci(docker): post the Scout compare on a PR only when it changes the image's vulnerabilities #1398 (DylanVerstraete)
- ci: build Docker images and the srtool runtime on trunk pushes and on request, not on every PR #1397 (DylanVerstraete)
- feat(proof-gen-api-server): log User-Agent in request tracing span #1395 (didac-gluwa)
- ci(attestor-compat): fail in seconds on a metadata mismatch, not after a 20m timeout #1390 (beqaabu)
- Allow maturity strategies to be updated at runtime #1388 (BradleyOlson64)
- ci: watch the cli test infrastructure the suite filters sit on top of #1379 (beqaabu)
- runtime(staking): give fast-runtime a 2-era bonding duration, keep 7 everywhere deployed #1378 (beqaabu)
- ci(timing): report jest suite and hook timings, not just job duration #1377 (beqaabu)
- test(cli): stop paying a finality wait per funded account, and per skipped leg #1376 (beqaabu)
- ci: alert on Slack when a Rust cache producer fails #1375 (beqaabu)
- Rename references to
cc-next-query-buildertoasc-sdk#1374 (BradleyOlson64) - test(checkpoint-builder): retry the sled reopen the flusher has not released #1372 (beqaabu)
- feat(eth): resolve block tags by cross-provider agreement, keyed on the block hash #1367 (DylanVerstraete)
- feat(archiver): follow the latest attested height instead of resolving maturity #1366 (DylanVerstraete)
- feat(proof-gen): confirm requested heights against the attested set, not the source tip #1365 (DylanVerstraete)
- fix(eth): reject receipts that belong to a different block than the one fetched #1362 (DylanVerstraete)
- ci: hold irrelevant hardware/firmware packages out of VM upgrade #1361 (mason-gluwa)
- feat(proof-gen): request admission limits, per-chain fill budget, single-flight block fills #1354 (DylanVerstraete)
- feat(proof-gen): /livez + /readyz, snapshot-pinned startup with replay, fatal seed failures #1353 (DylanVerstraete)
- fix(eth,continuity): lock-free ETH repair with shared generations; tip reads fail over; HTTP deadlines #1352 (DylanVerstraete)
- fix(stream_cc3): progress watchdog on the finalized subscription; ws ping/pong on the cc3 client #1351 (DylanVerstraete)
- fix(proof-gen): share one Arc<CcClient> and supervise the cc3 event task #1350 (DylanVerstraete)
- fix(archiver): keep the stream watchdog above the eth client's fetch retry budget #1349 (DylanVerstraete)
- feat(archiver): bind the API before the source handshake; wire fallback RPC URLs #1348 (DylanVerstraete)
- feat(archiver): verify the stored tip is canonical on start and reconnect #1347 (DylanVerstraete)
- feat(archiver): freshness-aware /status and a /ready probe #1346 (DylanVerstraete)
- fix(stream_eth): seed the block stream from eth_blockNumber and poll heads alongside newHeads #1345 (DylanVerstraete)
- fix(archiver): pin chain identity, handle SIGTERM everywhere, decouple the tip window #1344 (DylanVerstraete)
- test(archiver): stop the sled reopen tests failing on a lock we already dropped #1343 (DylanVerstraete)
- ci: cut PR wall-clock by fixing cache thrash and redundant work #1338 (beqaabu)
- feat(archiver): write and flush every block once within a flush window of the head #1335 (DylanVerstraete)
- build(deps): bump hono from 4.13.1 to 4.13.7 in /cc3-indexer #1334 (dependabot[bot])
- feat(maturity): RpcSafe / RpcFinalized strategies that follow the source node's block tags #1330 (DylanVerstraete)
- feat(attestation): force elections per chain, emit AttestorsElected only on change #1326 (DylanVerstraete)
- build(deps): bump browserslist from 4.24.4 to 4.28.9 in /cli #1325 (dependabot[bot])
- feat(attestation): derive quorum from min(active attestors, target sample size) #1320 (DylanVerstraete)
- build(deps-dev): bump the dev-dependencies group across 5 directories with 4 updates #1306 (dependabot[bot])
3.137.0-devnet (2026-09-10)
Merged pull requests:
- feat(usc-audit): add BSC (chain key 8) liveness sanities on devnet #1324 (beqaabu)
- feat(proof-gen): make cache memory configurable per chain and budget it #1323 (beqaabu)
- fix(archiver): verify source chain_id against the Creditcoin registration on every start #1318 (DylanVerstraete)
3.136.0-devnet (2026-09-03)
Merged pull requests:
- build(deps-dev): bump fast-uri from 3.1.5 to 3.1.7 in /docs/smart-contract-development/with-hardhat #1315 (dependabot[bot])
- build(deps): bump fast-uri from 3.1.5 to 3.1.7 in /cc3-indexer #1314 (dependabot[bot])
- feat(proof-gen): derive block_confirmation_depth from on-chain MaturityStrategy #1313 (DylanVerstraete)
- fix(proof-gen): make /health reflect serving ability, log probe failures #1312 (DylanVerstraete)
- ci: stop the automated monthly devnet release cron #1311 (beqaabu)
- build(deps): bump browserslist from 4.28.1 to 4.28.8 in /cc3-indexer #1310 (dependabot[bot])
- ci(scout): compare PR builds against the published image instead of inventorying them #1309 (DylanVerstraete)
- fix(attestor): re-gossip unfinalized votes so genesis bootstrap cannot deadlock #1308 (DylanVerstraete)
- build(deps): bump js-yaml from 5.3.0 to 5.4.1 in /cc3-indexer in the prod-dependencies group across 1 directory #1305 (dependabot[bot])
- ci: fail fast and show the node log when Ethereum never comes up #1303 (DylanVerstraete)
- ci(try-runtime): only run when the migration surface actually changed #1294 (beqaabu)
- build(deps): bump ubuntu from
678c655to2260313in the all-dependencies group across 1 directory #1274 (dependabot[bot])
3.135.0-devnet (2026-09-02)
Merged pull requests:
- ci: pin the azure-cli apt repo, unbreak the runtime upgrade checks #1299 (beqaabu)
- ci: retire the promotion crons, fix promote reporting and Slack routing #1298 (beqaabu)
- Add retry on provision vm step #1282 (mason-gluwa)
3.134.0-devnet (2026-08-31)
3.134.0-mainnet (2026-08-31)
* This Changelog was automatically generated by github_changelog_generator
⚠️ Operator Warnings
The following changes in this release may require action from node, attestor, or indexer operators.
Please review carefully before upgrading.
🔴 Runtime definition changed
The runtime source code has changed. A runtime upgrade will likely be required. Ensure the on-chain runtime is updated accordingly.
Changed files (1)
runtime/src/lib.rs
🔴 Indexer schema entities modified — resync from block 0 required
The indexer GraphQL schema has had entity fields modified. Indexer operators must perform a full resync from block 0 to ensure data consistency.
Changed files (1)
cc3-indexer/schema.graphql
🟡 Node binary source changed
The node binary source code has changed. Node operators should rebuild and redeploy their node binary.
Changed files (1)
node/src/command.rs
🟡 Pallet or precompile code changed
Pallet or precompile source code has changed. A runtime upgrade may be required. Review the changes carefully before upgrading.
Changed files (9)
pallets/attestation/src/benchmarking.rs
pallets/attestation/src/impls.rs
pallets/attestation/src/lib.rs
pallets/attestation/src/weights.rs
pallets/randomness/src/lib.rs
pallets/randomness/src/weights.rs
pallets/supported-chains/src/benchmarking.rs
pallets/supported-chains/src/lib.rs
pallets/supported-chains/src/weights.rs
🟡 Attestor source changed
Attestor-related source code has changed. Attestor operators should rebuild and redeploy their attestor binary.
Changed files (30)
attestor/attestor/src/error.rs
attestor/attestor/src/lib.rs
attestor/attestor/src/main.rs
attestor/attestor/src/secret.rs
attestor/attestor/src/shared.rs
attestor/attestor/src/startup.rs
attestor/attestor/src/tasks/p2p/mod.rs
attestor/attestor/src/tasks/production.rs
attestor/attestor/src/tasks/validation.rs
common/continuity/src/archiver.rs
common/continuity/src/builder/mod.rs
common/continuity/src/config.rs
common/continuity/src/rpc.rs
common/eth/Cargo.toml
common/eth/src/lib.rs
🟡 Indexer schema entities added or removed
The indexer GraphQL schema has had entities added or removed.
Changed files (1)
cc3-indexer/schema.graphql