This version is backwards compatible to v1.14.0. It is optional, but encouraged.
The plugin version is updated to 45; all plugins must update to be compatible.
Breaking Changes
- Removed
graft/subnet-evm/compatibility.jsonin favor of using a single source of truth inversion/compatibility.json. External tools that relied on this file should now useversion/compatibility.jsonfrom the main AvalancheGo repository.
Config
- Added:
--simplex-max-network-delay--simplex-max-rebroadcast-wait--benchlist-halflife--benchlist-unbench-probability--benchlist-bench-probabilitysnowParametersin subnet configssimplexParametersin subnet configs
- Deprecated:
consensusParametersin subnet configs
- Removed:
--benchlist-fail-threshold--benchlist-min-failing-durationpull-gossip-poll-sizefrom the X-chain and P-chain configsproposerMinBlockDelayfrom subnet configs
API
- Added
avalanche_snowman_consensus_latencieshistogram for each chain
Fixes
- Fixed potential FATAL during startup due to an incorrect initialization of remaining disk space
- Fixed crash in
TraceCallwithBlockOverrides - Fixed snapshot generation shutdown race
- Downgraded flaky
ERRORlog toWARNif recently bootstrapped - Updated minimum Go version from 1.24 to
v1.25.8
Consensus
- Redesigned benchlisting with predicated failure rates
- Added health checks to ensure average block acceptance times are reasonable
- Introduced Simplex consensus engine and parameters (experimental)
Firewood
- Enabled Firewood deferred persistence for non-pruning nodes
- Fixed Firewood metrics registration
- Unsupported APIs now return an error when Firewood is enabled
- Updated Firewood to v0.3.1 (from v0.0.18)
What's Changed
- Prep Firewood x/sync for EVM by @alarso16 in #4794
- [ci] Migrate reexec tasks to a script to simplify maintenance by @maru-ava in #4761
- refactor: Share EVM Utils by @alarso16 in #4739
- ci: ensure generated files up to date in CI by @JonathanOppenheimer in #4782
- fix: Always register Firewood metrics when enabled by @alarso16 in #4793
- refactor: directly embed files in
graftby @JonathanOppenheimer in #4795 - chore: remove end year from license headers by @JonathanOppenheimer in #4812
- test(reexecute): add firewood chaos test [2/2] by @RodrigoVillar in #4695
- refactor: Firewood Config helper by @alarso16 in #4811
- chore(chaos): remove chaos test from PR CI by @RodrigoVillar in #4817
- feat(reexecution): collect leveldb and meterdb metrics by @DracoLi in #4804
- refactor: warp e2e tests no longer in single function by @JonathanOppenheimer in #4798
- build: bundle subnet-evm releasing into releasing workflow by @JonathanOppenheimer in #4675
- fix: warp e2e flake by @JonathanOppenheimer in #4818
- Provide a useful default for disk percentage by @StephenButtolph in #4822
- refactor: Use
state.Databaseto generate tries in sync test helpers by @alarso16 in #4814 - chore: cleanup
graft/evmpost subnet-evm merge by @JonathanOppenheimer in #4752 - test: fix
TestUptimeSignaturesflake by @JonathanOppenheimer in #4826 - test: add Coreth + Firewood archive UT by @RodrigoVillar in #4820
- Introduce gossip system helper by @StephenButtolph in #4819
- test: fix
TestAtomicSyncerVM/StateSyncFromScratchTestflake by @JonathanOppenheimer in #4825 - [direnv] Enable global envrc customization by @maru-ava in #4821
- fix(c-chain-reexecution): support genesis execution by @Elvis339 in #4841
- Remove
ProposerMinBlockDelayfrom subnet configs by @StephenButtolph in #4824 - fix(eth/tracers): fix crash in TraceCall with BlockOverrides by @dmkulazhenko in #4657
- Fix flake in
TestWaitForEvent/WaitForEvent_build_block_after_re-orgby @yacovm in #4789 - fix: apply TraceCall fix in both coreth and subnet-evm by @JonathanOppenheimer in #4846
- Fix race in tests on VM Shutdown by @alarso16 in #4852
- refactor: use vms/evm customrawdb in subnet-evm by @alarso16 in #4851
- test: enable c-chain <-> subnet e2e warp tests by @JonathanOppenheimer in #4799
- refactor: align
PointerTofunctions by @JonathanOppenheimer in #4741 - chore: cleanup customtypes by @alarso16 in #4844
- chore: retype
DelayExcessby @JonathanOppenheimer in #4833 - refactor: share triedb by @alarso16 in #4843
- refactor: Share core/state by @alarso16 in #4863
- test(reexecution): add additional Firewood archival tests by @RodrigoVillar in #4853
- build: bump to go 1.24.12 by @JonathanOppenheimer in #4867
- test: Fix
TestResyncNewRootAfterDeletesflake by @JonathanOppenheimer in #4850 - refactor: granite cleanup - remove
GetWarpValidatorSetby @JonathanOppenheimer in #4858 - [nix] Update golang flake input for nix 2.25+ by @maru-ava in #4875
- feat(vm_reexecute): add pprof profiling support by @Elvis339 in #4790
- refactor: granite cleanup - remove pre-granite test-cases by @JonathanOppenheimer in #4860
- refactor(sync): reorganize state sync packages by @powerslider in #4857
- Simplex nits & bug fixes by @samliok in #4885
- feat: add Sync to database.HeightIndex by @DracoLi in #4839
- refactor: granite cleanup - remove
remoteDelayExcessby @JonathanOppenheimer in #4859 - refactor: share log package by @JonathanOppenheimer in #4886
- perf: Share proposal between hash and commit by @alarso16 in #4697
- refactor: remove strict mode in ABI by @alarso16 in #4884
- Firewood v0.1.0 by @alarso16 in #4893
- Return range proofs for change proof requests during Firewood sync by @alarso16 in #4834
- feat: Add interface between x/sync and EVM syncers by @alarso16 in #4832
- Add test coverage for acp118 replay protection by @joshua-kim in #4889
- refactor: remove UnpackInput by @alarso16 in #4901
- refactor: share EVM rpc package by @JonathanOppenheimer in #4786
- refactor: share version across codebase by @JonathanOppenheimer in #4891
- Update vms/README.md by @meaghanfitzgerald in #4904
- [ci] Support running re-execution benchmark with arbitrary version of Firewood by @Elvis339 in #4650
- test: address geth flakes by @JonathanOppenheimer in #4902
- refactor: Use libevm accounts/abi by @alarso16 in #4865
- [ci] Simplify run-monitored-tmpnet-cmd to use custom actions by @maru-ava in #4897
- [tools] Allow ./tools path to be used for local tools by @maru-ava in #4896
- test: Ensure code hashes are retrieved in Firewood by @alarso16 in #4915
- Add proposervm block delay logs by @yacovm in #4917
- Update consensus logs by @StephenButtolph in #4920
- Add go workspace by @maru-ava in #4899
- Create histogram for consensus latencies by @yacovm in #4924
- refactor(graft/evm): extract unified
messagepackage fromcorethandsubnet-evmby @powerslider in #4882 - Move x/sync and firewood to database by @alarso16 in #4929
- Remove legacy golang build tags by @maru-ava in #4933
- Fix go-mod-tidy and ensure it is checked in CI by @maru-ava in #4934
- chore: fix network logs typo by @JonathanOppenheimer in #4941
- docs: fix getutxos incorrect type by @JonathanOppenheimer in #4943
- Fail HealthCheck if Average Block Acceptance Times are too High by @samliok in #4911
- refactor: share constants between avalanchego and subnet-evm by @JonathanOppenheimer in #4914
- Simplify go version maintenance by @maru-ava in #4950
- Add latest checkpoints to reexecute benchmark for hashdb by @aaronbuchwald in #4953
- [ci] Configure dir exclusion from linting via .golangci.yml by @maru-ava in #4940
- chore: only tag subnet-evm on stable releases by @JonathanOppenheimer in #4951
- chore: sync handler param name by @JonathanOppenheimer in #4937
- chore: rename
atomicTrieDBby @JonathanOppenheimer in #4936 - Use clock time instead of time.Until in proposerVM by @yacovm in #4958
- Fix coreth and subnet-evm flaky tests by @rrazvan1 in #4947
- Remove Start/Wait mechanic in x/sync by @alarso16 in #4926
- [ci] Free up space to get the subnet evm antithesis test job passing by @maru-ava in #4967
- [ci] Add RPM release workflow by @maru-ava in #4959
- [ci] Ensure rpm packaging compatibility with legacy subnet-evm by @maru-ava in #4970
- Update to go
v1.25.7by @JonathanOppenheimer in #4961 - [ci] Skip RPM upload for PRs by @maru-ava in #4974
- ci: change PR fuzz tests timing and bump fuzz test timeout by @JonathanOppenheimer in #4978
- ci: just fuzz a single test by @JonathanOppenheimer in #4989
- docs: rewrite releasing readme by @JonathanOppenheimer in #4749
- refactor(sync): extract coreth/sync to evm/sync and adapt coreth and subnet-evm by @powerslider in #4921
- Switch to using solc provided by nix by @maru-ava in #4787
- Enable multi-module release and consumption strategy by @maru-ava in #4905
- feat: Remove FreeListCache from Firewood config by @alarso16 in #4963
- [nix] Switch to direct import of golang to fix relative path bug by @maru-ava in #5000
- [tmpnet] Annotate pods for collection to grafana cloud by @maru-ava in #4981
- test: skip StateSyncToggleEnabledToDisabledTest flake by @JonathanOppenheimer in #5002
- fix: skip flaky firewood test due to go bump by @RodrigoVillar in #5001
- chore: upgrade lint to 2.9.0 by @JonathanOppenheimer in #4962
- refactor: in-line network stats package by @JonathanOppenheimer in #4887
- fix: skip TestConflictingImportTxsAcrossBlocks if using Firewood by @RodrigoVillar in #5018
- Remove Validator State Interface by @samliok in #4983
- docs: add missing APIs to Coreth docs by @ceyonur in #5020
- Migrate subnet-evm antithesis builder to the root by @PlatCore in #4836
- rename coreth api.md to service.md by @ceyonur in #5024
- fix: remove build arguement by @JonathanOppenheimer in #5029
- Update Firewood to v0.2.0 by @alarso16 in #5030
- Move validator metadata DB writes into validatorState by @DracoLi in #5008
- Restrict benchmark auto-push to scheduled runs only by @aaronbuchwald in #5032
- Improve readability of ValidatorWeightDiff logic by @StephenButtolph in #5042
- test: blockchain test cleanup by @alarso16 in #5035
- Replace DelegateeReward API with generalized API by @rrazvan1 in #5017
- fix: only ignore specific firewood directory by @RodrigoVillar in #5047
- build: add ACP-224 interface and build ABI + bindings by @JonathanOppenheimer in #4871
- Add simplex consensus parameters by @samliok in #4870
- Introduce Simplex Engine Struct by @samliok in #4903
- Nits From Engine PR by @samliok in #5053
- Benchlist response handling by @aaronbuchwald in #4964
- update libevm to v1.13.14-0.4.0.rc.2 by @ceyonur in #5058
- Update to go 1.25.8 by @alarso16 in #5055
- PlatformVM: Support arbitrary validator addition and deletions by @yacovm in #5003
- Remove State Interface by @samliok in #5025
- Add back EWMA benching logic by @aaronbuchwald in #4982
- Remove Manager Interface From platformvm/validators by @samliok in #5056
- benchlist: greedy eviction to bench worst offenders at capacity by @aaronbuchwald in #5028
- [antithesis] Halve duration of triggered jobs by @maru-ava in #5054
- Remove State Interface from platformvm/validators by @samliok in #5057
- Early return unsupported APIs in Firewood by @alarso16 in #5075
- Add Firewood as a state syncer by @alarso16 in #4913
- Unskip tests skipped due to firewood stack corruption issue by @demosdemon in #5072
- [bazel] Enable initial build and test by @maru-ava in #4544
- Selectively log warning or error depending on how much time elapsed since bootstrapping finished by @yacovm in #5082
- feat(benchmark-cchain): add 40m-41m test cases for hashdb and firewood by @Elvis339 in #5088
- Upgrade to Firewood v0.3.0 by @alarso16 in #5085
- [bazel] Fix metadata generation on macos by @maru-ava in #5090
- Snapshot generation shutdown race by @JonathanOppenheimer in #4816
- feat: enable Firewood deferred persistence by @RodrigoVillar in #5022
- chore: increase Firewood commit interval by @RodrigoVillar in #5091
- build(deps): bump google.golang.org/grpc from 1.75.0 to 1.79.3 by @dependabot[bot] in #5100
- build(deps): bump go.opentelemetry.io/otel/sdk from 1.37.0 to 1.40.0 by @dependabot[bot] in #5036
- [ci] Disable monitoring checks for grafana cloud migration by @maru-ava in #4298
- [ci] Migrate monitoring to grafana cloud by @maru-ava in #4299
- Update Firewood to v0.3.1 by @alarso16 in #5107
- Remove Diff Interface From State by @samliok in #5099
- refactor: introduce base trie by @RodrigoVillar in #5113
- use UTXOs() in state assertion in executor tests by @samliok in #5132
- INFRA-6664: Update fuji boostrappers.json list with new IPs after migration to sa-east-1 from me-south-1 by @stylianosrigas in #5125
- Update canoto to v0.18.0 by @StephenButtolph in #5137
- chore: release v1.14.2 by @JonathanOppenheimer in #5135
New Contributors
- @dmkulazhenko made their first contribution in #4657
- @PlatCore made their first contribution in #4836
- @demosdemon made their first contribution in #5072
- @stylianosrigas made their first contribution in #5125
Full Changelog: v1.14.1...v1.14.2