Skip to content

Releases: Irys-xyz/irys

mainnet-3.0.4

10 Jun 20:04
Immutable release. Only release title and notes can be modified.
bf6d1ea

Choose a tag to compare

Summary

Sets hard fork activations for Aurora and Borealis hard forks.

Aurora activates on June 23, 2026 at 12:00 UTC.

Commitment transactions are how miners register their obligations to the network: staking an address, pledging storage. They are part of how the chain knows who is responsible for what.

Until now, an encoding bug made these transactions hard to construct outside our own tooling, which kept most outside developers from building them.

Aurora corrects this. It introduces V2 commitment transactions with the fixed encoding and closes off new V1 transactions, so there is one correct format going forward. With the fix in, developers can build, sign, and submit commitment transactions from any language ecosystem.

Borealis activates on June 30, 2026 at 12:00 UTC.

Today, a miner's income arrives at two addresses: transaction fees for getting data into the submit ledger go to the miner address, while block rewards go to the reward address. After Borealis, every form of reward goes to the reward address.

Borealis also adds a new commitment transaction type that lets miners set and update their reward address directly. Previously, changing it meant re-staking the address. Now it is a single transaction.

What's Changed

  • fix(p2p): prevent underflow panic in gossip rate limiter timestamp math by @JesseTheRobot in #1445

Full Changelog: mainnet-3.0.2...mainnet-3.0.4

Docker

docker pull ghcr.io/irys-xyz/irys-mainnet:3.0.4

testnet-3.0.4

10 Jun 18:48
Immutable release. Only release title and notes can be modified.
2ea85b8

Choose a tag to compare

testnet-3.0.4 Pre-release
Pre-release

Changes

