You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Good day Lodestar operators! We've just released v1.46.0, a recommended upgrade for all mainnet and testnet users. This release focuses on shutdown/restart stability, safer validator behavior while optimistic, and continued Gloas/Heze development for the upcoming forks and devnets.
If you build or run Lodestar from source with Bun, switch back to Node.js: Bun runtime support was removed. Node remains ^24.13.0. No migration is required for Docker or binary operators.
You may have noticed your nodes hanging on shutdown or restarts recently. We found, fixed a couple of bugs related to libp2p so you will now have smoother shutdowns and restarts. This will also fix a secondary effect that caused longer than normal re-sync times. Now the network-worker termination is bounded and no longer prevents finalized-state archiving before that process-manager kills the hanging shutdown. During our investigation we have found a latent bug in Node.js that we are tracking down and will get fixed. It is a pretty rare race condition that may affect shutdown in 1-ish percent of terminations. This will no longer affect state archival though as mentioned and your nodes will start up and sync quickly again.
We also fixed a weird edge case and in all circumstances, Lodestar will now refuses block production on optimistic heads, and the validator client skips sync-committee signing while the connected beacon node is optimistic.
The hanging process, that was mentioned above, highlighted an issue with far-behind-node head-state sync failure. It was only present if you were syncing from genesis though which is not a recommended process. This release fixed that bug and also provides better Gloas batch-failure classification, orphaned first-payload handling, and avoiding peer penalties for local EL failures.
zip (sha256: e29759d182442ea26096188796f69bbb8d46d987534128edf27ffb5e955bfeb4)
Known Issues
If you are using an archive node with a leveldb-tree database, an issue has been introduced where startup takes a very long time. You may be better off avoiding this release if your beacon/db/db.version is leveldb-tree.
Breaking Changes
Removed the legacy web3j-based Eth1/PoW deposit-log fetching. A node no longer requires an Eth1 JSON-RPC endpoint to run; deposits are sourced from the finalized deposit-tree snapshot and in-protocol (EIP-6110) execution requests. The following CLI options have been removed: --eth1-endpoints / --eth1-endpoint, --eth1-deposit-contract-max-request-size.
Removed the non-production validator-tools send-deposits and validator-tools generate-and-send-deposits internal subcommands (web3j-based deposit submission). validator-tools generate-keys is unaffected.
Removed the GetDepositSnapshot RPC endpoint, which has been deprecated and removed since v3.0.0 of the Beacon API spec.
Bug Fixes
Fixed Beacon REST API socket retention when clients cancel pending asynchronous requests. Requests now time out after 30 seconds.
Fix an edge case on BeaconBlocksByRange where a request for a single block would return an empty response instead of the block.
[!IMPORTANT]
This is a mandatory update for all node operators. Please upgrade at your earliest convenience.
Release notes
A patch release on top of 1.39.2 with reliability and hardening fixes across block processing, networking, and request decoding. No consensus or database-format changes, so it's a drop-in upgrade from any 1.39.x version.
Overview
3 changes since 1.39.2:
Hardened ABI decoding against malformed input (#12588)
Fixed pooled-memory cleanup in block processing and networking (#12034)
Reduced allocations in EIP-6110 deposit-request decoding (#12185)
What's Changed
Validate ABI decode allocation bounds by @flcl42 in #12588
Fix undisposed array-pool list leaks by @batrr in #12034
perf(requests): reuse a stack buffer for deposit request decoding by @AnkushinDaniil in #12185
chore: update Directory.Build.props for 1.39.3 by @stdevMac in 28cbe2a
Erigon 3.6.0 is headlined by more reliable Caplin block production, pruned nodes reclaiming old snapshots, and plain commitment snapshots, with leaner state access and maintenance throughout. Most 3.5 users can upgrade without
re-syncing. To benefit immediately from the new plain commitment format, existing users should install 3.6, then run erigon seg reset --datadir=<path> before starting the node; the next start will re-sync using the new snapshots. Datadirs
created with Erigon 3.3 or earlier that have not already been rebased must use this reset path or run erigon seg step-rebase --datadir=<path> --new-step-size=390625 before their first normal 3.6 start.
Highlights
More reliable Caplin block production. Caplin starts payload building before proposer slots and publishes fork
choice earlier, giving blocks more time to reach attesters (#23437, #23172) — by @lystopad
Pruned nodes now reclaim old state snapshots. State history, indexes, optional commitment history, and the receipts
cache are retired once they fall outside their configured windows; fresh syncs also skip optional snapshots outside
those windows. This fixes unbounded snapshot growth on long-running minimal and other pruned nodes (#21306, #22123, #21200, #22243, #22349) — by @AskAlexSharov, @JkLondon
Plain commitment snapshots. New commitment files store values directly by default, speeding state reads and merges
at the cost of larger files. Existing referenced files remain readable and convert lazily during merges; the offline integration commitment convert command provides an explicit migration path (#14809, #21452, #21376, #21933) — by @awskii, @AskAlexSharov
Faster state access and snapshot maintenance. Sharded LRU state, code, and commitment caches replace whole-cache
resets; compression during state-snapshot merges is 2–3× faster, dictionary-building merges are about 1.5× faster,
and the mainnet .bt pivot cache uses roughly one quarter of its previous heap (#21386, #21982, #22154, #21625, #22050, #21875) — by @mh0lt, @yperbasis, @sudeepdino008, @AskAlexSharov
Breaking Changes
Downgrading after 3.6 writes new snapshot files is unsupported. New 3.6 snapshot and accessor formats are
incompatible with Erigon 3.5. Back up the datadir before upgrading if rollback is required (#21452, #21376, #21778).
Historical receipts are off by default on fresh datadirs in every prune mode. Existing datadirs keep their stored
enable/disable setting. Without the cache, receipt and log RPCs re-execute within the state-history window at higher
latency. Blocks-mode operators who need receipts and logs back to genesis must use --prune.include-receipts --prune.receipts.distance=keep-all (#22296, #22349) — by @yperbasis, @AskAlexSharov
Idle polling filters expire after five minutes. Clients using eth_newFilter, eth_newBlockFilter, or eth_newPendingTransactionFilter must poll within the timeout or recreate the filter. Configure
`--r
✂ Note
PR body was truncated to here.
Configuration
📅 Schedule: (UTC)
Branch creation
"before 6am on monday"
Automerge
At any time (no schedule defined)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
If you want to rebase/retry this PR, check this box
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
v1.45.0→v1.46.026.7.1→26.8.01.39.2→1.39.3v3.5.4→v3.6.026.7.1→26.8.0v2.4.1→v2.5.1v8.2.1→v8.2.2Warning
Some dependencies could not be looked up. Check the Dependency Dashboard for more information.
Release Notes
ChainSafe/lodestar (ChainSafe/lodestar)
v1.46.0Compare Source
Good day Lodestar operators! We've just released v1.46.0, a recommended upgrade for all mainnet and testnet users. This release focuses on shutdown/restart stability, safer validator behavior while optimistic, and continued Gloas/Heze development for the upcoming forks and devnets.
If you build or run Lodestar from source with Bun, switch back to Node.js: Bun runtime support was removed. Node remains ^24.13.0. No migration is required for Docker or binary operators.
You may have noticed your nodes hanging on shutdown or restarts recently. We found, fixed a couple of bugs related to libp2p so you will now have smoother shutdowns and restarts. This will also fix a secondary effect that caused longer than normal re-sync times. Now the network-worker termination is bounded and no longer prevents finalized-state archiving before that process-manager kills the hanging shutdown. During our investigation we have found a latent bug in Node.js that we are tracking down and will get fixed. It is a pretty rare race condition that may affect shutdown in 1-ish percent of terminations. This will no longer affect state archival though as mentioned and your nodes will start up and sync quickly again.
We also fixed a weird edge case and in all circumstances, Lodestar will now refuses block production on optimistic heads, and the validator client skips sync-committee signing while the connected beacon node is optimistic.
The hanging process, that was mentioned above, highlighted an issue with far-behind-node head-state sync failure. It was only present if you were syncing from genesis though which is not a recommended process. This release fixed that bug and also provides better Gloas batch-failure classification, orphaned first-payload handling, and avoiding peer penalties for local EL failures.
Full Changelog
Features
compute_weak_subjectivity_periodfor Gloas (EIP-8061) (#9625) (@markolazic01)head_v2event (#9486) (@markolazic01)Bug Fixes
getPoolAttestationsV2should return an empty array when no attestations are available (#9675) (@markolazic01)Performance
Refactoring
Dependencies
Build System
Continuous Integration
Tests
Maintenance
Documentation
v1.46.0-rc.1Compare Source
Changelog
Full Changelog
Features
compute_weak_subjectivity_periodfor Gloas (EIP-8061) (#9625) (@markolazic01)head_v2event (#9486) (@markolazic01)Bug Fixes
getPoolAttestationsV2should return an empty array when no attestations are available (#9675) (@markolazic01)Performance
Refactoring
Dependencies
Build System
Continuous Integration
Tests
Maintenance
Documentation
v1.46.0-rc.0Compare Source
Changelog
Full Changelog
Features
compute_weak_subjectivity_periodfor Gloas (EIP-8061) (#9625) (@markolazic01)head_v2event (#9486) (@markolazic01)Bug Fixes
getPoolAttestationsV2should return an empty array when no attestations are available (#9675) (@markolazic01)Performance
Refactoring
Build System
Continuous Integration
Tests
Maintenance
Documentation
Consensys/teku (Consensys/teku)
v26.8.0Compare Source
This is a recommended update containing bug fixes and breaking changes.
Downloads
26.8.0on Dockerhub19d6b3a5e65e8608d0809877973e8ce2bcdca912c13d43e2d41a472d70d98ea4)e29759d182442ea26096188796f69bbb8d46d987534128edf27ffb5e955bfeb4)Known Issues
leveldb-treedatabase, an issue has been introduced where startup takes a very long time. You may be better off avoiding this release if yourbeacon/db/db.versionis leveldb-tree.Breaking Changes
--eth1-endpoints/--eth1-endpoint,--eth1-deposit-contract-max-request-size.validator-tools send-depositsandvalidator-tools generate-and-send-depositsinternal subcommands (web3j-based deposit submission).validator-tools generate-keysis unaffected.Bug Fixes
NethermindEth/nethermind (NethermindEth/nethermind)
v1.39.3Compare Source
Release notes
A patch release on top of 1.39.2 with reliability and hardening fixes across block processing, networking, and request decoding. No consensus or database-format changes, so it's a drop-in upgrade from any 1.39.x version.
Overview
3 changes since 1.39.2:
What's Changed
28cbe2aFull Changelog: NethermindEth/nethermind@1.39.2...1.39.3
Build signatures
The packages are signed with the following OpenPGP key:
AD12 7976 5093 C675 9CD8 A400 24A7 7461 6F1E 617Eerigontech/erigon (erigontech/erigon)
v3.6.0Compare Source
Erigon 3.6.0 is headlined by more reliable Caplin block production, pruned nodes reclaiming old snapshots, and
plain commitment snapshots, with leaner state access and maintenance throughout. Most 3.5 users can upgrade without
re-syncing. To benefit immediately from the new plain commitment format, existing users should install 3.6, then run
erigon seg reset --datadir=<path>before starting the node; the next start will re-sync using the new snapshots. Datadirscreated with Erigon 3.3 or earlier that have not already been rebased must use this reset path or run
erigon seg step-rebase --datadir=<path> --new-step-size=390625before their first normal 3.6 start.Highlights
choice earlier, giving blocks more time to reach attesters (#23437, #23172) — by @lystopad
cache are retired once they fall outside their configured windows; fresh syncs also skip optional snapshots outside
those windows. This fixes unbounded snapshot growth on long-running
minimaland other pruned nodes (#21306, #22123,#21200, #22243, #22349) — by @AskAlexSharov, @JkLondon
at the cost of larger files. Existing referenced files remain readable and convert lazily during merges; the offline
integration commitment convertcommand provides an explicit migration path (#14809, #21452, #21376, #21933) — by@awskii, @AskAlexSharov
resets; compression during state-snapshot merges is 2–3× faster, dictionary-building merges are about 1.5× faster,
and the mainnet
.btpivot cache uses roughly one quarter of its previous heap (#21386, #21982, #22154, #21625,#22050, #21875) — by @mh0lt, @yperbasis, @sudeepdino008, @AskAlexSharov
Breaking Changes
incompatible with Erigon 3.5. Back up the datadir before upgrading if rollback is required (#21452, #21376, #21778).
enable/disable setting. Without the cache, receipt and log RPCs re-execute within the state-history window at higher
latency. Blocks-mode operators who need receipts and logs back to genesis must use
--prune.include-receipts --prune.receipts.distance=keep-all(#22296, #22349) — by @yperbasis, @AskAlexSharoveth_newFilter,eth_newBlockFilter, oreth_newPendingTransactionFiltermust poll within the timeout or recreate the filter. Configure`--r
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR has been generated by Mend Renovate.