v1.6.0 - 2025-08-27
This is Charon's v1.6.0
release. Feedback is welcome and appreciated, please use github issues or discord if you have trouble with this release.
Read the rest of the release notes for more:
Full Changelog: v1.5.2..v1.6.0
Notable features
This release ships with opt-in support for the QUIC transport protocol. QUIC aims to improve performance in large, distant clusters. This may become a default feature in future versions once proven stable and well-incorporated across our stack.
To enable this feature, make the following additions:
- Add
https://4.relay.obol.dev/
to your obol relay list, e.g.CHARON_P2P_RELAYS:-https://0.relay.obol.tech,https://2.relay.obol.dev,https://1.relay.obol.tech,https://4.relay.obol.dev/
- Add
CHARON_FEATURESET_ENABLE=quic
as an env variable - Add
CHARON_P2P_QUIC_ADDRESS=0.0.0.0:3610
as an env variable - Allow UDP traffic on your port 3610. If you're using our docker-compose examples, your ports section should be like
ports: - ${CHARON_PORT_P2P_TCP:-3610}:3610/tcp # P2P TCP libp2p - ${CHARON_PORT_P2P_QUIC:-3610}:3610/udp # P2P QUIC libp2p
This release also introduces new ways of modifying existing cluster which are still in alpha
version and are not recommended for Mainnet usage:
addvalidator
command which adds N validators to an existing cluster. This requires a new deposit for newly added validators.node_merge.sh
script which helps combining validator keys and configuration for single pair of nodes by merging two nodes' folders.cluster_merge.sh
script which helps expand an existing cluster with new validators by merging two existing clusters, given the same operators set and cluster configuration.
Feature
- Launchpad link per network (#3886)
charon --split-existing-keys
support multiple formats (#3872)- cluster-lock merge script (#3847)
- Support deleting partial exits (#3838)
- Add
add-validators
command (#3857) - Replace go-eth2-client with in-house solution (#3862)
- Put QUIC behind a feature flag (#3814)
- Add zipped flag to DKG (#3903)
- Add hostname verification (#3901)
Bug
- Invalid UUIDs are generated (#3887)
- Memory leak under attestation_inclusion feature flag (#3867)
- Increased duty timeout margin (#3800)
- Set content type in alpha test (#3808)
- Fixed vapi monitoring code (#3812)
- Fix attestation committee index (#3820)
- Remove fulu from fork schedule (#3822)
- Add missing encoding types (#3853)
- Fix flaky test (#3888)
Refactor
- Added sse_head_delay buckets (#3795)
- Changed reorg gauge to historgram (#3796)
- Changed sse-head-delay buckets (#3816)
- Replace HasPrefix+TrimPrefix with CutPrefix (#3824)
- Use maps.Copy for cleaner map handling (#3856)
- Improve fallback beacon node logic and metric (#3870)
- Batch duplicate logs (#3835)
combine
default input should align withcreate cluster
default output. (#3815)
Compatibility Matrix
This release of Charon is backwards compatible with Charon v1.0.*
, v1.1.*
, v1.2.0
, v1.3.*
, v1.4.*
, v1.5.*
Though only v1.3.*
and newer are Pectra-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 v25.7.1 ❗ | Lighthouse v7.1.0 ❗ | Lodestar v1.33.0 | Nimbus v25.7.1 | Prysm v6.0.4 ❗ | Vouch v1.10.3 ❗ |
---|---|---|---|---|---|---|
Teku v25.7.1 ❗ | ✅ | 🟡 | ✅ | ✅ | ✅ | 🟡 |
Lighthouse v7.1.0 | ✅ | 🟡 | ✅ | ✅ | ✅ | 🟡 |
Lodestar v1.33.0 | ✅ | 🟡 | ✅ | ✅ | ✅ | 🟡 |
Nimbus v25.7.1 | ✅ | 🟡 | ✅ | ✅ | ✅ | 🟡 |
Prysm v6.0.4 | ✅ | 🟡 | ✅ | ✅ | ✅ | 🟡 |
Grandine v1.1.2 | ✅ | 🟡 | ✅ | ✅ | ✅ | 🟡 |