We are thrilled to announce the release of v0.17.0 of Charon, delivering major enhancements in terms of MEV support (still in beta), network performance, and duty result analysis.
Notable Improvements:
- #2172 introduces improved MEV support for newly formed clusters using the latest v1.7.0 cluster definition and lock files. Keep in mind, this enhanced MEV support is still in the beta phase for this release, but we anticipate general availability in the near future.
- #2203 provides a significant performance improvement by decreasing the P2P networking bandwidth over 50%. This reduction is achieved by serialising data as SSZ instead of JSON, greatly benefiting consensus on block proposals with large payloads.
- #2200 offers improved chain inclusion tracking as part of duty result analysis. As a result, duties will now only be marked successful if they have been included on-chain. This change enhances previous behaviour that marked duties as successful only if they were successfully broadcasted to an upstream beacon node.
Breaking Changes ⚠️⚠️⚠️
#2203 introduces network changes that isn't compatible with v0.15.0. So v0.17.0 is only compatible with v0.16.0.
Make sure all nodes in the cluster are upgraded to v0.16.0 before proceeding with the upgrade to v0.17.0.
Full Changelog: v0.16.0..v0.17.0
Feature
- load cluster manifest and lock file #2334 (#2358)
- Instrument supported peer versions #2293 (#2295)
- Create backup manifests #2345 (#2348)
- Switch to SSZ eth2 encoding in protobufs #2203 (#2286)
- Create deposit data file for
add-validators-solo
command #2379 (#2395,#2388) charon combine
should have--no-verify
flag #2321 (#2352)- Add inclusion results to tracker for accurate success/failure metrics #2200 (#2299)
- Add command to view cluster manifests #2381 (#2408)
- Create keystore files for new validators #2382 (#2406)
- Implement alpha add validator local command #1887 (#2377,#2332,#2306,#2280)
- Add node_signatures to lock file #2204 (#2240,#2250)
Bug
- Inclusion checker bug #2415 (#2424)
- Ensure that ENRs are unique when verifying the definition | Charon #2296 (#2297)
- Workflows using wrong image tag #2367 (#2368)
- dkg: private key lock file not deleted properly on successful run #2258 (#2257)
- p2p: stream scope not attached to a protocol errors #2259 (#2260)
- Fix unmarshal issues with
go-eth2-client
version v0.17.0 #2333 (#2353) - Cluster failing attestations with mixed node versions #2386 (#2387)
- Missing flags error on create cluster command #2444 (#2445)
- goroutine leak in
charon-perf-1
#2439 (#2452,#2447,#2448) - align hash timestamp to eth2 #2436 (#2430)
- Outbound stream limit reached #2277 (#2290,#2289,#2278)
- new memory leak alert on v.0.17-dev #2438 (#2443)
Refactor
- Clone explicit builder version to eth2util #2466 (#2470)
- Eager dlinear reporting consensus duration greater than legacy inc timer #2337 (#2425)
- incorrect error message when number of addresses don't match number of validators #2340 (#2372)
parsigex
can't unmarshal blinded blocks #2433 (#2462,#2459,#2434)- Make the folder output structure from
create cluster
compatible withcharon run
defaults #2302 (#2392) - Pre-generate validator registrations #2172 (#2238)
- manifest file should contain
SignedMutationList
#2472 (#2473) - Remove default values for critical flags #2341 (#2380)
- Remove support for stream-delimited wire protocols #1934 (#2350,#2350)
- Track duty failing reasons on aggregate dashboard #1382 (#2242)
Test
- Fix panic in testutil/validatormock/synccomm.go #2347 (#2349)
- Nightly tests are failing #2239 (#2273,#2267)
- Develop a test suite to ensure regressions don't happen on blinded blocks #2317 (#2356)