github ObolNetwork/charon v1.0.0-rc7

pre-release3 days ago

v1.0.0-rc7 - 2024-06-25

Obol Logo

Warning

This is the seventh release candidate for our first major Charon release! Unless you want to test this rc, you should wait until a full v1.0.0 is published and announced.

As detailed by our version compatibility, being a major release, Charon v1.0.0-rc7 is not fully-backwards compatible with v0.x.x releases. Block proposals are not compatible between the versions, so once your cluster begins the upgrade, please upgrade all nodes promptly to ensure readiness for a proposal opportunity should one occur.

Breaking changes

  • Full support for beacon spec produceBlockV3 endpoint has been implemented: DutyProposer supports now both blinded and unblinded blocks, while DutyBuilderProposer has been deprecated.
    • This means you should remove the extra validator configuration added during previous versions of charon, consult the prior release to see what flags to remove to default to the lastest version of block proposals.

Compatibility Matrix

This matrix details the combination of beacon node + validator clients and their corresponding versions the Obol 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
Consensus 👇 Validator 👉 Teku v24.4.0 Lighthouse v5.2.01 Lodestar v1.19.0 Nimbus v24.3.0 Prysm PR Remarks
Teku v24.4.0 🟡 Teku bn needs the --validators-graffiti-client-append-format=DISABLED flag in order to produce blocks properly.
Lighthouse v5.1.3 🟡 🟠 Lighthouse vc are only failing aggregation duties, which are not directly penalised but impact network density at high scale.
Nimbus v24.3.0 🔴 🟡 Nimbus beacon nodes requires that you add the following flag to charon run: charon run --feature-set-enable=json_requests
Prysm v5.0.3 🟡 Prysm validator needs a particular pull request merged and released for aggregation duties to succeed.
Lodestar v1.18.1 🟡

Full Changelog: v0.19.2..v1.0.0-rc7

Feature

  • Compose fails due to an invalid Lighthouse image #2886 (#2901)
  • Expose mev-enabled metric #2879 (#2890)
  • integrate new go-eth2-client api #2936 (#2986)
  • add new libp2p metrics to relay #2544 (#3040)
  • A deposit file for a single deposit should be backward compatible #2948 (#2940)
  • Implement POST get validators endpoint #2840 (#2849)
  • Implement Beacon Node Tests #2998 (#3059)
  • Implement Peer-to-Peer Connection Tests #2997 (#3039)
  • Spike on generic exits #2848 (#2934,#2926)
  • signed/unsigned data marshaling #2917 (#2929)
  • Add support for produce block v3 endpoint #2749 (#2913,#2885,#2868)
  • Add partial deposits support to charon dkg command #2889 (#2894)
  • Add charon alpha test peers tests towards self node #3076 (#3052)
  • Implement Network Health Check Skeleton for Charon Cluster #2995 (#3008)
  • [CLI] DKG ceremony crash upon existing validator_keys folder #2881 (#2958)
  • create new cluster lock version v1.8 #2728 (#2839)
  • Add failing registrations as a health check #2760 (#2876)
  • Health check for too many metrics #2446 (#2967)
  • consensus pipeline #2918 (#2928)
  • cmd: create dkg cli to support partial deposits #2887 (#2887)

Bug

  • data race in p2p package #2784 (#2875)
  • p2p: fix test-related data race #2763 (#2869)
  • MEV rewards sent to addresses configured on the CL + VC, not as specified in Charon's lock file #2770 (#2810)
  • Ensure Exit Message are compliant with EIP-7044 #2981 (#3035)
  • create cluster doesn't error when run in same directory #2851 (#2852)
  • Ping peer continuously closed channel #3053 (#3054)
  • Add testnet flags to combine command #2838 (#2856)
  • Investigate Intermittent Failure in TestSigsExchange Test #3041 (#3042)
  • Investigate unknown/unknown arch in the Docker builds #2654 (#2971)
  • Handle gracefully DKG requests from banned IP ranges #2897 (#2898)
  • Confusing error when running combine multiple times #2538 (#2963)

Refactor

  • Only use promrated for network averages #2843 (#2844)
  • Use url.ParseRequestURI instead of url.Parse where appropriate #2796 (#2832)
  • Improve track failure reason names #2488 (#3033)
  • Update tests using rand.Seed as it is deprecated in go 1.20+ #2831 (#2850)
  • Complete SignedEpoch JSON migration in v0.19.0 #2593 (#2819)
  • Log the ENR pubkey and full lock hash in app-start #2778 (#2972)
  • eth2wrap: fix small tech debt #2704 (#2946)
  • Promote eager_dlinear and consensus_participate flags to stable. #3001 (#3022)
  • core/aggsigdb: refactor to remove channel synchronization #1951 (#2950)

Test

  • Investigate and fix TestSmoke/dkg failure #2964 (#2965)

Misc

  • Enable v1.8.0 definition format with charon v1 release #3003 (#3028)
  • Track builder registrations with tracker #2669 (#2877)
  • Use 'latest' docker tag for stable releases only #2359 (#2855)
  • Tag Charon v1.0.0-rc2 #3103 (#3117)

What's Changed

Footnotes

  1. sync committee and aggregator duties are not yet supported in a DV setup by Lighthouse, all other duties work as expected. ↩

Don't miss a new charon release

NewReleases is sending notifications on new releases.