github EspressoSystems/espresso-network 0.7.0.5
0.7.0.5 [decaf]

3 hours ago

Important

Deployable on decaf since 2026-11-03. Supersedes 0.6.3.17.
docker pull ghcr.io/espressosystems/espresso-network/espresso-node:0.7.0.5

Operator actions for decaf since 0.6.3.17

No operator action required.

Compare: 0.6.3.17...0.7.0.5

What's Changed

  • refactor(node): share node bootstrap between init paths by @bfish713 in #4952
  • Add tokio runtime metrics by @twittner in #4978
  • chore(deps): update rustls to 0.23.45 for RUSTSEC-2026-0285 by @sveitser in #4984
  • Add Protobuf Config module V2 APIs by @imabdulbasit in #4912
  • Bind epoch in timeout certificate commitment. by @twittner in #4928
  • refactor(api): abstract the API's consensus dependency by @bfish713 in #4953
  • fix(orchestrator): don't require a builder URL by @bfish713 in #4989
  • Trigger fetch for missing certificate2 in light client proofs by @imabdulbasit in #4985
  • Remove builder and its infra by @imabdulbasit in #4939
  • Downgrade pruner logs level from warn to info by @imabdulbasit in #4988
  • feat(release): misc improvements from first use by @sveitser in #4982
  • fix binary upgrade tests on CI :drop the builder from the base tag compose by @imabdulbasit in #4994
  • add database module v2 endpoints by @imabdulbasit in #4913
  • fix: smoke test tx flake by @sveitser in #4980
  • Generate the v2 API code into OUT_DIR instead of committing it by @imabdulbasit in #5003
  • feat(new-protocol): upgrade mechanism and V0_7 LargeBlock upgrade by @bfish713 in #4909
  • Anchor catchup at the epochs we hold by @twittner in #4945
  • perf: VID and commitment optimizations for the production path by @mrain in #4910
  • stop re-including transactions a node already saw in a block by @imabdulbasit in #5006
  • add availability module v2 endpoints by @imabdulbasit in #4926
  • feat(node): light-client follower context by @bfish713 in #4954
  • fix(l1): stop proposal validation waiting on a stale local L1 view by @sveitser in #5010
  • fix(release): restrict tracker commands to users with write access by @sveitser in #5028
  • fix(node): follower upgrade-cert type mismatch by @sveitser in #5029
  • feat(process-metrics): log CPU features and SHA-256 speed at startup by @sveitser in #5027
  • fix(release): remove lock, run from main by @sveitser in #5032
  • Build every block of a view from the same transactions by @twittner in #5033
  • remove the hotshot-events stream and its service crate by @imabdulbasit in #5018
  • Remove the legacy HotShot test harness, examples and dev-only tasks by @bfish713 in #5017
  • Ah/reject non epoch root state cert by @alysiahuggins in #4970
  • feat(header): propose l1_head a few blocks behind the local head by @sveitser in #5013
  • fix(new-protocol): size block and message limits from the chain's max block size by @sveitser in #5022
  • Prove conditional progress and deadlock freedom by @twittner in #4873
  • Remove the legacy -> new-protocol cutover path by @bfish713 in #5035
  • Add block and fee merklized state v2 endpoints by @imabdulbasit in #4946
  • feat(node): --follower-peers runs the sequencer as a light-client follower by @bfish713 in #4955
  • drop slow tests that need the removed 0.5 to 0.6 cutover by @imabdulbasit in #5060
  • share the reconstructed block payload behind an arc by @imabdulbasit in #5062
  • test(slow-tests): drop the 0.5 -> 0.6 cutover stake-table tests by @bfish713 in #5058
  • feat(bench): simple whole network benchmark on CI by @sveitser in #5059
  • skip payloads and decide events on non-query nodes by @imabdulbasit in #5055
  • fix(query-service): summarize waiting callbacks in fetch dedup log by @lukaszrzasik in #5063
  • delete tests that only exercise pre-0.6 protocol versions by @imabdulbasit in #5048
  • fix(bench): staircase improvements by @sveitser in #5067
  • test(slow-tests): run the remaining slow tests on the new protocol by @bfish713 in #5064
  • Add metrics for pruned height and improve logging by @imabdulbasit in #5070
  • Keep vote and proposal marks to the decide floor by @twittner in #5036
  • Optimize merklized state pruning query by @imabdulbasit in #5072
  • Enforce monotonic views and epochs by @twittner in #5000
  • Record a Cert1 that arrives behind the current view by @twittner in #5023
  • return an error when the node drops a submitted transaction by @imabdulbasit in #5077
  • test(new-protocol): reproduce timeout vote split at epoch boundary by @lukaszrzasik in #4962
  • Fix state pruning: stop state pruning query from rescanning older rows by @imabdulbasit in #5083
  • Fix build. by @twittner in #5091
  • fix(query-service): keep the state pruner behind the state loop by @lukaszrzasik in #5053
  • test(new-protocol): read boundary epoch from consensus state by @lukaszrzasik in #5094
  • fix(new-protocol): drop upgrade votes from inadmissible epochs by @lukaszrzasik in #5009
  • Consensus pruning: check consensus storage usage every 5m off the write lock by @imabdulbasit in #5096
  • chore: update rustfmt by @sveitser in #5107
  • chore: rust 1.97.1 -> 1.99 by @sveitser in #5106
  • feat(release): show containing tag for release branch commits by @sveitser in #5105
  • test(hotshot-testing): default TestDescription to protocol 0.6 by @lukaszrzasik in #5108
  • fix(explorer-api): return 404/400 instead of 500 for explorer errors by @fkrell in #5103
  • keep the dedup window as long as the resend ttl by @imabdulbasit in #5078
  • Add protobuf V2 state signature API by @imabdulbasit in #4996
  • send each transaction to the next leaders once, resend after their turn by @imabdulbasit in #5099
  • restore the anchor's cert2 on restart by @imabdulbasit in #5122
  • check proto formatting and backward compatibility in CI by @imabdulbasit in #5114
  • test(node): light-client follower follows the chain end-to-end by @bfish713 in #4956
  • fix(reward): reuse an epoch's reward result when its boundary reapplies by @bfish713 in #5043
  • feat(block): keep VID dispersal size predictable by @sveitser in #5068
  • perf(types): use ARMv8 SHA-256 instructions on aarch64 by @sveitser in #5123
  • Add protobuf V2 submit API by @imabdulbasit in #4997
  • perf: block building benchmark by @sveitser in #5130
  • Add protobuf V2 explorer API by @imabdulbasit in #4998
  • fix(new-protocol): carry an obtained payload in the decide by @bfish713 in #5129
  • fix(new-protocol): verify and apply timeout certs once per view by @bfish713 in #4723
  • Check timeout cert on a proposal following its parent by @twittner in #5131
  • keep all the stake tables in the light client database by @imabdulbasit in #5132
  • ci: build bench branches by @sveitser in #5134
  • test(node): run the mock-version API tests on the new protocol by @bfish713 in #5045
  • Hold proposals by view and commitment by @twittner in #5046
  • fix(vid): bound AvidmGf2 ns_lens by the share's shard size by @bfish713 in #5115
  • fix(new-protocol): check VID ns_lens and the ns table against the payload by @bfish713 in #5121
  • feat: aws benchmarks by @sveitser in #5069
  • Add payload hash index for da_proposal2 and vid_share2 tables by @imabdulbasit in #5139
  • skip reward proofs while the state loop is below the tree height by @imabdulbasit in #5140
  • refactor(request-response): typed per-caller response waiters by @bfish713 in #4643
  • feat(header): drop the builder commitment from the 0.7 header by @bfish713 in #4991
  • light client: Reduced Info Logging by @jjeangal in #5138
  • perf: aws bench bbr3, sqlite, clients, pruning by @sveitser in #5146
  • sign and relay light client states off the event loop by @imabdulbasit in #5056
  • run the node, light-client and reward tests at protocol 0.6 by @imabdulbasit in #5049
  • Remove unnecessarily tight constraint on sqlx version by @jbearer in #5160
  • [Bot] Update AGENTS.md by @github-actions[bot] in #5163
  • fix(node): state loop reads pruned leaves and snapshots from peers by @lukaszrzasik in #5089
  • fix(light-client-api): rebuild header proofs for pruned roots by @sveitser in #5166
  • Rework and extend lean spec. by @twittner in #5118
  • chore(dev-node): always run protocol 0.6 by @bfish713 in #5171
  • test(query-service): run tests on a synthetic new-protocol chain by @bfish713 in #5147
  • feat(node): read a snapshot by root when its header is pruned by @lukaszrzasik in #5150
  • test(types): pin the legacy leaf reference tests to 0.1 by @lukaszrzasik in #5169
  • fix(new-protocol): deliver external messages on arrival by @sveitser in #5173
  • chore(genesis): configure decaf 0.6 -> 0.7 upgrade (voting only) by @sveitser in #5178
  • [Backport release-0.7.0] keep the anchor's cert2 when garbage collecting decided views by @github-actions[bot] in #5194
  • [Backport release-0.7.0] discard pooled postgres connections left inside a transaction by @github-actions[bot] in #5196
  • [Backport release-0.7.0] fix(new-protocol): queue children on a missing parent instead of stubbing them by @github-actions[bot] in #5204
  • [Backport release-0.7.0] write the decided cert2 only with the leaves it finalizes by @github-actions[bot] in #5209
  • [Backport release-0.7.0] fix(node): skip reward proofs before reading the boundary leaf by @github-actions[bot] in #5236
  • [Backport release-0.7.0] fall back to a leaf proof when a header proof hits pruned state by @github-actions[bot] in #5239
  • [Backport release-0.7.0] fix(catchup): verify pre-epoch leaf chains against the genesis stake table by @github-actions[bot] in #5247
  • [Backport release-0.7.0] bound namespace proof range fetches with FETCH_TIMEOUT by @github-actions[bot] in #5207
  • [Backport release-0.7.0] fix(query-service): fetch VID common for leaves backfilled without it by @github-actions[bot] in #5230
  • [Backport release-0.7.0] tolerate a pruned epoch boundary leaf when persisting reward proofs by @github-actions[bot] in #5257
  • [Backport release-0.7.0] fetch pruned leaves in the state loop through the light client by @github-actions[bot] in #5262
  • [Backport release-0.7.0] register a validator with a reused schnorr key as unauthenticated by @github-actions[bot] in #5264
  • [Backport release-0.7.0] keep the light client database under the node storage path by @github-actions[bot] in #5284
  • [Backport release-0.7.0] fix(new-protocol): reconstruct a certified block without our own share by @github-actions[bot] in #5291
  • [Backport release-0.7.0] perf(catchup): race providers, HTTP after request-response by @github-actions[bot] in #5292
  • [Backport release-0.7.0] update webpki-roots: 1.0.8 -> 1.0.10 by @github-actions[bot] in #5322
  • [Backport release-0.7.0] fix(deps): bump quinn-proto for RUSTSEC-2026-0338..0342 by @github-actions[bot] in #5325
  • [Backport release-0.7.0] chore: fix RUSTSEC-2026-0349 by @github-actions[bot] in #5324
  • [Backport release-0.7.0] update webpki-root-certs: 1.0.8 -> 1.0.10 by @github-actions[bot] in #5336
  • [Backport release-0.7.0] chore(deps): bump ctutils to 0.4.5 for RUSTSEC-2026-0385 by @github-actions[bot] in #5364
  • [Backport release-0.7.0] serve the light client api on every sql query node by @github-actions[bot] in #5395
  • [Backport release-0.7.0] feat(node): start the state loop at a recent epoch boundary by @github-actions[bot] in #5403

Full Changelog: 0.6.3.17...0.7.0.5

Don't miss a new espresso-network release

NewReleases is sending notifications on new releases.