This version is backwards compatible to v1.15.0. It is optional, but encouraged.
This release updates the plugin version to 47. All plugins must update to remain compatible.
Nodes that last ran before Helicon activated must first run v1.15.0 or v1.15.1 until the C-Chain has bootstrapped past Helicon, or resync from an empty database.
Features
- Added
vms/evm/evmclient, which combines standard Ethereum, Geth-specific, raw RPC, and Avalanche-specific EVM methods. eth_getLogsnow respects the node's C-Chain config option forapi-resolve-pending-to-last-executed.
APIs
- The
avax.getAtomicTxStatusC-Chain RPC, deprecated in v1.15.0, is removed. Useavax.getAtomicTx, which fails for a tx that has not been accepted. - Added
restakedValidationRewardsandrestakedDelegateeRewardsfields toplatform.getCurrentValidatorsresults for auto-renewed validators
Configs
- The
eth-apisC-Chain option, deprecated in v1.15.0, is removed. The node now ignores it and logs a warning like any other unrecognized option. Setapisinstead. - Removed
pull-gossip-requests-per-validatorfrom the P-Chain config. It has had no effect since v1.14.2. The node ignores the key if a config still sets it. api-max-blocks-per-requestwas added back to the C-Chain config.
Metrics
- C-Chain metrics no longer include the
transitionprefix. For example,avalanche_evm_transition_sae_last_executed_heightis nowavalanche_evm_sae_last_executed_height. - Added
avalanche_evm_sae_unsettled_gas_limit(gauge): worst-case gas of accepted blocks that have not yet settled. - Added
avalanche_evm_sae_execution_gas_rate_headroom(histogram),avalanche_evm_sae_execution_gas_rate_headroom_latest(gauge), andavalanche_evm_sae_tau_second_avg_executed_gas_per_second(gauge) to monitor gas-vs-wall clock skew during execution, for tuning the gas target.
Fixes
- Fixed C-Chain
api-max-durationonly limitingeth_callsince Helicon. It again limits every call to the/rpcand/wsendpoints, and a WebSocket call that times out doesn't close its connection. - Updated the minimum Go version from
1.26.8to1.26.10.
What's Changed
- Remove duplicate upgrade identifier updates by @StephenButtolph in #6049
- Simplify task tags-create by @StephenButtolph in #6055
- Expose restaked validation and delegatee reward totals in rpc by @alejandro99so in #5983
- chore: tag releases from master and rewrite the release guide by @JonathanOppenheimer in #6050
- fix(scripts): fail fast on curl download errors by @JonathanOppenheimer in #6056
- Add unsettled gas metric by @StephenButtolph in #6059
- chore: prep next release v1.15.2 by @JonathanOppenheimer in #6051
- chore(upgrade): add the Igloo upgrade by @JonathanOppenheimer in #6057
- Ignore P-chain height check for post fork childs of pre fork parents if bootstrapping by @yacovm in #5958
- feat(vms/evm/sync): add retry support to the
network.Dispatcherby @powerslider in #5654 - test(cchain): remove legacy coreth comparison tests by @JonathanOppenheimer in #6067
- docs(sae): Scaffold saevm README structure by @JonathanOppenheimer in #5728
- [ci] Ensure consistent input caching by @maru-ava in #5964
- [ci] Reuse cached go modules in image builds by @maru-ava in #5981
- chore(cchain/state): Remove legacy references by @alarso16 in #6081
- fix: check statedb error by @alarso16 in #6082
- refactor(rpc): share JSON-RPC handler construction by @JonathanOppenheimer in #6086
- refactor(saevm): remove deprecated
eth-apisconfig andavax.getAtomicTxStatusby @JonathanOppenheimer in #5944 - fix(wallet): use the SAE C-Chain client for atomic txs by @owenwahlgren in #6022
- [ci] Ensure completeness of bazel input caching by @maru-ava in #6088
- [ci] Remove codeql analysis job by @maru-ava in #6117
- feat(sae): enforce a max duration on all C-Chain RPC and WebSocket calls by @JonathanOppenheimer in #6070
- reexecute: remove the pathdb benchmark preset by @rahulmutt-ava in #6124
- refactor(evm): move blackhole address to
vms/evm/blackholeby @JonathanOppenheimer in #6125 - refactor(wallet/chain/c): use cchain/tx instead of coreth atomic types by @JonathanOppenheimer in #6119
- [ci] Cache Bazelisk downloads for go lint by @maru-ava in #6065
- [ci] Rename bazel and go CI workflows for consistency by @maru-ava in #6120
- refactor(cchain): Remove transitive customheader usages by @alarso16 in #6127
- [ci] Skip required jobs for pull requests by @maru-ava in #6111
- docs(info): fix stale examples and reply fields in service.md by @owenwahlgren in #6132
- [reexecution] remove timeout flag by @RodrigoVillar in #6138
- refactor(sae): register libevm extras from cchain package by @rahulmutt-ava in #6091
- ci: auto-add team-authored issues and PRs to project boards by @JonathanOppenheimer in #5648
- feat(saevm/client): Wrap ethclient by @alarso16 in #6085
- [ci] Cache the QEMU setup image from master builds by @maru-ava in #6140
- [e2e] Run a single post-suite bootstrap check for a parallel run by @maru-ava in #6134
- Remove C-Chain transitionvm wrapper by @StephenButtolph in #6064
- test(sae): Wait on ws requests by @alarso16 in #6144
- Bump klauspost version by @joshua-kim in #6145
- reexecute: run the C-Chain benchmark with saevm by @rahulmutt-ava in #6083
- platformvm: fix request and response shapes in service.md by @owenwahlgren in #6130
- Fix restaked reward fields release docs from v1.15.1 to v1.15.2 by @owenwahlgren in #6129
- platformvm: document restaked reward fields in getCurrentValidators by @owenwahlgren in #6128
- [ci] Switch from Blacksmith to GitHub 4-core runners by @maru-ava in #6143
- [docs] Clarify Go toolchains and dependency cache boundaries by @maru-ava in #6146
- Prevent avalanche bootstrapper from linearizing twice by @yacovm in #6011
- [ci] Pin add-to-project to skip existing project items by @JonathanOppenheimer in #6154
- saevm/cchain: move C-Chain service.md from coreth and update for SAE by @JonathanOppenheimer in #6150
- feat(network/p2p): let a tracking client own the peer scoring lifecycle by @powerslider in #5980
- [bazel] Extend vms/saevm/cchain timeout to account for heavy tests by @maru-ava in #6168
- the greatest day: delete (almost all of) graft/coreth by @JonathanOppenheimer in #6149
- refactor(p2p): remove
Client.AppRequestAnyandNewClientsampler by @powerslider in #6153 - [ci] Assign team-authored PRs to their author on open by @JonathanOppenheimer in #6166
- chore(tests): drop coreth-only C-Chain config defaults by @JonathanOppenheimer in #6161
- refactor(p2p): move
PeerTrackerinto apeertrackerpackage by @powerslider in #6172 - saevm: own the test fixture chain params and drop coreth-only helpers by @JonathanOppenheimer in #6157
- chore(graft/coreth): prune unreachable precompile code by @JonathanOppenheimer in #6155
- chore(sae): Delete testing TODO by @alarso16 in #6180
- chore(saevm): drop unused tagliatelle nolint by @JonathanOppenheimer in #6181
- platformvm: fix config.md and remove unused pull-gossip-requests-per-validator by @owenwahlgren in #6131
- docs: fix stale coreth references by @JonathanOppenheimer in #6156
- chore(acp176): delete fee logic only coreth used by @JonathanOppenheimer in #6158
- [ci] Shorten C-Chain re-execution job names by @maru-ava in #6169
- refactor(saevm): drop graft/evm/utils from cchain by @JonathanOppenheimer in #6087
- feat: tau-second rolling average gas throughput metric by @ARR4N in #6122
- Fine tune snowman block gossip source metric by @yacovm in #6126
- chore(fx): delete Cost methods only coreth used by @JonathanOppenheimer in #6159
- test(vms/evm/sync): wait for peer scoring before asserting it by @powerslider in #6205
- Update to Go v1.26.10 by @JonathanOppenheimer in #6217
- [ci] Run failure handlers only after setup succeeds by @maru-ava in #6171
- [ci] Coalesce simple checks into a single job by @maru-ava in #6193
- Snowman performance improvements by @yacovm in #6197
- feat: add block range bound for
eth_getLogsby @alarso16 in #6021 - chore(graft/evm): delete unused code by @JonathanOppenheimer in #6218
- [ci] Document how to validate scheduled job changes before merge by @maru-ava in #6219
- [bazel] Extend e2e testing to the full suite by @maru-ava in #6026
- [ci] Skip monitoring of darwin e2e-smoke job by @maru-ava in #6194
- feat(cchain): state-history config by @alarso16 in #6147
- test: Skip flaky test by @alarso16 in #6224
Full Changelog: v1.15.1...v1.15.2