v1.9.0-rc2 - 2026-02-10
This is a pre-release for Charon's upcoming v1.9.0. Feedback from early testers is very welcome and appreciated, please use github issues or discord if you have trouble with this release.
For perfect backwards compatibility, Charon users on v1.8.2 and older should add the --feature-set-enable=fetch_only_commidx_0,proposal_timeout as a flag, or CHARON_FEATURE_SET_ENABLE=fetch_only_commidx_0,proposal_timeout as an environment variable to their setups before the nodes in the cluster begin to update to v1.9.0. Alternatively, update all of the nodes in the cluster to this version in close succession.
Read the rest of the release notes for more:
Full Changelog: v1.8.2..v1.9.0-rc2
Promote proposal_timeout feature flag to stable
We have extensively tested the proposal_timeout flag in the past months with numerous DV clusters on mainnet. From this version it is considered stable and moved to default-enabled. Clusters running Charon v1.9.0 will have the first QBFT round for proposal duties set at 1.5s (with second round timing out at 3.5s) in comparison to the current of 1.0s (with second round timing out at 3.0s). There is no urgent need to synchronise upgrades between cluster nodes, as the cluster will reach consensus on whichever timeout threshold of nodes agree on.
Note
This feature flag can be manually turned off by setting the --feature-set-disable=proposal_timeout flag.
Promote fetch_only_commidx_0 feature flag to stable
Post-electra Validator Clients were expected to request data from the beacon node (and hence, the DV) for a hardcoded committee index of 0. However, some clients continued requesting for their specific committee index. This forced Charon to also request the same index from the upstream beacon node(s). Now that this behaviour has been updated in all validator clients supported by Charon, we can promote this opt-in feature flag to stable, reducing the amount of requests we send to a beacon node by up to 64x.
In this issue can be found the list with the minimum required VC version.
Note
This feature flag can be manually turned off by setting --feature-set-disable=fetch_only_commidx_0 flag.
Scheduled Duties Cache
This version releases a caching mechanism for validator duties. To save on slow, burdensome requests to a BN, Charon caches them locally. Allowing it to reduce the amount of load on upstream beacon nodes.
Note
If there are any issues spotted with scheduled duty caching, it can be turned off by setting the --feature-set-enable=disable_duties_cache feature flag.
Replace operator command
This release adds the ability to directly replace an existing node operator in a cluster, rather than adding, and removing operators sequentially.
Warning
Charon's editability features are relatively new. Use them with caution, and practice actions on a testnet before mainnet. Flag any confusion or difficulties with User Experience to an Obol Core team member.
Feature
--nicknameflag incharon dkg#4059 (#4105)- Publish flag for edit commands #4234 (#4235)
- In-url HTTP basic auth for the test commands #4189 (#4251)
- Log the signed head in sync message submission #4247 (#4269)
- Allow DKGs on arbitrary testnets #4052 (#4238)
- Fetch attester data on processed block #4027 (#4095)
- Add amount of pending/successful attestations metrics #4102 (#4248)
- QUIC measurement #4199 (#4239)
- Edit ready private-key-lock-file #4200 (#4226)
- Replace operator command #4126 (#4141)
- Cache VC schedule duties requests #4009 (#4295,#4227)
- Beacon Node
peer_idin metrics #4197 (#4264)
Bug
- Charon reports turned off VC's version #4198 (#4225)
- Non-deterministic
doubleEagerLinearRoundTimer#4241 (#4243) - Multiple Pedersen DKG improvements and bugfixes (#4268,#4280,#4281,#4282,#4283,#4298,#4299,#4300,#4301)
Refactor
- Double the DKG timeouts #4272 (#4279)
- Charon run hitting relays when its not going to be able to startup without a cluster lock #4242 (#4255)
Compatibility Matrix
This release of Charon is backwards compatible with Charon >= v1.0., though only v1.7. and newer are Fulu-ready.
The below matrix details a combination of beacon node (consensus layer) + validator clients and their corresponding versions the DV Labs team have tested with this Charon release. More validator and consensus client will be added to this list as they are supported in our automated testing framework.
Legend
- ✅: All duties succeed in testing
- 🟡: All duties succeed in testing, except non-penalised aggregation duties
- 🟠: Duties may fail for this combination
- 🔴: One or more duties fails consistently
| Validator 👉 Consensus 👇 | Teku v26.2.0 | Lighthouse v8.1.0 | Lodestar v1.40.0 | Nimbus v26.1.0 | Prysm v7.1.2 | Vouch v1.12.0 | Remarks |
|---|---|---|---|---|---|---|---|
| Teku v26.2.0 | ⏳ | ⏳ | ⏳ | ⏳ | ⏳ | ⏳ | |
| Lighthouse v8.1.0 | ⏳ | ⏳ | ⏳ | ⏳ | ⏳ | ⏳ | |
| Lodestar v1.40.0 | ⏳ | ⏳ | ⏳ | ⏳ | ⏳ | ⏳ | |
| Nimbus v26.1.0 | ⏳ | ⏳ | ⏳ | ⏳ | ⏳ | ⏳ | |
| Prysm v7.1.2 | ⏳ | ⏳ | ⏳ | ⏳ | ⏳ | ⏳ | |
| Grandine v2.0.1 | ⏳ | ⏳ | ⏳ | ⏳ | ⏳ | ⏳ |