ava-labs/avalanchego - Helicon: Continuous Execution & Auto-Renewed Staking (v1.15.0) New

Published: Sep 8, 2026
MAINNET Deadline: Sep 22, 2026

Release Notes

This release schedules the activation of the Helicon network upgrade at 11 AM ET (3 PM UTC) on Tuesday, September 22nd, 2026 on Mainnet.

**All Mainnet nodes must upgrade before 11 AM ET, September 22nd 2026.**

This release updates the plugin version to `46`. All plugins must update to remain compatible.

## Features

Helicon activates the following Avalanche Community Proposals (ACPs):

- [ACP-194](https://github.com/avalanche-foundation/ACPs/blob/main/ACPs/194-continuous-execution/README.md) C-Chain Async Execution
- [ACP-236](https://github.com/avalanche-foundation/ACPs/blob/main/ACPs/236-auto-renewed-staking/README.md) Auto-Renewed Staking
- [ACP-267](https://github.com/avalanche-foundation/ACPs/blob/main/ACPs/267-uptime-requirement-increase/README.md) Validator Uptime Requirements Increase
- [ACP-273](https://github.com/avalanche-foundation/ACPs/blob/main/ACPs/273-reduce-minimum-staking-duration/README.md) Reduce Minimum Validator Staking Duration
- [ACP-283](https://github.com/avalanche-foundation/ACPs/blob/main/ACPs/283-dynamic-minimum-gas-price/README.md) Dynamic Minimum C-Chain Gas Price
- [ACP-285](https://github.com/avalanche-foundation/ACPs/blob/main/ACPs/285-reduce-minimum-consumption-rate/README.md) Reduce Minimum Consumption Rate

Other features:

- Subnet-EVM can set the initial ACP-226 minimum block delay at genesis via `InitialMinDelayMS` in the chain config.

## C-Chain State Sync

C-Chain state sync is not supported immediately around the Helicon activation. A node that is state syncing when Helicon activates may stall.

After Helicon activates, state sync has the following limitations:

- Restarting a node mid-state sync will restart the sync from the beginning.
- Disabling state sync after partially state syncing may result in an unrecoverable `FATAL` error.
- If `state-scheme` is `firewood`, the node cannot state sync. A new Firewood node on Mainnet or Fuji MUST set `state-sync-enabled` to `false` or will shut down with a `FATAL` error.
- On custom networks, a new node starts on the pre-Helicon Coreth VM and bootstraps by executing all blocks.

If encountering one of these `FATAL` errors, the only way to recover is by deleting the database and restarting.

## APIs

### C-Chain RPCs

- Named blocks under SAE:
  - `pending` is the last executed block by default. With `api-resolve-pending-to-last-executed` set to `false`, `pending` is the last accepted block.
  - `latest` is the last executed block.
  - `safe` and `finalized` are both the last settled block.
- The `avax.getAtomicTxStatus` RPC is deprecated. Use `avax.getAtomicTx`.
- The `admin`, `warp`, and `personal` API namespaces are removed.
- The `eth_accounts`, `eth_coinbase`, and `eth_etherbase` RPCs are removed.
- The following `debug` RPCs are removed:
  - `debug_dumpBlock`
  - `debug_preimage`
  - `debug_getBadBlocks`
  - `debug_accountRange`
  - `debug_storageRangeAt`
  - `debug_getModifiedAccountsByNumber`
  - `debug_getModifiedAccountsByHash`
  - `debug_getAccessibleState`

  If you rely on any of these `debug` RPCs, open an issue describing your use case.

### Metrics

- Histogram `avalanche_snowman_consensus_latencies` has 8 buckets instead of 4, each a second wide.
- Added `avalanche_evm_transition_sae_last_executed_height` and `avalanche_evm_transition_sae_last_settled_height` gauges, exposing SAE execution and settlement heights.
- Added SAE execution-pressure metrics:
  - `avalanche_evm_transition_sae_execution_queue_duration_seconds` (histogram): time from a block's acceptance into the execution queue until its execution completes.
  - `avalanche_evm_transition_sae_execute_block_duration_seconds` (histogram): wall time to execute a single block, including the state commit and post-execution work.
  - `avalanche_evm_transition_sae_execution_queue_blocks` (gauge): number of accepted blocks that have not yet completed execution.
  - `avalanche_evm_transition_sae_execution_queue_gas_limit` (gauge): worst-case gas of accepted blocks that have not yet completed execution. Worst-case gas is the sum of transaction gas limits and end-of-block operation gas.
  - `avalanche_evm_transition_sae_executed_gas_charged_total` (counter): cumulative gas charged by executed blocks. Charged gas is the sum of transaction gas used and end-of-block operation gas.
  - `avalanche_evm_transition_sae_executed_gas_limit_total` (counter): cumulative worst-case gas of executed blocks.
- Added `avalanche_evm_transition_sae_in_memory_blocks` (gauge): number of SAE blocks still live in memory (created but not yet garbage collected).
- Added `avalanche_evm_transition_sae_accepted_gas_limit_total` (counter): cumulative worst-case gas of blocks accepted into the execution queue; the acceptance-side counterpart of `executed_gas_limit_total`.
- Added SAE gas-time and pricing metrics:
  - `avalanche_evm_transition_sae_last_executed_gas_time_seconds` (gauge): gas time reached by the latest executed block, as a Unix timestamp.
  - `avalanche_evm_transition_sae_gas_time_wall_time_gap_seconds` (gauge): gas time minus wall time when the latest block finished executing. A negative value means gas time lags wall time.
  - `avalanche_evm_transition_sae_worst_case_base_fee` (gauge): worst-case base fee admitted by consensus for the latest executed block.
  - `avalanche_evm_transition_sae_executed_base_fee` (gauge): base fee realized by execution of the latest executed block.
  - `avalanche_evm_transition_sae_worst_case_gas_excess` (gauge): worst-case gas excess simulated for the latest executed block.
  - `avalanche_evm_transition_sae_executed_gas_excess` (gauge): gas excess realized by execution of the latest executed block.
  - `avalanche_evm_transition_sae_gas_target` (gauge): ACP-176 gas target in force as of the latest executed block.
- Added `avalanche_evm_transition_cchain_min_block_delay_seconds` (gauge): ACP-226 minimum block delay currently in force, taken from the most recently executed block.
- Renamed Coreth and Subnet-EVM state-sync p2p metrics:
  - `avalanche_{vmName}_eth_net_tracked_peers` -> `avalanche_{vmName}_sdk_sync_peer_tracker_num_tracked_peers`
  - `avalanche_{vmName}_eth_net_responsive_peers` -> `avalanche_{vmName}_sdk_sync_peer_tracker_num_responsive_peers`
  - `avalanche_{vmName}_eth_net_average_bandwidth` -> `avalanche_{vmName}_sdk_sync_peer_tracker_average_bandwidth`
- Added Firewood state-sync proof metrics. All carry the label `proof_type="range|change"`. The duration histograms also carry the label `result="success|failure"`.
  - Server-side histograms: `avalanche_{vmName}_sync_server_sync_proof_generation_seconds`, `avalanche_{vmName}_sync_server_sync_generated_proof_size_bytes`, and `avalanche_{vmName}_sync_server_sync_proof_shrink_new_key_limit`
  - Client-side histograms: `avalanche_{vmName}_sync_firewood_sync_proof_verification_seconds`, `avalanche_{vmName}_sync_firewood_sync_proof_commit_seconds`, and `avalanche_{vmName}_sync_firewood_sync_received_proof_size_bytes`
  - Client-side gauge: `avalanche_{vmName}_sync_firewood_sync_request_key_limit`

NOTE: `{vmName}` is `evm` for Coreth and `subnetevm` for Subnet-EVM. The `sae` and `cchain` metrics exist only on the C-Chain.

## Configs

### New

- `helicon-min-stake-duration` (only on local/custom networks)
- `min-price-target` for C-Chain
- `apis` for C-Chain. Lists the JSON-RPC APIs that the node serves. See the [C-Chain config reference](https://github.com/ava-labs/avalanchego/blob/v1.15.0/vms/saevm/cchain/config.md#available-apis) for the names and defaults.
- `api-resolve-pending-to-last-executed` for C-Chain. Defaults to `true`, which resolves `pending` to the last executed block. Set it to `false` to resolve `pending` to the last accepted block.

### Changed

- `state-sync-ids` in Coreth and Subnet-EVM configs is now a JSON array of node IDs (`["NodeID-..."]`) instead of a comma-separated string.
- `api-max-duration` for C-Chain accepts only a duration string (for example `"30s"`) after Helicon. The node rejects a number. `0` means no limit.
- `state-sync-enabled` for C-Chain defaults to `true` after Helicon.
- `commit-interval` for C-Chain must be `4096` on Mainnet and Fuji after Helicon.

### Deprecated in C-Chain

- `eth-apis` is deprecated. The node maps it onto `apis` and logs a warning. If the config also sets `apis`, the node ignores `eth-apis`. Names whose methods no longer exist, such as `admin` and `debug`, log a warning. Any other unknown name is a fatal error. The next release will remove `eth-apis`.

### Removed from C-Chain

After Helicon activates, the C-Chain ignores the following options. The node logs a warning for each unrecognized option and starts.

- `skip-upgrade-check`
- `admin-api-enabled`
- `admin-api-dir`
- `warp-api-enabled`
- `continuous-profiler-dir`
- `continuous-profiler-frequency`
- `continuous-profiler-max-files`
- `rpc-gas-cap` (fixed at 50,000,000)
- `rpc-tx-fee-cap` (fixed at 100 AVAX)
- `trie-dirty-cache`
- `trie-dirty-commit-target`
- `trie-prefetcher-parallelism`
- `preimages-enabled`
- `snapshot-wait`
- `snapshot-verification-enabled`
- `accepted-queue-limit`
- `populate-missing-tries-parallelism`
- `prune-warp-db-enabled`
- `historical-proof-query-window`
- `metrics-expensive-enabled`
- `price-options-slow-fee-percentage`
- `price-options-fast-fee-percentage`
- `price-options-max-tip`
- `tx-pool-price-limit`
- `tx-pool-price-bump`
- `tx-pool-lifetime`
- `ws-cpu-refill-rate`
- `ws-cpu-max-stored`
- `allow-unfinalized-queries`
- `allow-unprotected-tx-hashes`
- `keystore-directory`
- `keystore-external-signer`
- `keystore-insecure-unlock-allowed`
- `push-gossip-percent-stake`
- `push-gossip-num-validators`
- `push-gossip-num-peers`
- `push-regossip-num-validators`
- `push-regossip-num-peers`
- `push-gossip-frequency`
- `pull-gossip-frequency`
- `regossip-frequency`
- `log-level`
- `log-json-format`
- `offline-pruning-bloom-filter-size`
- `max-outbound-active-requests`
- `state-sync-skip-resume`
- `state-sync-server-trie-cache`
- `state-sync-commit-interval`
- `state-sync-min-blocks`
- `state-sync-request-size`
- `inspect-database`
- `accepted-cache-size`
- `state-history`
- `skip-tx-indexing`
- `http-body-limit`
- `batch-response-max-size`
- `offline-pruning-enabled`
- `offline-pruning-data-directory`
- `populate-missing-tries`
- `transaction-history`
- `tx-pool-account-queue`
- `tx-pool-global-queue`
- `api-max-blocks-per-request`

## Fixes

- Updated the minimum Go version from `1.25.8` to `1.25.10`.
- Fixed `callTracer` failing with `incorrect number of top-level calls` on transactions where a precompile makes an outbound call ([ava-labs/libevm#303](https://github.com/ava-labs/libevm/pull/303)).
- ProposerVM `ERROR` logs caused by the P-Chain database closing during shutdown are now `WARN`.
- Fixed Subnet-EVM nodes failing to restart after a state upgrade activates when the upgrade config contains `"storage": {}`, `"code": "0x"`, or `"balanceChange": "0"`.
- Removed the block acceptance time health check that `v1.14.2` added. The check could only recover after the node accepted new blocks. Some deployments send traffic only to healthy nodes, so a failed check could never recover.
- Fixed `SizedCache` undercounting size when overwriting a key, which let caches exceed their configured limits.

## What's Changed

- feat: add reconstructed types by @RodrigoVillar in https://github.com/ava-labs/avalanchego/pull/5114
- [nix] Allow task execution without `nix develop` by @maru-ava in https://github.com/ava-labs/avalanchego/pull/5119
- P-Chain height progress subscription for subnets by @yacovm in https://github.com/ava-labs/avalanchego/pull/5110
- Add Simplex Handler to Engine Interface by @samliok in https://github.com/ava-labs/avalanchego/pull/5059
- Add PathDB TrieWriter by @alarso16 in https://github.com/ava-labs/avalanchego/pull/5143
- Enable native histograms for testing by @Elvis339 in https://github.com/ava-labs/avalanchego/pull/5165
- chore(reexecution): add pathdb config by @RodrigoVillar in https://github.com/ava-labs/avalanchego/pull/5141
- Suppress false container exit failures from early SIGTERM in Antithesis by @DracoLi in https://github.com/ava-labs/avalanchego/pull/5096
- [ci] Update rpm builder script for podman compatibility by @maru-ava in https://github.com/ava-labs/avalanchego/pull/5168
- chore: skip flaky TestTransactionSkipIndexing by @RodrigoVillar in https://github.com/ava-labs/avalanchego/pull/5171
- [migrate-strevm][1] Add tooling enabling repo migration by @JonathanOppenheimer in https://github.com/ava-labs/avalanchego/pull/5147
- Remove Chain Mocks by @samliok in https://github.com/ava-labs/avalanchego/pull/5126
- refactor: use predefined hashdb test by @RodrigoVillar in https://github.com/ava-labs/avalanchego/pull/5164
- feat: enable deferred persistence for archival nodes by @RodrigoVillar in https://github.com/ava-labs/avalanchego/pull/5115
- Remove vms/Manager Mocks by @samliok in https://github.com/ava-labs/avalanchego/pull/5198
- build(deps): bump go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp from 1.22.0 to 1.43.0 by @dependabot[bot] in https://github.com/ava-labs/avalanchego/pull/5210
- Remove Router Mocks by @samliok in https://github.com/ava-labs/avalanchego/pull/5190
- Remove unexpected subnet-evm NewHTTPHandler implementation by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/5218
- Sync Newest Simplex Updates by @samliok in https://github.com/ava-labs/avalanchego/pull/5174
- remove timeout.Manager mocks by @samliok in https://github.com/ava-labs/avalanchego/pull/5192
- style: enforce `context-as-argument` ordering, remove `errorlint`, un-interface coreth client by @JonathanOppenheimer in https://github.com/ava-labs/avalanchego/pull/5224
- style: add yamllinter by @JonathanOppenheimer in https://github.com/ava-labs/avalanchego/pull/5219
- style: ban `require.Fail`/`require.FailNow`, demote `t.Fatal` to warning by @JonathanOppenheimer in https://github.com/ava-labs/avalanchego/pull/5225
- fix(sync): resolve shutdown deadlock in code queue during Firewood state sync by @powerslider in https://github.com/ava-labs/avalanchego/pull/5130
- [migrate-strevm][2] Add `vms/saevm` by @JonathanOppenheimer in https://github.com/ava-labs/avalanchego/pull/5148
- [migrate-strevm][3] rewrite strevm imports by @JonathanOppenheimer in https://github.com/ava-labs/avalanchego/pull/5149
- [migrate-strevm][4] Cleanup go mod configuation by @JonathanOppenheimer in https://github.com/ava-labs/avalanchego/pull/5150
- [migrate-strevm][5] bazelify strevm repository by @JonathanOppenheimer in https://github.com/ava-labs/avalanchego/pull/5151
- [migrate-strevm][6] migrate CI by @JonathanOppenheimer in https://github.com/ava-labs/avalanchego/pull/5153
- [migrate-strevm][7] lint by @JonathanOppenheimer in https://github.com/ava-labs/avalanchego/pull/5155
- [migrate-strevm][8] mark `TestAcceptBlock` as flaky and skip in `go test`  by @JonathanOppenheimer in https://github.com/ava-labs/avalanchego/pull/5207
- Allow arbitrary firewood commit interval by @RodrigoVillar in https://github.com/ava-labs/avalanchego/pull/5234
- test: enable fuzz testing for graft directories by @JonathanOppenheimer in https://github.com/ava-labs/avalanchego/pull/5281
- Remove **/testdata from .gitignore by @ceyonur in https://github.com/ava-labs/avalanchego/pull/5285
- test(sae): Ignore filters subscription from goleak by @alarso16 in https://github.com/ava-labs/avalanchego/pull/5286
- Cleanup getHeaderExtra in hooktest.Stub by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/5295
- Remove qemu mirror from CI by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/5294
- refactor(gastime): Remove hooks imports by @alarso16 in https://github.com/ava-labs/avalanchego/pull/5288
- Add Claude code review workflow for PRs by @DracoLi in https://github.com/ava-labs/avalanchego/pull/5104
- bazel: enforce graft visibility with gazelle defaults by @ARR4N in https://github.com/ava-labs/avalanchego/pull/5304
- test(sae): Address legacypool race by @alarso16 in https://github.com/ava-labs/avalanchego/pull/5292
- fix: Commit on reprocess for archival by @alarso16 in https://github.com/ava-labs/avalanchego/pull/5301
- test(firewood): Fix fuzz test by @alarso16 in https://github.com/ava-labs/avalanchego/pull/5320
- test(saevm): Another goleak ignore by @alarso16 in https://github.com/ava-labs/avalanchego/pull/5324
- build(deps): bump github.com/moby/spdystream from 0.2.0 to 0.5.1 by @dependabot[bot] in https://github.com/ava-labs/avalanchego/pull/5296
- build(sae): add `testonly` attributes by @ARR4N in https://github.com/ava-labs/avalanchego/pull/5305
- test: remove deprecated import violations test by @JonathanOppenheimer in https://github.com/ava-labs/avalanchego/pull/5313
- Add logging to merklesync by @alarso16 in https://github.com/ava-labs/avalanchego/pull/4948
- sae: Add C-chain custom tx serialization by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/5307
- chore: bump Firewood to v0.4.0 by @RodrigoVillar in https://github.com/ava-labs/avalanchego/pull/5327
- sae: Smarter tx fuzzing by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/5328
- test: support `debug_getRaw*` RPCs by @JonathanOppenheimer in https://github.com/ava-labs/avalanchego/pull/5284
- fix: skip atomic UTXO verification during archival reexecution by @RodrigoVillar in https://github.com/ava-labs/avalanchego/pull/5318
- Init Simplex Blacklist In Genesis Block by @samliok in https://github.com/ava-labs/avalanchego/pull/5317
- sae: Implement custom tx `AsOp` by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/5308
- Cache BLS operations in Simplex fuzz tests by @yacovm in https://github.com/ava-labs/avalanchego/pull/5321
- sae: Implement AtomicRequests on custom txs by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/5325
- sae: Implement `Tx.TransferNonAVAX` by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/5329
- sae: Implement SanityCheck on custom txs by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/5337
- refactor(firewood): Use libevm registration for state.Database creation by @alarso16 in https://github.com/ava-labs/avalanchego/pull/5314
- [bazel] Run all jobs on linux and darwin by @maru-ava in https://github.com/ava-labs/avalanchego/pull/5122
- [ci] Simplify required job maintenance with workflow-level aggregators by @maru-ava in https://github.com/ava-labs/avalanchego/pull/5344
- ci: shard nightly fuzz workflow by package by @JonathanOppenheimer in https://github.com/ava-labs/avalanchego/pull/5319
- perf: only hash once per query requiring reexecution by @RodrigoVillar in https://github.com/ava-labs/avalanchego/pull/5332
- [ci] Switch from custom to default arm64 runners by @maru-ava in https://github.com/ava-labs/avalanchego/pull/5343
- [ci]: Upgrade all workflows to use NodeJS 24 by @maru-ava in https://github.com/ava-labs/avalanchego/pull/5348
- ci: remove redundant MerkleDB fuzz workflow by @JonathanOppenheimer in https://github.com/ava-labs/avalanchego/pull/5349
- [ci] Use versioned GitHub Actions runners instead of `-latest` by @maru-ava in https://github.com/ava-labs/avalanchego/pull/5347
- Add ACP-224 Fee Manager Precompile by @JonathanOppenheimer in https://github.com/ava-labs/avalanchego/pull/4872
- Set VM Preference on Verify in Simplex by @samliok in https://github.com/ava-labs/avalanchego/pull/5335
- feat: add pathdb 33-33.5m scheduled benchmark by @RodrigoVillar in https://github.com/ava-labs/avalanchego/pull/5339
- sae: Move all testing to _test package by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/5355
- [ci] Extend start-kind-cluster timeout and improve failure legibility by @maru-ava in https://github.com/ava-labs/avalanchego/pull/5350
- sae: Implement Tx.VerifyCredentials by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/5338
- ci: pass GITHUB_TOKEN to claude-code-action by @JuanLeon2 in https://github.com/ava-labs/avalanchego/pull/5358
- Update to Go v1.25.10 by @alarso16 in https://github.com/ava-labs/avalanchego/pull/5361
- chore: share `releases.md` ownership by @JonathanOppenheimer in https://github.com/ava-labs/avalanchego/pull/5363
- Downgrade proposervm ErrClosed log to Warn during shutdown by @DracoLi in https://github.com/ava-labs/avalanchego/pull/5098
- Remove some unnecessary interfaces in `peer` by @alarso16 in https://github.com/ava-labs/avalanchego/pull/5345
- sae: Implement txpool by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/5357
- sae: Prevent logging after Txpool.Close by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/5366
- Widen measurement of latencies for consensus accept latency by @yacovm in https://github.com/ava-labs/avalanchego/pull/5367
- refactor(graft/network): use p2p.PeerTracker instead of duplicate by @powerslider in https://github.com/ava-labs/avalanchego/pull/5341
- Use `lock.Cond` for context-aware waiting by @alarso16 in https://github.com/ava-labs/avalanchego/pull/5346
- sae: Add Cross-Chain State by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/5370
- Add coverage for `CurrentStakers` interface by @joshua-kim in https://github.com/ava-labs/avalanchego/pull/5040
- chore: fix the inconsistent function name in the comment by @sunnyraindy in https://github.com/ava-labs/avalanchego/pull/4484
- test: skip flaky TestSubscriptions by @JonathanOppenheimer in https://github.com/ava-labs/avalanchego/pull/5389
- chore: bump Firewood to v0.5.0 by @RodrigoVillar in https://github.com/ava-labs/avalanchego/pull/5393
- docs: update new echo/dispatch rollout procedure by @JonathanOppenheimer in https://github.com/ava-labs/avalanchego/pull/5395
- Allow disabling handler gossip ticker via gossipFrequency=0 by @samliok in https://github.com/ava-labs/avalanchego/pull/5365
- Implement Warp intrinsic gas via libevm hooks by @ceyonur in https://github.com/ava-labs/avalanchego/pull/5287
- Fix bootstrapping bug when promoting pending delegators by @joshua-kim in https://github.com/ava-labs/avalanchego/pull/5392
- [ci] Ensure useful output when a required job fails by @maru-ava in https://github.com/ava-labs/avalanchego/pull/5396
- [bazel] Keep module lock in sync with metadata by @maru-ava in https://github.com/ava-labs/avalanchego/pull/5388
- [bazel] Check for duplicate go_library defs in BUILD.bazel files by @maru-ava in https://github.com/ava-labs/avalanchego/pull/5409
- fix(evmstate): clear firewood state on error by @alarso16 in https://github.com/ava-labs/avalanchego/pull/5127
- Combine `merkle/sync` p2p handlers by @alarso16 in https://github.com/ava-labs/avalanchego/pull/5368
- fix(sae): Can't parse invalid block body by @alarso16 in https://github.com/ava-labs/avalanchego/pull/5382
- test: stop fuzzing merkledb by @JonathanOppenheimer in https://github.com/ava-labs/avalanchego/pull/5414
- [docs] Add rpm packaging docs by @maru-ava in https://github.com/ava-labs/avalanchego/pull/5374
- chore: log if the Firewood database is empty by @RodrigoVillar in https://github.com/ava-labs/avalanchego/pull/5418
- [ci] Refactor RPM nfpm configs for reuse by @PlatCore in https://github.com/ava-labs/avalanchego/pull/5179
- test(sae): Race in block source test by @alarso16 in https://github.com/ava-labs/avalanchego/pull/5421
- feat: add gastime to header by @alarso16 in https://github.com/ava-labs/avalanchego/pull/5312
- refactor: move test logger by @alarso16 in https://github.com/ava-labs/avalanchego/pull/5434
- Support setting staking info in the same diff a validator is added by @joshua-kim in https://github.com/ava-labs/avalanchego/pull/5095
- ACP-236 (1): Add validator metadata fields with codec v2 and Staker separation by @joshua-kim in https://github.com/ava-labs/avalanchego/pull/5381
- sae: Implement minimal C-Chain VM by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/5386
- refactor: utilize table tests for Firewood archival queries by @RodrigoVillar in https://github.com/ava-labs/avalanchego/pull/5425
- ACP-236 (2): Add transaction types, visitor stubs, and codec registration by @rrazvan1 in https://github.com/ava-labs/avalanchego/pull/5201
- feat: support CopyTrie() for reconstructed tries by @RodrigoVillar in https://github.com/ava-labs/avalanchego/pull/5440
- [bazel] Avoid installing nix for check-metadata and unit test jobs by @maru-ava in https://github.com/ava-labs/avalanchego/pull/5484
- sae: Introduce cross-chain tx gossip by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/5408
- ACP-236 (3): Add wallet support for auto-renewed validator transactions by @rrazvan1 in https://github.com/ava-labs/avalanchego/pull/5202
- feat: add SAE last executed and last settled height metrics by @JonathanOppenheimer in https://github.com/ava-labs/avalanchego/pull/5362
- fix: commit atomic trie on shutdown by @JonathanOppenheimer in https://github.com/ava-labs/avalanchego/pull/5445
- Revert state.Database registration by @alarso16 in https://github.com/ava-labs/avalanchego/pull/5431
- feat(saevm): consolidate ACP fee and delay math into `dynamic` package by @powerslider in https://github.com/ava-labs/avalanchego/pull/5481
- chore: bump Firewood to v0.6.0 by @RodrigoVillar in https://github.com/ava-labs/avalanchego/pull/5501
- refactor(gastime): Accept baseFee in `New()` by @alarso16 in https://github.com/ava-labs/avalanchego/pull/5485
- fix(vms/saevm/cchain): Verify SAE block ext data hashes by @rahulmutt-ava in https://github.com/ava-labs/avalanchego/pull/5447
- feat(sae): enforce ACP-194 minimum gas consumption floor by @powerslider in https://github.com/ava-labs/avalanchego/pull/5424
- feat: add SAE execution pressure metrics by @JonathanOppenheimer in https://github.com/ava-labs/avalanchego/pull/5500
- Clarify Claude PR review prompt and fix head checkout by @DracoLi in https://github.com/ava-labs/avalanchego/pull/5364
- ACP-236 (4): Add standard execution and state persistence for auto-renewed validators by @rrazvan1 in https://github.com/ava-labs/avalanchego/pull/5203
- feat(saevm): add accepted worst-case gas throughput metric by @JonathanOppenheimer in https://github.com/ava-labs/avalanchego/pull/5534
- feat(sae): add in_memory_blocks gauge by @JonathanOppenheimer in https://github.com/ava-labs/avalanchego/pull/5535
- feat(saevm): Implement Warp package by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/5523
- fix(saevm): reject C-Chain blocks with a non-zero version by @JonathanOppenheimer in https://github.com/ava-labs/avalanchego/pull/5543
- Create wrapper for syncable VM by @alarso16 in https://github.com/ava-labs/avalanchego/pull/5480
- [nix] Upgrade to 26.05 by @maru-ava in https://github.com/ava-labs/avalanchego/pull/5551
- fix(saevm): GetBlock drops unexpected error by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/5547
- feat(saevm): Coreth compatible genesis by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/5536
- test: expand stateful tests to test all stateful RPCs by @JonathanOppenheimer in https://github.com/ava-labs/avalanchego/pull/5283
- feat(cchain): preserve millisecond block timestamps by @rahulmutt-ava in https://github.com/ava-labs/avalanchego/pull/5524
- fix(saevm): Remove flaky bloom inclusion check by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/5562
- fix(sync/code): clean up to-fetch markers regardless of inFlight state by @powerslider in https://github.com/ava-labs/avalanchego/pull/5356
- Implement the deprecated getAtomicTxStatus method by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/5564
- feat(saevm): Support parsing pre-AP1 blocks. by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/5565
- feat(saevm): Remove API ordering assumptions from e2e tests by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/5566
- Make lint-all safe to execute by @maru-ava in https://github.com/ava-labs/avalanchego/pull/5552
- feat(graft/coreth): add ACP-283 `MinPriceExponent` header field by @powerslider in https://github.com/ava-labs/avalanchego/pull/5437
- feat(saevm): Update libevm to support libevm APIs by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/5572
- feat(cchain): encode and decode the settled block marker by @rahulmutt-ava in https://github.com/ava-labs/avalanchego/pull/5573
- Clarify accepted_blocks_slot metric by @yacovm in https://github.com/ava-labs/avalanchego/pull/5579
- feat(saevm): Integrate Warp by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/5514
- feat(vms/saevm/cchain): wire `MinPriceExponent` into the SAE block lifecycle by @powerslider in https://github.com/ava-labs/avalanchego/pull/5441
- refactor(eth): remove in-memory HashDB from reexecution by @RodrigoVillar in https://github.com/ava-labs/avalanchego/pull/5487
- feat(vms/saevm/cchain): parse and wire minimal operator config by @JonathanOppenheimer in https://github.com/ava-labs/avalanchego/pull/5574
- [docs] Add repository documentation guidelines by @maru-ava in https://github.com/ava-labs/avalanchego/pull/5373
- feat(saevm): Disallow empty blocks by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/5597
- feat(vms/saevm/cchain): implement the ACP-176 dynamic gas target by @JonathanOppenheimer in https://github.com/ava-labs/avalanchego/pull/5587
- [ci] Cache nix flake to minimize infra flakes by @maru-ava in https://github.com/ava-labs/avalanchego/pull/5588
- feat: populate SAE genesis header fields in coreth and SAE C-chain genesis by @JonathanOppenheimer in https://github.com/ava-labs/avalanchego/pull/5589
- Cap coreth unit tests to Granite by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/5602
- Move ExtDataGasUsed from syntactic to semantic verification by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/5603
- Add SAE factory with state-sync stubs by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/5604
- fix(ci): checkout before local install-nix in firewood-chaos-test by @RodrigoVillar in https://github.com/ava-labs/avalanchego/pull/5606
- [docs] Add an index to docs/documentation-guidelines.md by @maru-ava in https://github.com/ava-labs/avalanchego/pull/5600
- Add e2e test with scheduled upgrade by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/5605
- [bazel] Cache external dependencies to minimize infra flakes by @maru-ava in https://github.com/ava-labs/avalanchego/pull/5525
- Add C-Chain EVM workload to Antithesis tests by @DracoLi in https://github.com/ava-labs/avalanchego/pull/5228
- chore: bump firewood-go-ethhash/ffi to v0.7.0 by @RodrigoVillar in https://github.com/ava-labs/avalanchego/pull/5609
- feat(x/blockdb): prevent multi-process access via file locks by @DracoLi in https://github.com/ava-labs/avalanchego/pull/5420
- ACP-236 (5): Add proposal execution for auto-renewed validators by @rrazvan1 in https://github.com/ava-labs/avalanchego/pull/5204
- Remove `MarkSynchronous` by @alarso16 in https://github.com/ava-labs/avalanchego/pull/5555
- feat(vms/saevm/cchain): wire allow-unprotected-txs config by @JonathanOppenheimer in https://github.com/ava-labs/avalanchego/pull/5596
- feat(saevm): wire batch-request-limit C-Chain config by @JonathanOppenheimer in https://github.com/ava-labs/avalanchego/pull/5607
- Add RewardAutoRenewedValidatorTx issuing in block builder by @rrazvan1 in https://github.com/ava-labs/avalanchego/pull/5206
- feat: Updating defaultMinStakingDuration to 48h post HeliconRelease ONLY by @SavalaBee in https://github.com/ava-labs/avalanchego/pull/5299
- Remove last synchronous from `NewVM` by @alarso16 in https://github.com/ava-labs/avalanchego/pull/5556
- feat(sae): Store last accepted hash by @alarso16 in https://github.com/ava-labs/avalanchego/pull/5544
- chore(deps): bump golang.org/x/net from 0.52.0 to 0.55.0 by @dependabot[bot] in https://github.com/ava-labs/avalanchego/pull/5628
- chore(deps): bump golang.org/x/crypto from 0.51.0 to 0.52.0 in /graft/subnet-evm by @dependabot[bot] in https://github.com/ava-labs/avalanchego/pull/5633
- sae: Add README.md to describe C-Chain wrapper design by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/5342
- feat(subnet-evm): allow genesis to seed ACP-226 minimum block delay by @containerman17 in https://github.com/ava-labs/avalanchego/pull/5593
- Remove unused variable NetworkHRPToNetworkID by @yacovm in https://github.com/ava-labs/avalanchego/pull/5621
- feat(sae): Implement TransitionVM by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/5563
- Increase P-chain uptime requirement to 90% (ACP-267) by @DracoLi in https://github.com/ava-labs/avalanchego/pull/5531
- ACP-236: Adding E2E tests by @rrazvan1 in https://github.com/ava-labs/avalanchego/pull/5106
- [ci] Extract S3 upload into reusable workflow + publish RPMs to S3 by @PlatCore in https://github.com/ava-labs/avalanchego/pull/5412
- [ci] Add GPG-signed DEB packages by @PlatCore in https://github.com/ava-labs/avalanchego/pull/5180
- Schedule Helicon in the antithesis tests by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/5649
- Increase SAE execution log level by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/5653
- feat(firewood): Implementation for SAE by @alarso16 in https://github.com/ava-labs/avalanchego/pull/5433
- feat(cchain): support EIP-4788 parent beacon block root by @JonathanOppenheimer in https://github.com/ava-labs/avalanchego/pull/5586
- feat(cchain): enforce ACP-226 min block delay by @rahulmutt-ava in https://github.com/ava-labs/avalanchego/pull/5631
- feat(saevm): burn base fee to blackhole after each transaction by @JonathanOppenheimer in https://github.com/ava-labs/avalanchego/pull/5619
- Reduce min consumption rate (ACP-285) by @DracoLi in https://github.com/ava-labs/avalanchego/pull/5527
- feat(saedb): Improve Config by @alarso16 in https://github.com/ava-labs/avalanchego/pull/5479
- Remove unnecessary header copies by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/5660
- Remove ACP-176 state space from header.Extra in Helicon by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/5659
- fix(cchain): throttle WaitForEvent to avoid PendingTxs busy loop by @JonathanOppenheimer in https://github.com/ava-labs/avalanchego/pull/5650
- perf(saedb): check cache size HashDB by @alarso16 in https://github.com/ava-labs/avalanchego/pull/5495
- feat(saevm): add SAE gas-time and pricing state metrics by @JonathanOppenheimer in https://github.com/ava-labs/avalanchego/pull/5634
- Add min delay metrics by @rahulmutt-ava in https://github.com/ava-labs/avalanchego/pull/5635
- fix(saevm/cchain): activate warp precompile at Durango by @JonathanOppenheimer in https://github.com/ava-labs/avalanchego/pull/5668
- chore: change finalize comment in saeexec by @JonathanOppenheimer in https://github.com/ava-labs/avalanchego/pull/5674
- feat(sae): Add allow-missing-tries by @JonathanOppenheimer in https://github.com/ava-labs/avalanchego/pull/5640
- feat(sae): Add Firewood to VM by @alarso16 in https://github.com/ava-labs/avalanchego/pull/5655
- test(saevm/sae): expect debug_trace- to honor JS tracer configs by @JonathanOppenheimer in https://github.com/ava-labs/avalanchego/pull/5669
- Remove stale TODO around atomic state by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/5677
- Update `--helicon-min-stake-duration` by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/5678
- Silence noisy SAE log by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/5679
- fix(tags-push): Only push tags one-at-a-time by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/5684
- fix(sae): Prevent statedb concurrent access in Txpool by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/5688
- refactor(hook): Move blackhole op to libevm by @alarso16 in https://github.com/ava-labs/avalanchego/pull/5682
- fix(sae): Executor deadlock with duplicate verifications by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/5690
- test(cchain): Unblock WaitForEvent on slow tests by @alarso16 in https://github.com/ava-labs/avalanchego/pull/5724
- test(saevm): warptest options, saetest proof verifier, typed RPC test args by @JonathanOppenheimer in https://github.com/ava-labs/avalanchego/pull/5720
- refactor(sae): Separate network by @alarso16 in https://github.com/ava-labs/avalanchego/pull/5616
- feat(saevm): bound block size to the P2P message size limit by @JonathanOppenheimer in https://github.com/ava-labs/avalanchego/pull/5570
- feat(saevm): set a minimum atomic tx gas based on serialized size by @JonathanOppenheimer in https://github.com/ava-labs/avalanchego/pull/5549
- feat: support debug_intermediateRoots for Firewood by @RodrigoVillar in https://github.com/ava-labs/avalanchego/pull/5442
- feat(vms/evm/sync): add protobuf wire types and a network client by @powerslider in https://github.com/ava-labs/avalanchego/pull/5352
- docs: fix run_task.sh script name in README by @Olexandr88 in https://github.com/ava-labs/avalanchego/pull/5087
- chore(deps): bump google.golang.org/grpc from 1.80.0 to 1.82.1 by @dependabot[bot] in https://github.com/ava-labs/avalanchego/pull/5740
- Log SAE configs during startup by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/5751
- test(sae): Simplify big recovery test by @alarso16 in https://github.com/ava-labs/avalanchego/pull/5735
- Refactor staker struct constructors by @rrazvan1 in https://github.com/ava-labs/avalanchego/pull/5675
- fix(network): apply ACP-267 uptime threshold by @DracoLi in https://github.com/ava-labs/avalanchego/pull/5734
- Randomize Helicon activation time during Antithesis runs by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/5730
- chore(sae): Improve observability around startup by @alarso16 in https://github.com/ava-labs/avalanchego/pull/5753
- fix(core): Potential crash loop at SAE upgrade by @alarso16 in https://github.com/ava-labs/avalanchego/pull/5755
- fix(bootstrapmonitor): resume tests across restarts when the build is unchanged by @JonathanOppenheimer in https://github.com/ava-labs/avalanchego/pull/5689
- fix(sae/rpc): restore evicted blocks for state, receipt, and tracing RPCs by @JonathanOppenheimer in https://github.com/ava-labs/avalanchego/pull/5721
- docs(skills): add shared jj and land-prs skills by @rkuris in https://github.com/ava-labs/avalanchego/pull/5419
- fix(bazel): pin macOS CC to the host clang and exclude .claude from Gazelle by @JonathanOppenheimer in https://github.com/ava-labs/avalanchego/pull/5759
- feat(sae/rpc): option to map requests for "pending" block to "latest" by @ARR4N in https://github.com/ava-labs/avalanchego/pull/5757
- [docs] Make task maintenance expectations explicit by @maru-ava in https://github.com/ava-labs/avalanchego/pull/5671
- build: bump libevm to `db6d70f2748e` by @ARR4N in https://github.com/ava-labs/avalanchego/pull/5767
- Fix SAE metrics by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/5760
- fix(sae/rpc): replay synchronous (pre-SAE) blocks with their executed base fee by @JonathanOppenheimer in https://github.com/ava-labs/avalanchego/pull/5622
- feat(statesync): Implement basic state summary by @alarso16 in https://github.com/ava-labs/avalanchego/pull/5578
- chore: delete .editorconfig by @JonathanOppenheimer in https://github.com/ava-labs/avalanchego/pull/5770
- feat(cchain/state): bonus blocks by @alarso16 in https://github.com/ava-labs/avalanchego/pull/5641
- feat(vms/evm/sync/handlers): add generic proto handler shell by @powerslider in https://github.com/ava-labs/avalanchego/pull/5400
- docs(subnet-evm): clarify validator uptime is relative to the callee node by @alejandro99so in https://github.com/ava-labs/avalanchego/pull/5777
- [agents] Add simplified-technical-english skill by @maru-ava in https://github.com/ava-labs/avalanchego/pull/5780
- [docs] Make CI maintenance expectations explicit by @maru-ava in https://github.com/ava-labs/avalanchego/pull/5672
- [ci] Ensure the use of a nix shell for jobs using install-nix by @maru-ava in https://github.com/ava-labs/avalanchego/pull/5676
- refactor(saevm): expose worst-case gas and base fee on the block by @JonathanOppenheimer in https://github.com/ava-labs/avalanchego/pull/5771
- fix(sae): Allow `BLOCKHASH` op code on recovery by @alarso16 in https://github.com/ava-

Links

Back to ava-labs/avalanchego releases