Releases: ObolNetwork/charon
v1.0.0-rc5
v1.0.0-rc5 - 2024-06-12
Warning
This is the fifth 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-rc5
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, whileDutyBuilderProposer
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 | ✅ | 🟡 | ✅ | ✅ | ✅ |
What's Changed
- build(deps): Bump github.com/quic-go/quic-go from 0.37.6 to 0.37.7 by @dependabot in #2779
- app/version: bump version to v0.20-dev by @gsora in #2774
- build(deps): Bump github.com/multiformats/go-multiaddr from 0.12.0 to 0.12.1 by @dependabot in #2780
- build(deps): Bump golang.org/x/crypto from 0.17.0 to 0.18.0 by @dependabot in #2777
- docs: fix docs from small prs by @xenowits in #2785
- core: removed leadercast leftovers by @pinebit in #2782
- core: addressed some panic instances by @pinebit in #2783
- build(deps): Bump golang.org/x/tools from 0.16.1 to 0.17.0 by @dependabot in #2786
- build(deps): Bump github.com/herumi/bls-eth-go-binary from 1.32.1 to 1.33.0 by @dependabot in #2773
- core/validatorapi: correct error return by @dB2510 in #2788
- *: revert Herumi to v1.32.1 by @gsora in #2790
- core: checking keymanager address by @pinebit in #2795
- build(deps): Bump github.com/attestantio/go-eth2-client from 0.19.8 to 0.19.9 by @dependabot in #2799
- build(deps): Bump go.opentelemetry.io/otel/sdk from 1.21.0 to 1.22.0 by @dependabot in #2805
- build(deps): Bump go.opentelemetry.io/otel/exporters/stdout/stdouttrace from 1.21.0 to 1.22.0 by @dependabot in #2802
- core: fixing DutyDB Store function by @pinebit in #2800
- core: removed unused allowlist and denylist flags by @pinebit in #2801
- dkg: strengthen logic for steps update by @pinebit in #2797
- build(deps): Bump go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp from 0.46.1 to 0.47.0 by @dependabot in #2807
- dkg/bcast: exchange full messages by @gsora in #2798
- cmd: don't bind debug endpoints by default by @gsora in #2808
- app: eth2wrap best selector refactoring by @pinebit in #2806
- core: remove unimportant todos by @xenowits in #2809
- cmd: fixing builder registration timestamp by @pinebit in #2810
- build(deps): Bump github.com/attestantio/go-eth2-client from 0.19.9 to 0.19.10 by @dependabot in #2811
- *: more warnings on HTTP URLs by @gsora in #2813
- gomod: update Herumi BLS to v1.33.0 by @gsora in #2814
- testutil: fixed promrated.go by @pinebit in #2815
- cmd: add secondary charon relay by @xenowits in #2816
- github/workflows: fuzz tests on nightly by @gsora in #2818
- eth2util: remove legacy signed epoch by @dB2510 in #2819
- cmd/relay: bind debug and monitoring address separately by @gsora in #2817
- build(deps): Bump github.com/bufbuild/buf from 1.28.1 to 1.29.0 by @dependabot in #2829
- p2p: fixed flakey TestWithSendTimeout by @pinebit in #2830
- build(deps): Bump github.com/multiformats/go-multiaddr from 0.12.1 to 0.12.2 by @dependabot in #2833
- eth2util: new deposit message with amount by @pinebit in #2822
- core: using
url.ParseRequestURI
by @pinebit in #2832 - cmd: --deposit-amounts flag by @pinebit in #2820
- cluster: definition v1.8 by @pinebit in #2823
- core: updated the current year to 2024 by @pinebit in #2836
- cluster: partial deposits output by @pinebit in #2839
- testutil/promrated: update promrated querying by @LukeHackett12 in #2844
- cmd: fix create cluster bug by @xenowits in #2852
- validatorapi: supporting getValidators with post by @pinebit in #2849
- validatorapi: fixing failing tests by @pinebit in #2857
- testutil: replace math/rand deprecation by @KaloyanTanev in #2850
- workflows: tag latest on git tags by @gsora in #2855
- cmd/combine: support testnet config by @gsora in #2856
- build(deps): Bump go.opentelemetry.io/otel from 1.22.0 to 1.23.0 by @dependabot in #2861
- build(deps): Bump go.opentelemetry.io/otel/sdk from 1.22.0 to 1.23.0 by @dependabot in #2860
- build(deps): Bump go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp from 0.47.0 to 0.48.0 by @dependabot in https://github.com/ObolNetwork/charon/p...
-
sync committee and aggregator duties are not yet supported in a DV setup by Lighthouse, all other duties work as expected. ↩
v1.0.0-rc4
v1.0.0-rc4 - 2024-06-07
Warning
This is the fourth 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-rc4
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, whileDutyBuilderProposer
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.1.31 | Lodestar v1.18.1 | 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 | ✅ | 🟡 | ✅ | ✅ | ✅ |
What's Changed
- build(deps): Bump github.com/quic-go/quic-go from 0.37.6 to 0.37.7 by @dependabot in #2779
- app/version: bump version to v0.20-dev by @gsora in #2774
- build(deps): Bump github.com/multiformats/go-multiaddr from 0.12.0 to 0.12.1 by @dependabot in #2780
- build(deps): Bump golang.org/x/crypto from 0.17.0 to 0.18.0 by @dependabot in #2777
- docs: fix docs from small prs by @xenowits in #2785
- core: removed leadercast leftovers by @pinebit in #2782
- core: addressed some panic instances by @pinebit in #2783
- build(deps): Bump golang.org/x/tools from 0.16.1 to 0.17.0 by @dependabot in #2786
- build(deps): Bump github.com/herumi/bls-eth-go-binary from 1.32.1 to 1.33.0 by @dependabot in #2773
- core/validatorapi: correct error return by @dB2510 in #2788
- *: revert Herumi to v1.32.1 by @gsora in #2790
- core: checking keymanager address by @pinebit in #2795
- build(deps): Bump github.com/attestantio/go-eth2-client from 0.19.8 to 0.19.9 by @dependabot in #2799
- build(deps): Bump go.opentelemetry.io/otel/sdk from 1.21.0 to 1.22.0 by @dependabot in #2805
- build(deps): Bump go.opentelemetry.io/otel/exporters/stdout/stdouttrace from 1.21.0 to 1.22.0 by @dependabot in #2802
- core: fixing DutyDB Store function by @pinebit in #2800
- core: removed unused allowlist and denylist flags by @pinebit in #2801
- dkg: strengthen logic for steps update by @pinebit in #2797
- build(deps): Bump go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp from 0.46.1 to 0.47.0 by @dependabot in #2807
- dkg/bcast: exchange full messages by @gsora in #2798
- cmd: don't bind debug endpoints by default by @gsora in #2808
- app: eth2wrap best selector refactoring by @pinebit in #2806
- core: remove unimportant todos by @xenowits in #2809
- cmd: fixing builder registration timestamp by @pinebit in #2810
- build(deps): Bump github.com/attestantio/go-eth2-client from 0.19.9 to 0.19.10 by @dependabot in #2811
- *: more warnings on HTTP URLs by @gsora in #2813
- gomod: update Herumi BLS to v1.33.0 by @gsora in #2814
- testutil: fixed promrated.go by @pinebit in #2815
- cmd: add secondary charon relay by @xenowits in #2816
- github/workflows: fuzz tests on nightly by @gsora in #2818
- eth2util: remove legacy signed epoch by @dB2510 in #2819
- cmd/relay: bind debug and monitoring address separately by @gsora in #2817
- build(deps): Bump github.com/bufbuild/buf from 1.28.1 to 1.29.0 by @dependabot in #2829
- p2p: fixed flakey TestWithSendTimeout by @pinebit in #2830
- build(deps): Bump github.com/multiformats/go-multiaddr from 0.12.1 to 0.12.2 by @dependabot in #2833
- eth2util: new deposit message with amount by @pinebit in #2822
- core: using
url.ParseRequestURI
by @pinebit in #2832 - cmd: --deposit-amounts flag by @pinebit in #2820
- cluster: definition v1.8 by @pinebit in #2823
- core: updated the current year to 2024 by @pinebit in #2836
- cluster: partial deposits output by @pinebit in #2839
- testutil/promrated: update promrated querying by @LukeHackett12 in #2844
- cmd: fix create cluster bug by @xenowits in #2852
- validatorapi: supporting getValidators with post by @pinebit in #2849
- validatorapi: fixing failing tests by @pinebit in #2857
- testutil: replace math/rand deprecation by @KaloyanTanev in #2850
- workflows: tag latest on git tags by @gsora in #2855
- cmd/combine: support testnet config by @gsora in #2856
- build(deps): Bump go.opentelemetry.io/otel from 1.22.0 to 1.23.0 by @dependabot in #2861
- build(deps): Bump go.opentelemetry.io/otel/sdk from 1.22.0 to 1.23.0 by @dependabot in #2860
- build(deps): Bump go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp from 0.47.0 to 0.48.0 by @dependabot in https://github.com/ObolNetwork/charon/pu...
-
sync committee and aggregator duties are not yet supported in a DV setup by Lighthouse, all other duties work as expected. ↩
v1.0.0-rc3
v1.0.0-rc3 - 2024-06-08
Warning
This is the third 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-rc1
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, whileDutyBuilderProposer
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.1.31 | Lodestar v1.18.1 | 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 | ✅ | 🟡 | ✅ | ✅ | ✅ |
What's Changed
- build(deps): Bump github.com/quic-go/quic-go from 0.37.6 to 0.37.7 by @dependabot in #2779
- app/version: bump version to v0.20-dev by @gsora in #2774
- build(deps): Bump github.com/multiformats/go-multiaddr from 0.12.0 to 0.12.1 by @dependabot in #2780
- build(deps): Bump golang.org/x/crypto from 0.17.0 to 0.18.0 by @dependabot in #2777
- docs: fix docs from small prs by @xenowits in #2785
- core: removed leadercast leftovers by @pinebit in #2782
- core: addressed some panic instances by @pinebit in #2783
- build(deps): Bump golang.org/x/tools from 0.16.1 to 0.17.0 by @dependabot in #2786
- build(deps): Bump github.com/herumi/bls-eth-go-binary from 1.32.1 to 1.33.0 by @dependabot in #2773
- core/validatorapi: correct error return by @dB2510 in #2788
- *: revert Herumi to v1.32.1 by @gsora in #2790
- core: checking keymanager address by @pinebit in #2795
- build(deps): Bump github.com/attestantio/go-eth2-client from 0.19.8 to 0.19.9 by @dependabot in #2799
- build(deps): Bump go.opentelemetry.io/otel/sdk from 1.21.0 to 1.22.0 by @dependabot in #2805
- build(deps): Bump go.opentelemetry.io/otel/exporters/stdout/stdouttrace from 1.21.0 to 1.22.0 by @dependabot in #2802
- core: fixing DutyDB Store function by @pinebit in #2800
- core: removed unused allowlist and denylist flags by @pinebit in #2801
- dkg: strengthen logic for steps update by @pinebit in #2797
- build(deps): Bump go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp from 0.46.1 to 0.47.0 by @dependabot in #2807
- dkg/bcast: exchange full messages by @gsora in #2798
- cmd: don't bind debug endpoints by default by @gsora in #2808
- app: eth2wrap best selector refactoring by @pinebit in #2806
- core: remove unimportant todos by @xenowits in #2809
- cmd: fixing builder registration timestamp by @pinebit in #2810
- build(deps): Bump github.com/attestantio/go-eth2-client from 0.19.9 to 0.19.10 by @dependabot in #2811
- *: more warnings on HTTP URLs by @gsora in #2813
- gomod: update Herumi BLS to v1.33.0 by @gsora in #2814
- testutil: fixed promrated.go by @pinebit in #2815
- cmd: add secondary charon relay by @xenowits in #2816
- github/workflows: fuzz tests on nightly by @gsora in #2818
- eth2util: remove legacy signed epoch by @dB2510 in #2819
- cmd/relay: bind debug and monitoring address separately by @gsora in #2817
- build(deps): Bump github.com/bufbuild/buf from 1.28.1 to 1.29.0 by @dependabot in #2829
- p2p: fixed flakey TestWithSendTimeout by @pinebit in #2830
- build(deps): Bump github.com/multiformats/go-multiaddr from 0.12.1 to 0.12.2 by @dependabot in #2833
- eth2util: new deposit message with amount by @pinebit in #2822
- core: using
url.ParseRequestURI
by @pinebit in #2832 - cmd: --deposit-amounts flag by @pinebit in #2820
- cluster: definition v1.8 by @pinebit in #2823
- core: updated the current year to 2024 by @pinebit in #2836
- cluster: partial deposits output by @pinebit in #2839
- testutil/promrated: update promrated querying by @LukeHackett12 in #2844
- cmd: fix create cluster bug by @xenowits in #2852
- validatorapi: supporting getValidators with post by @pinebit in #2849
- validatorapi: fixing failing tests by @pinebit in #2857
- testutil: replace math/rand deprecation by @KaloyanTanev in #2850
- workflows: tag latest on git tags by @gsora in #2855
- cmd/combine: support testnet config by @gsora in #2856
- build(deps): Bump go.opentelemetry.io/otel from 1.22.0 to 1.23.0 by @dependabot in #2861
- build(deps): Bump go.opentelemetry.io/otel/sdk from 1.22.0 to 1.23.0 by @dependabot in #2860
- build(deps): Bump go.opentelemetry.io/contrib/i...
-
sync committee and aggregator duties are not yet supported in a DV setup by Lighthouse, all other duties work as expected.
Full Changelog: v0.19.2..v1.0.0-rc1 ↩
v1.0.0-rc1
v1.0.0-rc1 - 2024-05-08
Warning
This is the first 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-rc1
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, whileDutyBuilderProposer
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.1.31 | Lodestar v1.18.1 | 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 | 🔴 | 🟡 | ✅ | ✅ | ✅ | |
Prysm v5.0.3 | ✅ | 🟡 | ✅ | ✅ | ✅ | Prysm validator needs a particular pull request merged and released for aggregation duties to succeed. |
Lodestar v1.18.1 | ✅ | 🟡 | ✅ | ✅ | ✅ |
Feature
- consensus pipeline #2918 (#2928)
- signed/unsigned data marshaling #2917 (#2929)
- Implement Network Health Check Skeleton for Charon Cluster #2995 (#3008)
- Expose mev-enabled metric #2879 (#2890)
- integrate new go-eth2-client api #2936 (#2986)
- add new libp2p metrics to relay #2544 (#3040)
- Compose fails due to an invalid Lighthouse image #2886 (#2901)
- Health check for too many metrics #2446 (#2967)
- Add failing registrations as a health check #2760 (#2876)
- Add support for produce block v3 endpoint #2749 (#2913,#2885,#2868)
- Implement POST get validators endpoint #2840 (#2849)
- Add
charon alpha test peers
tests towards self node #3076 (#3052) - Implement Peer-to-Peer Connection Tests #2997 (#3039)
- [CLI] DKG ceremony crash upon existing
validator_keys
folder #2881 (#2958) - A deposit file for a single deposit should be backward compatible #2948 (#2940)
- create new cluster lock version v1.8 #2728 (#2839)
- cmd: create dkg cli to support partial deposits #2887 (#2887)
- Implement Beacon Node Tests #2998 (#3059)
- Spike on generic exits #2848 (#2934,#2926)
- Add partial deposits support to
charon dkg
command #2889 (#2894)
Bug
- Investigate Intermittent Failure in TestSigsExchange Test #3041 (#3042)
- Handle gracefully DKG requests from banned IP ranges #2897 (#2898)
- Confusing error when running combine multiple times #2538 (#2963)
- data race in p2p package #2784 (#2875)
- p2p: fix test-related data race #2763 (#2869)
- Add testnet flags to combine command #2838 (#2856)
- Ping peer continuously closed channel #3053 (#3054)
- create cluster doesn't error when run in same directory #2851 (#2852)
- 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)
- Investigate unknown/unknown arch in the Docker builds #2654 (#2971)
Refactor
- Complete
SignedEpoch
JSON migration inv0.19.0
#2593 (#2819) - Use
url.ParseRequestURI
instead ofurl.Parse
where appropriate #2796 (#2832) core/aggsigdb
: refactor to remove channel synchronization #1951 (#2950)- eth2wrap: fix small tech debt #2704 (#2946)
- Update tests using
rand.Seed
as it is deprecated in go 1.20+ #2831 (#2850) - Only use promrated for network averages #2843 (#2844)
- Improve track failure reason names #2488 (#3033)
- Promote
eager_dlinear
andconsensus_participate
flags to stable. #3001 (#3022) - Log the ENR pubkey and full lock hash in
app-start
#2778 (#2972)
Test
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)
What's Changed
-
sync committee and aggregator duties are not yet supported in a DV setup by Lighthouse, all other duties work as expected.
Full Changelog: v0.19.2..v1.0.0-rc1 ↩
v0.19.2
v0.19.2 - 2024-03-07
This release downgrades a dependency to ensure performance at high validator counts, and sets a more recent timestamp for builder API registrations to make validator migration more seamless.
A reminder on Produce Block endpoint V3
The Charon team is working towards supporting the Produce Block V3 endpoint, but in the meantime v0.19.2 will still only support the V2 endpoints.
At the time of releasing not all validator clients default to the new Produce Block V3 endpoint, for those that do, set the following flags on your validator client to ensure your validator asks for v2 blocks until a version of charon supports the v3 endpoint:
Lodestar: --useProduceBlockV3=false
as CLI parameter at startup
Lighthouse: --produce-block-v3=false
as CLI parameter at startup
Teku: --Xblock-v3-enabled=false
as CLI parameter at startup
Nimbus automatically falls back to V2 endpoints
Full Changelog: v0.19.1..v0.19.2
Bug
- MEV rewards sent to addresses configured on the CL + VC, not as specified in Charon's lock file #2770 (#2892)
- Charon timeouts requests to
/eth/v2/debug/beacon/states/head
#2954
What's Changed
Compatibility matrix
This matrix details the combination of beacon node + validator clients and their specific versions the Charon team has tested for this release.
Legend
- ✅: Passed
- 🟠: Duties may fail for this combination
- 🔴: One or more duties fails consistently
Beacon Node (BN) | Validator Client (VC) | Remarks |
---|---|---|
Lighthouse v5.1.0 | Lighthouse v5.1.0 | ✅ |
Lighthouse v5.1.0 | Teku v24.2.0 | 🟠 |
Lighthouse v5.1.0 | Lodestar v1.17.0 | ✅ |
Lighthouse v5.1.0 | Nimbus v24.2.2 | ✅ |
Lighthouse v5.1.0 | Prysm v5.0.1 | ✅ |
Teku 24.2.0 | Lighthouse v5.1.0 | ✅ |
Teku 24.2.0 | Teku v24.2.0 | 🟠 |
Teku 24.2.0 | Lodestar v1.17.0 | ✅ |
Teku 24.2.0 | Nimbus v24.2.2 | ✅ |
Teku 24.2.0 | Prysm v5.0.1 | ✅ |
Teku 24.3.0 | Lighthouse v5.1.0 | ✅ |
Teku 24.3.0 | Teku v24.3.0 | 🔴 |
Teku 24.3.0 | Lodestar v1.17.0 | ✅ |
Teku 24.3.0 | Nimbus v24.2.2 | ✅ |
Teku 24.3.0 | Prysm v5.0.1 | ✅ |
Lodestar v1.17.0 | Lighthouse v5.1.0 | ✅ |
Lodestar v1.17.0 | Teku v24.2.0 | 🟠 |
Lodestar v1.17.0 | Lodestar v1.17.0 | ✅ |
Lodestar v1.17.0 | Nimbus v24.2.2 | ✅ |
Lodestar v1.17.0 | Prysm v5.0.1 | 🔴 |
Nimbus v24.2.0 | Lighthouse v5.1.0 | 🔴 |
Nimbus v24.2.0 | Teku v24.2.0 | 🔴 |
Nimbus v24.2.0 | Lodestar v1.17.0 | 🔴 |
Nimbus v24.2.0 | Nimbus v24.2.2 | 🔴 |
Nimbus v24.2.0 | Prysm v5.0.1 | 🔴 |
Prysm v5.0.1 | Lighthouse v5.1.0 | 🔴 |
Prysm v5.0.1 | Teku v24.2.0 | 🔴 |
Prysm v5.0.1 | Lodestar v1.17.0 | 🔴 |
Prysm v5.0.1 | Nimbus v24.2.2 | 🔴 |
Prysm v5.0.1 | Prysm v5.0.1 | 🔴 |
v0.19.1
v0.19.1 - 2024-02-14
This patch release contains fixes for issues identified in Charon's second audit, along with support for the POST
variant of /eth/v1/beacon/states/<state_id>/validators
, optimized memory footprint when paired with Teku.
A reminder on Produce Block endpoint V3
The Charon team is working towards supporting the Produce Block V3 endpoint, but in the meantime v0.19.2 will still only support the V2 endpoints.
At the time of releasing not all validator clients default to the new Produce Block V3 endpoint, for those that do, set the following flags on your validator client to ensure your validator asks for v2 blocks until a version of charon supports the v3 endpoint:
Lodestar: --useProduceBlockV3=false
as CLI parameter at startup
Lighthouse: --produce-block-v3=false
as CLI parameter at startup
Teku: --Xblock-v3-enabled=false
as CLI parameter at startup
Nimbus automatically falls back to V2 endpoints
Change to Docker tagging policy
Before v0.19.1, the charon:latest
Docker tag pointed to the latest commit on main
.
To provide a more stable experience, from v0.19.1 onwards we will respect the following Docker tags criteria:
latest
: latest tagged version, i.e. latest stable releasenext
: latest commit onmain
Full Changelog: v0.19.0..v0.19.1
Feature
Bug
What's Changed
v0.19.0
v0.19.0 - 2024-01-15
We are delighted to announce the release of Charon v0.19.0
! This release brings bug fixes and improvements to the Charon codebase, and supports running DV clusters on the next Ethereum fork, Dencun.
While this version supports older Ethereum forks, v0.19.0
is the first release to fully support Dencun, so it is not possible to run mixed v0.18.0
and v0.19.0
clusters after the fork.
A note on Produce Block endpoint V3
The Charon team is working towards supporting the Produce Block V3 endpoint, but in the meantime v0.19.0 will still only support V2 endpoints.
At the time of releasing not all validator clients support the new Produce Block V3 endpoint, for those that do, set the following flags on your validator client to ensure your validator asks for v2 blocks until a version of charon supports the v3 endpoint:
- Lodestar:
--useProduceBlockV3=false
as CLI parameter at startup - Lighthouse:
--produce-block-v3=false
as CLI parameter at startup - Teku:
--Xblock-v3-enabled=false
as CLI parameter at startup - Nimbus automatically falls back to V2 endpoints
Full Changelog: v0.18.0..v0.19.0
Feature
- On-disk logging facility #2671 (#2713)
- Update charon to comply with go-eth2-client v0.19.5 #2708 (#2709)
- make final deneb changes #2729 (#2734)
- Return dependent root from validatorapi #2736 (#2748,#2739)
- Add
--testnet-*
flags to support custom test networks. #2690 (#2715)
Bug
- Check for active validators in the upcoming epoch instead of the current or past epoch #2721 (#2727)
- fix synthetic proposal when block not found #2695 (#2702)
Refactor
Misc
What's Changed
v0.18.0
v0.18.0 - 2023-11-14
This release introduces general fixes and improvements including progress on great new features.
⚠️ This version of Charon is only backwards-compatible with version 0.17.0-series releases, so to run this v0.18.0 release, every node in the cluster must be running at least v0.17.0 or newer ⚠️
Full Changelog: v0.17.2..v0.18.0
Feature
- Add holesky fork version to charon #2399 (#2590)
- Batch aggregation and broadcast #2373 (#2523)
- Implement Launchpad URL Return for
--publish
Command #2423 (#2518) - cluster hashes should match in manifest and lock #2335 (#2485)
- Fix charon with updated go-eth2-client #2646 (#2650)
- Add network flag to promrated #2571 (#2575)
- Fuzz charon with malicious charon node #2375 (#2504,#2426)
- upper bound checks for integer conversion #2658 (#2668)
- Implement deneb support #2597 (#2635)
Bug
- Soft shutdown not working #2435 (#2516)
- Possible race condition in DKG exchanger #2491 (#2496)
- Chain inclusion for
builder_proposer
is not working as expected #2661 (#2670) - Incorrect delay duration in submitted validator registrations logs #2681 (#2675)
- Ensure the desired folder exists, before writing the combined keys #2536 (#2537)
- DKG network issues on shutdown #887 (#2509)
- Incorrect pre-gen builder registrations in
create cluster
ouput #2674 (#2673) - Race in AggSigDB unit test #2546 (#2561)
Refactor
- implement a threshold-based recombination #2663 (#2664)
- eth2util: support legacy signed randao marshalling #2353 (#2558)
- update to new deneb changes #2659 (#2682)
- Update vmock to submit selections at the start of epoch for current and next epoch #2400 (#2545)
- Remove support for stream-delimited wire protocols #1934 (#2495)
- Remove keycast #2569 (#2684)
Docs
Misc
- Tagged release versions not overwritten to app.Version. #2270 (#2482)
- Add beacon fuzz test to CI/CD #2180 (#2481)
What's Changed
v0.17.2 - 2023-11-08
This release updates a timeout related to how Charon DKG interacts with the Obol API, as well as fixing an issue related to pre-generated builder registrations.
Full Changelog: v0.17.1..v0.17.2
What's Changed
v0.17.1 - 2023-10-19
We are thrilled to announce the release of v0.17.1 of Charon, delivering Holesky support and bug fixes to the v0.17 line of releases.
Full Changelog: v0.17.0..v0.17.1
Feature
Bug
What's Changed
- beaconmock: add
MIN_EPOCHS_FOR_BLOCK_REQUESTS
by @dB2510 in #2627 - gomod: upgrade libp2p to v0.29.2 by @dB2510 in #2626
- cmd/combine: ensure output dir exists by @dB2510 in #2625
- eth2util: add holesky by @dB2510 in #2628
- eth2util/deposit: bump deposit cli version by @dB2510 in #2630
- eth2util: fix fork version by @dB2510 in #2629
- *: bump go version by @gsora in #2648
- testutil/genchangelog: force fetch tags by @gsora in #2647
Full Changelog: v0.17.0...v0.17.1