Skip to content

Commit 42cf057

Browse files
chore: sync v0.8.0 to arc-node
- 5abb64c185d02dd1b3996f15c187020c98171f8d chore(NoStory): update Malachite to v0.8.0 (#3275) by circle-github-action-bot <[internal]> - 4a856e26963f07b6cdc02053b35751fd131f6dd4 chore: backport `arc-snapshots` auto-detects V2 snapshots... by circle-github-action-bot <[internal]> - c671b663b21d227e6c3b774ecde1da6f91fe8632 chore: backport #3262 to release/0.8: fix(NoStory): set t... by circle-github-action-bot <[internal]> - 3a3322c5982f54f7435f0d6b465fcb83b59bad75 chore(TECHOPS-25939): replace arc.network with arc.io (#3... by circle-github-action-bot <[internal]> - 25d24471a226b95afcb77f89700e944b9fd24734 chore: backport #3233 to release/0.8: fix(NoStory): set t... by circle-github-action-bot <[internal]> - 549fba21bba23c9d8b09266b1bf26ab55277edba chore: backport #3181 to release/0.8: fix: m... by circle-github-action-bot <[internal]> - aea15c2627b1eb51ac8d4d67ad93af4f14bca11b chore: backport #3220 to release/0.8: fix(NoStory): updat... by circle-github-action-bot <[internal]> - e6027bb01916f3857d427a43d6bae73dfe99c4ff chore(deps): Update Malachite to v0.8.0-rc.3 (#3230) by circle-github-action-bot <[internal]> - ac8478c3dd588a0196df530501e4746bef0acdce fix: handle precompile fatal error (#3225) by circle-github-action-bot <[internal]> - 3765728e923b852abd9e9229c4411420439308cc chore: backport #3195 to release/0.8: fix: r... by circle-github-action-bot <[internal]> - fb9b979e49fa38fc617c660228dc7ea28aeb0de1 chore: backport #3190 to release/0.8: fix: r... by circle-github-action-bot <[internal]> - cef2a2c1b20f8c1128bfd9825483a1818546bced chore: backport #3160 to release/0.8: audit[[internal]]:... by circle-github-action-bot <[internal]> - 75d3b49b5c22354a0b17fdc852838205a5b41f3d chore: backport #3169 to `release/0.8` fix: ... by circle-github-action-bot <[internal]> - 502100089d837a8f91d2ee7f4d8a8253bd952b94 chore: backport #3119 to release/0.8: fix: s... by circle-github-action-bot <[internal]> - 3de27a3b1aee9e405dc352fe8272ad004e3a9d8c chore: backport #3118 to release/0.8: fix: c... by circle-github-action-bot <[internal]> - c7361679f11686cde5590a772773abccae575cdb fix(NoStory): update h2 to 0.4.16 on release/0.8 (#3158) by circle-github-action-bot <[internal]> - 564a7ce801e5b5b98d9d1e4a7c8f95138d85e30f chore: backport #3097 to release/0.8: fix: b... by circle-github-action-bot <[internal]> - 532204a517b7768c0311ce53e22efb8066b52543 feat: `arc-snapshots` supports reth V2 manif... by circle-github-action-bot <[internal]> - 2cf8d4fd3f3ee434e1a28672cdb6da9d3501f0df fix(NoStory): update ruint to 1.20.0 on release/0.8 (#3128) by circle-github-action-bot <[internal]> - 660e22dc7f413128e4fd87daf4e7ffc63aeb5c30 chore: backport #3056 to release/0.8: feat(NoStory): drop... by circle-github-action-bot <[internal]> - 132310fef7fd05f69215815ccaaf183e0d048880 chore: backport #2884 to release/0.8: doc(NoStory): updat... by circle-github-action-bot <[internal]> - 54b40db3c0ea4967f6f023059178206e1c433226 chore: backport #2951 to release/0.8: chore(NoStory): upd... by circle-github-action-bot <[internal]> - b4c85108574f1eae48e0ae465842881f21205be5 chore(deps): Update Malachite to v0.8.0-rc.1 (#2911) by circle-github-action-bot <[internal]> - f3b8ade8d068dca97303dad71ea5a2438822f7b3 fix(NoStory): backport axios override to release/0.8 (#28... by circle-github-action-bot <[internal]> - 1ec5b8e42adc549f0009f247fbfec5f9e776af79 chore: backport #2646 to release/0.8: feat: ... by circle-github-action-bot <[internal]> - 2b2795cd970d1bb395912c40d92d0fb6276a13e2 chore: backport #2509 to release/0.8: doc Ru... by circle-github-action-bot <[internal]> - 69994dd44bbc8b098ec485e201cbc4df72b7023d chore: backport #2774 to release/0.8: chore(NoStory): upd... by circle-github-action-bot <[internal]> - b54f406af3a22f496274b224bcff4e24b23bdbd1 refactor: improve execution e2e test readabi... by circle-github-action-bot <[internal]> - 99d37dc5cacf7f98785858de16bc9d470a36120f chore: redact internal testnet topology from... by circle-github-action-bot <[internal]> - e6409ed31ce103d77ca5460d1ffbc23a480a7ea4 feat: start mixed-version Quake networks fro... by circle-github-action-bot <[internal]> - 77c898c7b4af0cca7c1197a494c96fd15ed9b649 gate EIP-161 empty-account deletion behind Zero8 (#2687) by circle-github-action-bot <[internal]> - ad07d11c05ee1fcc1f5d574b76b95d42aec8234b chore(NoStory): add cargo sort --workspace to make fmt ta... by circle-github-action-bot <[internal]> - 3d694f16af6734c71e2a80c69680ca3c950840e8 refactor(NoStory): extract SLH-DSA precompile into shared... by circle-github-action-bot <[internal]> - 0b70f5fc79b7bc2d1764d840bf7647deab3337a1 fix(NoStory): gate --prune.block-interval injection to no... by circle-github-action-bot <[internal]> - f377ecbc929ab9621c44e67da1ca335e3af52ab4 feat: report proposal latency when parts arr... by circle-github-action-bot <[internal]> - ab6c78d993aa2c630ffcbb31a7f4dda20e082e5b fix(NoStory): forward GITHUB_TOKEN to spammer docker buil... by circle-github-action-bot <[internal]> - 92cb941cbaedc6b01aa2427bf400de4cc4bc6b44 chore: public-repo audit triage ? suppressio... by circle-github-action-bot <[internal]> - 65833437a0758b5dea3fe1c73c4ff0aeeb4476a0 Chore: mark CL<->EL RPC transport as depreca... by circle-github-action-bot <[internal]> - 543d889aa4c749b4b1f2e2020ffa3b7ca7570dd6 fix(NoStory): poll persistent-peer connectivity in quake ... by circle-github-action-bot <[internal]> - 0c02ee96ca9a5580aebace75b68b46c692fb0a0d chore(NoStory): support release domain namespaces (#2645) by circle-github-action-bot <[internal]> - aa4b6dbf6ae8d6baf50257328d9bf9e83f9345c8 fix: reject selfdestructed block beneficiari... by circle-github-action-bot <[internal]> - a3faf467b376039e8b7efd8607b553aa7c73d5d2 test: SELFDESTRUCT FailClosed blocklist DBEr... by circle-github-action-bot <[internal]> - af0563a66081ea94ceb290803722f72a6c3d5cac fix(NoStory): keep state hook live across post-block writ... by circle-github-action-bot <[internal]> - 5463b3f707c7908fde14f2db1752cd139fe6e844 fix: stop Node and force-exit on EL IPC shut... by circle-github-action-bot <[internal]> - 097521960117d36ad238375903b0fee8193f3f08 feat: add gzip compression to CL `/metrics` ... by circle-github-action-bot <[internal]> - c17cd654f82d6b419dc1da866dd3ecf1623bb145 chore: reduce `--prune.block-interval` from ... by circle-github-action-bot <[internal]> - a2218a58035f7b4963ef3fb17a6b4332be1805a7 fix: reject non-canonical block hashes when ... by circle-github-action-bot <[internal]> - e7fb65c2de2de4a8646f4fa0611c7d21650a7f00 test: cover arc_ethereum_payload Osaka block... by circle-github-action-bot <[internal]> - 9f1eb23508e62d6b351e351a351ec85fe0a73189 feat: Support height ranges on consensus obs... by circle-github-action-bot <[internal]> - 02782fcb06c74f4c8cdedd699d5382cb07e9786f fix: validate tx size before denylist auth r... by circle-github-action-bot <[internal]> - 2a8812552cfef7d330c122629b2f0ec2bc1a196e ci: use merge-group checkout ref in smoke workflow (#2627) by circle-github-action-bot <[internal]> - 06049fccdc272ce48fbf702226377b865a7a3c54 refactor: compile execution e2e as single ta... by circle-github-action-bot <[internal]> - b1f9860cd20c1cdd902780d1297645c68b91e38c test: poll for stuckTx eviction to avoid tim... by circle-github-action-bot <[internal]> - 02c231fae62cc3cbb3c8cedd77b17047ab37bc23 test: add smoke test for evict_unincludable_... by circle-github-action-bot <[internal]> - 7594fd1bb17c84a2c4ded6ab7842e34383515eb8 fix: honor transaction-warm SELFDESTRUCT tar... by circle-github-action-bot <[internal]> - 6b8e90f235dc8fed2ee822a4dd1f348933e1c21b fix: evict permanently un-includable txs fro... by circle-github-action-bot <[internal]> - 42e16e85f7f18287924289127a434b20ab88c4e5 fix: increase CL timeout when querying chain... by circle-github-action-bot <[internal]> - 8702b5839408c120308fb873d89948a4c6d6cb79 fix(NoStory): give crash_and_restart extra timeout headro... by circle-github-action-bot <[internal]> - 8ee032a2a59304fc6aff7d3ec29225a8bf7c9a39 fix: guard restream against signatureless bl... by circle-github-action-bot <[internal]> - 49b0e93abdeac7a8b75a148854bc683fcdeb75e2 feat: add `--engine.share_sparse_trie_with_p... by circle-github-action-bot <[internal]> - 1461b693e270d52d4ce6bbe97965d76eb2b43e1a test: add e2e test for withdrawals payload r... by circle-github-action-bot <[internal]> - 66fa2adb4f02e9907afff0f9cb16dd8f163ec116 feat: python scripts to generate saturation ... by circle-github-action-bot <[internal]> - cc202d6619f8ed6d357ee5f8fe595ad8753c24f5 fix: reject unsupported withdrawals payloads... by circle-github-action-bot <[internal]> - 9c6399abb0da812777e1aff79aac72a9c1ed6e01 chore(NoStory): sync develop onto main (#2598) by circle-github-action-bot <[internal]> - c90a4450ce760cb216b09ac0c3e538ae787f4cec feat(NoStory): add consensus missed-round metric (main) (... by circle-github-action-bot <[internal]> - 899b612437b1277a978b27991b209a8acc21be64 chore(NoStory): cherry-pick #1352 and #2269 from develop ... by circle-github-action-bot <[internal]> - c4e591b3cea6d534ed04824d9bf5957e5f3e78a8 chore(NoStory): add private release orchestration (#2463) by circle-github-action-bot <[internal]> - 55f01331610be74dae36aaf2441b631e130d0374 ci(NoStory): bump remote-signer dev image to current ECR ... by circle-github-action-bot <[internal]> - c833791874111010d3859d400e91d06de90529ca fix: redact ZScaler infra comments from bloc... by circle-github-action-bot <[internal]> - 7658b8a33f4b0373758c5b9f0a9a0e96694549b4 ci(NoStory): port build-once + max-parallel to nightly ch... by circle-github-action-bot <[internal]> - 5d99fa7b4b2172a8e89f3d4d7125f50e2be84bd4 ci(NoStory): fix nightly random-manifests runner starvati... by circle-github-action-bot <[internal]> - 68ea1ae75db1b31a5d0fb2bf7a107b1a6c2f4f41 feat: charge delegatecall early-revert penal... by circle-github-action-bot <[internal]> - d26f9ef1a1dc12e708e6ba03ed8837c5bb1a1748 fix(NoStory): remediate cargo audit advisories (#2512) by circle-github-action-bot <[internal]> - 6210fc4dead75961fa3aa8676616f1c3b3dc3bfb chore(NoStory): update Malachite to `circlefin/malachite@... by circle-github-action-bot <[internal]> - 3bbe50280b9b17dd16ff1f52125017333b3ab3db feat: introduce Zero8 hardfork (dormant) (#2... by circle-github-action-bot <[internal]> - fcb501b8b1332bc31e90263ff7c33b8a5072bd17 fix: complete ArcRpcLayer pending-block filt... by circle-github-action-bot <[internal]> - 302caa2e7e8fe4d7123f8ef563deb98fa3f2cafa feat: accept hex block numbers in arc_getCertificate (#24... by circle-github-action-bot <[internal]> - e41047579cd220ec89fafc49b2af8217ae3868f9 doc: close spec and test gaps from public-re... by circle-github-action-bot <[internal]> - e9f80bbcafcc4bafed8f69e5973f4cebc61c1ec0 fix(NoStory): revise ADR-004 (#2377) by circle-github-action-bot <[internal]> - 8c98d6550b7cde7227f6e771217c7fae3dea02dd chore(NoStory): scope v0.7.2 Zero7 activation to testnet ... by circle-github-action-bot <[internal]> - 96fe12d20b34878c0c76fea4c8f858e557b284d4 fix: stop stale proposal streams from blocki... by circle-github-action-bot <[internal]> - 765a5c616657cc8ed6896ee5b750d9fdf8a0f3ef chore: redact internal references from publi... by circle-github-action-bot <[internal]> - d0d3f77633c5c0eaf4821035e07c1af43d983f95 chore(NoStory): activate Zero7 on devnet, testnet, mainne... by circle-github-action-bot <[internal]> - 5863e485b4d2a3145f4fa7664858f1a5a937a032 fix: preserve cold state for selfdestruct ch... by circle-github-action-bot <[internal]> - 60f8eb0bc20541e910e4cd0edc2b1defdbb91db0 fix(cchain-1841): by default disallow RPC-submissions of ... by circle-github-action-bot <[internal]> - 38d51243dbe3a84cc0a0101389e44fe2dc3de3b5 fix: default --rpc.gascap to 30M (#2248) by circle-github-action-bot <[internal]> - 79f2c3a5eabee8bda85c1e1db78a1c84cb92c5a0 feat: upgrade validator-registry for devnet/... by circle-github-action-bot <[internal]> - d7f029143f8c36cd543e05ef2f1ffd515d991fac audit: cap JSON-RPC batch size, default inva... by circle-github-action-bot <[internal]> - c58e2426fcc0dc4a47bf690d6f2e93e5949e9c44 chore(NoStory): bump Malachite to `8ee5d998` (#2206) by circle-github-action-bot <[internal]> - 181371e2e9ac17c36774b621717e96d69cec57fc fix(NoStory): add version info to spec test binary (#2222) by circle-github-action-bot <[internal]> - 42bc0df06c84d9b586fffd251e4270249cf640a3 fix: charge gas before storage I/O in precom... by circle-github-action-bot <[internal]> - fdada00b0105426e87fff70f9799aef2bd839186 chore(NoStory): cook snapshots in docker dependency layer... by circle-github-action-bot <[internal]> - a3005e2111e9c163e6042337d384b61cc8f01902 test(NoStory): stabilize per-validator fee accrual smoke ... by circle-github-action-bot <[internal]> - d7599099092f36c9220fd11616143b2c9674a8c1 fix(cchain-1866): fail closed in SELFDESTRUCT handler on ... by circle-github-action-bot <[internal]> - 6ecc47fb46c66d286436ed47a654b3366968e48e docs: add RPC provider node section to public... by circle-github-action-bot <[internal]> - 76a051f0f537f1f075d57c74f42305620a160e19 doc: sweep v0.7.1 CHANGELOG and BREAKING_CHA... by circle-github-action-bot <[internal]> - 60160bb1732fe95238383bf6a5d0869805981ac7 chore: import arc-node PR #64: docs: clean up README word... by circle-github-action-bot <[internal]> - 44eed3cf693b01951df1662671c7f18e090dede8 chore: import arc-node PR #69: minor refactor to use impl... by circle-github-action-bot <[internal]> - 01074a905e69604533e259464438a658291efd5c chore: publish mainnet genesis, drop cfg gat... by circle-github-action-bot <[internal]> - 250c5e7ded6a2a275806f43c5abc470d85143316 chore: Update docs for v0.7.1-rc2 (#2181) by circle-github-action-bot <[internal]> (And 403 more changes) GitOrigin-RevId: 5abb64c185d02dd1b3996f15c187020c98171f8d
1 parent 90d71dc commit 42cf057

332 files changed

Lines changed: 43216 additions & 15729 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎.cargo/audit.toml‎

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,4 +33,24 @@ ignore = [
3333
# Transitive dependency via reth-dns-discovery (reth v1.11.3) and libp2p-mdns
3434
# (libp2p 0.56.0) — both pin hickory-proto to 0.25.x; cannot update without bumping reth.
3535
"RUSTSEC-2026-0119",
36+
37+
# core2 0.4.0 is unmaintained and all versions yanked; no replacement available.
38+
# Transitive dependency via multihash 0.19.3 → multiaddr → libp2p 0.56.0. Cannot update
39+
# without bumping the malachite/libp2p dependency chain.
40+
"RUSTSEC-2026-0105",
41+
42+
# proc-macro-error2 2.0.1 is unmaintained; no newer version available in the 2.x series.
43+
# Transitive dependency via aquamarine → reth-transaction-pool (reth v1.11.3).
44+
# Cannot update without bumping reth.
45+
"RUSTSEC-2026-0173",
46+
47+
# git2 0.20.4 - potential UB in Remote::list(); no patched version available.
48+
# Transitive dependency via vergen-git2 9.1.0 → reth-node-core (reth v1.11.3).
49+
# Cannot update without bumping reth.
50+
"RUSTSEC-2026-0183",
51+
52+
# git2 0.20.4 - potential UB with Signature from buffer-created BlameHunk; no patched version.
53+
# Transitive dependency via vergen-git2 9.1.0 → reth-node-core (reth v1.11.3).
54+
# Cannot update without bumping reth.
55+
"RUSTSEC-2026-0184",
3656
]

‎.gitignore‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,10 @@ node_modules/
6363
.env.test.local
6464
.env.production.local
6565
.env.contract-ops
66+
/public-release.env
67+
/public-sync.env
68+
/release.env
69+
/release-refs.env
6670

6771
# Rust-specific
6872
**/*.rs.bk

‎.licenseignore‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
11
pkg:npm/uri-js@4.4.1
2+
pkg:cargo/aws-lc-sys

‎BREAKING_CHANGES.md‎

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,31 @@ Entries are split by audience. A change appears under `### For Validators` when
1212

1313
Compare and release-notes links resolve once the corresponding tag is published at [`circlefin/arc-node`](https://github.com/circlefin/arc-node).
1414

15+
## [v0.8.0]
16+
17+
**Changes:** [v0.7.3...v0.8.0](https://github.com/circlefin/arc-node/compare/v0.7.3...v0.8.0) -- [release notes](https://github.com/circlefin/arc-node/releases/tag/v0.8.0)
18+
19+
### For Node Operators
20+
21+
- **[Format] JSON-RPC error text on insufficient-balance `eth_call` / `eth_estimateGas` changed with the reth 2.2 / revm 38 upgrade.**
22+
- Value exceeds balance: the error previously read `insufficient funds for gas * price + value`; it now reflects revm 38's `OutOfFunds` variant.
23+
- Simple (EOA-to-EOA) transfer with insufficient balance: reth 2.2 runs these RPC paths with `disable_fee_charge`, so the basic-transfer shortcut no longer applies the caller gas-allowance cap. The surfaced error shifted from `Missing or invalid parameters` to `gas required exceeds allowance`.
24+
- Neither string is a stable API contract, but tooling that matches JSON-RPC error text on these paths must update its patterns. No consensus-affecting behavior changed; only the RPC error surface.
25+
- **[CLI] `arc-node-consensus` admin RPC routes are disabled by default.**
26+
- The unauthenticated `POST` and `DELETE /persistent-peers` routes are no longer mounted unless `--rpc.admin` is provided.
27+
- Read-only RPC routes are unaffected.
28+
- Operators using persistent-peer mutation routes must add `--rpc.admin` and restrict the RPC listener to a trusted interface.
29+
- **[Config] Explicit invalid CL environment values now fail startup.**
30+
- Unset or empty `ARC_*` configuration variables continue to use their defaults.
31+
- Malformed values, and zero values for resource sizes, counts, timeouts, or thresholds that must be positive, now abort startup instead of silently falling back.
32+
- Correct or remove invalid environment values before upgrading.
33+
- **[CLI] `arc-node-execution` denylist configuration flags were removed and denylist checks are mandatory.**
34+
- Remove `--arc.denylist.enabled`, `--arc.denylist.address`, and `--arc.denylist.storage-slot`. `--arc.denylist.addresses-exclusions` remains available.
35+
- **[CLI] `arc-snapshots download` no longer defaults `--chain` to testnet and adds an execution manifest profile.**
36+
- Add `--chain <CHAIN>` for automatic URL resolution. For a manifest URL, also add `--el-profile <minimal|full|archive>`.
37+
- **[Config] Execution-layer pruning presets now inject a 128-block pruning interval.**
38+
- `node --full` and `node --minimal` previously injected `5000`. Set `--prune.block-interval=5000` explicitly to retain that schedule.
39+
1540
## [v0.7.3]
1641

1742
**Changes:** [v0.7.2...v0.7.3](https://github.com/circlefin/arc-node/compare/v0.7.2...v0.7.3) -- [release notes](https://github.com/circlefin/arc-node/releases/tag/v0.7.3)
@@ -63,7 +88,7 @@ No breaking changes in this release.
6388

6489
**Changes:** [v0.6.0...v0.7.0](https://github.com/circlefin/arc-node/compare/v0.6.0...v0.7.0) -- [release notes](https://github.com/circlefin/arc-node/releases/tag/v0.7.0)
6590

66-
*Note: mainnet node operators must use v0.7.0. Earlier versions are not supported.*
91+
*Note: mainnet node operators must use v0.7.0. Earlier versions are not supported.*
6792

6893
### For Node Operators
6994

‎CHANGELOG.md‎

Lines changed: 62 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,79 @@
22

33
All notable changes to arc-node are documented in this file.
44

5+
## [v0.8.0]
6+
7+
**Changes:** [v0.7.3...v0.8.0](https://github.com/circlefin/arc-node/compare/v0.7.3...v0.8.0) -- [release notes](https://github.com/circlefin/arc-node/releases/tag/v0.8.0)
8+
9+
*Note: testnet node operators must use a version supporting Zero8 before timestamp `1788447600` (2026-09-03 15:00:00 UTC), when Zero8 activates on testnet. Earlier versions are not supported.*
10+
11+
*Note: mainnet node operators must use a version supporting Zero7/Zero8 before timestamp `1789052400` (2026-09-10 15:00:00 UTC), when Zero7/Zero8 activate on mainnet. Earlier versions are not supported.*
12+
13+
### For Node Operators
14+
15+
- **[Format] JSON-RPC error text for insufficient-balance `eth_call` and `eth_estimateGas` calls changed with the reth 2.2 / revm 38 upgrade.** Transactions whose value or gas cost exceeds the sender balance now surface revm 38's `OutOfFunds` text (previously `insufficient funds for gas * price + value`); simple EOA-to-EOA transfers with insufficient balance now surface `gas required exceeds allowance` (previously `Missing or invalid parameters`). Tooling that matches on these strings must update its patterns. No consensus-affecting behavior changed; only the RPC error surface. See [BREAKING_CHANGES.md](./BREAKING_CHANGES.md#v080) for migration details.
16+
- **[CLI] `arc-node-consensus` admin RPC routes are disabled by default.** The new `--rpc.admin` flag enables the unauthenticated `POST` and `DELETE /persistent-peers` routes; read-only RPC routes remain available without it. Enable admin routes only on a trusted interface. See [BREAKING_CHANGES.md](./BREAKING_CHANGES.md#v080) for migration details.
17+
- **[Config] Explicit invalid CL environment values now fail startup.** Eleven value-sync, consensus-queue, discovery, and remote-signing tunables can now be overridden through `ARC_*` environment variables. Unset or empty variables retain their defaults; malformed values and zero values for settings that must be positive abort startup. See [BREAKING_CHANGES.md](./BREAKING_CHANGES.md#v080) for migration details.
18+
- **[CLI] Arc denylist checks are mandatory and their contract configuration is chain-derived.** Remove `--arc.denylist.enabled`, `--arc.denylist.address`, and `--arc.denylist.storage-slot`; `--arc.denylist.addresses-exclusions` remains available. See [BREAKING_CHANGES.md](./BREAKING_CHANGES.md#v080) for migration details.
19+
- **[CLI] `arc-snapshots download` no longer defaults `--chain` to testnet and requires `--el-profile` for execution manifest restores.** Supply the chain for automatic URL resolution and supply both options for a manifest URL. See [BREAKING_CHANGES.md](./BREAKING_CHANGES.md#v080) for migration details.
20+
- **[Config] Execution-layer pruning presets now inject `--prune.block-interval=128` instead of `5000`.** This applies to the `node` subcommand when `--full` or `--minimal` is used without an explicit interval. See [BREAKING_CHANGES.md](./BREAKING_CHANGES.md#v080) for migration details.
21+
22+
### Features
23+
24+
- [EL] Upgrade to reth 2.2.0 and revm 38; brings EVM improvements and reth Storage V2 support. Nodes running existing V1 data may optionally migrate in place with `arc-node-execution db migrate-v2` (offline, one-way); the v0.8.0 binary runs V1 data without migration
25+
- [EL] Add ordered transaction relay failover for follow nodes through `--arc.tx.relays` and `--arc.tx.relays.timeout`
26+
- [EL] Add reth V2 modular execution snapshot restores with explicit minimal, full, and archive profiles
27+
- [CL] Add `arc-node-consensus db migrate` command (alias: `upgrade`) to upgrade the consensus database schema to the latest version; migrations run automatically at node startup, so the manual command is a recovery tool for failed auto-migrations. Pass `--dry-run` to preview changes without committing
28+
- [CL] Add forward height-range queries to the `/commit`, `/misbehavior-evidence`, `/proposal-monitor`, and `/invalid-payloads` endpoints, with negotiated response compression
29+
- [CL] Add gzip compression negotiation to the CL `/metrics` endpoint
30+
- [CL] Deprecate the RPC/HTTP transport between CL and EL in favor of IPC; RPC configurations now emit a startup warning ahead of removal in v0.9.0
31+
- [CL] Close completed proposal-part stream keys so resurfaced duplicate parts cannot consume streaming capacity
32+
- [CL] Add `arc_malachite_app_transient_validation_errors_count` metrics for transient proposal-validation failures
33+
- [CL] Record proposal-monitor latency and outcome data when proposal parts arrive before round 0 starts
34+
35+
### Fixes
36+
37+
- [CL] Exit with non-zero status when the EL IPC connection closes unexpectedly, enabling container orchestrators to restart the node automatically
38+
- [CL] Generate a fresh JWT token per Engine API request to prevent token staleness during long-running consensus operations
39+
- [CL] Reject proposal stream messages carrying an invalid Fin sequence number
40+
- [CL] Retry EL chain-identity resolution for up to 30 seconds during startup, then exit non-zero for orchestrator restart instead of hanging indefinitely
41+
- [CL] Refuse to restream blocks without their original proposal signature
42+
- [CL] Reject payloads with non-canonical block hashes before storing them as undecided blocks
43+
- [CL] Let a proposer decline the round when `getPayload` exceeds the proposal deadline instead of crashing the consensus application
44+
- [CL] Fail fast when multiple locally built blocks exist for the same height and round
45+
- [CL] Bound CL RPC request bodies, execution time, and concurrency to prevent slow requests from exhausting node resources
46+
- [CL] Treat invalid-payload forensic persistence failures as diagnostic errors instead of aborting consensus-critical processing
47+
- [CL] Stop the Malachite Node actor before application teardown during SIGTERM shutdown to avoid spurious consensus errors
48+
- [CL] Bind each execution payload to its consensus height and the block finalized at the previous height
49+
- [CL] Key pending proposal parts by proposer, proof-of-lock round, and signature so distinct proposal streams cannot alias in storage
50+
- [CL] Select the expected proposer from the proposal parts' round when validating streamed proposals
51+
- [CL] Treat `engine_newPayload` internal JSON-RPC errors as no-verdict outcomes instead of permanently recording a payload as invalid
52+
- [EL] Gate corrected EIP-161 deletion of synthetic empty accounts behind Zero8, preserving historical pre-Zero8 state roots
53+
- [EL] Reject Engine API payloads containing withdrawals because Arc does not support withdrawals
54+
- [EL] Evict permanently un-includable transactions from the transaction pool after payload construction rejects them
55+
- [EL] Preserve transaction-warm status when evaluating `SELFDESTRUCT` targets
56+
- [EL] Validate transaction size before recovering EIP-7702 authorities for denylist checks
57+
- [EL] Keep the sparse-trie state hook active through post-block writes so committed state roots include those writes
58+
- [EL] Reject a block beneficiary that was self-destructed during the same block
59+
- [EL] Apply pending-transaction subscription filtering when `eth_subscribe` uses object-form parameters
60+
- [EL] Classify beneficiary blocklist read failures as internal execution errors instead of deterministic transaction failures
61+
- [Shared] Update h2 to reject unbounded empty DATA-frame streams and remove the related denial-of-service vulnerability
62+
- [Shared] Update ruint to correct overflow flags and shift-amount handling used by EVM big-integer operations
63+
564
## [v0.7.3]
665

766
**Changes:** [v0.7.2...v0.7.3](https://github.com/circlefin/arc-node/compare/v0.7.2...v0.7.3) -- [release notes](https://github.com/circlefin/arc-node/releases/tag/v0.7.3)
867

968
### Features
1069

1170
- [CL] Add consensus and RPC Prometheus metrics on the `/metrics` endpoint: `arc_malachite_app_consensus_round_missed` (counter, labeled by the missed round's proposer), `arc_malachite_app_rpc_request_time`, and app-request channel queue-time, process-time, and full-channel-rejection metrics
71+
- [CL] Process application and RPC requests concurrently with consensus messages so slow database-backed reads do not delay consensus progress
1272
- [EL] Add the Zero8 hardfork (dormant). Once active on a chain, a rejected delegatecall into a stateful Arc precompile is charged the uniform 200-gas early-revert penalty, matching the penalty already applied to other precompile authorization and validation reverts. Zero8 is not scheduled on any public chain
1373
- [EL] `arc_getCertificate` now accepts a hex-encoded quantity string (e.g. `"0x7"`) for the block-height parameter in addition to a plain decimal number, aligning with the EVM hex-quantity convention used by `eth_getBlockByNumber`
1474

1575
### Fixes
1676

77+
- [CL] Avoid querying the EL for a validator set when a stored certificate already includes proposer metadata
1778
- [EL] Complete the pending-block RPC filter so permissionless callers can no longer read the proposed pre-finalization block through case-variant `pending` tags, previously-uncovered block-content methods, or object-style block parameters
1879
- [Shared] Remediate cargo audit advisories via dependency bumps
1980

@@ -75,7 +136,7 @@ Full documentation tree at this release: [`arc-node` v0.7.2 docs](https://github
75136

76137
### For Node Operators
77138

78-
*Note: mainnet node operators must use v0.7.0. Earlier versions are not supported.*
139+
*Note: mainnet node operators must use v0.7.0. Earlier versions are not supported.*
79140

80141
- **[Config] Pending transactions are hidden from RPC by default.** Renamed `--arc.hide-pending-txs` (opt-in to hide) to `--arc.expose-pending-txs` (opt-in to expose) and flipped the default. Added `--public-api`, a convenience flag for externally-exposed nodes that forces hiding and warns if `--http.api` / `--ws.api` expose namespaces outside `{eth, net, web3, rpc}`.
81142
- **[Config] CL default log level changed from `debug` to `info`.** Pass `--log-level debug` explicitly if your monitoring depends on debug-level output.

0 commit comments

Comments
 (0)