Bug Fixes

  • (config) Enable config wide defaults for ip (#1003)
  • (mempool) Add additional logging to silent tx rejections/skips (#1011)
  • (merkle) Align naming (#1005)
  • (mempool) Correct naming (#1013)
  • Submodule database size (#1015)
  • Make reward curve operations genesis time relative (#1017)
  • Extend timeout for reth RPC proxy
  • (api-server) Add balance endpoint (#1019)
  • (api-server) Add total supply endpoint (#1020)
  • (mempool) Monitor mempool handle for panics (#1008)
  • Skip commitment anchor validation on epoch blocks (#1021)
  • Build_current_commitment_snapshot_from_index uses block tree start (#1022)
  • Enhance errors not to lose information (#1014)
  • (block_validaton) Add additional cache data root log (#1023)
  • (actors) Enhance logging to provide more specific detail (#1026)
  • (api-server) Integration test for supply endpoint (#1025)
  • Commitment cumulative fee check (#1033)
  • Add genesis_timestamp == 0 guard in InitState (#1041)
  • (domain) Reduce memory footprint during block index load (#1035)
  • (mempool) Add priority based eviction for pending chunk cache (#1038)
  • (mempool) Remove permanent blacklisting for unknown anchor tx (#1039)
  • (block prod) Oracle price update has tolerance to be accepted (#1046)
  • (api) Align api names and serialisation (#1029)
  • Convert unpledge partition_hash type to H256 (#1049)
  • (shutdown) Add global 30s timeout for orderly shutdown (#1044)
  • (types/canonical) Condense tests (#1050)
  • Unstake ordering properly validated (#1051)
  • (data_sync/tests) Fix docker cluster used for data sync tests (#1053)
  • Size cache poisoning and tx offset validation (#1045)
  • Add packing backlog task, don't debug format generate_full_chunk errors (#1064)
  • Rationalise spans (#1072)
  • Add failsafe notify_one to pipeline log (#1078)
  • (peer) Additional observability (#1082)
  • (logging) Ensure telemetry flush on all shutdown paths (#1077)
  • (flaky_tests) Fix race condition on promotion (#1087)
  • (supply) Refactor supply calculation to use whole chain (#1090)
  • (obs) Add block timestamps to logs (#1108)
  • (docker) Added reduced release image and scripts for cluster (#1074)
  • Make valid ingress proof anchor blockhash range inclusive (#1125)
  • Duplicate ingress proof signers (#1128)
  • Mempool performs a dedup on ingress proofs (#1131)
  • All block transactions stored in the block tree for migration (#1122)
  • Replace rug/gmp-mpfr-sys with pure-Rust num-bigfloat (#1135)
  • Watch individual c_src files in irys-c build script (#1140)
  • Remove project-level linker config
  • Peer id and health check naming consistency (#1146)
  • (logging) Use a self hosted stack for monitoring instead of Axiom (#1105)
  • Ask the source of the header for the block body first (#1152)
  • (tempo) Add sensible tempo limits (#1160)
  • (tracing) Add missing spans (#1161)
  • (observability) Resolve Tempo span drops and local-blocks WAL loop (#1168)
  • Flaky tests (#1171)
  • Update cargo.lock
  • Exclude confirmed txs from submit selection (#1224)
  • Avoid block_discovery panic after block validation rejection (#1235)
  • (ci) Replace envsubst with node for prompt templating (#1238)
  • Ring recompilation (#1252)
  • Unify edition to 2024 via workspace inheritance (#1261)
  • Devnet fixes (#1253)
  • (oracle) Add the json feature in for bundler (#1385)
  • Promotion candidate pruning (#1387)
  • (ci) Cargo-llvm-cov install (#1379)
  • (build) Pass git metadata via env vars for Docker builds (#1386)
  • (storage) Map OneYear/ThirtyDay ledgers to storage modules (#1406)
  • (chunk-ingress, p2p) Divergence post-mortem fixes for overload cascades (#1394)
  • Block pool race (#1417)
  • (p2p) Break body-pull circuit-breaker cascade (#1412)
  • Small metrics followup for #1412
  • Validation (#1425)
  • (ci) Drop literal expression from docker-setup input description (#1427)
  • (release) Disable git-cliff GitHub remote fetch (panics on flaky API) (#1428)
  • CI flakes and irys-reth test memory cap (#1430)
  • (block_producer) Count test block budget by height, not blocks produced (#1436)
  • (p2p) Prevent underflow panic in gossip rate limiter timestamp math (#1445)
  • Commitment versioning & initial SM count
  • Address -> IrysAddress
  • Use CommitmentTransaction .id() getter
  • Change jessedebug logs from error -> debug
  • Move ecosystem file to a template

Documentation

  • Add a deployment guide for mainnet beta nodes (#1012)
  • Update mainnet beta deployment guide to include trusted peers
  • Update auto stake and pledge section
  • Update deployment guide for full node (non mining) configuration
  • PoW finality doc
  • Update mainnet config, add a parser test (#1056)
  • Update mainnet docs and config template (#1058)
  • Adding a authoring hardforks doc
  • Update TOC
  • Update README.md
  • Add docs for EVM tx gas limits (#1107)
  • Add note to .cargo/config.toml
  • Enrich version enum doc comments (#1237)
  • (block_producer) Correct test-budget mechanism narrative (#1438)
  • Route hotfixes through the release line, not master-first (#1440)

Features

  • Make axiom OTLP config optional (#1006)
  • Use is_rightmost_chunk to confirm data_size in CachedDataRoots (#991)
  • Add custom Compact impl for Base64 (#1009)
  • Add hard coded mainnet config values (#995)
  • Derive block rewards from consensus block_time (#1018)
  • Cuda refinement (#876)
  • Do not use expired ingress proofs (#1007)
  • Remove CacheEvictionStrategy (#1027)
  • Make cache service prune expired ingress proofs from the cache (#1024)
  • Update reth (#1028)
  • Introduce irys hardforks (#1030)
  • Chunk pruning (#1036)
  • Atomic cache updates (#1047)
  • Custom address (#1052)
  • Only generate ingress proofs for confirmed data_size (#1054)
  • Improve error handling around invalid block migration (#1067)
  • Move handshake and sync request into the gossip server (#1066)
  • Index info fallback (#1068)
  • Return none when data chunk not found, propagate err otherwise (#1070)
  • Remove gossip fallbacks for older nodes (#1073)
  • Tweak commitment_tx_signature_signing_serialization (#1081)
  • More granular handshakes (#1084)
  • Add a CommitmentTransactionV2 (#1085)
  • Nextest measurement wrapper (#1091)
  • Add failure tracking & test filtering to xtask test (#1093)
  • Block bodies (#1057)
  • Add hardfork for deprecating V1 commitment transactions (#1088)
  • Commitment type v2 (#1095)
  • Add sane config defaults for parts of the NodeConfig (#1100)
  • Add extra defaults
  • Return none instead of error when reading a chunk that hasn't been written (#1102)
  • Enable aurora & tweak CommitmentPriceInfo (#1103)
  • Decouple testnet and testing config (#1109)
  • Status endpoint (#1099)
  • Peer ids (#1110)
  • Move peer_id into the db (#1112)
  • Align testnet consensus config, add recall range invariant (#1116)
  • Sync diagnostics (#1117)
  • Consensus hash for handshakes (#1129)
  • Better sync crash heuristics (#1132)
  • Perf tweaks (#1133)
  • Update reward address commitment type (#1115)
  • Migrate BlockIndex to MDBX and add term ledger validation (#1104)
  • Sealed blocks (#1097)
  • Set expected_genesis_hash at runtime on genesis node (#1139)
  • Add self-contained Docker cluster tooling (#1134)
  • (p2p) Add circuit breaker to p2p client (#963)
  • Changed peer id location (#1138)
  • Better block cache for block bodies (#1145)
  • Chunk upload throughput and observability improvements (#1148)
  • Add cross-node request lifecycle tracing and observability improvements (#1156)
  • Simplify the client (#1153)
  • Add custom URL support to IrysApiClient (#1165)
  • Move integration tests (#1174)
  • Improved nextest monitoring (#1172)
  • Version bump of crates/chain/Cargo.toml to 3.0.0
  • Gossip wire types (#1184)
  • (bench) Add criterion benchmarks and CI workflow (#1221)
  • Run mode (#1228)
  • Check database schema version on startup (#1223)
  • Perm ledger expiry for testnet (#1201)
  • (multiversion-tests) Add cross-version integration test harness (#1207)
  • VDF throttling (#1239)
  • Sccache ci migration (#1229)
  • Build versioning (#1260)
  • Cascade hardfork — term ledgers (OneYear/ThirtyDay) and height-aware pricing (#1166)
  • Genesis CLI (#1380)
  • Wait_for_evm_block in mine_block and wait_for_block_at_height (#1391)
  • Gate ingress proofs on submit ledger confirmation (#1390)
  • Bundle_format -> metadata_format (#1401)
  • (metrics) Expose MDBX metrics via Reth's /metrics endpoint (#1409)
  • Vdf progress (#1411)
  • VDF stall detection logic tweaks (#1413)
  • Preval perf (#1414)
  • (snapshot) Portable chain-state import/export tooling (#1419)
  • More debug-utils
  • Improve coverage gh-pages
  • Obs follow-ups and Reth metrics bind hardening (#1426)
  • Release process (#1393)
  • Move from deployment/ to release/
  • Improved multiversion tests (#1404)
  • Per-version frozen release branches + tag-trust rebuild provenance (#1434)
  • (p2p) Hard-reject handshakes from a different chain_id (#1435)
  • (p2p) Evict peers on chain_id (network) mismatch handshake rejection (#1437)
  • Release 3.0.2 (#1441)
  • (consensus) Set aurora/borealis mainnet activation times, enable testnet borealis
  • Disable packing progress logs
  • Disable mdbx log

Miscellaneous

  • Tweak submodule paths
  • Add extra info to the DoNotRegenerate error
  • Update mainnet config
  • Add total cost logging for automatic stake & pledge
  • Add over capacity warning to cache service (#1060)
  • (docker) Add release file and workflow (#1061)
  • (ci) Fix release docker workflow (#1062)
  • (docker) Build binary inside the docker context (#1063)
  • Gitignore ecosystem.config.js
  • Add docker-in-docker for devcontainer
  • Claude.md and a skill for writing integration tests (#1141)
  • Add .worktrees to .gitignore
  • Add gitignore for .claude/local, add CLAUDE.md instruction to read it (#1158)
  • Sync cleanup (#1157)
  • Rust version update (#1164)
  • Update reth to 1.11.1 (#1162)
  • (design) Extract design documents (#1212)
  • (CI) Don't cancel in progress jobs on master
  • Update timestamp again
  • Update cargo lock
  • Update lockfile

Performance

  • (vdf) Optimize hot loop with d...
Read more

testnet-3.0.3

09 Jun 21:40
Immutable release. Only release title and notes can be modified.
28616b8

Choose a tag to compare

testnet-3.0.3 Pre-release
Pre-release

Changes

Bug Fixes

  • (config) Enable config wide defaults for ip (#1003)
  • (mempool) Add additional logging to silent tx rejections/skips (#1011)
  • (merkle) Align naming (#1005)
  • (mempool) Correct naming (#1013)
  • Submodule database size (#1015)
  • Make reward curve operations genesis time relative (#1017)
  • Extend timeout for reth RPC proxy
  • (api-server) Add balance endpoint (#1019)
  • (api-server) Add total supply endpoint (#1020)
  • (mempool) Monitor mempool handle for panics (#1008)
  • Skip commitment anchor validation on epoch blocks (#1021)
  • Build_current_commitment_snapshot_from_index uses block tree start (#1022)
  • Enhance errors not to lose information (#1014)
  • (block_validaton) Add additional cache data root log (#1023)
  • (actors) Enhance logging to provide more specific detail (#1026)
  • (api-server) Integration test for supply endpoint (#1025)
  • Commitment cumulative fee check (#1033)
  • Add genesis_timestamp == 0 guard in InitState (#1041)
  • (domain) Reduce memory footprint during block index load (#1035)
  • (mempool) Add priority based eviction for pending chunk cache (#1038)
  • (mempool) Remove permanent blacklisting for unknown anchor tx (#1039)
  • (block prod) Oracle price update has tolerance to be accepted (#1046)
  • (api) Align api names and serialisation (#1029)
  • Convert unpledge partition_hash type to H256 (#1049)
  • (shutdown) Add global 30s timeout for orderly shutdown (#1044)
  • (types/canonical) Condense tests (#1050)
  • Unstake ordering properly validated (#1051)
  • (data_sync/tests) Fix docker cluster used for data sync tests (#1053)
  • Size cache poisoning and tx offset validation (#1045)
  • Add packing backlog task, don't debug format generate_full_chunk errors (#1064)
  • Rationalise spans (#1072)
  • Add failsafe notify_one to pipeline log (#1078)
  • (peer) Additional observability (#1082)
  • (logging) Ensure telemetry flush on all shutdown paths (#1077)
  • (flaky_tests) Fix race condition on promotion (#1087)
  • (supply) Refactor supply calculation to use whole chain (#1090)
  • (obs) Add block timestamps to logs (#1108)
  • (docker) Added reduced release image and scripts for cluster (#1074)
  • Make valid ingress proof anchor blockhash range inclusive (#1125)
  • Duplicate ingress proof signers (#1128)
  • Mempool performs a dedup on ingress proofs (#1131)
  • All block transactions stored in the block tree for migration (#1122)
  • Replace rug/gmp-mpfr-sys with pure-Rust num-bigfloat (#1135)
  • Watch individual c_src files in irys-c build script (#1140)
  • Remove project-level linker config
  • Peer id and health check naming consistency (#1146)
  • (logging) Use a self hosted stack for monitoring instead of Axiom (#1105)
  • Ask the source of the header for the block body first (#1152)
  • (tempo) Add sensible tempo limits (#1160)
  • (tracing) Add missing spans (#1161)
  • (observability) Resolve Tempo span drops and local-blocks WAL loop (#1168)
  • Flaky tests (#1171)
  • Update cargo.lock
  • Exclude confirmed txs from submit selection (#1224)
  • Avoid block_discovery panic after block validation rejection (#1235)
  • (ci) Replace envsubst with node for prompt templating (#1238)
  • Ring recompilation (#1252)
  • Unify edition to 2024 via workspace inheritance (#1261)
  • Devnet fixes (#1253)
  • (oracle) Add the json feature in for bundler (#1385)
  • Promotion candidate pruning (#1387)
  • (ci) Cargo-llvm-cov install (#1379)
  • (build) Pass git metadata via env vars for Docker builds (#1386)
  • (storage) Map OneYear/ThirtyDay ledgers to storage modules (#1406)
  • (chunk-ingress, p2p) Divergence post-mortem fixes for overload cascades (#1394)
  • Block pool race (#1417)
  • (p2p) Break body-pull circuit-breaker cascade (#1412)
  • Small metrics followup for #1412
  • Validation (#1425)
  • (ci) Drop literal expression from docker-setup input description (#1427)
  • (release) Disable git-cliff GitHub remote fetch (panics on flaky API) (#1428)
  • CI flakes and irys-reth test memory cap (#1430)
  • (block_producer) Count test block budget by height, not blocks produced (#1436)
  • Commitment versioning & initial SM count
  • Address -> IrysAddress
  • Use CommitmentTransaction .id() getter
  • Change jessedebug logs from error -> debug
  • Move ecosystem file to a template

Documentation

  • Add a deployment guide for mainnet beta nodes (#1012)
  • Update mainnet beta deployment guide to include trusted peers
  • Update auto stake and pledge section
  • Update deployment guide for full node (non mining) configuration
  • PoW finality doc
  • Update mainnet config, add a parser test (#1056)
  • Update mainnet docs and config template (#1058)
  • Adding a authoring hardforks doc
  • Update TOC
  • Update README.md
  • Add docs for EVM tx gas limits (#1107)
  • Add note to .cargo/config.toml
  • Enrich version enum doc comments (#1237)
  • (block_producer) Correct test-budget mechanism narrative (#1438)
  • Route hotfixes through the release line, not master-first (#1440)

Features

  • Make axiom OTLP config optional (#1006)
  • Use is_rightmost_chunk to confirm data_size in CachedDataRoots (#991)
  • Add custom Compact impl for Base64 (#1009)
  • Add hard coded mainnet config values (#995)
  • Derive block rewards from consensus block_time (#1018)
  • Cuda refinement (#876)
  • Do not use expired ingress proofs (#1007)
  • Remove CacheEvictionStrategy (#1027)
  • Make cache service prune expired ingress proofs from the cache (#1024)
  • Update reth (#1028)
  • Introduce irys hardforks (#1030)
  • Chunk pruning (#1036)
  • Atomic cache updates (#1047)
  • Custom address (#1052)
  • Only generate ingress proofs for confirmed data_size (#1054)
  • Improve error handling around invalid block migration (#1067)
  • Move handshake and sync request into the gossip server (#1066)
  • Index info fallback (#1068)
  • Return none when data chunk not found, propagate err otherwise (#1070)
  • Remove gossip fallbacks for older nodes (#1073)
  • Tweak commitment_tx_signature_signing_serialization (#1081)
  • More granular handshakes (#1084)
  • Add a CommitmentTransactionV2 (#1085)
  • Nextest measurement wrapper (#1091)
  • Add failure tracking & test filtering to xtask test (#1093)
  • Block bodies (#1057)
  • Add hardfork for deprecating V1 commitment transactions (#1088)
  • Commitment type v2 (#1095)
  • Add sane config defaults for parts of the NodeConfig (#1100)
  • Add extra defaults
  • Return none instead of error when reading a chunk that hasn't been written (#1102)
  • Enable aurora & tweak CommitmentPriceInfo (#1103)
  • Decouple testnet and testing config (#1109)
  • Status endpoint (#1099)
  • Peer ids (#1110)
  • Move peer_id into the db (#1112)
  • Align testnet consensus config, add recall range invariant (#1116)
  • Sync diagnostics (#1117)
  • Consensus hash for handshakes (#1129)
  • Better sync crash heuristics (#1132)
  • Perf tweaks (#1133)
  • Update reward address commitment type (#1115)
  • Migrate BlockIndex to MDBX and add term ledger validation (#1104)
  • Sealed blocks (#1097)
  • Set expected_genesis_hash at runtime on genesis node (#1139)
  • Add self-contained Docker cluster tooling (#1134)
  • (p2p) Add circuit breaker to p2p client (#963)
  • Changed peer id location (#1138)
  • Better block cache for block bodies (#1145)
  • Chunk upload throughput and observability improvements (#1148)
  • Add cross-node request lifecycle tracing and observability improvements (#1156)
  • Simplify the client (#1153)
  • Add custom URL support to IrysApiClient (#1165)
  • Move integration tests (#1174)
  • Improved nextest monitoring (#1172)
  • Version bump of crates/chain/Cargo.toml to 3.0.0
  • Gossip wire types (#1184)
  • (bench) Add criterion benchmarks and CI workflow (#1221)
  • Run mode (#1228)
  • Check database schema version on startup (#1223)
  • Perm ledger expiry for testnet (#1201)
  • (multiversion-tests) Add cross-version integration test harness (#1207)
  • VDF throttling (#1239)
  • Sccache ci migration (#1229)
  • Build versioning (#1260)
  • Cascade hardfork — term ledgers (OneYear/ThirtyDay) and height-aware pricing (#1166)
  • Genesis CLI (#1380)
  • Wait_for_evm_block in mine_block and wait_for_block_at_height (#1391)
  • Gate ingress proofs on submit ledger confirmation (#1390)
  • Bundle_format -> metadata_format (#1401)
  • (metrics) Expose MDBX metrics via Reth's /metrics endpoint (#1409)
  • Vdf progress (#1411)
  • VDF stall detection logic tweaks (#1413)
  • Preval perf (#1414)
  • (snapshot) Portable chain-state import/export tooling (#1419)
  • More debug-utils
  • Improve coverage gh-pages
  • Obs follow-ups and Reth metrics bind hardening (#1426)
  • Release process (#1393)
  • Move from deployment/ to release/
  • Improved multiversion tests (#1404)
  • Per-version frozen release branches + tag-trust rebuild provenance (#1434)
  • (p2p) Hard-reject handshakes from a different chain_id (#1435)
  • (p2p) Evict peers on chain_id (network) mismatch handshake rejection (#1437)
  • Release 3.0.2 (#1441)
  • (consensus) Set aurora/borealis mainnet activation times, enable testnet borealis
  • Disable packing progress logs
  • Disable mdbx log

Miscellaneous

  • Tweak submodule paths
  • Add extra info to the DoNotRegenerate error
  • Update mainnet config
  • Add total cost logging for automatic stake & pledge
  • Add over capacity warning to cache service (#1060)
  • (docker) Add release file and workflow (#1061)
  • (ci) Fix release docker workflow (#1062)
  • (docker) Build binary inside the docker context (#1063)
  • Gitignore ecosystem.config.js
  • Add docker-in-docker for devcontainer
  • Claude.md and a skill for writing integration tests (#1141)
  • Add .worktrees to .gitignore
  • Add gitignore for .claude/local, add CLAUDE.md instruction to read it (#1158)
  • Sync cleanup (#1157)
  • Rust version update (#1164)
  • Update reth to 1.11.1 (#1162)
  • (design) Extract design documents (#1212)
  • (CI) Don't cancel in progress jobs on master
  • Update timestamp again
  • Update cargo lock
  • Update lockfile

Performance

  • (vdf) Optimize hot loop with direct compress256 and copy elimination (#1214)
  • (efficient-sampling) Skip Has...
Read more

mainnet-3.0.2

04 Jun 15:45
Immutable release. Only release title and notes can be modified.
e30f336

Choose a tag to compare

Summary

Mainnet 3.0.2 builds on top of the 3.0.1 release with some core fixes to chain ID validation.

Changes

What's Changed

Full Changelog: mainnet-3.0.1...mainnet-3.0.2

Docker

docker pull ghcr.io/irys-xyz/irys-mainnet:3.0.2

testnet-3.0.2

03 Jun 11:37
Immutable release. Only release title and notes can be modified.
4a61db4

Choose a tag to compare

testnet-3.0.2 Pre-release
Pre-release

Changes

Bug Fixes

  • (config) Enable config wide defaults for ip (#1003)
  • (mempool) Add additional logging to silent tx rejections/skips (#1011)
  • (merkle) Align naming (#1005)
  • (mempool) Correct naming (#1013)
  • Submodule database size (#1015)
  • Make reward curve operations genesis time relative (#1017)
  • Extend timeout for reth RPC proxy
  • (api-server) Add balance endpoint (#1019)
  • (api-server) Add total supply endpoint (#1020)
  • (mempool) Monitor mempool handle for panics (#1008)
  • Skip commitment anchor validation on epoch blocks (#1021)
  • Build_current_commitment_snapshot_from_index uses block tree start (#1022)
  • Enhance errors not to lose information (#1014)
  • (block_validaton) Add additional cache data root log (#1023)
  • (actors) Enhance logging to provide more specific detail (#1026)
  • (api-server) Integration test for supply endpoint (#1025)
  • Commitment cumulative fee check (#1033)
  • Add genesis_timestamp == 0 guard in InitState (#1041)
  • (domain) Reduce memory footprint during block index load (#1035)
  • (mempool) Add priority based eviction for pending chunk cache (#1038)
  • (mempool) Remove permanent blacklisting for unknown anchor tx (#1039)
  • (block prod) Oracle price update has tolerance to be accepted (#1046)
  • (api) Align api names and serialisation (#1029)
  • Convert unpledge partition_hash type to H256 (#1049)
  • (shutdown) Add global 30s timeout for orderly shutdown (#1044)
  • (types/canonical) Condense tests (#1050)
  • Unstake ordering properly validated (#1051)
  • (data_sync/tests) Fix docker cluster used for data sync tests (#1053)
  • Size cache poisoning and tx offset validation (#1045)
  • Add packing backlog task, don't debug format generate_full_chunk errors (#1064)
  • Rationalise spans (#1072)
  • Add failsafe notify_one to pipeline log (#1078)
  • (peer) Additional observability (#1082)
  • (logging) Ensure telemetry flush on all shutdown paths (#1077)
  • (flaky_tests) Fix race condition on promotion (#1087)
  • (supply) Refactor supply calculation to use whole chain (#1090)
  • (obs) Add block timestamps to logs (#1108)
  • (docker) Added reduced release image and scripts for cluster (#1074)
  • Make valid ingress proof anchor blockhash range inclusive (#1125)
  • Duplicate ingress proof signers (#1128)
  • Mempool performs a dedup on ingress proofs (#1131)
  • All block transactions stored in the block tree for migration (#1122)
  • Replace rug/gmp-mpfr-sys with pure-Rust num-bigfloat (#1135)
  • Watch individual c_src files in irys-c build script (#1140)
  • Remove project-level linker config
  • Peer id and health check naming consistency (#1146)
  • (logging) Use a self hosted stack for monitoring instead of Axiom (#1105)
  • Ask the source of the header for the block body first (#1152)
  • (tempo) Add sensible tempo limits (#1160)
  • (tracing) Add missing spans (#1161)
  • (observability) Resolve Tempo span drops and local-blocks WAL loop (#1168)
  • Flaky tests (#1171)
  • Update cargo.lock
  • Exclude confirmed txs from submit selection (#1224)
  • Avoid block_discovery panic after block validation rejection (#1235)
  • (ci) Replace envsubst with node for prompt templating (#1238)
  • Ring recompilation (#1252)
  • Unify edition to 2024 via workspace inheritance (#1261)
  • Devnet fixes (#1253)
  • (oracle) Add the json feature in for bundler (#1385)
  • Promotion candidate pruning (#1387)
  • (ci) Cargo-llvm-cov install (#1379)
  • (build) Pass git metadata via env vars for Docker builds (#1386)
  • (storage) Map OneYear/ThirtyDay ledgers to storage modules (#1406)
  • (chunk-ingress, p2p) Divergence post-mortem fixes for overload cascades (#1394)
  • Block pool race (#1417)
  • (p2p) Break body-pull circuit-breaker cascade (#1412)
  • Small metrics followup for #1412
  • Validation (#1425)
  • (ci) Drop literal expression from docker-setup input description (#1427)
  • (release) Disable git-cliff GitHub remote fetch (panics on flaky API) (#1428)
  • CI flakes and irys-reth test memory cap (#1430)
  • (block_producer) Count test block budget by height, not blocks produced (#1436)
  • Commitment versioning & initial SM count
  • Address -> IrysAddress
  • Use CommitmentTransaction .id() getter
  • Change jessedebug logs from error -> debug
  • Move ecosystem file to a template

Documentation

  • Add a deployment guide for mainnet beta nodes (#1012)
  • Update mainnet beta deployment guide to include trusted peers
  • Update auto stake and pledge section
  • Update deployment guide for full node (non mining) configuration
  • PoW finality doc
  • Update mainnet config, add a parser test (#1056)
  • Update mainnet docs and config template (#1058)
  • Adding a authoring hardforks doc
  • Update TOC
  • Update README.md
  • Add docs for EVM tx gas limits (#1107)
  • Add note to .cargo/config.toml
  • Enrich version enum doc comments (#1237)
  • (block_producer) Correct test-budget mechanism narrative (#1438)
  • Route hotfixes through the release line, not master-first (#1440)

Features

  • Make axiom OTLP config optional (#1006)
  • Use is_rightmost_chunk to confirm data_size in CachedDataRoots (#991)
  • Add custom Compact impl for Base64 (#1009)
  • Add hard coded mainnet config values (#995)
  • Derive block rewards from consensus block_time (#1018)
  • Cuda refinement (#876)
  • Do not use expired ingress proofs (#1007)
  • Remove CacheEvictionStrategy (#1027)
  • Make cache service prune expired ingress proofs from the cache (#1024)
  • Update reth (#1028)
  • Introduce irys hardforks (#1030)
  • Chunk pruning (#1036)
  • Atomic cache updates (#1047)
  • Custom address (#1052)
  • Only generate ingress proofs for confirmed data_size (#1054)
  • Improve error handling around invalid block migration (#1067)
  • Move handshake and sync request into the gossip server (#1066)
  • Index info fallback (#1068)
  • Return none when data chunk not found, propagate err otherwise (#1070)
  • Remove gossip fallbacks for older nodes (#1073)
  • Tweak commitment_tx_signature_signing_serialization (#1081)
  • More granular handshakes (#1084)
  • Add a CommitmentTransactionV2 (#1085)
  • Nextest measurement wrapper (#1091)
  • Add failure tracking & test filtering to xtask test (#1093)
  • Block bodies (#1057)
  • Add hardfork for deprecating V1 commitment transactions (#1088)
  • Commitment type v2 (#1095)
  • Add sane config defaults for parts of the NodeConfig (#1100)
  • Add extra defaults
  • Return none instead of error when reading a chunk that hasn't been written (#1102)
  • Enable aurora & tweak CommitmentPriceInfo (#1103)
  • Decouple testnet and testing config (#1109)
  • Status endpoint (#1099)
  • Peer ids (#1110)
  • Move peer_id into the db (#1112)
  • Align testnet consensus config, add recall range invariant (#1116)
  • Sync diagnostics (#1117)
  • Consensus hash for handshakes (#1129)
  • Better sync crash heuristics (#1132)
  • Perf tweaks (#1133)
  • Update reward address commitment type (#1115)
  • Migrate BlockIndex to MDBX and add term ledger validation (#1104)
  • Sealed blocks (#1097)
  • Set expected_genesis_hash at runtime on genesis node (#1139)
  • Add self-contained Docker cluster tooling (#1134)
  • (p2p) Add circuit breaker to p2p client (#963)
  • Changed peer id location (#1138)
  • Better block cache for block bodies (#1145)
  • Chunk upload throughput and observability improvements (#1148)
  • Add cross-node request lifecycle tracing and observability improvements (#1156)
  • Simplify the client (#1153)
  • Add custom URL support to IrysApiClient (#1165)
  • Move integration tests (#1174)
  • Improved nextest monitoring (#1172)
  • Version bump of crates/chain/Cargo.toml to 3.0.0
  • Gossip wire types (#1184)
  • (bench) Add criterion benchmarks and CI workflow (#1221)
  • Run mode (#1228)
  • Check database schema version on startup (#1223)
  • Perm ledger expiry for testnet (#1201)
  • (multiversion-tests) Add cross-version integration test harness (#1207)
  • VDF throttling (#1239)
  • Sccache ci migration (#1229)
  • Build versioning (#1260)
  • Cascade hardfork — term ledgers (OneYear/ThirtyDay) and height-aware pricing (#1166)
  • Genesis CLI (#1380)
  • Wait_for_evm_block in mine_block and wait_for_block_at_height (#1391)
  • Gate ingress proofs on submit ledger confirmation (#1390)
  • Bundle_format -> metadata_format (#1401)
  • (metrics) Expose MDBX metrics via Reth's /metrics endpoint (#1409)
  • Vdf progress (#1411)
  • VDF stall detection logic tweaks (#1413)
  • Preval perf (#1414)
  • (snapshot) Portable chain-state import/export tooling (#1419)
  • More debug-utils
  • Improve coverage gh-pages
  • Obs follow-ups and Reth metrics bind hardening (#1426)
  • Release process (#1393)
  • Move from deployment/ to release/
  • Improved multiversion tests (#1404)
  • Per-version frozen release branches + tag-trust rebuild provenance (#1434)
  • (p2p) Hard-reject handshakes from a different chain_id (#1435)
  • (p2p) Evict peers on chain_id (network) mismatch handshake rejection (#1437)
  • Release 3.0.2 (#1441)
  • Disable packing progress logs
  • Disable mdbx log

Miscellaneous

  • Tweak submodule paths
  • Add extra info to the DoNotRegenerate error
  • Update mainnet config
  • Add total cost logging for automatic stake & pledge
  • Add over capacity warning to cache service (#1060)
  • (docker) Add release file and workflow (#1061)
  • (ci) Fix release docker workflow (#1062)
  • (docker) Build binary inside the docker context (#1063)
  • Gitignore ecosystem.config.js
  • Add docker-in-docker for devcontainer
  • Claude.md and a skill for writing integration tests (#1141)
  • Add .worktrees to .gitignore
  • Add gitignore for .claude/local, add CLAUDE.md instruction to read it (#1158)
  • Sync cleanup (#1157)
  • Rust version update (#1164)
  • Update reth to 1.11.1 (#1162)
  • (design) Extract design documents (#1212)
  • (CI) Don't cancel in progress jobs on master
  • Update timestamp again
  • Update cargo lock
  • Update lockfile

Performance

  • (vdf) Optimize hot loop with direct compress256 and copy elimination (#1214)
  • (efficient-sampling) Skip HashMap on validation reconstruct path (#1418)

REVERTME

  • Genesis commitment nonsense...
Read more

mainnet-3.0.1

04 Jun 15:46
Immutable release. Only release title and notes can be modified.
7928440

Choose a tag to compare

Summary

Changes

Bug Fixes

  • (peer) Additional observability (#1082)
  • (logging) Ensure telemetry flush on all shutdown paths (#1077)
  • (flaky_tests) Fix race condition on promotion (#1087)
  • (supply) Refactor supply calculation to use whole chain (#1090)
  • (obs) Add block timestamps to logs (#1108)
  • (docker) Added reduced release image and scripts for cluster (#1074)
  • Make valid ingress proof anchor blockhash range inclusive (#1125)
  • Duplicate ingress proof signers (#1128)
  • Mempool performs a dedup on ingress proofs (#1131)
  • All block transactions stored in the block tree for migration (#1122)
  • Replace rug/gmp-mpfr-sys with pure-Rust num-bigfloat (#1135)
  • Watch individual c_src files in irys-c build script (#1140)
  • Remove project-level linker config
  • Peer id and health check naming consistency (#1146)
  • (logging) Use a self hosted stack for monitoring instead of Axiom (#1105)
  • Ask the source of the header for the block body first (#1152)
  • (tempo) Add sensible tempo limits (#1160)
  • (tracing) Add missing spans (#1161)
  • (observability) Resolve Tempo span drops and local-blocks WAL loop (#1168)
  • Flaky tests (#1171)
  • Update cargo.lock
  • Exclude confirmed txs from submit selection (#1224)
  • Avoid block_discovery panic after block validation rejection (#1235)
  • (ci) Replace envsubst with node for prompt templating (#1238)
  • Ring recompilation (#1252)
  • Unify edition to 2024 via workspace inheritance (#1261)
  • Devnet fixes (#1253)
  • (oracle) Add the json feature in for bundler (#1385)
  • Promotion candidate pruning (#1387)
  • (ci) Cargo-llvm-cov install (#1379)
  • (build) Pass git metadata via env vars for Docker builds (#1386)
  • (storage) Map OneYear/ThirtyDay ledgers to storage modules (#1406)
  • (chunk-ingress, p2p) Divergence post-mortem fixes for overload cascades (#1394)
  • Block pool race (#1417)
  • (p2p) Break body-pull circuit-breaker cascade (#1412)
  • Small metrics followup for #1412
  • Validation (#1425)
  • (ci) Drop literal expression from docker-setup input description (#1427)
  • (release) Disable git-cliff GitHub remote fetch (panics on flaky API) (#1428)
  • CI flakes and irys-reth test memory cap (#1430)

Documentation

  • Adding a authoring hardforks doc
  • Update TOC
  • Update README.md
  • Add docs for EVM tx gas limits (#1107)
  • Add note to .cargo/config.toml
  • Enrich version enum doc comments (#1237)

Features

  • Tweak commitment_tx_signature_signing_serialization (#1081)
  • More granular handshakes (#1084)
  • Add a CommitmentTransactionV2 (#1085)
  • Nextest measurement wrapper (#1091)
  • Add failure tracking & test filtering to xtask test (#1093)
  • Block bodies (#1057)
  • Add hardfork for deprecating V1 commitment transactions (#1088)
  • Commitment type v2 (#1095)
  • Add sane config defaults for parts of the NodeConfig (#1100)
  • Add extra defaults
  • Return none instead of error when reading a chunk that hasn't been written (#1102)
  • Enable aurora & tweak CommitmentPriceInfo (#1103)
  • Decouple testnet and testing config (#1109)
  • Status endpoint (#1099)
  • Peer ids (#1110)
  • Move peer_id into the db (#1112)
  • Align testnet consensus config, add recall range invariant (#1116)
  • Sync diagnostics (#1117)
  • Consensus hash for handshakes (#1129)
  • Better sync crash heuristics (#1132)
  • Perf tweaks (#1133)
  • Update reward address commitment type (#1115)
  • Migrate BlockIndex to MDBX and add term ledger validation (#1104)
  • Sealed blocks (#1097)
  • Set expected_genesis_hash at runtime on genesis node (#1139)
  • Add self-contained Docker cluster tooling (#1134)
  • (p2p) Add circuit breaker to p2p client (#963)
  • Changed peer id location (#1138)
  • Better block cache for block bodies (#1145)
  • Chunk upload throughput and observability improvements (#1148)
  • Add cross-node request lifecycle tracing and observability improvements (#1156)
  • Simplify the client (#1153)
  • Add custom URL support to IrysApiClient (#1165)
  • Move integration tests (#1174)
  • Improved nextest monitoring (#1172)
  • Version bump of crates/chain/Cargo.toml to 3.0.0
  • Gossip wire types (#1184)
  • (bench) Add criterion benchmarks and CI workflow (#1221)
  • Run mode (#1228)
  • Check database schema version on startup (#1223)
  • Perm ledger expiry for testnet (#1201)
  • (multiversion-tests) Add cross-version integration test harness (#1207)
  • VDF throttling (#1239)
  • Sccache ci migration (#1229)
  • Build versioning (#1260)
  • Cascade hardfork — term ledgers (OneYear/ThirtyDay) and height-aware pricing (#1166)
  • Genesis CLI (#1380)
  • Wait_for_evm_block in mine_block and wait_for_block_at_height (#1391)
  • Gate ingress proofs on submit ledger confirmation (#1390)
  • Bundle_format -> metadata_format (#1401)
  • (metrics) Expose MDBX metrics via Reth's /metrics endpoint (#1409)
  • Vdf progress (#1411)
  • VDF stall detection logic tweaks (#1413)
  • Preval perf (#1414)
  • (snapshot) Portable chain-state import/export tooling (#1419)
  • More debug-utils
  • Improve coverage gh-pages
  • Obs follow-ups and Reth metrics bind hardening (#1426)
  • Release process (#1393)
  • Move from deployment/ to release/
  • Improved multiversion tests (#1404)
  • Per-version frozen release branches + tag-trust rebuild provenance (#1434)

Miscellaneous

  • Gitignore ecosystem.config.js
  • Add docker-in-docker for devcontainer
  • Claude.md and a skill for writing integration tests (#1141)
  • Add .worktrees to .gitignore
  • Add gitignore for .claude/local, add CLAUDE.md instruction to read it (#1158)
  • Sync cleanup (#1157)
  • Rust version update (#1164)
  • Update reth to 1.11.1 (#1162)
  • (design) Extract design documents (#1212)
  • (CI) Don't cancel in progress jobs on master

Performance

  • (vdf) Optimize hot loop with direct compress256 and copy elimination (#1214)
  • (efficient-sampling) Skip HashMap on validation reconstruct path (#1418)

Refactoring

  • Only staked nodes produce ingress proofs (#1118)
  • Simplify block validation tracker (#1120)
  • Propagate an error if block tree rejects a block (#1137)
  • Block tree metadata simplification (#1143)
  • Migration lifecycle simplification (#1136)
  • Simplify block index - remove service layer, atomic persistence, accept SealedBlock (#1151)
  • Extract ChunkIngressService from mempool (#1155)
  • Simplify node startup (#1169)
  • Extract non-pool responsibilities from the mempool (#1159)
  • (shadow-tx) Consolidate tx creation logic onto ShadowTransaction (#1215)
  • (p2p) Reduce data cloning in gossip subsystem (#1249)
  • (telemetry) Remove Axiom log broadcasting (#1420)
  • (block_tree) Compute reorg split via parent-walk LCA (#1432)

Reverts

  • Disable for now

Testing

Docker

docker pull ghcr.io/irys-xyz/irys-mainnet:3.0.1

testnet-3.0.1

29 May 10:21
Immutable release. Only release title and notes can be modified.
6f99131

Choose a tag to compare

testnet-3.0.1 Pre-release
Pre-release

Changes

Bug Fixes

  • (config) Enable config wide defaults for ip (#1003)
  • (mempool) Add additional logging to silent tx rejections/skips (#1011)
  • (merkle) Align naming (#1005)
  • (mempool) Correct naming (#1013)
  • Submodule database size (#1015)
  • Make reward curve operations genesis time relative (#1017)
  • Extend timeout for reth RPC proxy
  • (api-server) Add balance endpoint (#1019)
  • (api-server) Add total supply endpoint (#1020)
  • (mempool) Monitor mempool handle for panics (#1008)
  • Skip commitment anchor validation on epoch blocks (#1021)
  • Build_current_commitment_snapshot_from_index uses block tree start (#1022)
  • Enhance errors not to lose information (#1014)
  • (block_validaton) Add additional cache data root log (#1023)
  • (actors) Enhance logging to provide more specific detail (#1026)
  • (api-server) Integration test for supply endpoint (#1025)
  • Commitment cumulative fee check (#1033)
  • Add genesis_timestamp == 0 guard in InitState (#1041)
  • (domain) Reduce memory footprint during block index load (#1035)
  • (mempool) Add priority based eviction for pending chunk cache (#1038)
  • (mempool) Remove permanent blacklisting for unknown anchor tx (#1039)
  • (block prod) Oracle price update has tolerance to be accepted (#1046)
  • (api) Align api names and serialisation (#1029)
  • Convert unpledge partition_hash type to H256 (#1049)
  • (shutdown) Add global 30s timeout for orderly shutdown (#1044)
  • (types/canonical) Condense tests (#1050)
  • Unstake ordering properly validated (#1051)
  • (data_sync/tests) Fix docker cluster used for data sync tests (#1053)
  • Size cache poisoning and tx offset validation (#1045)
  • Add packing backlog task, don't debug format generate_full_chunk errors (#1064)
  • Rationalise spans (#1072)
  • Add failsafe notify_one to pipeline log (#1078)
  • (peer) Additional observability (#1082)
  • (logging) Ensure telemetry flush on all shutdown paths (#1077)
  • (flaky_tests) Fix race condition on promotion (#1087)
  • (supply) Refactor supply calculation to use whole chain (#1090)
  • (obs) Add block timestamps to logs (#1108)
  • (docker) Added reduced release image and scripts for cluster (#1074)
  • Make valid ingress proof anchor blockhash range inclusive (#1125)
  • Duplicate ingress proof signers (#1128)
  • Mempool performs a dedup on ingress proofs (#1131)
  • All block transactions stored in the block tree for migration (#1122)
  • Replace rug/gmp-mpfr-sys with pure-Rust num-bigfloat (#1135)
  • Watch individual c_src files in irys-c build script (#1140)
  • Remove project-level linker config
  • Peer id and health check naming consistency (#1146)
  • (logging) Use a self hosted stack for monitoring instead of Axiom (#1105)
  • Ask the source of the header for the block body first (#1152)
  • (tempo) Add sensible tempo limits (#1160)
  • (tracing) Add missing spans (#1161)
  • (observability) Resolve Tempo span drops and local-blocks WAL loop (#1168)
  • Flaky tests (#1171)
  • Update cargo.lock
  • Exclude confirmed txs from submit selection (#1224)
  • Avoid block_discovery panic after block validation rejection (#1235)
  • (ci) Replace envsubst with node for prompt templating (#1238)
  • Ring recompilation (#1252)
  • Unify edition to 2024 via workspace inheritance (#1261)
  • Devnet fixes (#1253)
  • (oracle) Add the json feature in for bundler (#1385)
  • Promotion candidate pruning (#1387)
  • (ci) Cargo-llvm-cov install (#1379)
  • (build) Pass git metadata via env vars for Docker builds (#1386)
  • (storage) Map OneYear/ThirtyDay ledgers to storage modules (#1406)
  • (chunk-ingress, p2p) Divergence post-mortem fixes for overload cascades (#1394)
  • Block pool race (#1417)
  • (p2p) Break body-pull circuit-breaker cascade (#1412)
  • Small metrics followup for #1412
  • Validation (#1425)
  • (ci) Drop literal expression from docker-setup input description (#1427)
  • (release) Disable git-cliff GitHub remote fetch (panics on flaky API) (#1428)
  • CI flakes and irys-reth test memory cap (#1430)
  • Commitment versioning & initial SM count
  • Address -> IrysAddress
  • Use CommitmentTransaction .id() getter
  • Change jessedebug logs from error -> debug
  • Move ecosystem file to a template

Documentation

  • Add a deployment guide for mainnet beta nodes (#1012)
  • Update mainnet beta deployment guide to include trusted peers
  • Update auto stake and pledge section
  • Update deployment guide for full node (non mining) configuration
  • PoW finality doc
  • Update mainnet config, add a parser test (#1056)
  • Update mainnet docs and config template (#1058)
  • Adding a authoring hardforks doc
  • Update TOC
  • Update README.md
  • Add docs for EVM tx gas limits (#1107)
  • Add note to .cargo/config.toml
  • Enrich version enum doc comments (#1237)

Features

  • Make axiom OTLP config optional (#1006)
  • Use is_rightmost_chunk to confirm data_size in CachedDataRoots (#991)
  • Add custom Compact impl for Base64 (#1009)
  • Add hard coded mainnet config values (#995)
  • Derive block rewards from consensus block_time (#1018)
  • Cuda refinement (#876)
  • Do not use expired ingress proofs (#1007)
  • Remove CacheEvictionStrategy (#1027)
  • Make cache service prune expired ingress proofs from the cache (#1024)
  • Update reth (#1028)
  • Introduce irys hardforks (#1030)
  • Chunk pruning (#1036)
  • Atomic cache updates (#1047)
  • Custom address (#1052)
  • Only generate ingress proofs for confirmed data_size (#1054)
  • Improve error handling around invalid block migration (#1067)
  • Move handshake and sync request into the gossip server (#1066)
  • Index info fallback (#1068)
  • Return none when data chunk not found, propagate err otherwise (#1070)
  • Remove gossip fallbacks for older nodes (#1073)
  • Tweak commitment_tx_signature_signing_serialization (#1081)
  • More granular handshakes (#1084)
  • Add a CommitmentTransactionV2 (#1085)
  • Nextest measurement wrapper (#1091)
  • Add failure tracking & test filtering to xtask test (#1093)
  • Block bodies (#1057)
  • Add hardfork for deprecating V1 commitment transactions (#1088)
  • Commitment type v2 (#1095)
  • Add sane config defaults for parts of the NodeConfig (#1100)
  • Add extra defaults
  • Return none instead of error when reading a chunk that hasn't been written (#1102)
  • Enable aurora & tweak CommitmentPriceInfo (#1103)
  • Decouple testnet and testing config (#1109)
  • Status endpoint (#1099)
  • Peer ids (#1110)
  • Move peer_id into the db (#1112)
  • Align testnet consensus config, add recall range invariant (#1116)
  • Sync diagnostics (#1117)
  • Consensus hash for handshakes (#1129)
  • Better sync crash heuristics (#1132)
  • Perf tweaks (#1133)
  • Update reward address commitment type (#1115)
  • Migrate BlockIndex to MDBX and add term ledger validation (#1104)
  • Sealed blocks (#1097)
  • Set expected_genesis_hash at runtime on genesis node (#1139)
  • Add self-contained Docker cluster tooling (#1134)
  • (p2p) Add circuit breaker to p2p client (#963)
  • Changed peer id location (#1138)
  • Better block cache for block bodies (#1145)
  • Chunk upload throughput and observability improvements (#1148)
  • Add cross-node request lifecycle tracing and observability improvements (#1156)
  • Simplify the client (#1153)
  • Add custom URL support to IrysApiClient (#1165)
  • Move integration tests (#1174)
  • Improved nextest monitoring (#1172)
  • Version bump of crates/chain/Cargo.toml to 3.0.0
  • Gossip wire types (#1184)
  • (bench) Add criterion benchmarks and CI workflow (#1221)
  • Run mode (#1228)
  • Check database schema version on startup (#1223)
  • Perm ledger expiry for testnet (#1201)
  • (multiversion-tests) Add cross-version integration test harness (#1207)
  • VDF throttling (#1239)
  • Sccache ci migration (#1229)
  • Build versioning (#1260)
  • Cascade hardfork — term ledgers (OneYear/ThirtyDay) and height-aware pricing (#1166)
  • Genesis CLI (#1380)
  • Wait_for_evm_block in mine_block and wait_for_block_at_height (#1391)
  • Gate ingress proofs on submit ledger confirmation (#1390)
  • Bundle_format -> metadata_format (#1401)
  • (metrics) Expose MDBX metrics via Reth's /metrics endpoint (#1409)
  • Vdf progress (#1411)
  • VDF stall detection logic tweaks (#1413)
  • Preval perf (#1414)
  • (snapshot) Portable chain-state import/export tooling (#1419)
  • More debug-utils
  • Improve coverage gh-pages
  • Obs follow-ups and Reth metrics bind hardening (#1426)
  • Release process (#1393)
  • Move from deployment/ to release/
  • Improved multiversion tests (#1404)
  • Disable packing progress logs
  • Disable mdbx log

Miscellaneous

  • Tweak submodule paths
  • Add extra info to the DoNotRegenerate error
  • Update mainnet config
  • Add total cost logging for automatic stake & pledge
  • Add over capacity warning to cache service (#1060)
  • (docker) Add release file and workflow (#1061)
  • (ci) Fix release docker workflow (#1062)
  • (docker) Build binary inside the docker context (#1063)
  • Gitignore ecosystem.config.js
  • Add docker-in-docker for devcontainer
  • Claude.md and a skill for writing integration tests (#1141)
  • Add .worktrees to .gitignore
  • Add gitignore for .claude/local, add CLAUDE.md instruction to read it (#1158)
  • Sync cleanup (#1157)
  • Rust version update (#1164)
  • Update reth to 1.11.1 (#1162)
  • (design) Extract design documents (#1212)
  • (CI) Don't cancel in progress jobs on master
  • Update timestamp again
  • Update cargo lock
  • Update lockfile

Performance

  • (vdf) Optimize hot loop with direct compress256 and copy elimination (#1214)
  • (efficient-sampling) Skip HashMap on validation reconstruct path (#1418)

REVERTME

  • Genesis commitment nonsense
  • Don't validate genesis blocks on testnet

Refactoring

  • Block_pool will forward txs to block discovery (#1037)
  • Only staked nodes produce ingress proofs (#1118)
  • Simplify block validation tracker (#1120)
  • Propagate an error if block tree rejects a block (#1137)
  • Block tree metadata simplification (#1143)
  • Migration lifecycle simplification (#1136)
  • Simplify block index - remove service layer, atomic persistence, accept SealedBlock (#1151)
  • Extract Chunk...
Read more

testnet-3.0.0

27 May 15:34
Immutable release. Only release title and notes can be modified.
581039c

Choose a tag to compare

testnet-3.0.0 Pre-release
Pre-release

Changes

Bug Fixes

  • (config) Enable config wide defaults for ip (#1003)
  • (mempool) Add additional logging to silent tx rejections/skips (#1011)
  • (merkle) Align naming (#1005)
  • (mempool) Correct naming (#1013)
  • Submodule database size (#1015)
  • Make reward curve operations genesis time relative (#1017)
  • Extend timeout for reth RPC proxy
  • (api-server) Add balance endpoint (#1019)
  • (api-server) Add total supply endpoint (#1020)
  • (mempool) Monitor mempool handle for panics (#1008)
  • Skip commitment anchor validation on epoch blocks (#1021)
  • Build_current_commitment_snapshot_from_index uses block tree start (#1022)
  • Enhance errors not to lose information (#1014)
  • (block_validaton) Add additional cache data root log (#1023)
  • (actors) Enhance logging to provide more specific detail (#1026)
  • (api-server) Integration test for supply endpoint (#1025)
  • Commitment cumulative fee check (#1033)
  • Add genesis_timestamp == 0 guard in InitState (#1041)
  • (domain) Reduce memory footprint during block index load (#1035)
  • (mempool) Add priority based eviction for pending chunk cache (#1038)
  • (mempool) Remove permanent blacklisting for unknown anchor tx (#1039)
  • (block prod) Oracle price update has tolerance to be accepted (#1046)
  • (api) Align api names and serialisation (#1029)
  • Convert unpledge partition_hash type to H256 (#1049)
  • (shutdown) Add global 30s timeout for orderly shutdown (#1044)
  • (types/canonical) Condense tests (#1050)
  • Unstake ordering properly validated (#1051)
  • (data_sync/tests) Fix docker cluster used for data sync tests (#1053)
  • Size cache poisoning and tx offset validation (#1045)
  • Add packing backlog task, don't debug format generate_full_chunk errors (#1064)
  • Rationalise spans (#1072)
  • Add failsafe notify_one to pipeline log (#1078)
  • (peer) Additional observability (#1082)
  • (logging) Ensure telemetry flush on all shutdown paths (#1077)
  • (flaky_tests) Fix race condition on promotion (#1087)
  • (supply) Refactor supply calculation to use whole chain (#1090)
  • (obs) Add block timestamps to logs (#1108)
  • (docker) Added reduced release image and scripts for cluster (#1074)
  • Make valid ingress proof anchor blockhash range inclusive (#1125)
  • Duplicate ingress proof signers (#1128)
  • Mempool performs a dedup on ingress proofs (#1131)
  • All block transactions stored in the block tree for migration (#1122)
  • Replace rug/gmp-mpfr-sys with pure-Rust num-bigfloat (#1135)
  • Watch individual c_src files in irys-c build script (#1140)
  • Remove project-level linker config
  • Peer id and health check naming consistency (#1146)
  • (logging) Use a self hosted stack for monitoring instead of Axiom (#1105)
  • Ask the source of the header for the block body first (#1152)
  • (tempo) Add sensible tempo limits (#1160)
  • (tracing) Add missing spans (#1161)
  • (observability) Resolve Tempo span drops and local-blocks WAL loop (#1168)
  • Flaky tests (#1171)
  • Update cargo.lock
  • Exclude confirmed txs from submit selection (#1224)
  • Avoid block_discovery panic after block validation rejection (#1235)
  • (ci) Replace envsubst with node for prompt templating (#1238)
  • Ring recompilation (#1252)
  • Unify edition to 2024 via workspace inheritance (#1261)
  • Devnet fixes (#1253)
  • (oracle) Add the json feature in for bundler (#1385)
  • Promotion candidate pruning (#1387)
  • (ci) Cargo-llvm-cov install (#1379)
  • (build) Pass git metadata via env vars for Docker builds (#1386)
  • (storage) Map OneYear/ThirtyDay ledgers to storage modules (#1406)
  • (chunk-ingress, p2p) Divergence post-mortem fixes for overload cascades (#1394)
  • Block pool race (#1417)
  • (p2p) Break body-pull circuit-breaker cascade (#1412)
  • Small metrics followup for #1412
  • Validation (#1425)
  • (ci) Drop literal expression from docker-setup input description (#1427)
  • (release) Disable git-cliff GitHub remote fetch (panics on flaky API) (#1428)
  • Commitment versioning & initial SM count
  • Address -> IrysAddress
  • Use CommitmentTransaction .id() getter
  • Change jessedebug logs from error -> debug
  • Move ecosystem file to a template

Documentation

  • Add a deployment guide for mainnet beta nodes (#1012)
  • Update mainnet beta deployment guide to include trusted peers
  • Update auto stake and pledge section
  • Update deployment guide for full node (non mining) configuration
  • PoW finality doc
  • Update mainnet config, add a parser test (#1056)
  • Update mainnet docs and config template (#1058)
  • Adding a authoring hardforks doc
  • Update TOC
  • Update README.md
  • Add docs for EVM tx gas limits (#1107)
  • Add note to .cargo/config.toml
  • Enrich version enum doc comments (#1237)

Features

  • Make axiom OTLP config optional (#1006)
  • Use is_rightmost_chunk to confirm data_size in CachedDataRoots (#991)
  • Add custom Compact impl for Base64 (#1009)
  • Add hard coded mainnet config values (#995)
  • Derive block rewards from consensus block_time (#1018)
  • Cuda refinement (#876)
  • Do not use expired ingress proofs (#1007)
  • Remove CacheEvictionStrategy (#1027)
  • Make cache service prune expired ingress proofs from the cache (#1024)
  • Update reth (#1028)
  • Introduce irys hardforks (#1030)
  • Chunk pruning (#1036)
  • Atomic cache updates (#1047)
  • Custom address (#1052)
  • Only generate ingress proofs for confirmed data_size (#1054)
  • Improve error handling around invalid block migration (#1067)
  • Move handshake and sync request into the gossip server (#1066)
  • Index info fallback (#1068)
  • Return none when data chunk not found, propagate err otherwise (#1070)
  • Remove gossip fallbacks for older nodes (#1073)
  • Tweak commitment_tx_signature_signing_serialization (#1081)
  • More granular handshakes (#1084)
  • Add a CommitmentTransactionV2 (#1085)
  • Nextest measurement wrapper (#1091)
  • Add failure tracking & test filtering to xtask test (#1093)
  • Block bodies (#1057)
  • Add hardfork for deprecating V1 commitment transactions (#1088)
  • Commitment type v2 (#1095)
  • Add sane config defaults for parts of the NodeConfig (#1100)
  • Add extra defaults
  • Return none instead of error when reading a chunk that hasn't been written (#1102)
  • Enable aurora & tweak CommitmentPriceInfo (#1103)
  • Decouple testnet and testing config (#1109)
  • Status endpoint (#1099)
  • Peer ids (#1110)
  • Move peer_id into the db (#1112)
  • Align testnet consensus config, add recall range invariant (#1116)
  • Sync diagnostics (#1117)
  • Consensus hash for handshakes (#1129)
  • Better sync crash heuristics (#1132)
  • Perf tweaks (#1133)
  • Update reward address commitment type (#1115)
  • Migrate BlockIndex to MDBX and add term ledger validation (#1104)
  • Sealed blocks (#1097)
  • Set expected_genesis_hash at runtime on genesis node (#1139)
  • Add self-contained Docker cluster tooling (#1134)
  • (p2p) Add circuit breaker to p2p client (#963)
  • Changed peer id location (#1138)
  • Better block cache for block bodies (#1145)
  • Chunk upload throughput and observability improvements (#1148)
  • Add cross-node request lifecycle tracing and observability improvements (#1156)
  • Simplify the client (#1153)
  • Add custom URL support to IrysApiClient (#1165)
  • Move integration tests (#1174)
  • Improved nextest monitoring (#1172)
  • Version bump of crates/chain/Cargo.toml to 3.0.0
  • Gossip wire types (#1184)
  • (bench) Add criterion benchmarks and CI workflow (#1221)
  • Run mode (#1228)
  • Check database schema version on startup (#1223)
  • Perm ledger expiry for testnet (#1201)
  • (multiversion-tests) Add cross-version integration test harness (#1207)
  • VDF throttling (#1239)
  • Sccache ci migration (#1229)
  • Build versioning (#1260)
  • Cascade hardfork — term ledgers (OneYear/ThirtyDay) and height-aware pricing (#1166)
  • Genesis CLI (#1380)
  • Wait_for_evm_block in mine_block and wait_for_block_at_height (#1391)
  • Gate ingress proofs on submit ledger confirmation (#1390)
  • Bundle_format -> metadata_format (#1401)
  • (metrics) Expose MDBX metrics via Reth's /metrics endpoint (#1409)
  • Vdf progress (#1411)
  • VDF stall detection logic tweaks (#1413)
  • Preval perf (#1414)
  • (snapshot) Portable chain-state import/export tooling (#1419)
  • More debug-utils
  • Improve coverage gh-pages
  • Obs follow-ups and Reth metrics bind hardening (#1426)
  • Release process (#1393)
  • Move from deployment/ to release/
  • Disable packing progress logs
  • Disable mdbx log

Miscellaneous

  • Tweak submodule paths
  • Add extra info to the DoNotRegenerate error
  • Update mainnet config
  • Add total cost logging for automatic stake & pledge
  • Add over capacity warning to cache service (#1060)
  • (docker) Add release file and workflow (#1061)
  • (ci) Fix release docker workflow (#1062)
  • (docker) Build binary inside the docker context (#1063)
  • Gitignore ecosystem.config.js
  • Add docker-in-docker for devcontainer
  • Claude.md and a skill for writing integration tests (#1141)
  • Add .worktrees to .gitignore
  • Add gitignore for .claude/local, add CLAUDE.md instruction to read it (#1158)
  • Sync cleanup (#1157)
  • Rust version update (#1164)
  • Update reth to 1.11.1 (#1162)
  • (design) Extract design documents (#1212)
  • (CI) Don't cancel in progress jobs on master
  • Update timestamp again
  • Update cargo lock
  • Update lockfile

Performance

  • (vdf) Optimize hot loop with direct compress256 and copy elimination (#1214)
  • (efficient-sampling) Skip HashMap on validation reconstruct path (#1418)

REVERTME

  • Genesis commitment nonsense
  • Don't validate genesis blocks on testnet

Refactoring

  • Block_pool will forward txs to block discovery (#1037)
  • Only staked nodes produce ingress proofs (#1118)
  • Simplify block validation tracker (#1120)
  • Propagate an error if block tree rejects a block (#1137)
  • Block tree metadata simplification (#1143)
  • Migration lifecycle simplification (#1136)
  • Simplify block index - remove service layer, atomic persistence, accept SealedBlock (#1151)
  • Extract ChunkIngressService from mempool (#1155)
  • Simplify node startup (#1169)
  • Extract non-pool r...
Read more

mainnet-0.1.3

17 Dec 21:37
70e7329

Choose a tag to compare

What's Changed

Full Changelog: mainnet-0.1.2...mainnet-0.1.3

mainnet-0.1.2

14 Dec 23:20
359fe81

Choose a tag to compare

What's Changed

Full Changelog: mainnet-0.1.1...mainnet-0.1.2