github.com/ava-labs/avalanchego@v1.11.11/RELEASES.md (about)

     1  # Release Notes
     2  
     3  ## [v1.11.11](https://github.com/ava-labs/avalanchego/releases/tag/v1.11.11)
     4  
     5  This version is backwards compatible to [v1.11.0](https://github.com/ava-labs/avalanchego/releases/tag/v1.11.0). It is optional, but encouraged.
     6  
     7  The plugin version is updated to `37` all plugins must update to be compatible.
     8  
     9  ### APIs
    10  
    11  - Updated JSON marshalling of the `Memo` field to follow best practices
    12  - Added `info.upgrades`
    13  - Added `platform.getFeeConfig`
    14  - Added `platform.getFeeState`
    15  - Deprecated subnet uptimes
    16    - `info.uptimes` with non-primary network subnetIDs is deprecated
    17    - `info.peers` `observedSubnetUptimes` is deprecated
    18    - `platform.getCurrentValidators` `uptime` and `connected` are deprecated for non-primary network subnetIDs.
    19    - `avalanche_network_node_subnet_uptime_weighted_average` metric is deprecated
    20    - `avalanche_network_node_subnet_uptime_rewarding_stake` metric is deprecated
    21  - Added `avalanche_network_tracked_peers` metric
    22  - Added `avalanche_network_tracked_subnets` metric
    23  - Removed `avalanche_network_tracked_ips` metric
    24  - Added disconnected validators to the health check result
    25  
    26  
    27  ### Configs
    28  
    29  - Added upgrade config
    30    - `--upgrade-file`
    31    - `--upgrade-file-content`
    32  - Added dynamic fees config
    33    - `--dynamic-fees-bandwidth-weight`
    34    - `--dynamic-fees-read-weight`
    35    - `--dynamic-fees-write-weight`
    36    - `--dynamic-fees-compute-weight`
    37    - `--dynamic-fees-max-gas-capacity`
    38    - `--dynamic-fees-max-gas-per-second`
    39    - `--dynamic-fees-target-gas-per-second`
    40    - `--dynamic-fees-min-gas-price`
    41    - `--dynamic-fees-excess-conversion-constant`
    42  
    43  ### Fixes
    44  
    45  - Fixed panic when tracing is enabled
    46  - Removed duplicate block signature verifications during bootstrapping
    47  - Fixed racy timer clearing in message throttling
    48  
    49  ### What's Changed
    50  
    51  - [ci] Remove defunct network outage sim workflow by @marun in https://github.com/ava-labs/avalanchego/pull/3234
    52  - chore: allow test-only imports in `*test` and `/tests/**` packages by @ARR4N in https://github.com/ava-labs/avalanchego/pull/3229
    53  - Add benchmarks for add and sub fee dimensions by @abi87 in https://github.com/ava-labs/avalanchego/pull/3222
    54  - Remove deadcode by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/3086
    55  - Parallelize BatchedParseBlock by @yacovm in https://github.com/ava-labs/avalanchego/pull/3227
    56  - [ci] Lint on non-test code importing packages from /tests by @marun in https://github.com/ava-labs/avalanchego/pull/3214
    57  - Merge unlocked stake outputs by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/3231
    58  - ACP 118 reference implementation by @cam-schultz in https://github.com/ava-labs/avalanchego/pull/3218
    59  - Storage OpenBSD/adJ by @vtamara in https://github.com/ava-labs/avalanchego/pull/2809
    60  - Remove unused error from fee calculator creation by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/3245
    61  - Rename Transitive snowman to Engine snowman by @yacovm in https://github.com/ava-labs/avalanchego/pull/3244
    62  - Simplify static fee calculations by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/3240
    63  - Remove targetBlockSize arg by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/3249
    64  - Add dynamic fees config by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/3250
    65  - Remove unused Samplers by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/3219
    66  - Inline `verifier` struct creation by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/3252
    67  - Add fee.State to P-chain state by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/3248
    68  - Fix comparison comment in snowflake algorithms by @yacovm in https://github.com/ava-labs/avalanchego/pull/3256
    69  - Add network upgrade config by @aaronbuchwald in https://github.com/ava-labs/avalanchego/pull/3207
    70  - [vms/platformvm] Add `VerifyWithContext` to `Block`s by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/3236
    71  - [ci] Switch to v2 of docker compose plugin by @marun in https://github.com/ava-labs/avalanchego/pull/3259
    72  - Minimize signature verification when bootstrapping by @yacovm in https://github.com/ava-labs/avalanchego/pull/3255
    73  - [vms/platformvm] Add tracking of a Subnet manager by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/3126
    74  - Remove trackedSubnet check for explicitly named peers in network.Send() by @iansuvak in https://github.com/ava-labs/avalanchego/pull/3258
    75  - refactor: introduce `*test` packages in lieu of `//go:build test` by @ARR4N in https://github.com/ava-labs/avalanchego/pull/3238
    76  - [e2e] Enhance post-test bootstrap checks by @marun in https://github.com/ava-labs/avalanchego/pull/3253
    77  - [e2e] Abstract usage of ginkgo with a new test context by @marun in https://github.com/ava-labs/avalanchego/pull/3254
    78  - Update code owners by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/3262
    79  - [antithesis] Refactor image build for reuse by other repos by @marun in https://github.com/ava-labs/avalanchego/pull/3198
    80  - Expose upgrade config in the info API by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/3266
    81  - [antithesis] Ensure references to pushed images are qualified by @marun in https://github.com/ava-labs/avalanchego/pull/3264
    82  - Fix spelling by @nnsW3 in https://github.com/ava-labs/avalanchego/pull/3267
    83  - refactor: rename `*test.Test*` identifiers by @ARR4N in https://github.com/ava-labs/avalanchego/pull/3260
    84  - Separate e2e tests by etna activation by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/3268
    85  - Implement P-chain ACP-103 complexity calculations by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/3209
    86  - Implement dynamic fee calculator by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/3211
    87  - [tmpnet] Add Network.GetNetworkID() to get ID of a running network by @marun in https://github.com/ava-labs/avalanchego/pull/3269
    88  - Disable `TransformSubnetTx` post-Etna by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/3152
    89  - [tmpnet] Fail node health check if node is not running by @marun in https://github.com/ava-labs/avalanchego/pull/3274
    90  - [tmpnet] Enable network restart to simplify iteration by @marun in https://github.com/ava-labs/avalanchego/pull/3272
    91  - Add StoppedTimer helper by @marun in https://github.com/ava-labs/avalanchego/pull/3280
    92  - Fix race in timer stoppage by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/3281
    93  - [tmpnet] Add check for vm binaries to network and node start by @marun in https://github.com/ava-labs/avalanchego/pull/3273
    94  - Refactor P-chain Builder by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/3282
    95  - chore: fix some comments by @drawdrop in https://github.com/ava-labs/avalanchego/pull/3289
    96  - Update write path of tmpnet subnet config by @aaronbuchwald in https://github.com/ava-labs/avalanchego/pull/3290
    97  - add network upgrades to chain ctx by @ceyonur in https://github.com/ava-labs/avalanchego/pull/3283
    98  - Implement dynamic fee builder by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/3232
    99  - bump coreth past upgrade schedule refactor by @darioush in https://github.com/ava-labs/avalanchego/pull/3278
   100  - Remove cross-chain requests by @darioush in https://github.com/ava-labs/avalanchego/pull/3277
   101  - wallet: obtain subnet owners by using P-Chain's getSubnet API call by @felipemadero in https://github.com/ava-labs/avalanchego/pull/3247
   102  - [antithesis] Add tmpnet support to workloads to simplify development by @marun in https://github.com/ava-labs/avalanchego/pull/3215
   103  - Refactor e2e tests for P-chain tests by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/3295
   104  - Fix e2e tests to support dynamic fees by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/3296
   105  - Improve error message of dynamic fee calculations by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/3297
   106  - Reduce dynamic fees variability to ease testing by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/3298
   107  - deprecate uptime apis by @ceyonur in https://github.com/ava-labs/avalanchego/pull/3226
   108  - [antithesis] Fix broken flag handling and improve image testing by @marun in https://github.com/ava-labs/avalanchego/pull/3299
   109  - Add P-chain fee APIs by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/3286
   110  - [tmpnet] Add support for checking rpcchainvm version compatibility by @marun in https://github.com/ava-labs/avalanchego/pull/3276
   111  - Rename gas price calculation function by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/3302
   112  - Remove duplicate fork definitions by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/3304
   113  - Restrict `Owner` usage after a Subnet manager is set by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/3147
   114  - SoV networking support by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2951
   115  - [antithesis] Enable custom plugin dir for subnet-evm by @marun in https://github.com/ava-labs/avalanchego/pull/3305
   116  - Refactor state tests to always use initialized state by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/3310
   117  - Remove mock for `Versions` interface by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/3312
   118  - Allow P-chain wallet to be used by the platformvm by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/3314
   119  - Remove crosschain leftovers by @ceyonur in https://github.com/ava-labs/avalanchego/pull/3309
   120  - Rename race condition image tags by @cam-schultz in https://github.com/ava-labs/avalanchego/pull/3311
   121  - Add .String() to Fork testing utility by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/3315
   122  - [antithesis] Update schedule to make room for subnet-evm by @marun in https://github.com/ava-labs/avalanchego/pull/3317
   123  - [tmpnet] Update monitoring urls from *-experimental to *-poc by @marun in https://github.com/ava-labs/avalanchego/pull/3306
   124  - Add statetest to replace common test state initialization by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/3319
   125  - Rename `components/fee` pkg to `components/gas` by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/3321
   126  - Remove mocks for `Staker` and `ScheduledStaker` by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/3322
   127  - Move most mocks to sub-dirs by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/3323
   128  - [e2e] Simplify pre-funded key usage by @marun in https://github.com/ava-labs/avalanchego/pull/3011
   129  - Move iterator implementations to `utils` pkg by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/3320
   130  - Remove duplicate genesis creations in P-chain unit tests by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/3318
   131  - Simplify P-Chain transaction creation in unit tests by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/3327
   132  - [tmpnet] Ensure nodes are stopped in the event of bootstrap failure by @marun in https://github.com/ava-labs/avalanchego/pull/3332
   133  - Add tx complexity helper by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/3334
   134  - Fixed segfault when --tracing-enabled is set by @blenessy in https://github.com/ava-labs/avalanchego/pull/3330
   135  - chore: remove deprecated `validatorstest.TestState` by @ARR4N in https://github.com/ava-labs/avalanchego/pull/3301
   136  - Enforce network config not including `PrimaryNetworkID` in `trackedSubnets` by @iansuvak in https://github.com/ava-labs/avalanchego/pull/3336
   137  - Use wallet in `platformvm/block` tests by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/3328
   138  - [ci] Stop using setup-go-v3 by @marun in https://github.com/ava-labs/avalanchego/pull/3339
   139  - Use wallet in `platformvm/txs` tests by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/3333
   140  - [ci] Configure buf-setup-action for check_generated_protobuf job with token by @marun in https://github.com/ava-labs/avalanchego/pull/3341
   141  - Add P-chain dynamic fees execution by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/3251
   142  - Include disconnected validators in health message by @ceyonur in https://github.com/ava-labs/avalanchego/pull/3344
   143  - Print type of message sent in the verbose log by @yacovm in https://github.com/ava-labs/avalanchego/pull/3348
   144  - Remove local chain config from e2e test by @ceyonur in https://github.com/ava-labs/avalanchego/pull/3293
   145  - Separate codec registries by upgrade by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/3353
   146  - Support unmarshalling of json byte slices by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/3354
   147  - Add explicit p-chain current validator check in AddValidator by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/3355
   148  
   149  ### New Contributors
   150  
   151  - @yacovm made their first contribution in https://github.com/ava-labs/avalanchego/pull/3227
   152  - @cam-schultz made their first contribution in https://github.com/ava-labs/avalanchego/pull/3218
   153  - @vtamara made their first contribution in https://github.com/ava-labs/avalanchego/pull/2809
   154  - @iansuvak made their first contribution in https://github.com/ava-labs/avalanchego/pull/3258
   155  - @nnsW3 made their first contribution in https://github.com/ava-labs/avalanchego/pull/3267
   156  - @drawdrop made their first contribution in https://github.com/ava-labs/avalanchego/pull/3289
   157  - @blenessy made their first contribution in https://github.com/ava-labs/avalanchego/pull/3330
   158  
   159  **Full Changelog**: https://github.com/ava-labs/avalanchego/compare/v1.11.10...v1.11.11
   160  
   161  ## [v1.11.10](https://github.com/ava-labs/avalanchego/releases/tag/v1.11.10)
   162  
   163  This version is backwards compatible to [v1.11.0](https://github.com/ava-labs/avalanchego/releases/tag/v1.11.0). It is optional, but encouraged.
   164  
   165  The plugin version is updated to `36` all plugins must update to be compatible.
   166  
   167  ### APIs
   168  
   169  - Renamed `avalanche_{vmName}_plugin_.*` metrics to `avalanche_{vmName}_.*`
   170  - Renamed `avalanche_{vmName}_rpcchainvm_.*` metrics to `avalanche_rpcchainvm_.*`
   171  
   172  ### Fixes
   173  
   174  - Updated local network validator start times
   175  - Fixed block building timer recalculation when anyone can propose
   176  
   177  ### What's Changed
   178  
   179  - Refactor rpcchainvm metrics registration by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/3170
   180  - Add example reward calculator usage by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/3171
   181  - Send AppErrors from p2p SDK by @joshua-kim in https://github.com/ava-labs/avalanchego/pull/2753
   182  - build(tests): require `//go:build test` tag if importing test packages outside of `_test.go` files by @ARR4N in https://github.com/ava-labs/avalanchego/pull/3173
   183  - Include VM path in plugin version error by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/3178
   184  - [ci] Simplify ci monitoring with custom actions by @marun in https://github.com/ava-labs/avalanchego/pull/3161
   185  - [vms/avm] Replace `strings.Replace` with `fmt.Sprintf` in tests by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/3177
   186  - Changes to support teleporter e2e tests by @feuGeneA in https://github.com/ava-labs/avalanchego/pull/3179
   187  - Reduce usage of `getBlock` in consensus by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/3151
   188  - [ci] Enable run-monitored-tmpnet-cmd reuse by other repos by @marun in https://github.com/ava-labs/avalanchego/pull/3186
   189  - Restructured fee calculator API by @abi87 in https://github.com/ava-labs/avalanchego/pull/3145
   190  - P-Chain: Block-level fee Calculator by @abi87 in https://github.com/ava-labs/avalanchego/pull/3032
   191  - [ci] Allow antithesis test setups to be triggered independently by @marun in https://github.com/ava-labs/avalanchego/pull/3183
   192  - [antithesis] Fix image version separator in triggering workflows by @marun in https://github.com/ava-labs/avalanchego/pull/3191
   193  - Remove `block.Status` by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/3158
   194  - [antithesis] Refactor compose config generation to simplify reuse by @marun in https://github.com/ava-labs/avalanchego/pull/3184
   195  - [antithesis] Add schedule for workflows by @marun in https://github.com/ava-labs/avalanchego/pull/3192
   196  - Update `golangci-lint` to `v1.59.1` by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/3195
   197  - [ci] Ensure monitoring action compatibility for other repos by @marun in https://github.com/ava-labs/avalanchego/pull/3193
   198  - chore: fix some comments for struct field by @linghuying in https://github.com/ava-labs/avalanchego/pull/3194
   199  - [antithesis] Configure workload history by @marun in https://github.com/ava-labs/avalanchego/pull/3196
   200  - [vms/proposervm] Set build block time correctly  when anyone can propose by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/3197
   201  - chore: fix comment by @polymaer in https://github.com/ava-labs/avalanchego/pull/3201
   202  - Make math.Add64 and math.Mul64 generic by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/3205
   203  - Implement ACP-103 fee package by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/3203
   204  - [antithesis] Fix job duration by @marun in https://github.com/ava-labs/avalanchego/pull/3206
   205  - [vms/platformvm] `RegisterDUnsignedTxsTypes` -> `RegisterDurangoUnsignedTxsTypes` by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/3212
   206  - chore: fix some comments by @yingshanghuangqiao in https://github.com/ava-labs/avalanchego/pull/3213
   207  - Fix typos by @omahs in https://github.com/ava-labs/avalanchego/pull/3208
   208  - Cleanup fee.staticCalculator by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/3210
   209  - typo by @meaghanfitzgerald in https://github.com/ava-labs/avalanchego/pull/3220
   210  - add getSubnet to p-chain api reference by @felipemadero in https://github.com/ava-labs/avalanchego/pull/3204
   211  - [ci] Update fuzz workflows to target master branch by @marun in https://github.com/ava-labs/avalanchego/pull/3221
   212  - Cleanup wallet tests by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/3230
   213  - Update local validator start time by @ceyonur in https://github.com/ava-labs/avalanchego/pull/3224
   214  
   215  ### New Contributors
   216  
   217  - @feuGeneA made their first contribution in https://github.com/ava-labs/avalanchego/pull/3179
   218  - @linghuying made their first contribution in https://github.com/ava-labs/avalanchego/pull/3194
   219  - @polymaer made their first contribution in https://github.com/ava-labs/avalanchego/pull/3201
   220  - @yingshanghuangqiao made their first contribution in https://github.com/ava-labs/avalanchego/pull/3213
   221  - @omahs made their first contribution in https://github.com/ava-labs/avalanchego/pull/3208
   222  
   223  **Full Changelog**: https://github.com/ava-labs/avalanchego/compare/v1.11.9...v1.11.10
   224  
   225  ## [v1.11.9](https://github.com/ava-labs/avalanchego/releases/tag/v1.11.9)
   226  
   227  This version is backwards compatible to [v1.11.0](https://github.com/ava-labs/avalanchego/releases/tag/v1.11.0). It is optional, but encouraged.
   228  
   229  The plugin version is unchanged at `35` and is compatible with versions `v1.11.3-v1.11.8`.
   230  
   231  ### APIs
   232  
   233  - Updated health metrics to use labels rather than namespaces
   234  - Added consensus poll termination metrics
   235  
   236  ### Configs
   237  
   238  - Added `--version-json` flag to output version information in json format
   239  
   240  ### Fixes
   241  
   242  - Fixed incorrect WARN log that could previously be emitted during start on nodes with slower disks
   243  - Fixed incorrect ERROR log that could previously be emitted if a peer tracking a subnet connects during shutdown
   244  - Fixed ledger dependency on erased commit
   245  - Fixed protobuf dependency to resolve compilation issues in some cases
   246  - Fixed C-chain filename logging
   247  
   248  ### What's Changed
   249  
   250  - Error driven snowflake multi counter by @aaronbuchwald in https://github.com/ava-labs/avalanchego/pull/3092
   251  - [antithesis] Add ci jobs to trigger test runs by @marun in https://github.com/ava-labs/avalanchego/pull/3076
   252  - bump ledger-avalanche dependency to current main branch by @felipemadero in https://github.com/ava-labs/avalanchego/pull/3115
   253  - [antithesis] Fix image publication job by quoting default tag value by @marun in https://github.com/ava-labs/avalanchego/pull/3112
   254  - [e2e] Fix excessively verbose output from virtuous test by @marun in https://github.com/ava-labs/avalanchego/pull/3116
   255  - Remove .Status() from .IsPreferred() by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/3111
   256  - Add early termination metrics case by case by @aaronbuchwald in https://github.com/ava-labs/avalanchego/pull/3093
   257  - Update C-chain wallet context by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/3118
   258  - Standardize wallet tx acceptance polling by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/3110
   259  - [antithesis] Remove assertions incompatible with fault injection by @marun in https://github.com/ava-labs/avalanchego/pull/3104
   260  - Use health labels by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/3122
   261  - Remove `Decided` from the `Consensus` interface by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/3123
   262  - Remove .Status() from .Accepted() by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/3124
   263  - Refactor `event.Blocker` into `job.Scheduler` by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/3125
   264  - Remove block lookup from `deliver` by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/3130
   265  - [chains/atomic] Remove a nested if statement by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/3135
   266  - [vms/platformvm] Minor grammer fixes in `state` struct code comments by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/3136
   267  - bump protobuf (fixes some build issues) by @darioush in https://github.com/ava-labs/avalanchego/pull/3142
   268  - Emit version in JSON format for --json-version by @marun in https://github.com/ava-labs/avalanchego/pull/3129
   269  - Repackaged NextBlockTime and GetNextStakerChangeTime by @abi87 in https://github.com/ava-labs/avalanchego/pull/3134
   270  - [vms/platformvm] Cleanup execution config tests by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/3137
   271  - [tmpnet] Enable bootstrap of subnets with disjoint validator sets by @marun in https://github.com/ava-labs/avalanchego/pull/3138
   272  - Simplify dependency registration by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/3139
   273  - Replace `wasIssued` with `shouldIssueBlock` by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/3131
   274  - Remove parent lookup from issue by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/3132
   275  - Remove status usage from consensus by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/3140
   276  - Fix bootstrapping warn log by @joshua-kim in https://github.com/ava-labs/avalanchego/pull/3156
   277  - chore: fix some comment by @hattizai in https://github.com/ava-labs/avalanchego/pull/3144
   278  - [ci] Add actionlint job by @marun in https://github.com/ava-labs/avalanchego/pull/3160
   279  - check router is closing in requests by @ceyonur in https://github.com/ava-labs/avalanchego/pull/3157
   280  - Use `ids.Empty` instead of `ids.ID{}` by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/3166
   281  - Replace usage of utils.Err with errors.Join by @joshua-kim in https://github.com/ava-labs/avalanchego/pull/3167
   282  
   283  **Full Changelog**: https://github.com/ava-labs/avalanchego/compare/v1.11.8...v1.11.9
   284  
   285  ## [v1.11.8](https://github.com/ava-labs/avalanchego/releases/tag/v1.11.8)
   286  
   287  This version is backwards compatible to [v1.11.0](https://github.com/ava-labs/avalanchego/releases/tag/v1.11.0). It is optional, but encouraged.
   288  
   289  The plugin version is unchanged at `35` and is compatible with versions `v1.11.3-v1.11.7`.
   290  
   291  ### APIs
   292  
   293  - Redesigned metrics to use labels rather than custom namespaces.
   294  
   295  ### What's Changed
   296  
   297  - Remove avalanche metrics registerer from consensus context by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/3087
   298  - Remove rejection from `consensus.Add` by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/3084
   299  - [vms/platformvm] Rename `txstest.Builder` to `txstest.WalletFactory` by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2890
   300  - Small metrics cleanup by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/3088
   301  - Fix race in test by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/3089
   302  - Implement error driven snowflake hardcoded to support a single beta by @aaronbuchwald in https://github.com/ava-labs/avalanchego/pull/2978
   303  - Replace all chain namespaces with labels by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/3053
   304  - add a metrics gauge for built block slot by @tsachiherman in https://github.com/ava-labs/avalanchego/pull/3048
   305  - [ci] Switch to gh workers for arm64 by @marun in https://github.com/ava-labs/avalanchego/pull/3090
   306  - [ci] Ensure focal arm64 builds all have their required dependencies by @marun in https://github.com/ava-labs/avalanchego/pull/3091
   307  - X-chain - consolidate tx creation in unit tests by @abi87 in https://github.com/ava-labs/avalanchego/pull/2736
   308  - Use netip.AddrPort rather than ips.IPPort by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/3094
   309  
   310  **Full Changelog**: https://github.com/ava-labs/avalanchego/compare/v1.11.7...v1.11.8
   311  
   312  ## [v1.11.7](https://github.com/ava-labs/avalanchego/releases/tag/v1.11.7)
   313  
   314  This version is backwards compatible to [v1.11.0](https://github.com/ava-labs/avalanchego/releases/tag/v1.11.0). It is optional, but encouraged.
   315  
   316  The plugin version is unchanged at `35` and is compatible with versions `v1.11.3-v1.11.6`.
   317  
   318  ### APIs
   319  
   320  - Added peer's `trackedSubnets` that are not locally tracked to the response from `info.peers`
   321  
   322  ### Configs
   323  
   324  - Changed the undocumented `pebble` option for `--db-type` to be `pebbledb` and documented the option
   325  
   326  ### Fixes
   327  
   328  - Removed repeated DB compaction during bootstrapping that caused a significant regression in bootstrapping times
   329  - Fixed C-Chain state-sync crash
   330  - Fixed C-Chain state-sync ETA calculation
   331  - Fixed Subnet owner reported by `platform.getSubnets` after a subnet's owner was rotated
   332  
   333  ### What's Changed
   334  
   335  - Expose canonical warp formatting function by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/3049
   336  - Remove subnet filter from Peer.TrackedSubnets() by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2975
   337  - Remove optional gatherer by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/3052
   338  - [vms/platformvm] Return the correct owner in `platform.GetSubnets` after transfer by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/3054
   339  - Add metrics client by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/3057
   340  - [vms/platformvm] Replace `GetSubnets` with `GetSubnetIDs` in `State` by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/3055
   341  - Implement `constants.VMName` by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/3058
   342  - [testing] Remove superfluous gomega dep by @marun in https://github.com/ava-labs/avalanchego/pull/3063
   343  - [antithesis] Enable workload instrumentation by @marun in https://github.com/ava-labs/avalanchego/pull/3059
   344  - Add pebbledb to docs by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/3061
   345  - [ci] Remove perpetually failing govulncheck job by @marun in https://github.com/ava-labs/avalanchego/pull/3069
   346  - Remove api namespace by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/3066
   347  - Remove unused metrics namespaces by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/3062
   348  - Only compact after executing a large number of blocks by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/3065
   349  - Remove network namespace by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/3067
   350  - Remove db namespace by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/3068
   351  - Remove averager metrics namespace by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/3072
   352  - chore: fix function name by @stellrust in https://github.com/ava-labs/avalanchego/pull/3075
   353  - Select metric by label in e2e tests by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/3073
   354  - [tmpnet] Bootstrap subnets with a single node by @marun in https://github.com/ava-labs/avalanchego/pull/3005
   355  - [antithesis] Skip push for builder image by @marun in https://github.com/ava-labs/avalanchego/pull/3070
   356  - Implement label gatherer by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/3074
   357  
   358  ### New Contributors
   359  
   360  - @stellrust made their first contribution in https://github.com/ava-labs/avalanchego/pull/3075
   361  
   362  **Full Changelog**: https://github.com/ava-labs/avalanchego/compare/v1.11.6...v1.11.7
   363  
   364  ## [v1.11.6](https://github.com/ava-labs/avalanchego/releases/tag/v1.11.6)
   365  
   366  This version is backwards compatible to [v1.11.0](https://github.com/ava-labs/avalanchego/releases/tag/v1.11.0). It is optional, but encouraged.
   367  
   368  The plugin version is unchanged at `35` and is compatible with versions `v1.11.3-v1.11.5`.
   369  
   370  ### APIs
   371  
   372  - Updated cache metrics:
   373    - `*_cache_put_sum` was replaced with `*_cache_put_time`
   374    - `*_cache_get_sum` was replaced with `*_cache_get_time`
   375    - `*_cache_hit` and `*_cache_miss` were removed and `*_cache_get_count` added a `result` label
   376  - Updated db metrics:
   377    - `*_db_{method}_count` were replaced with `*_db_calls` with a `method` label
   378    - `*_db_{method}_sum` were replaced with `*_db_duration` with a `method` label
   379    - `*_db_{method}_size_count` were deleted
   380    - `*_db_{method}_size_sum` were replaced with `*_db_size` with a `method` label
   381  - Updated p2p message compression metrics:
   382    - `avalanche_network_codec_{type}_{op}_{direction}_time_count` were replaced with `avalanche_network_codec_compressed_count` with `direction`, `op`, and `type` labels
   383  - Updated p2p message metrics:
   384    - `avalanche_network_{op}_{io}` were replaced with `avalanche_network_msgs` with `compressed:"false"`, `io`, and `op` labels
   385    - `avalanche_network_{op}_{io}_bytes` were replaced with `avalanche_network_msgs_bytes` with `io` and `op` labels
   386    - `avalanche_network_{op}_compression_saved_{io}_bytes_sum` were replaced with `avalanche_network_msgs_bytes_saved` with `io` and `op` labels
   387    - `avalanche_network_{op}_compression_saved_{io}_bytes_count` were replaced with `avalanche_network_msgs` with `compressed:"true"`, `io`, and `op` labels
   388    - `avalanche_network_{op}_failed` were replaced with `avalanche_network_msgs_failed_to_send` with an `op` label
   389  - Updated p2p sdk message metrics:
   390    - `*_p2p_{op}_count` were replaced with `*_p2p_msg_count` with an `op` label
   391    - `*_p2p_{op}_time` were replaced with `*_p2p_msg_time` with an `op` label
   392  - Updated consensus message queue metrics:
   393    - `avalanche_{chainID}_handler_unprocessed_msgs_{op}` were replaced with `avalanche_{chainID}_handler_unprocessed_msgs_count` with an `op` label
   394    - `avalanche_{chainID}_handler_async_unprocessed_msgs_{op}` were replaced with `avalanche_{chainID}_handler_unprocessed_msgs_count` with an `op` label
   395  - Updated consensus handler metrics:
   396    - `avalanche_{chainID}_handler_{op}_count` were replaced with `avalanche_{chainID}_handler_messages` with an `op` label
   397    - `avalanche_{chainID}_handler_{op}_msg_handling_count` was deleted
   398    - `avalanche_{chainID}_handler_{op}_msg_handling_sum` were replaced with `avalanche_{chainID}_handler_message_handling_time` with an `op` label
   399    - `avalanche_{chainID}_handler_{op}_sum` were replaced with `avalanche_{chainID}_handler_locking_time`
   400  - Updated consensus sender metrics:
   401    - `avalanche_{chainID}_{op}_failed_benched` were replaced with `avalanche_{chainID}_failed_benched` with an `op` label
   402  - Updated consensus latency metrics:
   403    - `avalanche_{chainID}_lat_{op}_count` were replaced with `avalanche_{chainID}_response_messages` with an `op` label
   404    - `avalanche_{chainID}_lat_{op}_sum` were replaced with `avalanche_{chainID}_response_message_latencies` with an `op` label
   405  - Updated X-chain metrics:
   406    - `avalanche_X_vm_avalanche_{tx}_txs_accepted` were replaced with `avalanche_X_vm_avalanche_txs_accepted` with a `tx` label
   407  - Updated P-chain metrics:
   408    - `avalanche_P_vm_{tx}_txs_accepted` were replaced with `avalanche_P_vm_txs_accepted` with a `tx` label
   409    - `avalanche_P_vm_{blk}_blks_accepted` were replaced with `avalanche_P_vm_blks_accepted` with a `blk` label
   410  
   411  ### Fixes
   412  
   413  - Fixed performance regression while executing blocks in bootstrapping
   414  - Fixed peer connection tracking in the P-chain and C-chain to re-enable tx pull gossip
   415  - Fixed C-chain deadlock while executing blocks in bootstrapping after aborting state sync
   416  - Fixed negative ETA while fetching blocks after aborting state sync
   417  - Fixed C-chain snapshot initialization after state sync
   418  - Fixed panic when running avalanchego in environments with an incorrectly implemented monotonic clock
   419  - Fixed memory corruption when accessing keys and values from released pebbledb iterators
   420  - Fixed prefixdb compaction when specifying a `nil` limit
   421  
   422  ### What's Changed
   423  
   424  - Consolidate record poll by @aaronbuchwald in https://github.com/ava-labs/avalanchego/pull/2970
   425  - Update metercacher to use vectors by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2979
   426  - Reduce p2p sdk metrics by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2980
   427  - Use vectors in message queue metrics by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2985
   428  - Use vectors for p2p message metrics by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2983
   429  - Simplify gossip metrics by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2984
   430  - Use vectors for message handler metrics by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2987
   431  - Use vector in message sender by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2988
   432  - Simplify go version maintenance by @marun in https://github.com/ava-labs/avalanchego/pull/2977
   433  - Use vector for router latency metrics by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2989
   434  - Use vectors for accepted tx and block metrics by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2990
   435  - fix: version application error by @jujube in https://github.com/ava-labs/avalanchego/pull/2995
   436  - Chore: fix some typos. by @hattizai in https://github.com/ava-labs/avalanchego/pull/2993
   437  - Cleanup meterdb metrics by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2991
   438  - Cleanup compression metrics by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2992
   439  - Fix antithesis image publication by @marun in https://github.com/ava-labs/avalanchego/pull/2998
   440  - Remove unused `Metadata` struct by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/3001
   441  - prefixdb: fix bug with Compact nil limit by @a1k0n in https://github.com/ava-labs/avalanchego/pull/3000
   442  - Update go version to 1.21.10 by @marun in https://github.com/ava-labs/avalanchego/pull/3004
   443  - vms/txs/mempool: unify avm and platformvm mempool implementations by @lebdron in https://github.com/ava-labs/avalanchego/pull/2994
   444  - Use gauges for time metrics by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/3009
   445  - Chore: fix typos. by @cocoyeal in https://github.com/ava-labs/avalanchego/pull/3010
   446  - [antithesis] Refactor existing job to support xsvm test setup by @marun in https://github.com/ava-labs/avalanchego/pull/2976
   447  - chore: fix some function names by @cartnavoy in https://github.com/ava-labs/avalanchego/pull/3015
   448  - Mark nodes as connected to the P-chain networking stack by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2981
   449  - [antithesis] Ensure images with a prefix are pushed by @marun in https://github.com/ava-labs/avalanchego/pull/3016
   450  - boostrapper: compact blocks before iterating them by @a1k0n in https://github.com/ava-labs/avalanchego/pull/2997
   451  - Remove pre-Durango networking checks by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/3018
   452  - Repackaged upgrades times into upgrade package by @abi87 in https://github.com/ava-labs/avalanchego/pull/3019
   453  - Standardize peer logs by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/3017
   454  - Fix pebbledb memory corruption by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/3020
   455  - [vms/avm] fix linter error in benchmark : Use of weak random number generator by @tsachiherman in https://github.com/ava-labs/avalanchego/pull/3023
   456  - Simplify sampler interface by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/3026
   457  - [build] Update linter version by @tsachiherman in https://github.com/ava-labs/avalanchego/pull/3024
   458  - fix broken link. by @cocoyeal in https://github.com/ava-labs/avalanchego/pull/3028
   459  - `gossipping` -> `gossiping` by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/3033
   460  - [tmpnet] Ensure tmpnet compatibility with windows by @marun in https://github.com/ava-labs/avalanchego/pull/3002
   461  - Fix negative ETA caused by rollback in vm.SetState by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/3036
   462  - [tmpnet] Enable single node networks by @marun in https://github.com/ava-labs/avalanchego/pull/3003
   463  - P-chain - introducing fees calculators by @abi87 in https://github.com/ava-labs/avalanchego/pull/2698
   464  - Change default staking key from RSA 4096 to secp256r1 by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/3025
   465  - Fix ACP links by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/3037
   466  - Prevent unnecessary bandwidth from activated ACPs by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/3031
   467  - [antithesis] Add test setup for xsvm by @marun in https://github.com/ava-labs/avalanchego/pull/2982
   468  - [antithesis] Ensure node image is pushed by @marun in https://github.com/ava-labs/avalanchego/pull/3042
   469  - Cleanup fee config passing by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/3043
   470  - Fix typo fix by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/3044
   471  - Grab iterator at previously executed height by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/3045
   472  - Verify signatures during Parse by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/3046
   473  
   474  ### New Contributors
   475  
   476  - @jujube made their first contribution in https://github.com/ava-labs/avalanchego/pull/2995
   477  - @hattizai made their first contribution in https://github.com/ava-labs/avalanchego/pull/2993
   478  - @a1k0n made their first contribution in https://github.com/ava-labs/avalanchego/pull/3000
   479  - @lebdron made their first contribution in https://github.com/ava-labs/avalanchego/pull/2994
   480  - @cocoyeal made their first contribution in https://github.com/ava-labs/avalanchego/pull/3010
   481  - @cartnavoy made their first contribution in https://github.com/ava-labs/avalanchego/pull/3015
   482  - @tsachiherman made their first contribution in https://github.com/ava-labs/avalanchego/pull/3023
   483  
   484  **Full Changelog**: https://github.com/ava-labs/avalanchego/compare/v1.11.5...v1.11.6
   485  
   486  ## [v1.11.5](https://github.com/ava-labs/avalanchego/releases/tag/v1.11.5)
   487  
   488  This version is backwards compatible to [v1.11.0](https://github.com/ava-labs/avalanchego/releases/tag/v1.11.0). It is optional, but encouraged.
   489  
   490  The plugin version is unchanged at `35` and is compatible with versions `v1.11.3-v1.11.4`.
   491  
   492  ### APIs
   493  
   494  - Renamed metric `avalanche_network_validator_ips` to `avalanche_network_tracked_ips`
   495  
   496  ### Configs
   497  
   498  - Removed `--snow-virtuous-commit-threshold`
   499  - Removed `--snow-rogue-commit-threshold`
   500  
   501  ### Fixes
   502  
   503  - Fixed increased outbound PeerList messages when specifying custom bootstrap IDs
   504  - Fixed CPU spike when disconnected from the network during bootstrapping fetching
   505  - Fixed topological sort in vote calculation
   506  - Fixed job dependency handling for transitively rejected blocks
   507  - Prevented creation of unnecessary consensus polls during the issuance of a block
   508  
   509  ### What's Changed
   510  
   511  - Remove duplicate metrics increment by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2926
   512  - Optimize merkledb metrics by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2927
   513  - Optimize intermediateNodeDB.constructDBKey by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2928
   514  - [vms/proposervm] Remove `getForkHeight()` by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2929
   515  - Improve logging of startup and errors in bootstrapping by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2933
   516  - Add hashing interface to merkledb by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2930
   517  - Assign instead of append to `keys` slice by @danlaine in https://github.com/ava-labs/avalanchego/pull/2932
   518  - Remove uptimes from Pong messages by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2936
   519  - Enable creation of multi-arch docker images by @marun in https://github.com/ava-labs/avalanchego/pull/2914
   520  - Improve networking README by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2937
   521  - Specify golang patch version in go.mod by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2938
   522  - Include consensus decisions into logs by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2943
   523  - CI: ensure image build job is compatible with merge queue by @marun in https://github.com/ava-labs/avalanchego/pull/2941
   524  - Remove unused `validators.Manager` mock by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2944
   525  - Split ManuallyTrack into ManuallyTrack and ManuallyGossip by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2940
   526  - Sync primary network checkpoints during bootstrapping by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2752
   527  - [ci] Add govulncheck job and update x/net as per its recommendation by @marun in https://github.com/ava-labs/avalanchego/pull/2948
   528  - [tmpnet] Add network reuse to e2e fixture by @marun in https://github.com/ava-labs/avalanchego/pull/2935
   529  - `e2e`: Add basic warp test with xsvm by @marun in https://github.com/ava-labs/avalanchego/pull/2043
   530  - Improve bootstrapping peer selection by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2946
   531  - Cleanup avalanche bootstrapping fetching by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2947
   532  - Add manager validator set callbacks by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2950
   533  - chore: fix function names in comment by @socialsister in https://github.com/ava-labs/avalanchego/pull/2957
   534  - [ci] Fix conditional guarding monitoring configuration by @marun in https://github.com/ava-labs/avalanchego/pull/2959
   535  - Cleanup consensus engine tests by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2953
   536  - Improve and test getProcessingAncestor by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2956
   537  - Exit topological sort earlier by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2965
   538  - Consolidate beta by @aaronbuchwald in https://github.com/ava-labs/avalanchego/pull/2949
   539  - Abandon decided blocks by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2968
   540  - Bump bufbuild/buf-setup-action from 1.30.0 to 1.31.0 by @dependabot in https://github.com/ava-labs/avalanchego/pull/2923
   541  - Cleanup test block creation by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2973
   542  
   543  ### New Contributors
   544  
   545  - @socialsister made their first contribution in https://github.com/ava-labs/avalanchego/pull/2957
   546  
   547  **Full Changelog**: https://github.com/ava-labs/avalanchego/compare/v1.11.4...v1.11.5
   548  
   549  ## [v1.11.4](https://github.com/ava-labs/avalanchego/releases/tag/v1.11.4)
   550  
   551  This version is backwards compatible to [v1.11.0](https://github.com/ava-labs/avalanchego/releases/tag/v1.11.0). It is optional, but encouraged.
   552  
   553  The plugin version is unchanged at `35` and is compatible with version `v1.11.3`.
   554  
   555  ### APIs
   556  
   557  - Removed metrics for each chainID:
   558    - `avalanche_{chainID}_bs_eta_fetching_complete`
   559    - `avalanche_{chainID}_block_eta_execution_complete`
   560    - `avalanche_{chainID}_block_jobs_cache_get_count`
   561    - `avalanche_{chainID}_block_jobs_cache_get_sum`
   562    - `avalanche_{chainID}_block_jobs_cache_hit`
   563    - `avalanche_{chainID}_block_jobs_cache_len`
   564    - `avalanche_{chainID}_block_jobs_cache_miss`
   565    - `avalanche_{chainID}_block_jobs_cache_portion_filled`
   566    - `avalanche_{chainID}_block_jobs_cache_put_count`
   567    - `avalanche_{chainID}_block_jobs_cache_put_sum`
   568  - Added finer grained tracing of merkledb trie construction and hashing
   569    - renamed `MerkleDB.view.calculateNodeIDs` to `MerkleDB.view.applyValueChanges`
   570    - Added `MerkleDB.view.calculateNodeChanges`
   571    - Added `MerkleDB.view.hashChangedNodes`
   572  
   573  ### Fixes
   574  
   575  - Fixed p2p SDK handling of cancelled `AppRequest` messages
   576  - Fixed merkledb crash recovery
   577  
   578  ### What's Changed
   579  
   580  - Bump github.com/consensys/gnark-crypto from 0.10.0 to 0.12.1 by @dependabot in https://github.com/ava-labs/avalanchego/pull/2862
   581  - Push antithesis images by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2864
   582  - Revert removal of legacy P-chain block parsing by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2866
   583  - `tmpnet`: Ensure nodes are properly detached from the parent process by @marun in https://github.com/ava-labs/avalanchego/pull/2859
   584  - indicies -> indices by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2873
   585  - Reindex P-chain blocks by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2869
   586  - Add detail to tmpnet metrics documentation by @marun in https://github.com/ava-labs/avalanchego/pull/2854
   587  - docs migration by @meaghanfitzgerald in https://github.com/ava-labs/avalanchego/pull/2845
   588  - Implement interval tree to replace bootstrapping jobs queue by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2756
   589  - Cleanup codec constants by @abi87 in https://github.com/ava-labs/avalanchego/pull/2699
   590  - Update health API readme by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2875
   591  - `tmpnet`: Improve subnet configuration by @marun in https://github.com/ava-labs/avalanchego/pull/2871
   592  - Add tests for inefficient string formatting by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2878
   593  - [vms/platformvm] Declare `maxPageSize` in `service.go` by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2881
   594  - [vms/platformvm] Use `wallet` sdk in `txstest.Builder` by @abi87 in https://github.com/ava-labs/avalanchego/pull/2751
   595  - Optimize encodeUint by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2882
   596  - [components/avax] Remove `AtomicUTXOManager` interface by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2884
   597  - Remove merkledb codec struct by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2883
   598  - [vms/platformvm] Minimize exported functions in `txstest` by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2888
   599  - `ci`: Skip monitoring if secrets are not present by @marun in https://github.com/ava-labs/avalanchego/pull/2880
   600  - Optimize merkledb hashing by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2886
   601  - [vms/platformvm] Miscellaneous testing cleanups by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2891
   602  - Move functions around so that encode and decode are next to each other by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2892
   603  - Remove memory alloc from encodeDBNode by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2893
   604  - Interval tree syncing integration by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2855
   605  - Optimize hashing of leaf nodes by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2894
   606  - Improve performance of marshalling small keys by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2895
   607  - Improve tracing of merkledb trie updates by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2897
   608  - Remove usage of bytes.Buffer and bytes.Reader by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2896
   609  - Optimize key creation in hashing by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2899
   610  - Move bootstrapping queue out of common by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2856
   611  - Conditionally allocate WaitGroup memory by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2901
   612  - Reuse key buffers during hashing by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2902
   613  - Remove AddEphemeralNode by @joshua-kim in https://github.com/ava-labs/avalanchego/pull/2887
   614  - Rename linkedhashmap package to `linked` by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2907
   615  - [tmpnet] Misc cleanup to support xsvm warp test PR by @marun in https://github.com/ava-labs/avalanchego/pull/2903
   616  - Implement generic `linked.List` by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2908
   617  - Remove full message from error logs by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2912
   618  - Use generic linked list by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2909
   619  - Avoid allocating new list entries by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2910
   620  - Remove `linked.Hashmap` locking by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2911
   621  - Fix MerkleDB crash recovery by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2913
   622  - Remove cancellation for Send*AppRequest messages by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2915
   623  - Add `.Clear()` to `linked.Hashmap` by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2917
   624  - Allow pre-allocating `linked.Hashmap` by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2918
   625  - Fix comment and remove unneeded allocation by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2919
   626  - Implement `utils.BytesPool` to replace `sync.Pool` for byte slices by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2920
   627  - Refactor `MerkleDB.commitChanges` by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2921
   628  - Remove value_node_db batch by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2922
   629  - Remove memory allocations from merkledb iteration by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2925
   630  
   631  **Full Changelog**: https://github.com/ava-labs/avalanchego/compare/v1.11.3...v1.11.4
   632  
   633  ## [v1.11.3](https://github.com/ava-labs/avalanchego/releases/tag/v1.11.3)
   634  
   635  This version is backwards compatible to [v1.11.0](https://github.com/ava-labs/avalanchego/releases/tag/v1.11.0). It is optional, but encouraged.
   636  
   637  The plugin version is updated to `35` all plugins must update to be compatible.
   638  
   639  ### APIs
   640  
   641  - Removed:
   642    - `platform.GetPendingValidators`
   643    - `platform.GetMaxStakeAmount`
   644  
   645  ### Configs
   646  
   647  - Removed avalanchego configs:
   648    - `network-peer-list-validator-gossip-size`
   649    - `network-peer-list-non-validator-gossip-size`
   650    - `network-peer-list-peers-gossip-size`
   651    - `network-peer-list-gossip-frequency`
   652    - `consensus-accepted-frontier-gossip-validator-size`
   653    - `consensus-accepted-frontier-gossip-non-validator-size`
   654    - `consensus-accepted-frontier-gossip-peer-size`
   655    - `consensus-on-accept-gossip-validator-size`
   656    - `consensus-on-accept-gossip-non-validator-size`
   657    - `consensus-on-accept-gossip-peer-size`
   658  - Added P-chain, X-chain, and C-chain configs:
   659    - `push-gossip-percent-stake`
   660  
   661  ### Fixes
   662  
   663  - Fixed p2p SDK validator sampling to only return connected validators
   664  
   665  ### What's Changed
   666  
   667  - Cleanup BLS naming and documentation by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2798
   668  - Add BLS keys + signers config for local network by @Nuttymoon in https://github.com/ava-labs/avalanchego/pull/2794
   669  - Remove double spaces by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2802
   670  - [vms/platformvm] Remove `platform.getMaxStakeAmount` by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2795
   671  - Remove unused engine interface by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2811
   672  - Cleanup Duplicate Transitive Constructor by @joshua-kim in https://github.com/ava-labs/avalanchego/pull/2812
   673  - Update minimum golang version to v1.21.8 by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2814
   674  - Cleanup consensus metrics by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2815
   675  - Remove peerlist push gossip by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2791
   676  - Remove bitmaskCodec by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2792
   677  - Use `BaseTx` in P-chain wallet by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2731
   678  - Remove put gossip by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2790
   679  - [vms/platformvm] Remove `GetPendingValidators` API by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2817
   680  - [vms/platformvm] Remove `ErrFutureStakeTime` check in `VerifyTx` by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2797
   681  - Remove pre-Durango block building logic and verification by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2823
   682  - Remove pre-Durango checks in BLS key verification by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2824
   683  - [snow/networking] Enforce `PreferredIDAtHeight` in `Chits` messages by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2827
   684  - Combine AppGossip and AppGossipSpecific by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2836
   685  - [network/peer] Disconnect from peers who only send legacy version field by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2830
   686  - [vms/avm] Cleanup `GetTx` + remove state pruning logic by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2826
   687  - [vms/avm] Remove `snow.Context` from `Network` by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2834
   688  - [vms/platformvm] Remove state pruning logic by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2825
   689  - Prevent zero length values in slices and maps in codec by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2819
   690  - [utils/compression] Remove gzip compressor by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2839
   691  - Remove legacy p2p message handling by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2833
   692  - Remove Durango codec check by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2818
   693  - Remove Pre-Durango TLS certificate parsing logic by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2831
   694  - Remove engine type handling for everything other than GetAncestors by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2800
   695  - P-chain:  Improve GetValidatorsSet error expressivity by @abi87 in https://github.com/ava-labs/avalanchego/pull/2808
   696  - Add antithesis PoC workload by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2796
   697  - Add Antithesis docker compose file by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2838
   698  - merkledb metric naming nits by @danlaine in https://github.com/ava-labs/avalanchego/pull/2844
   699  - Allow configuring push gossip to send txs to validators by stake by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2835
   700  - update merkledb readme to specify key length is in bits by @danlaine in https://github.com/ava-labs/avalanchego/pull/2840
   701  - `tmpnet`: Add a UUID to temporary networks to support metrics collection by @marun in https://github.com/ava-labs/avalanchego/pull/2763
   702  - packer build by @Dirrk in https://github.com/ava-labs/avalanchego/pull/2806
   703  - Bump google.golang.org/protobuf from 1.32.0 to 1.33.0 by @dependabot in https://github.com/ava-labs/avalanchego/pull/2849
   704  - Bump bufbuild/buf-setup-action from 1.29.0 to 1.30.0 by @dependabot in https://github.com/ava-labs/avalanchego/pull/2842
   705  - Remove verify height index by @aaronbuchwald in https://github.com/ava-labs/avalanchego/pull/2634
   706  - Dynamic Fees - Add E Upgrade boilerplate by @abi87 in https://github.com/ava-labs/avalanchego/pull/2597
   707  - `tmpnet`: Enable collection of logs and metrics by @marun in https://github.com/ava-labs/avalanchego/pull/2820
   708  - P-Chain - repackaged wallet backends by @abi87 in https://github.com/ava-labs/avalanchego/pull/2757
   709  - X-Chain - repackaged wallet backends by @abi87 in https://github.com/ava-labs/avalanchego/pull/2762
   710  - Remove fallback validator height indexing by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2801
   711  - `tmpnet`: Reuse dynamically-allocated API port across restarts by @marun in https://github.com/ava-labs/avalanchego/pull/2857
   712  - Remove useless bootstrapping metric by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2858
   713  - Remove duplicate log by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2860
   714  
   715  ### New Contributors
   716  
   717  - @Nuttymoon made their first contribution in https://github.com/ava-labs/avalanchego/pull/2794
   718  - @Dirrk made their first contribution in https://github.com/ava-labs/avalanchego/pull/2806
   719  
   720  **Full Changelog**: https://github.com/ava-labs/avalanchego/compare/v1.11.2...v1.11.3
   721  
   722  ## [v1.11.2](https://github.com/ava-labs/avalanchego/releases/tag/v1.11.2)
   723  
   724  This version is backwards compatible to [v1.11.0](https://github.com/ava-labs/avalanchego/releases/tag/v1.11.0). It is optional, but strongly encouraged.
   725  
   726  The plugin version is updated to `34` all plugins must update to be compatible.
   727  
   728  ### APIs
   729  
   730  - Removed the `ipc` API
   731  - Removed the `auth` API
   732  - Removed most `keystore` related methods from the `platform` API
   733    - `platform.importKey`
   734    - `platform.createAddress`
   735    - `platform.addValidator`
   736    - `platform.addDelegator`
   737    - `platform.addSubnetValidator`
   738    - `platform.createSubnet`
   739    - `platform.exportAVAX`
   740    - `platform.importAVAX`
   741    - `platform.createBlockchain`
   742  - Added push gossip metrics:
   743    - `gossip_tracking{type="sent"}`
   744    - `gossip_tracking{type="unsent"}`
   745    - `gossip_tracking_lifetime_average`
   746    to the following namespaces:
   747    - `avalanche_P_vm_tx`
   748    - `avalanche_X_vm_avalanche_tx`
   749    - `avalanche_C_vm_sdk_atomic_tx_gossip`
   750    - `avalanche_C_vm_sdk_eth_tx_gossip`
   751  - Removed metrics:
   752    - `avalanche_C_vm_eth_gossip_atomic_sent`
   753    - `avalanche_C_vm_eth_gossip_eth_txs_sent`
   754    - `avalanche_C_vm_eth_regossip_eth_txs_queued_attempts`
   755    - `avalanche_C_vm_eth_regossip_eth_txs_queued_local_tx_count`
   756    - `avalanche_C_vm_eth_regossip_eth_txs_queued_remote_tx_count`
   757  
   758  ### Configs
   759  
   760  - Removed:
   761    - `api-ipcs-enabled`
   762    - `ipcs-chain-ids`
   763    - `ipcs-path`
   764    - `api-auth-required`
   765    - `api-auth-password`
   766    - `api-auth-password-file`
   767    - `consensus-app-gossip-validator-size`
   768    - `consensus-app-gossip-non-validator-size`
   769    - `consensus-app-gossip-peer-size`
   770  - Removed subnet configs:
   771    - `appGossipValidatorSize`
   772    - `appGossipNonValidatorSize`
   773    - `appGossipPeerSize`
   774  - Added X-chain and P-chain networking configs:
   775    - `push-gossip-num-validators`
   776    - `push-gossip-num-peers`
   777    - `push-regossip-num-validators`
   778    - `push-regossip-num-peers`
   779    - `push-gossip-discarded-cache-size`
   780    - `push-gossip-max-regossip-frequency`
   781    - `push-gossip-frequency`
   782  - Removed X-chain and P-chain networking configs:
   783    - `legacy-push-gossip-cache-size`
   784  - Added C-chain configs:
   785    - `push-gossip-num-validators`
   786    - `push-gossip-num-peers`
   787    - `push-regossip-num-validators`
   788    - `push-regossip-num-peers`
   789    - `push-gossip-frequency`
   790    - `pull-gossip-frequency`
   791    - `tx-pool-lifetime`
   792  - Removed C-chain configs:
   793    - `tx-pool-journal`
   794    - `tx-pool-rejournal`
   795    - `remote-gossip-only-enabled`
   796    - `regossip-max-txs`
   797    - `remote-tx-gossip-only-enabled`
   798    - `tx-regossip-max-size`
   799  
   800  ### Fixes
   801  
   802  - Fixed mempool push gossip amplification
   803  
   804  ### What's Changed
   805  
   806  - Remove deprecated IPC API by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2760
   807  - `vms/platformvm`: Remove all keystore APIs except `ExportKey` and `ListAddresses` by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2761
   808  - Remove Deprecated Auth API by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2759
   809  - Remove `defaultAddress` helper from platformvm service tests by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2767
   810  - [trace] upgrade opentelemetry to v1.22.0 by @bianyuanop in https://github.com/ava-labs/avalanchego/pull/2702
   811  - Reenable the upgrade tests by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2769
   812  - [network/p2p] Redesign Push Gossip by @patrick-ogrady in https://github.com/ava-labs/avalanchego/pull/2772
   813  - Move AppGossip configs from SubnetConfig into ChainConfig by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2785
   814  - `merkledb` -- move compressedKey declaration to avoid usage of stale values in loop by @danlaine in https://github.com/ava-labs/avalanchego/pull/2777
   815  - `merkledb` -- fix `hasValue` in `recordNodeDeleted` by @danlaine in https://github.com/ava-labs/avalanchego/pull/2779
   816  - `merkledb` -- rename metrics and add missing call by @danlaine in https://github.com/ava-labs/avalanchego/pull/2781
   817  - `merkledb` -- style nit, remove var name `newView` to reduce shadowing by @danlaine in https://github.com/ava-labs/avalanchego/pull/2784
   818  - `merkledb` style nits by @danlaine in https://github.com/ava-labs/avalanchego/pull/2783
   819  - `merkledb` comment accuracy fixes by @danlaine in https://github.com/ava-labs/avalanchego/pull/2780
   820  - Increase gossip size on first push by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2787
   821  
   822  **Full Changelog**: https://github.com/ava-labs/avalanchego/compare/v1.11.0...v1.11.2
   823  
   824  ## [v1.11.0](https://github.com/ava-labs/avalanchego/releases/tag/v1.11.0)
   825  
   826  This upgrade consists of the following Avalanche Community Proposals (ACPs):
   827  
   828  - [ACP-23](https://github.com/avalanche-foundation/ACPs/blob/main/ACPs/23-p-chain-native-transfers/README.md) P-Chain Native Transfers
   829  - [ACP-24](https://github.com/avalanche-foundation/ACPs/blob/main/ACPs/24-shanghai-eips/README.md) Activate Shanghai EIPs on C-Chain
   830  - [ACP-25](https://github.com/avalanche-foundation/ACPs/blob/main/ACPs/25-vm-application-errors/README.md) Virtual Machine Application Errors
   831  - [ACP-30](https://github.com/avalanche-foundation/ACPs/blob/main/ACPs/30-avalanche-warp-x-evm/README.md) Integrate Avalanche Warp Messaging into the EVM
   832  - [ACP-31](https://github.com/avalanche-foundation/ACPs/blob/main/ACPs/31-enable-subnet-ownership-transfer/README.md) Enable Subnet Ownership Transfer
   833  - [ACP-41](https://github.com/avalanche-foundation/ACPs/blob/main/ACPs/41-remove-pending-stakers/README.md) Remove Pending Stakers
   834  - [ACP-62](https://github.com/avalanche-foundation/ACPs/blob/main/ACPs/62-disable-addvalidatortx-and-adddelegatortx/README.md) Disable AddValidatorTx and AddDelegatorTx
   835  
   836  The changes in the upgrade go into effect at 11 AM ET (4 PM UTC) on Wednesday, March 6th, 2024 on Mainnet.
   837  
   838  **All Durango supporting Mainnet nodes should upgrade before 11 AM ET, March 6th 2024.**
   839  
   840  The plugin version is updated to `33` all plugins must update to be compatible.
   841  
   842  ### APIs
   843  
   844  - Added `platform.getSubnet` API
   845  
   846  ### Configs
   847  
   848  - Deprecated:
   849      - `api-auth-required`
   850      - `api-auth-password`
   851      - `api-auth-password-file`
   852  
   853  ### Fixes
   854  
   855  - Fixed potential deadlock during P-chain shutdown
   856  - Updated the consensus engine to recover from previously misconfigured subnets without requiring a restart
   857  
   858  ### What's Changed
   859  
   860  - `ci`: Upgrade all workflow actions to versions using Node 20 by @marun in https://github.com/ava-labs/avalanchego/pull/2677
   861  - `tmpnet`: Ensure restart after chain creation by @marun in https://github.com/ava-labs/avalanchego/pull/2675
   862  - Publish docker images with race detection by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2680
   863  - `vms/platformvm`: Remove `NewRewardValidatorTx` from `Builder` by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2676
   864  - `ci`: Updated shellcheck script to support autofix by @marun in https://github.com/ava-labs/avalanchego/pull/2678
   865  - Unblock misconfigured subnets by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2679
   866  - Add transfer subnet ownership functionality to wallet by @felipemadero in https://github.com/ava-labs/avalanchego/pull/2659
   867  - Add ACP-62 by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2681
   868  - `vms/platformvm`: Add missing txs to `txs.Builder` by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2663
   869  - `vms/platformvm`: Disable `AddValidatorTx` and `AddDelegatorTx` by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2662
   870  - Remove chain router from node.Config by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2683
   871  - Deprecate the auth API by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2684
   872  - Fix P-chain Shutdown deadlock by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2686
   873  - Cleanup ID initialization by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2690
   874  - Remove unused chains#beacons field by @joshua-kim in https://github.com/ava-labs/avalanchego/pull/2692
   875  - x/sync: Remove duplicated call to TrackBandwidth by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2694
   876  - Move VMAliaser into node from config by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2689
   877  - Fix minor errors in x/sync tests by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2709
   878  - Update minimum golang version to v1.21.7 by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2710
   879  - Check for github action updates in dependabot by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2715
   880  - Update `golangci-lint` to `v1.56.1` by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2714
   881  - Add stringer to warp types by @aaronbuchwald in https://github.com/ava-labs/avalanchego/pull/2712
   882  - Refactor `p2p.PeerTracker` by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2701
   883  - Bump actions/stale from 8 to 9 by @dependabot in https://github.com/ava-labs/avalanchego/pull/2719
   884  - Bump github/codeql-action from 2 to 3 by @dependabot in https://github.com/ava-labs/avalanchego/pull/2720
   885  - Bump bufbuild/buf-setup-action from 1.26.1 to 1.29.0 by @dependabot in https://github.com/ava-labs/avalanchego/pull/2721
   886  - Bump aws-actions/configure-aws-credentials from 1 to 4 by @dependabot in https://github.com/ava-labs/avalanchego/pull/2722
   887  - Manually setup golang in codeql action by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2725
   888  - Provide pgo file during compilation by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2724
   889  - P-chain - Tx builder cleanup by @abi87 in https://github.com/ava-labs/avalanchego/pull/2718
   890  - Refactor chain manager subnets by @joshua-kim in https://github.com/ava-labs/avalanchego/pull/2711
   891  - Replace snowball/snowflake interface with single shared snow interface by @aaronbuchwald in https://github.com/ava-labs/avalanchego/pull/2717
   892  - Remove duplicate IP length constant by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2733
   893  - Add `platform.getSubnet` API by @felipemadero in https://github.com/ava-labs/avalanchego/pull/2704
   894  - Provide BLS signature in Handshake message by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2730
   895  - Verify BLS signature provided in Handshake messages by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2735
   896  - Move UTXOs definition from primary to primary/common by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2741
   897  - Minimize Signer interface and document Sign by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2740
   898  - Revert setup-go during unit tests by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2744
   899  - P-chain wallet fees UTs by @abi87 in https://github.com/ava-labs/avalanchego/pull/2734
   900  - `merkledb` -- generalize error case to check state that should never occur by @danlaine in https://github.com/ava-labs/avalanchego/pull/2743
   901  - Revert setup-go to v3 on all arm actions by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2749
   902  - Add AppError to Sender interface by @joshua-kim in https://github.com/ava-labs/avalanchego/pull/2737
   903  - P-chain - Cleaned up fork switch in UTs by @abi87 in https://github.com/ava-labs/avalanchego/pull/2746
   904  - X-chain wallet fees UTs by @abi87 in https://github.com/ava-labs/avalanchego/pull/2747
   905  - Add keys values to bimap by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2754
   906  - fix test sender by @joshua-kim in https://github.com/ava-labs/avalanchego/pull/2755
   907  
   908  **Full Changelog**: https://github.com/ava-labs/avalanchego/compare/v1.10.19...v1.11.0
   909  
   910  ## [v1.10.19](https://github.com/ava-labs/avalanchego/releases/tag/v1.10.19)
   911  
   912  This version is backwards compatible to [v1.10.0](https://github.com/ava-labs/avalanchego/releases/tag/v1.10.0). It is optional, but encouraged.
   913  
   914  The plugin version is unchanged at `31` and is compatible with version `v1.10.18`.
   915  
   916  ### APIs
   917  
   918  - Added `admin.dbGet` call to the `admin` API
   919  - Added bloom filter metrics:
   920    - `bloom_filter_count`
   921    - `bloom_filter_entries`
   922    - `bloom_filter_hashes`
   923    - `bloom_filter_max_count`
   924    - `bloom_filter_reset_count`
   925    to the following namespaces:
   926    - `avalanche_X_vm_mempool`
   927    - `avalanche_P_vm_mempool`
   928    - `avalanche_C_vm_sdk_atomic_mempool`
   929    - `avalanche_C_vm_sdk_eth_mempool`
   930  
   931  ### Fixes
   932  
   933  - Fixed race condition during validator set creation
   934  - Fixed C-chain mempool bloom filter recalculation
   935  
   936  ### What's Changed
   937  
   938  - `vms/platformvm`: Change `AdvanceTimeTo` to modify passed-in `parentState` by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2489
   939  - `vms/platformvm`: Remove `MempoolTxVerifier` by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2362
   940  - Verify `SignedIP.Timestamp` from `PeerList` messages by @danlaine in https://github.com/ava-labs/avalanchego/pull/2587
   941  - Fix metrics namespace by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2632
   942  - Add bloom filter metrics to the p2p sdk by @ceyonur in https://github.com/ava-labs/avalanchego/pull/2612
   943  - Replace `shutdownEnvironment` with `t.Cleanup()` by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2491
   944  - P-chain - Memo field zeroed post Durango  by @abi87 in https://github.com/ava-labs/avalanchego/pull/2607
   945  - Refactor feature extensions out of VMManager by @joshua-kim in https://github.com/ava-labs/avalanchego/pull/2578
   946  - Remove getter for router on chain manager by @joshua-kim in https://github.com/ava-labs/avalanchego/pull/2641
   947  - Fix `require.ErrorIs` argument order by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2645
   948  - `api/admin`: Cleanup `SuccessResponseTests` by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2644
   949  - Allow calls to `Options` before `Verify` by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2363
   950  - Improve logging of unexpected proposer errors by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2646
   951  - Disable non-security related dependabot PRs by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2647
   952  - Add historical fork times by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2649
   953  - Cleanup warp signer tests by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2651
   954  - Reintroduce the upgrade test against v1.10.18 by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2652
   955  - Cleanup database benchmarks by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2653
   956  - Cleanup database tests by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2654
   957  - `ci`: Add shellcheck step to lint job by @marun in https://github.com/ava-labs/avalanchego/pull/2650
   958  - Replace `closeFn` with `t.Cleanup` by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2638
   959  - Fix TestExpiredBuildBlock by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2655
   960  - Add admin.dbGet API by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2667
   961  - `ci`: Update shellcheck.sh to pass all args to shellcheck by @marun in https://github.com/ava-labs/avalanchego/pull/2657
   962  - `vms/platformvm`: Remove `NewAdvanceTimeTx` from `Builder` by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2668
   963  - Log error if database returns unsorted heights by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2670
   964  - `vms/platformvm`: Move `vm.Shutdown` call in tests to `t.Cleanup` by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2669
   965  - `e2e`: Add test of `platform.getValidatorsAt` across nodes by @marun in https://github.com/ava-labs/avalanchego/pull/2664
   966  - Fix P-chain validator set lookup race condition by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2672
   967  
   968  **Full Changelog**: https://github.com/ava-labs/avalanchego/compare/v1.10.18...v1.10.19
   969  
   970  ## [v1.10.18](https://github.com/ava-labs/avalanchego/releases/tag/v1.10.18)
   971  
   972  This version is backwards compatible to [v1.10.0](https://github.com/ava-labs/avalanchego/releases/tag/v1.10.0). It is optional, but encouraged.
   973  
   974  The plugin version is updated to `31` all plugins must update to be compatible.
   975  
   976  ### APIs
   977  
   978  - Added `info.acps` API
   979  - Added `supportedACPs` and `objectedACPs` for each peer returned by `info.peers`
   980  - Added `txs` field to `BanffProposalBlock`'s json format
   981  - Added metrics:
   982    - `avalanche_network_validator_ips`
   983    - `avalanche_network_gossipable_ips`
   984    - `avalanche_network_ip_bloom_count`
   985    - `avalanche_network_ip_bloom_entries`
   986    - `avalanche_network_ip_bloom_hashes`
   987    - `avalanche_network_ip_bloom_max_count`
   988    - `avalanche_network_ip_bloom_reset_count`
   989  - Added metrics related to `get_peer_list` message handling
   990  - Added p2p SDK metrics to  the P-chain and X-chain
   991  - Renamed metrics related to message handling:
   992    - `version` -> `handshake`
   993    - `appRequestFailed` -> `appError`
   994    - `crossChainAppRequestFailed` -> `crossChainAppError`
   995  - Removed `gzip` compression time metrics
   996  - Converted p2p SDK metrics to use vectors rather than independent metrics
   997  - Converted client name reported over the p2p network from `avalanche` to `avalanchego`
   998  
   999  ### Configs
  1000  
  1001  - Added:
  1002    - `--acp-support`
  1003    - `--acp-object`
  1004    - `snow-commit-threshold`
  1005    - `network-peer-list-pull-gossip-frequency`
  1006    - `network-peer-list-bloom-reset-frequency`
  1007    - `network` to the X-chain and P-chain configs including:
  1008      - `max-validator-set-staleness`
  1009      - `target-gossip-size`
  1010      - `pull-gossip-poll-size`
  1011      - `pull-gossip-frequency`
  1012      - `pull-gossip-throttling-period`
  1013      - `pull-gossip-throttling-limit`
  1014      - `expected-bloom-filter-elements`
  1015      - `expected-bloom-filter-false-positive-probability`
  1016      - `max-bloom-filter-false-positive-probability`
  1017      - `legacy-push-gossip-cache-size`
  1018  - Deprecated:
  1019      - `snow-virtuous-commit-threshold`
  1020      - `snow-rogue-commit-threshold`
  1021      - `network-peer-list-validator-gossip-size`
  1022      - `network-peer-list-non-validator-gossip-size`
  1023      - `network-peer-list-peers-gossip-size`
  1024      - `network-peer-list-gossip-frequency`
  1025  - Removed:
  1026    - `gzip` as an option for `network-compression-type`
  1027  
  1028  ### Fixes
  1029  
  1030  - Fixed `platformvm.SetPreference` to correctly reset the block building timer
  1031  - Fixed early bootstrapping termination
  1032  - Fixed duplicated transaction initialization in the X-chain and P-chain
  1033  - Fixed IP gossip when using dynamically allocated staking ports
  1034  - Updated `golang.org/x/exp` dependency to fix downstream compilation errors
  1035  - Updated `golang.org/x/crypto` dependency to address `CVE-2023-48795`
  1036  - Updated minimum golang version to address `CVE-2023-39326`
  1037  - Restricted `GOPROXY` during compilation to avoid `direct` version control fallbacks
  1038  - Fixed `merkledb` deletion of the empty key
  1039  - Fixed `merkledb` race condition when interacting with invalidated or closed trie views
  1040  - Fixed `json.Marshal` for `wallet` transactions
  1041  - Fixed duplicate outbound dialer for manually tracked nodes in the p2p network
  1042  
  1043  ### What's Changed
  1044  
  1045  - testing: Update to latest version of ginkgo by @marun in https://github.com/ava-labs/avalanchego/pull/2390
  1046  - `vms/platformvm`: Cleanup block builder tests by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2406
  1047  - Drop Pending Stakers 0 - De-duplicate staking tx verification by @abi87 in https://github.com/ava-labs/avalanchego/pull/2335
  1048  - `vms/platformvm`: Initialize txs in `Transactions` field for `BanffProposalBlock` by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2419
  1049  - `vms/platformvm`: Move `VerifyUniqueInputs` from `verifier` to `backend` by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2410
  1050  - Fix duplicated bootstrapper engine termination by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2334
  1051  - allow user of `build_fuzz.sh` to specify a directory to fuzz in by @danlaine in https://github.com/ava-labs/avalanchego/pull/2414
  1052  - Update slices dependency to use Compare by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2424
  1053  - `vms/platformvm`: Cleanup some block tests by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2422
  1054  - ProposerVM Extend windows 0 - Cleanup by @abi87 in https://github.com/ava-labs/avalanchego/pull/2404
  1055  - `vms/platformvm`: Add `decisionTxs` parameter to `NewBanffProposalBlock` by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2411
  1056  - Update minimum golang version to v1.20.12 by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2427
  1057  - Fix platformvm.SetPreference by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2429
  1058  - Restrict GOPROXY by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2434
  1059  - Drop Pending Stakers 1 - introduced ScheduledStaker txs by @abi87 in https://github.com/ava-labs/avalanchego/pull/2323
  1060  - Run merkledb fuzz tests every 6 hours by @danlaine in https://github.com/ava-labs/avalanchego/pull/2415
  1061  - Remove unused error by @joshua-kim in https://github.com/ava-labs/avalanchego/pull/2426
  1062  - Make `messageQueue.msgAndCtxs` a circular buffer by @danlaine in https://github.com/ava-labs/avalanchego/pull/2433
  1063  - ProposerVM Extend windows 1 - UTs Cleanup by @abi87 in https://github.com/ava-labs/avalanchego/pull/2412
  1064  - Change seed from int64 to uint64 by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2438
  1065  - Remove usage of timer.Timer in node by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2441
  1066  - Remove staged timer again by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2440
  1067  - `merkledb` / `sync` -- Disambiguate no end root from no start root by @danlaine in https://github.com/ava-labs/avalanchego/pull/2437
  1068  - Drop Pending Stakers 2 - Replace txs.ScheduledStaker with txs.Staker by @abi87 in https://github.com/ava-labs/avalanchego/pull/2305
  1069  - `vms/platformvm`: Remove double block building logic by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2380
  1070  - Remove usage of timer.Timer in benchlist by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2446
  1071  - `vms/avm`: Simplify `Peek` function in mempool by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2449
  1072  - `vms/platformvm`: Remove `standardBlockState` struct by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2450
  1073  - Refactor sampler seeding by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2456
  1074  - Update tmpnet fixture to include Proof-of-Possession for initial stakers by @marun in https://github.com/ava-labs/avalanchego/pull/2391
  1075  - `vms/platformvm`: Remove `EnableAdding` and `DisableAdding` from `Mempool` interface by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2463
  1076  - `vms/avm`: Add `exists` bool to mempool `Peek` by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2465
  1077  - `vms/platformvm`: Remove `PeekTxs` from `Mempool` interface by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2378
  1078  - `vms/platformvm`: Add `processStandardTxs` helper by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2461
  1079  - `vms/platformvm`: Process `atomicRequests` and `onAcceptFunc` in option blocks by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2459
  1080  - `e2e`: Rename 'funded key' to 'pre-funded key' for consistency by @marun in https://github.com/ava-labs/avalanchego/pull/2455
  1081  - `vms/platformvm`: Surface `VerifyUniqueInputs` in the `Manager` by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2467
  1082  - `vms/platformvm`: Add `TestBuildBlockShouldReward` test by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2466
  1083  - Switch client version to a proto type from a string by @joshua-kim in https://github.com/ava-labs/avalanchego/pull/2188
  1084  - Remove stale TODO by @danlaine in https://github.com/ava-labs/avalanchego/pull/2468
  1085  - `vms/platformvm`: Add `TestBuildBlockDoesNotBuildWithEmptyMempool` test by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2469
  1086  - `vms/platformvm`: Add `TestBuildBlockShouldAdvanceTime` test by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2471
  1087  - `vms/platformvm`: Permit usage of the `Transactions` field in `BanffProposalBlock` by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2451
  1088  - `vms/platformvm`: Add `TestBuildBlockForceAdvanceTime` test by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2472
  1089  - P2P AppError handling by @joshua-kim in https://github.com/ava-labs/avalanchego/pull/2248
  1090  - `vms/platformvm`: Verify txs before building a block by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2359
  1091  - Refactor p2p unit tests by @joshua-kim in https://github.com/ava-labs/avalanchego/pull/2475
  1092  - Add ACP signaling by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2476
  1093  - Refactor SDK by @joshua-kim in https://github.com/ava-labs/avalanchego/pull/2452
  1094  - Cleanup CI by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2480
  1095  - Ensure upgrade test uses the correct binary on restart by @marun in https://github.com/ava-labs/avalanchego/pull/2478
  1096  - Prefetch Improvement by @dboehm-avalabs in https://github.com/ava-labs/avalanchego/pull/2435
  1097  - ci: run each fuzz test for 10 seconds by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2483
  1098  - Remove nullable options by @nytzuga in https://github.com/ava-labs/avalanchego/pull/2481
  1099  - `merkledb` -- dynamic root by @danlaine in https://github.com/ava-labs/avalanchego/pull/2177
  1100  - fix onEvictCache by @danlaine in https://github.com/ava-labs/avalanchego/pull/2484
  1101  - Remove cached node bytes from merkle nodes  by @dboehm-avalabs in https://github.com/ava-labs/avalanchego/pull/2393
  1102  - Fix race in view iteration by @dboehm-avalabs in https://github.com/ava-labs/avalanchego/pull/2486
  1103  - MerkleDB -- update readme by @danlaine in https://github.com/ava-labs/avalanchego/pull/2423
  1104  - Drop Pending Stakers 3 - persist stakers' StartTime by @abi87 in https://github.com/ava-labs/avalanchego/pull/2306
  1105  - SDK Push Gossiper implementation by @joshua-kim in https://github.com/ava-labs/avalanchego/pull/2428
  1106  - `tmpnet`: Move tmpnet/local to tmpnet package  by @marun in https://github.com/ava-labs/avalanchego/pull/2457
  1107  - `merkledb` -- make tests use time as randomness seed by @danlaine in https://github.com/ava-labs/avalanchego/pull/2470
  1108  - `tmpnet`: Break config.go up into coherent parts by @marun in https://github.com/ava-labs/avalanchego/pull/2462
  1109  - Drop Pending Stakers 4 - minimal UT infra cleanup by @abi87 in https://github.com/ava-labs/avalanchego/pull/2332
  1110  - ProposerVM Extend windows 2- extend windowing by @abi87 in https://github.com/ava-labs/avalanchego/pull/2401
  1111  - Support json marshalling txs returned from the wallet by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2494
  1112  - Avoid escaping to improve readability by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2496
  1113  - Allow OutputOwners to be json marshalled without InitCtx by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2495
  1114  - Drop Pending Stakers 5 - validated PostDurango StakerTxs by @abi87 in https://github.com/ava-labs/avalanchego/pull/2314
  1115  - Bump golang.org/x/crypto from 0.14.0 to 0.17.0 by @dependabot in https://github.com/ava-labs/avalanchego/pull/2502
  1116  - Remove unused `BuildGenesisTest` function by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2503
  1117  - Remove unused `AcceptorTracker` struct by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2508
  1118  - Dedupe secp256k1 key usage in tests by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2511
  1119  - Merkledb readme updates by @danlaine in https://github.com/ava-labs/avalanchego/pull/2510
  1120  - Gossip Test structs by @joshua-kim in https://github.com/ava-labs/avalanchego/pull/2514
  1121  - `tmpnet`: Separate node into orchestration, config and process  by @marun in https://github.com/ava-labs/avalanchego/pull/2460
  1122  - Move `snow.DefaultConsensusContextTest` to `snowtest.ConsensusContext` by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2507
  1123  - Add gossip Marshaller interface by @joshua-kim in https://github.com/ava-labs/avalanchego/pull/2509
  1124  - Include chain creation error in health check by @marun in https://github.com/ava-labs/avalanchego/pull/2519
  1125  - Make X-chain mempool safe for concurrent use by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2520
  1126  - Initialize transactions once by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2521
  1127  - `vms/avm`: Remove usage of `require.Contains` from service tests by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2517
  1128  - Move context lock into issueTx by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2524
  1129  - Rework X-chain locking in tests by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2526
  1130  - `vms/avm`: Simplify `mempool.Remove` signature by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2527
  1131  - Remove unused mocks by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2528
  1132  - Move `avm.newContext` to `snowtest.Context` by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2513
  1133  - Do not fail-fast Tests / Unit by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2530
  1134  - Make P-Chain Mempool thread-safe by @joshua-kim in https://github.com/ava-labs/avalanchego/pull/2523
  1135  - `vms/platformvm`: Use `snowtest.Context` helper by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2515
  1136  - Export mempool errors by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2531
  1137  - Move locking into issueTx by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2532
  1138  - Fix merge in wallet service by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2534
  1139  - Introduce TxVerifier interface to network by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2533
  1140  - Export P-Chain Mempool Errors by @joshua-kim in https://github.com/ava-labs/avalanchego/pull/2535
  1141  - Rename `Version` message to  `Handshake` by @danlaine in https://github.com/ava-labs/avalanchego/pull/2479
  1142  - Rename myVersionTime to ipSigningTime by @danlaine in https://github.com/ava-labs/avalanchego/pull/2537
  1143  - Remove resolved TODO by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2540
  1144  - Only initialize Txs once by @joshua-kim in https://github.com/ava-labs/avalanchego/pull/2538
  1145  - JSON marshal the `Transactions` field in `BanffProposalBlocks` by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2541
  1146  - Enable `predeclared` linter by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2539
  1147  - Move context lock into `network.issueTx` by @joshua-kim in https://github.com/ava-labs/avalanchego/pull/2525
  1148  - Remove comment on treating failed sends as FATAL by @joshua-kim in https://github.com/ava-labs/avalanchego/pull/2544
  1149  - Add TxVerifier interface to network by @joshua-kim in https://github.com/ava-labs/avalanchego/pull/2542
  1150  - X-chain SDK gossip by @joshua-kim in https://github.com/ava-labs/avalanchego/pull/2490
  1151  - Remove network context by @joshua-kim in https://github.com/ava-labs/avalanchego/pull/2543
  1152  - Remove `snow.DefaultContextTest` by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2518
  1153  - Fix windowing when no validator is available by @abi87 in https://github.com/ava-labs/avalanchego/pull/2529
  1154  - Unexport fields from gossip.BloomFilter by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2547
  1155  - P-Chain SDK Gossip by @joshua-kim in https://github.com/ava-labs/avalanchego/pull/2487
  1156  - Documentation Fixes: Grammatical Corrections and Typo Fixes Across Multiple Files by @joaolago1113 in https://github.com/ava-labs/avalanchego/pull/2550
  1157  - Notify block builder of txs after reject by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2549
  1158  - Set dependabot target branch to `dev` by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2553
  1159  - Remove `MockLogger` by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2554
  1160  - Clean up merkleDB interface and duplicate code by @dboehm-avalabs in https://github.com/ava-labs/avalanchego/pull/2445
  1161  - Do not mark txs as dropped when mempool is full by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2557
  1162  - Update bug bounty program to immunefi by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2558
  1163  - Fix p2p sdk metric labels by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2561
  1164  - Suppress gossip warnings due to no sampled peers by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2562
  1165  - Remove dead code and unnecessary lock from reflect codec by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2560
  1166  - Remove unused index interface by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2564
  1167  - Implement SetMap and use it in XP-chain mempools by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2555
  1168  - `vms/platformvm`: Add `TestIterate` by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2565
  1169  - Cleanup codec usage by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2563
  1170  - Remove `len` tag parsing from the reflect codec by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2559
  1171  - Use more specific type by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2567
  1172  - Standardize `onShutdownCtx` by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2568
  1173  - Verify avm mempool txs against the last accepted state by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2569
  1174  - Update `CODEOWNERS` by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2570
  1175  - Remove license from mocks by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2574
  1176  - Add missing import by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2573
  1177  - `vms/platformvm`: Prune mempool periodically by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2566
  1178  - Update license header to 2024 by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2572
  1179  - [MerkleDB] Make intermediate node cache two layered by @dboehm-avalabs in https://github.com/ava-labs/avalanchego/pull/2576
  1180  - Fix merkledb rebuild iterator by @dboehm-avalabs in https://github.com/ava-labs/avalanchego/pull/2581
  1181  - Fix intermediate node caching by @dboehm-avalabs in https://github.com/ava-labs/avalanchego/pull/2585
  1182  - Remove codec length check after Durango by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2586
  1183  - `tmpnet`: Use AvalancheLocalChainConfig for cchain genesis by @marun in https://github.com/ava-labs/avalanchego/pull/2583
  1184  - `testing`: Ensure CheckBootstrapIsPossible is safe for teardown by @marun in https://github.com/ava-labs/avalanchego/pull/2582
  1185  - `tmpnet`: Separate network into orchestration and configuration by @marun in https://github.com/ava-labs/avalanchego/pull/2464
  1186  - Update uintsize implementation by @danlaine in https://github.com/ava-labs/avalanchego/pull/2590
  1187  - Optimize bloom filter by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2588
  1188  - Remove TLS key gen from networking tests by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2596
  1189  - [utils/bloom] Optionally Update Bloom Filter Size on Reset by @patrick-ogrady in https://github.com/ava-labs/avalanchego/pull/2591
  1190  - [ci] Increase Fuzz Time in Periodic Runs by @patrick-ogrady in https://github.com/ava-labs/avalanchego/pull/2599
  1191  - `tmpnet`: Save metrics snapshot to disk before node shutdown by @marun in https://github.com/ava-labs/avalanchego/pull/2601
  1192  - chore: Fix typo s/useage/usage by @hugo-syn in https://github.com/ava-labs/avalanchego/pull/2602
  1193  - Deprecate `SnowRogueCommitThresholdKey` and `SnowVirtuousCommitThresholdKey` by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2600
  1194  - Fix networking invalid field log by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2604
  1195  - chore: Fix typo s/seperate/separate/ by @hugo-syn in https://github.com/ava-labs/avalanchego/pull/2605
  1196  - Support dynamic port peerlist gossip by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2603
  1197  - Replace `PeerListAck` with `GetPeerList` by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2580
  1198  - Log critical consensus values during health checks by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2609
  1199  - Update contributions branch to master by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2610
  1200  - Add ip bloom metrics by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2614
  1201  - `x/sync`: Auto-generate `MockNetworkClient` by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2617
  1202  - Remove CreateStaticHandlers from VM interface by @joshua-kim in https://github.com/ava-labs/avalanchego/pull/2589
  1203  - `tmpnet`: Add support for subnets by @marun in https://github.com/ava-labs/avalanchego/pull/2492
  1204  - Update `go.uber.org/mock/gomock` to `v0.4.0` by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2618
  1205  - Add `mockgen` source mode for generics + bls imports by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2615
  1206  - Verify all MockGen generated files are re-generated in CI by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2616
  1207  - Move division by 0 check out of the bloom loops by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2622
  1208  - P-chain Add UTs around stakers persistence in platformvm state by @abi87 in https://github.com/ava-labs/avalanchego/pull/2505
  1209  - Revert "Set dependabot target branch to `dev` (#2553)" by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2623
  1210  - Remove remaining 2023 remnants by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2624
  1211  - Deprecate push-based peerlist gossip flags by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2625
  1212  - Remove support for compressing gzip messages by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2627
  1213  - Always attempt to install mockgen `v0.4.0` before execution by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2628
  1214  - Modify TLS parsing rules for Durango by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2458
  1215  
  1216  ### New Contributors
  1217  
  1218  - @joaolago1113 made their first contribution in https://github.com/ava-labs/avalanchego/pull/2550
  1219  - @hugo-syn made their first contribution in https://github.com/ava-labs/avalanchego/pull/2602
  1220  
  1221  **Full Changelog**: https://github.com/ava-labs/avalanchego/compare/v1.10.17...v1.10.18
  1222  
  1223  ## [v1.10.17](https://github.com/ava-labs/avalanchego/releases/tag/v1.10.17)
  1224  
  1225  This version is backwards compatible to [v1.10.0](https://github.com/ava-labs/avalanchego/releases/tag/v1.10.0). It is optional, but encouraged.
  1226  
  1227  The plugin version is unchanged at `30` and is compatible with versions `v1.10.15-v1.10.16`.
  1228  
  1229  ### APIs
  1230  
  1231  - Added `avalanche_{chainID}_blks_build_accept_latency` metric
  1232  - Added `avalanche_{chainID}_blks_issued{source}` metric with sources:
  1233    -  `pull_gossip`
  1234    -  `push_gossip`
  1235    -  `put_gossip` which is deprecated
  1236    -  `built`
  1237    -  `unknown`
  1238  - Added `avalanche_{chainID}_issuer_stake_sum` metric
  1239  - Added `avalanche_{chainID}_issuer_stake_count` metric
  1240  
  1241  ### Configs
  1242  
  1243  - Added:
  1244    - `--consensus-frontier-poll-frequency`
  1245  - Removed:
  1246    - `--consensus-accepted-frontier-gossip-frequency`
  1247  - Deprecated:
  1248    - `--consensus-accepted-frontier-gossip-validator-size`
  1249    - `--consensus-accepted-frontier-gossip-non-validator-size`
  1250    - `--consensus-accepted-frontier-gossip-peer-size`
  1251      - Updated the default value to 1 to align with the change in default gossip frequency
  1252    - `--consensus-on-accept-gossip-validator-size`
  1253    - `--consensus-on-accept-gossip-non-validator-size`
  1254    - `--consensus-on-accept-gossip-peer-size`
  1255  
  1256  ### Fixes
  1257  
  1258  - Fixed `duplicated operation on provided value` error when executing atomic operations after state syncing the C-chain
  1259  - Removed usage of atomic trie after commitment
  1260  - Fixed atomic trie root overwrite during state sync
  1261  - Prevented closure of `stdout` and `stderr` when shutting down the logger
  1262  
  1263  ### What's Changed
  1264  
  1265  - Remove Banff check from mempool verifier by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2360
  1266  - Document storage growth in readme by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2364
  1267  - Add metric for duration between block timestamp and acceptance time by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2366
  1268  - `vms/platformvm`: Remove unused `withMetrics` txheap by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2373
  1269  - Move peerTracker from x/sync to network/p2p by @joshua-kim in https://github.com/ava-labs/avalanchego/pull/2356
  1270  - Logging avoid closing standard outputs by @felipemadero in https://github.com/ava-labs/avalanchego/pull/2372
  1271  - `vms/platformvm`: Adjust `Diff.Apply` signature by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2368
  1272  - Add bls validator info to genesis by @felipemadero in https://github.com/ava-labs/avalanchego/pull/2371
  1273  - Remove `engine.GetVM` by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2374
  1274  - `vms/platformvm`: Consolidate `state` pkg mocks by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2370
  1275  - Remove common bootstrapper by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2297
  1276  - `vms/platformvm`: Move `toEngine` channel to mempool by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2333
  1277  - `vms/avm`: Rename `states` pkg to `state` by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2381
  1278  - Implement generic bimap by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2383
  1279  - Unexport RequestID from snowman engine by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2384
  1280  - Add metric to track the stake weight of block providers by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2376
  1281  - Add block source metrics to monitor gossip by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2386
  1282  - Rename `D` to `Durango` by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2389
  1283  - Replace periodic push accepted gossip with pull preference gossip for block discovery by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2367
  1284  - MerkleDB Remove ID from Node to reduce size and removal channel creation. by @dboehm-avalabs in https://github.com/ava-labs/avalanchego/pull/2324
  1285  - Remove method `CappedList` from `set.Set` by @danlaine in https://github.com/ava-labs/avalanchego/pull/2395
  1286  - Periodically PullGossip only from connected validators by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2399
  1287  - Update bootstrap IPs by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2396
  1288  - Rename `testnet` fixture to `tmpnet` by @marun in https://github.com/ava-labs/avalanchego/pull/2307
  1289  - Add `p2p.Network` component by @joshua-kim in https://github.com/ava-labs/avalanchego/pull/2283
  1290  - `vms/platformvm`: Move `GetRewardUTXOs`, `GetSubnets`, and `GetChains` to `State` interface by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2402
  1291  - Add more descriptive formatted error by @aaronbuchwald in https://github.com/ava-labs/avalanchego/pull/2403
  1292  
  1293  **Full Changelog**: https://github.com/ava-labs/avalanchego/compare/v1.10.16...v1.10.17
  1294  
  1295  ## [v1.10.16](https://github.com/ava-labs/avalanchego/releases/tag/v1.10.16)
  1296  
  1297  This version is backwards compatible to [v1.10.0](https://github.com/ava-labs/avalanchego/releases/tag/v1.10.0). It is optional, but encouraged.
  1298  
  1299  The plugin version is unchanged at `30` and compatible with version `v1.10.15`.
  1300  
  1301  ### APIs
  1302  
  1303  - Added log level information to the result of `admin.setLoggerLevel`
  1304  - Updated `info.peers` to return chain aliases for `benched` chains
  1305  - Added support to sample validators of non-tracked subnets with `platform.sampleValidators`
  1306  - Added `avalanche_{chainID}_max_verified_height` metric to track the highest verified block
  1307  
  1308  ### Configs
  1309  
  1310  - Added `--db-read-only` to run the node without writing to disk.
  1311    - This flag is only expected to be used during testing as it will cause memory use to increase over time
  1312  - Removed `--bootstrap-retry-enabled`
  1313  - Removed `--bootstrap-retry-warn-frequency`
  1314  
  1315  ### Fixes
  1316  
  1317  - Fixed packing of large block requests during C-chain state sync
  1318  - Fixed order of updating acceptor tip and sending chain events to C-chain event subscribers
  1319  
  1320  ### What's Changed
  1321  
  1322  - Return log levels from admin.SetLoggerLevel by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2250
  1323  - feat(api) : Peers function to return the PrimaryAlias of the chainID by @DoTheBestToGetTheBest in https://github.com/ava-labs/avalanchego/pull/2251
  1324  - Switch to using require.TestingT interface in SenderTest struct by @marun in https://github.com/ava-labs/avalanchego/pull/2258
  1325  - Cleanup `ipcs` `Socket` test by @danlaine in https://github.com/ava-labs/avalanchego/pull/2257
  1326  - Require poll metrics to be registered by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2260
  1327  - Track all subnet validator sets in the validator manager by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2253
  1328  - e2e: Make NewWallet and NewEthclient regular functions by @marun in https://github.com/ava-labs/avalanchego/pull/2262
  1329  - Fix typos in docs by @vuittont60 in https://github.com/ava-labs/avalanchego/pull/2261
  1330  - Remove Token constants information from keys by @dboehm-avalabs in https://github.com/ava-labs/avalanchego/pull/2197
  1331  - Remove unused `UnsortedEquals` function by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2264
  1332  - Document p2p package by @joshua-kim in https://github.com/ava-labs/avalanchego/pull/2254
  1333  - Use extended public key to derive ledger addresses by @felipemadero in https://github.com/ava-labs/avalanchego/pull/2246
  1334  - `merkledb` -- rename nit by @danlaine in https://github.com/ava-labs/avalanchego/pull/2267
  1335  - `merkledb` -- fix nil check in test by @danlaine in https://github.com/ava-labs/avalanchego/pull/2268
  1336  - Add read-only database flag (`--db-read-only`)  by @danlaine in https://github.com/ava-labs/avalanchego/pull/2266
  1337  - `merkledb` -- remove unneeded var declarations by @danlaine in https://github.com/ava-labs/avalanchego/pull/2269
  1338  - Add fuzz test for `NewIteratorWithStartAndPrefix` by @danlaine in https://github.com/ava-labs/avalanchego/pull/1992
  1339  - Return if element was deleted from `Hashmap` by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2271
  1340  - `mempool.NewMempool` -> `mempool.New` by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2276
  1341  - e2e: Refactor suite setup and helpers to tests/fixture/e2e for reuse by coreth by @marun in https://github.com/ava-labs/avalanchego/pull/2265
  1342  - Cleanup platformvm mempool errs by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2278
  1343  - MerkleDB:Naming and comments cleanup by @dboehm-avalabs in https://github.com/ava-labs/avalanchego/pull/2274
  1344  - Move `DropExpiredStakerTxs` to platformvm mempool by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2279
  1345  - Cleanup `ids.NodeID` usage by @abi87 in https://github.com/ava-labs/avalanchego/pull/2280
  1346  - Genesis validators cleanup by @abi87 in https://github.com/ava-labs/avalanchego/pull/2282
  1347  - Remove Lazy Initialize on Node by @joshua-kim in https://github.com/ava-labs/avalanchego/pull/1384
  1348  - Remove sentinel node from MerkleDB proofs by @dboehm-avalabs in https://github.com/ava-labs/avalanchego/pull/2106
  1349  - Embed `noop` handler for all unhandled messages by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2288
  1350  - `merkledb` -- Add `Clearer` interface  by @danlaine in https://github.com/ava-labs/avalanchego/pull/2277
  1351  - Simplify get server creation by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2285
  1352  - Move management of platformvm preferred block to `executor.Manager` by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2292
  1353  - Add `recentTxsLock` to platform `network` struct by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2294
  1354  - e2e: More fixture refinement in support of coreth integration testing  by @marun in https://github.com/ava-labs/avalanchego/pull/2275
  1355  - Add `VerifyTx` to `executor.Manager` by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2293
  1356  - Simplify avalanche bootstrapping by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2286
  1357  - Replace unique slices with sets in the engine interface by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2317
  1358  - Use zap.Stringer rather than zap.Any by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2320
  1359  - Move `AddUnverifiedTx` logic to `network.IssueTx` by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2310
  1360  - Remove `AddUnverifiedTx` from `Builder` by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2311
  1361  - Remove error from SDK AppGossip handler by @joshua-kim in https://github.com/ava-labs/avalanchego/pull/2252
  1362  - Rename AppRequestFailed to AppError by @joshua-kim in https://github.com/ava-labs/avalanchego/pull/2321
  1363  - Remove `Network` interface from `Builder` by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2312
  1364  - Update `error_code` to be sint32 instead of uint32. by @joshua-kim in https://github.com/ava-labs/avalanchego/pull/2322
  1365  - Refactor bootstrapper implementation into consensus by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2300
  1366  - Pchain - Cleanup NodeID generation in UTs by @abi87 in https://github.com/ava-labs/avalanchego/pull/2291
  1367  - nit: loop --> variadic by @danlaine in https://github.com/ava-labs/avalanchego/pull/2316
  1368  - Update zap dependency to v1.26.0 by @danlaine in https://github.com/ava-labs/avalanchego/pull/2325
  1369  - Remove useless anon functions by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2326
  1370  - Move `network` implementation to separate package by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2296
  1371  - Unexport avalanche constant from common package by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2327
  1372  - Remove `common.Config` functions by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2328
  1373  - Move engine startup into helper function by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2329
  1374  - Remove bootstrapping retry config by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2301
  1375  - Export snowman bootstrapper by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2331
  1376  - Remove common.Config from syncer.Config by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2330
  1377  - `platformvm.VM` -- replace `Config` field with `validators.Manager` by @danlaine in https://github.com/ava-labs/avalanchego/pull/2319
  1378  - Improve height monitoring by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2347
  1379  - Cleanup snowman consensus metrics by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2349
  1380  - Expand consensus health check by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2354
  1381  - Reduce the size of the OracleBlock interface by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2355
  1382  - [vms/proposervm] Update Build Heuristic by @patrick-ogrady in https://github.com/ava-labs/avalanchego/pull/2348
  1383  - Use linkedhashmap for P-Chain mempool by @gyuho in https://github.com/ava-labs/avalanchego/pull/1536
  1384  - Increase txs in pool metric when adding tx by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2361
  1385  
  1386  ### New Contributors
  1387  
  1388  - @DoTheBestToGetTheBest made their first contribution in https://github.com/ava-labs/avalanchego/pull/2251
  1389  - @vuittont60 made their first contribution in https://github.com/ava-labs/avalanchego/pull/2261
  1390  
  1391  **Full Changelog**: https://github.com/ava-labs/avalanchego/compare/v1.10.15...v1.10.16
  1392  
  1393  ## [v1.10.15](https://github.com/ava-labs/avalanchego/releases/tag/v1.10.15)
  1394  
  1395  This version is backwards compatible to [v1.10.0](https://github.com/ava-labs/avalanchego/releases/tag/v1.10.0). It is optional, but encouraged.
  1396  
  1397  The plugin version is updated to `30` all plugins must update to be compatible.
  1398  
  1399  ### Configs
  1400  
  1401  - Added `pebble` as an allowed option to `--db-type`
  1402  
  1403  ### Fixes
  1404  
  1405  - Fixed C-chain tracer API panic
  1406  
  1407  ### What's Changed
  1408  
  1409  - Reduce allocations on insert and remove by @dboehm-avalabs in https://github.com/ava-labs/avalanchego/pull/2201
  1410  - `merkledb` -- shift nit by @danlaine in https://github.com/ava-labs/avalanchego/pull/2218
  1411  - Update `golangci-lint` to `v1.55.1` by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2228
  1412  - Add json marshal tests to existing serialization tests in `platformvm/txs` pkg by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2227
  1413  - Move all blst function usage to `bls` pkg by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2222
  1414  - `merkledb` -- don't pass `BranchFactor` to `encodeDBNode` by @danlaine in https://github.com/ava-labs/avalanchego/pull/2217
  1415  - Add `utils.Err` helper by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2212
  1416  - Enable `perfsprint` linter by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2229
  1417  - Trim down size of secp256k1 `Factory` struct by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2223
  1418  - Fix test typos by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2233
  1419  - P2P AppRequestFailed protobuf definition by @joshua-kim in https://github.com/ava-labs/avalanchego/pull/2111
  1420  - Remove error from Router AppGossip by @joshua-kim in https://github.com/ava-labs/avalanchego/pull/2238
  1421  - Document host and port behavior in help text by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2236
  1422  - Remove `database.Manager` by @danlaine in https://github.com/ava-labs/avalanchego/pull/2239
  1423  - Add `BaseTx` support to platformvm by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2232
  1424  - Add `pebble` as valid value for `--db-type`. by @danlaine in https://github.com/ava-labs/avalanchego/pull/2244
  1425  - Add nullable option to codec by @nytzuga in https://github.com/ava-labs/avalanchego/pull/2171
  1426  
  1427  **Full Changelog**: https://github.com/ava-labs/avalanchego/compare/v1.10.14...v1.10.15
  1428  
  1429  ## [v1.10.14](https://github.com/ava-labs/avalanchego/releases/tag/v1.10.14)
  1430  
  1431  This version is backwards compatible to [v1.10.0](https://github.com/ava-labs/avalanchego/releases/tag/v1.10.0). It is optional, but encouraged.
  1432  
  1433  The plugin version is unchanged at `29` and compatible with version `v1.10.13`.
  1434  
  1435  ### Configs
  1436  
  1437  - Deprecated `--api-ipcs-enabled`
  1438  - Deprecated `--ipcs-chain-ids`
  1439  - Deprecated `--ipcs-path`
  1440  - Deprecated `--api-keystore-enabled`
  1441  
  1442  ### Fixes
  1443  
  1444  - Fixed shutdown of timeout manager
  1445  - Fixed racy access of the shutdown time
  1446  
  1447  ### What's Changed
  1448  
  1449  - Remove build check from unit tests by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2189
  1450  - Update cgo usage by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2184
  1451  - Deprecate IPC configs by @danlaine in https://github.com/ava-labs/avalanchego/pull/2168
  1452  - Update P2P proto docs by @joshua-kim in https://github.com/ava-labs/avalanchego/pull/2181
  1453  - Merkle db Make Paths only refer to lists of nodes by @dboehm-avalabs in https://github.com/ava-labs/avalanchego/pull/2143
  1454  - Deprecate keystore config by @danlaine in https://github.com/ava-labs/avalanchego/pull/2195
  1455  - Add tests for BanffBlock serialization by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2194
  1456  - Move Shutdown lock from Handler into Engines by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2179
  1457  - Move HealthCheck lock from Handler into Engines by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2173
  1458  - Implement Heap Map by @joshua-kim in https://github.com/ava-labs/avalanchego/pull/2137
  1459  - Move selectStartGear lock from Handler into Engines by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2182
  1460  - Add Heap Set by @joshua-kim in https://github.com/ava-labs/avalanchego/pull/2136
  1461  - Shutdown TimeoutManager during node Shutdown by @abi87 in https://github.com/ava-labs/avalanchego/pull/1707
  1462  - Redesign validator set management to enable tracking all subnets by @ceyonur in https://github.com/ava-labs/avalanchego/pull/1857
  1463  - Update local network readme by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2203
  1464  - Use custom codec for validator metadata by @abi87 in https://github.com/ava-labs/avalanchego/pull/1510
  1465  - Add RSA max key length test by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2205
  1466  - Remove duplicate networking check by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2204
  1467  - Update TestDialContext to use ManuallyTrack by @joshua-kim in https://github.com/ava-labs/avalanchego/pull/2209
  1468  - Remove contains from validator manager interface by @ceyonur in https://github.com/ava-labs/avalanchego/pull/2198
  1469  - Move the overridden manager into the node by @ceyonur in https://github.com/ava-labs/avalanchego/pull/2199
  1470  - Remove `aggregate` struct by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2213
  1471  - Add log for ungraceful shutdown on startup by @joshua-kim in https://github.com/ava-labs/avalanchego/pull/2215
  1472  - Add pebble database implementation by @danlaine in https://github.com/ava-labs/avalanchego/pull/1999
  1473  - Add `TransferSubnetOwnershipTx` by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2178
  1474  - Revert networking AllowConnection change by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2219
  1475  - Fix unexpected unlock by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2221
  1476  - Improve logging for block verification failure by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2224
  1477  
  1478  **Full Changelog**: https://github.com/ava-labs/avalanchego/compare/v1.10.13...v1.10.14
  1479  
  1480  ## [v1.10.13](https://github.com/ava-labs/avalanchego/releases/tag/v1.10.13)
  1481  
  1482  This version is backwards compatible to [v1.10.0](https://github.com/ava-labs/avalanchego/releases/tag/v1.10.0). It is optional, but encouraged.
  1483  
  1484  The plugin version is updated to `29` all plugins must update to be compatible.
  1485  
  1486  ### Fixes
  1487  
  1488  - Added `Prefetcher` to the `merkledb` interface
  1489  - Fixed json marshalling of `TrackedSubnets` and `AllowedNodes`
  1490  
  1491  ### What's Changed
  1492  
  1493  - Fix typo in block formation logic documentation by @kyoshisuki in https://github.com/ava-labs/avalanchego/pull/2158
  1494  - Marshal blocks and transactions inside API calls by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2153
  1495  - Remove lock options from the info api by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2149
  1496  - Remove write lock option from the avm static API by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2154
  1497  - Remove write lock option from the avm wallet API by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2155
  1498  - Fix json marshalling of Sets by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2161
  1499  - Rename `removeSubnetValidatorValidation` to `verifyRemoveSubnetValidatorTx` by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2162
  1500  - Remove lock options from the IPCs api by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2151
  1501  - Remove write lock option from the xsvm API by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2152
  1502  - Remove lock options from the admin API by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2150
  1503  - Remove aliasing of `math` standard lib by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2163
  1504  - Remove write lock option from the platformvm API by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2157
  1505  - Remove write lock option from the avm rpc API by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2156
  1506  - Remove context lock from API VM interface by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2165
  1507  - Use set.Of rather than set.Add by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2164
  1508  - Bump google.golang.org/grpc from 1.55.0 to 1.58.3 by @dependabot in https://github.com/ava-labs/avalanchego/pull/2159
  1509  - [x/merkledb] `Prefetcher` interface by @patrick-ogrady in https://github.com/ava-labs/avalanchego/pull/2167
  1510  - Validator Diffs: docs and UTs cleanup by @abi87 in https://github.com/ava-labs/avalanchego/pull/2037
  1511  - MerkleDB Reduce buffer creation/memcopy on path construction by @dboehm-avalabs in https://github.com/ava-labs/avalanchego/pull/2124
  1512  - Fix some P-chain UTs by @abi87 in https://github.com/ava-labs/avalanchego/pull/2117
  1513  
  1514  ### New Contributors
  1515  
  1516  - @kyoshisuki made their first contribution in https://github.com/ava-labs/avalanchego/pull/2158
  1517  
  1518  **Full Changelog**: https://github.com/ava-labs/avalanchego/compare/v1.10.12...v1.10.13
  1519  
  1520  ## [v1.10.12](https://github.com/ava-labs/avalanchego/releases/tag/v1.10.12)
  1521  
  1522  This version is backwards compatible to [v1.10.0](https://github.com/ava-labs/avalanchego/releases/tag/v1.10.0). It is optional, but encouraged.
  1523  
  1524  The plugin version is unchanged at `28` and compatible with versions `v1.10.9 - v1.10.11`.
  1525  
  1526  ### APIs
  1527  
  1528  - Added `avalanche_{chainID}_total_weight` metric
  1529  - Added `avalanche_{chainID}_num_validators` metric
  1530  - Added `avalanche_{chainID}_num_processing_ancestor_fetches_failed` metric
  1531  - Added `avalanche_{chainID}_num_processing_ancestor_fetches_dropped` metric
  1532  - Added `avalanche_{chainID}_num_processing_ancestor_fetches_succeeded` metric
  1533  - Added `avalanche_{chainID}_num_processing_ancestor_fetches_unneeded` metric
  1534  - Added `avalanche_{chainID}_num_missing_accepted_blocks` metric
  1535  - Added `avalanche_{chainID}_selected_vote_index_count` metric
  1536  - Added `avalanche_{chainID}_selected_vote_index_sum` metric
  1537  
  1538  ### Configs
  1539  
  1540  - Added `--snow-preference-quorum-size` flag
  1541  - Added `--snow-confidence-quorum-size` flag
  1542  - Added `"fx-owner-cache-size"` to the P-chain config
  1543  
  1544  ### Fixes
  1545  
  1546  - Fixed concurrent node shutdown and chain creation race
  1547  - Updated http2 implementation to patch CVE-2023-39325
  1548  - Exited `network.dial` early to avoid goroutine leak when shutting down
  1549  - Reduced log level of `"failed to send peer list for handshake"` messages from `ERROR` to `DEBUG`
  1550  - Reduced log level of `"state pruning failed"` messages from `ERROR` to `WARN`
  1551  
  1552  ### What's Changed
  1553  
  1554  - Add last accepted height to the snowman interface by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2091
  1555  - Delete kurtosis CI jobs by @marun in https://github.com/ava-labs/avalanchego/pull/2068
  1556  - e2e: Ensure all Issue* calls use the default context by @marun in https://github.com/ava-labs/avalanchego/pull/2069
  1557  - Remove Finalized from the consensus interface by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2093
  1558  - Remove embedding of `verify.Verifiable` in `FxCredential` by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2089
  1559  - Clarify decidable interface simple default parameter tests by @gyuho in https://github.com/ava-labs/avalanchego/pull/2094
  1560  - snow/consensus/snowman/poll: remove "unused" no early term poller by @gyuho in https://github.com/ava-labs/avalanchego/pull/2095
  1561  - Cleanup `.golangci.yml` by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2097
  1562  - Refactor `ancestor.Tree` by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2099
  1563  - Update AMI runner image and instance type by @charlie-ava in https://github.com/ava-labs/avalanchego/pull/1939
  1564  - Add `tagalign` linter by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2084
  1565  - Fix flaky BuildBlockIsIdempotent test by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2101
  1566  - Make `network.dial` honor context cancellation. by @danlaine in https://github.com/ava-labs/avalanchego/pull/2061
  1567  - Add preference lookups by height to the consensus interface by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2092
  1568  - Remove duplicate pullQuery method by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2103
  1569  - Add additional validator set metrics by @aaronbuchwald in https://github.com/ava-labs/avalanchego/pull/2051
  1570  - Remove `snowball.Initialize` and `snowball.Factory` by @danlaine in https://github.com/ava-labs/avalanchego/pull/2104
  1571  - Remove initialize functions from the snowball package by @danlaine in https://github.com/ava-labs/avalanchego/pull/2105
  1572  - Remove `genesis.State` by @joshua-kim in https://github.com/ava-labs/avalanchego/pull/2112
  1573  - add `SetSubnetOwner` to `Chain` interface by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2031
  1574  - Move vote bubbling before poll termination by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2100
  1575  - testing: Switch upgrade test to testnet fixture by @marun in https://github.com/ava-labs/avalanchego/pull/1887
  1576  - Reduce archivedb key lengths by 1 byte by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2113
  1577  - Cleanup uptime manager constructor by @abi87 in https://github.com/ava-labs/avalanchego/pull/2118
  1578  - MerkleDB Compact Path Bytes by @dboehm-avalabs in https://github.com/ava-labs/avalanchego/pull/2010
  1579  - MerkleDB Path changes cleanup by @dboehm-avalabs in https://github.com/ava-labs/avalanchego/pull/2120
  1580  - Fix consensus engine interface comments by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2115
  1581  - Standardize consensus variable names in tests by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2129
  1582  - Prevent bytesNeeded overflow by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2130
  1583  - Migrate xsvm from github.com/ava-labs/xsvm by @marun in https://github.com/ava-labs/avalanchego/pull/2045
  1584  - Fix handling of wg in the networking dial test by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2132
  1585  - Update go.mod and add update check by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2133
  1586  - Reduce log level of failing to send a peerList message by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2134
  1587  - RPCChainVM fail-fast health RPCs by @hexfusion in https://github.com/ava-labs/avalanchego/pull/2123
  1588  - MerkleDB allow warming node cache by @dboehm-avalabs in https://github.com/ava-labs/avalanchego/pull/2128
  1589  - Add vote bubbling metrics by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2138
  1590  - Reduce log level of an error during Prune by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2141
  1591  - Exit chain creation routine before shutting down chain router by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2140
  1592  - Merkle db fix type cast bug by @dboehm-avalabs in https://github.com/ava-labs/avalanchego/pull/2142
  1593  - Add Warp Payload Types by @nytzuga in https://github.com/ava-labs/avalanchego/pull/2116
  1594  - Add height voting for chits by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2102
  1595  - Add Heap Queue by @joshua-kim in https://github.com/ava-labs/avalanchego/pull/2135
  1596  - Add additional payload.Hash examples by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2145
  1597  - Split Alpha into AlphaPreference and AlphaConfidence by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2125
  1598  
  1599  **Full Changelog**: https://github.com/ava-labs/avalanchego/compare/v1.10.11...v1.10.12
  1600  
  1601  ## [v1.10.11](https://github.com/ava-labs/avalanchego/releases/tag/v1.10.11)
  1602  
  1603  This version is backwards compatible to [v1.10.0](https://github.com/ava-labs/avalanchego/releases/tag/v1.10.0). It is optional, but encouraged.
  1604  
  1605  The plugin version is unchanged at `28` and compatible with versions `v1.10.9 - v1.10.10`.
  1606  
  1607  ### Fixes
  1608  
  1609  - Prevented overzelous benching due to dropped AppRequests
  1610  - Populated the process file atomically to avoid racy reads
  1611  
  1612  ### What's Changed
  1613  
  1614  - Rename platformvm/blocks to platformvm/block by @joshua-kim in https://github.com/ava-labs/avalanchego/pull/1980
  1615  - RewardValidatorTx cleanup by @abi87 in https://github.com/ava-labs/avalanchego/pull/1891
  1616  - Cancel stale SH actions by @danlaine in https://github.com/ava-labs/avalanchego/pull/2003
  1617  - e2e: Switch assertion library from gomega to testify by @marun in https://github.com/ava-labs/avalanchego/pull/1909
  1618  - e2e: Add bootstrap checks to migrated kurtosis tests by @marun in https://github.com/ava-labs/avalanchego/pull/1935
  1619  - Add `GetTransformSubnetTx` helper by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2047
  1620  - Add readme for the staking/local folder by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2046
  1621  - use `IsCortinaActivated` helper by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2048
  1622  - add `D` upgrade boilerplate by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2049
  1623  - e2e: Ensure interchain workflow coverage for the P-Chain by @marun in https://github.com/ava-labs/avalanchego/pull/1882
  1624  - e2e: Switch to using default timed context everywhere by @marun in https://github.com/ava-labs/avalanchego/pull/1910
  1625  - Remove indentation + confusing comment by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2053
  1626  - Delete ErrDelegatorSubset by @joshua-kim in https://github.com/ava-labs/avalanchego/pull/2055
  1627  - Fix default validator start time by @marun in https://github.com/ava-labs/avalanchego/pull/2058
  1628  - Enable workflows to be triggered by merge queue by @marun in https://github.com/ava-labs/avalanchego/pull/2057
  1629  - e2e: Migrate staking rewards test from kurtosis by @marun in https://github.com/ava-labs/avalanchego/pull/1767
  1630  - Fix LRU documentation comment by @anusha-ctrl in https://github.com/ava-labs/avalanchego/pull/2036
  1631  - Ignore AppResponse timeouts for benching by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2066
  1632  - trace: provide appName and version from Config by @najeal in https://github.com/ava-labs/avalanchego/pull/1893
  1633  - Update perms.WriteFile to write atomically  by @marun in https://github.com/ava-labs/avalanchego/pull/2063
  1634  - ArchiveDB by @nytzuga in https://github.com/ava-labs/avalanchego/pull/1911
  1635  
  1636  **Full Changelog**: https://github.com/ava-labs/avalanchego/compare/v1.10.10...v1.10.11
  1637  
  1638  ## [v1.10.10](https://github.com/ava-labs/avalanchego/releases/tag/v1.10.10)
  1639  
  1640  This version is backwards compatible to [v1.10.0](https://github.com/ava-labs/avalanchego/releases/tag/v1.10.0). It is optional, but encouraged.
  1641  
  1642  The plugin version is unchanged at `28` and compatible with version `v1.10.9`.
  1643  
  1644  ### APIs
  1645  
  1646  - Added `height` to the output of `platform.getCurrentSupply`
  1647  
  1648  ### Configs
  1649  
  1650  - Added `proposerNumHistoricalBlocks` to subnet configs
  1651  
  1652  ### Fixes
  1653  
  1654  - Fixed handling of `SIGTERM` signals in plugin processes prior to receiving a `Shutdown` message
  1655  - Fixed range proof commitment of empty proofs
  1656  
  1657  ### What's Changed
  1658  
  1659  - e2e: Save network data for each test run as an uploaded artifact by @marun in https://github.com/ava-labs/avalanchego/pull/1856
  1660  - e2e: Ensure interchain workflow coverage for X-Chain and C-Chain by @marun in https://github.com/ava-labs/avalanchego/pull/1871
  1661  - MerkleDB Adjust New View function(s) by @dboehm-avalabs in https://github.com/ava-labs/avalanchego/pull/1927
  1662  - e2e: Migrate duplicate node id test from kurtosis by @marun in https://github.com/ava-labs/avalanchego/pull/1573
  1663  - Add tracing levels to merkledb by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1933
  1664  - [x/merkledb] Add Configuration for `RootGenConcurrency` by @patrick-ogrady in https://github.com/ava-labs/avalanchego/pull/1936
  1665  - e2e: Ensure testnet network dir is archived on failed test run by @marun in https://github.com/ava-labs/avalanchego/pull/1930
  1666  - Merkle db cleanup view creation by @dboehm-avalabs in https://github.com/ava-labs/avalanchego/pull/1934
  1667  - Add async DB deletion helper by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1931
  1668  - Implement SDK handler to drop messages from non-validators by @joshua-kim in https://github.com/ava-labs/avalanchego/pull/1917
  1669  - Support proposervm historical block deletion by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1929
  1670  - Remove thread pool by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1940
  1671  - Merkledb split node storage into value and intermediate by @dboehm-avalabs in https://github.com/ava-labs/avalanchego/pull/1918
  1672  - `merkledb` -- remove unneeded codec test helper by @danlaine in https://github.com/ava-labs/avalanchego/pull/1943
  1673  - `merkledb` -- add codec test and move helper by @danlaine in https://github.com/ava-labs/avalanchego/pull/1944
  1674  - Add throttler implementation to SDK by @joshua-kim in https://github.com/ava-labs/avalanchego/pull/1905
  1675  - Add Throttled Handler implementation to SDK by @joshua-kim in https://github.com/ava-labs/avalanchego/pull/1906
  1676  - Change merkledb caches to be size based by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1947
  1677  - Rename `node.marshal` to `node.bytes` by @danlaine in https://github.com/ava-labs/avalanchego/pull/1951
  1678  - e2e: Switch to a default network node count of 2 by @marun in https://github.com/ava-labs/avalanchego/pull/1928
  1679  - MerkleDB Improve Node Size Calculation by @dboehm-avalabs in https://github.com/ava-labs/avalanchego/pull/1950
  1680  - `merkledb` -- remove unneeded return values by @danlaine in https://github.com/ava-labs/avalanchego/pull/1959
  1681  - `sync` -- reduce test sizes by @danlaine in https://github.com/ava-labs/avalanchego/pull/1962
  1682  - `merkledb` -- limit number of goroutines calculating node IDs by @danlaine in https://github.com/ava-labs/avalanchego/pull/1960
  1683  - Add gossip package to p2p SDK by @joshua-kim in https://github.com/ava-labs/avalanchego/pull/1958
  1684  - Improve state sync logging by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1955
  1685  - Update golang to 1.20.8 by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1826
  1686  - Use odd-numbered request ids for SDK by @joshua-kim in https://github.com/ava-labs/avalanchego/pull/1975
  1687  - update iterator invariant by @danlaine in https://github.com/ava-labs/avalanchego/pull/1978
  1688  - Document common usage of requestIDs for snow senders by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1981
  1689  - e2e: Diagnose and fix flakes by @marun in https://github.com/ava-labs/avalanchego/pull/1941
  1690  - `merkledb` -- `db_test.go` cleanup by @danlaine in https://github.com/ava-labs/avalanchego/pull/1954
  1691  - `merkledb` -- make config fields uints by @danlaine in https://github.com/ava-labs/avalanchego/pull/1963
  1692  - Only gracefully exit rpcchainvm server after Shutdown by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1988
  1693  - Add contexts to SDK callbacks by @joshua-kim in https://github.com/ava-labs/avalanchego/pull/1977
  1694  - Change max response size to target response size by @joshua-kim in https://github.com/ava-labs/avalanchego/pull/1995
  1695  - Add sdk gossip handler metrics by @joshua-kim in https://github.com/ava-labs/avalanchego/pull/1997
  1696  - Add p2p SDK Router metrics by @joshua-kim in https://github.com/ava-labs/avalanchego/pull/2000
  1697  - Merkledb Attempt to reduce test runtime by @dboehm-avalabs in https://github.com/ava-labs/avalanchego/pull/1990
  1698  - longer timeout on windows UT by @danlaine in https://github.com/ava-labs/avalanchego/pull/2001
  1699  - `sync` -- log tweaks by @danlaine in https://github.com/ava-labs/avalanchego/pull/2008
  1700  - Add Validator Gossiper by @joshua-kim in https://github.com/ava-labs/avalanchego/pull/2015
  1701  - database: comment that Get returns ErrNotFound if key is not present by @aaronbuchwald in https://github.com/ava-labs/avalanchego/pull/2018
  1702  - Return `height` from `GetCurrentSupply` by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2022
  1703  - simplify platformvm `GetHeight` function by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2023
  1704  - Merkle db fix range proof commit bug by @dboehm-avalabs in https://github.com/ava-labs/avalanchego/pull/2019
  1705  - Add `bag.Of` helper by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2027
  1706  - Cleanup early poll termination logic by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2029
  1707  - fix typo by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2030
  1708  - Merkle db intermediate node key compression by @dboehm-avalabs in https://github.com/ava-labs/avalanchego/pull/1987
  1709  - Improve RPC Chain version mismatch error message by @martineckardt in https://github.com/ava-labs/avalanchego/pull/2021
  1710  - Move subnet owner lookup to platformvm state by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2024
  1711  - Fix fuzz tests; add iterator fuzz test by @danlaine in https://github.com/ava-labs/avalanchego/pull/1991
  1712  - Refactor subnet validator primary network requirements by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2014
  1713  - Rename events to event by @joshua-kim in https://github.com/ava-labs/avalanchego/pull/1973
  1714  - Add function to initialize SampleableSet by @joshua-kim in https://github.com/ava-labs/avalanchego/pull/2017
  1715  - add `IsCortinaActivated` helper by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2013
  1716  - Fix P-chain Import by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2035
  1717  - Rename avm/blocks package to avm/block by @joshua-kim in https://github.com/ava-labs/avalanchego/pull/1970
  1718  - Merkledb Update rangeproof proto to be consistent with changeproof proto by @dboehm-avalabs in https://github.com/ava-labs/avalanchego/pull/2040
  1719  - `merkledb` -- encode lengths as uvarints by @danlaine in https://github.com/ava-labs/avalanchego/pull/2039
  1720  - MerkleDB Remove GetNodeFromParent by @dboehm-avalabs in https://github.com/ava-labs/avalanchego/pull/2041
  1721  
  1722  ### New Contributors
  1723  
  1724  - @martineckardt made their first contribution in https://github.com/ava-labs/avalanchego/pull/2021
  1725  
  1726  **Full Changelog**: https://github.com/ava-labs/avalanchego/compare/v1.10.9...v1.10.10
  1727  
  1728  ## [v1.10.9](https://github.com/ava-labs/avalanchego/releases/tag/v1.10.9)
  1729  
  1730  This version is backwards compatible to [v1.10.0](https://github.com/ava-labs/avalanchego/releases/tag/v1.10.0). It is optional, but encouraged.
  1731  
  1732  The plugin version is updated to `28` all plugins must update to be compatible.
  1733  
  1734  ### Configs
  1735  
  1736  - Changed the default value of `--network-compression-type` from `gzip` to `zstd`
  1737  
  1738  ### Fixes
  1739  
  1740  - Marked corruptabledb as corrupted after encountering an error during iteration
  1741  - Fixed proposervm error handling during startup
  1742  
  1743  ### What's Changed
  1744  
  1745  - `merkledb` -- verify range proof in fuzz test; fix bound error by @danlaine in https://github.com/ava-labs/avalanchego/pull/1789
  1746  - Update default compression type to zstd by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1839
  1747  - Migrate to `uber-go/mock` by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/1840
  1748  - `corruptabledb` -- corrupt on iterator error by @danlaine in https://github.com/ava-labs/avalanchego/pull/1829
  1749  - Add support for Maps to the reflect_codec by @nytzuga in https://github.com/ava-labs/avalanchego/pull/1790
  1750  - Make linter fail if `github.com/golang/mock/gomock` is used by @danlaine in https://github.com/ava-labs/avalanchego/pull/1843
  1751  - Firewoodize merkle db Part 1: Make Views ReadOnly by @dboehm-avalabs in https://github.com/ava-labs/avalanchego/pull/1816
  1752  - E2E tests -- use appropriate timeouts by @danlaine in https://github.com/ava-labs/avalanchego/pull/1851
  1753  - e2e: Switch to testnet fixture by @marun in https://github.com/ava-labs/avalanchego/pull/1709
  1754  - `secp256k1` -- add fuzz tests by @danlaine in https://github.com/ava-labs/avalanchego/pull/1809
  1755  - Add fuzz test for complex codec unmarshalling by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1846
  1756  - Simplify exported interface of the primary wallet by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1849
  1757  - Regenerate mocks by @joshua-kim in https://github.com/ava-labs/avalanchego/pull/1860
  1758  - Remove history btree by @danlaine in https://github.com/ava-labs/avalanchego/pull/1861
  1759  - `merkledb` -- Remove `CommitToParent` by @danlaine in https://github.com/ava-labs/avalanchego/pull/1854
  1760  - `merkledb` -- remove other history btree by @danlaine in https://github.com/ava-labs/avalanchego/pull/1862
  1761  - `merkledb` -- add path fuzz test by @danlaine in https://github.com/ava-labs/avalanchego/pull/1852
  1762  - fix range proof verification case by @danlaine in https://github.com/ava-labs/avalanchego/pull/1834
  1763  - `merkledb` -- add change proof fuzz test; fix change proof verification by @danlaine in https://github.com/ava-labs/avalanchego/pull/1802
  1764  - Warp readme by @aaronbuchwald in https://github.com/ava-labs/avalanchego/pull/1780
  1765  - CODEOWNERS: add marun to tests by @hexfusion in https://github.com/ava-labs/avalanchego/pull/1863
  1766  - Add CI check that auto-generated code is up to date by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/1828
  1767  - `sync` -- change proof request can return range proof by @danlaine in https://github.com/ava-labs/avalanchego/pull/1772
  1768  - Ensure consistent use of best-practice `set -o` in all scripts by @marun in https://github.com/ava-labs/avalanchego/pull/1864
  1769  - GetCanonicalValidatorSet minimal ValidatorState iface by @darioush in https://github.com/ava-labs/avalanchego/pull/1875
  1770  - `sync` -- handle fatal error by @danlaine in https://github.com/ava-labs/avalanchego/pull/1874
  1771  - `merkledb` -- use `Maybe` for start bounds by @danlaine in https://github.com/ava-labs/avalanchego/pull/1872
  1772  - Add C-chain wallet to the primary network by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1850
  1773  - e2e: Refactor keychain and wallet creation to test helpers by @marun in https://github.com/ava-labs/avalanchego/pull/1870
  1774  - Update account nonce on exportTx accept by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1881
  1775  - `sync` -- add workheap test by @danlaine in https://github.com/ava-labs/avalanchego/pull/1879
  1776  - `merkledb` -- commit to db only by @danlaine in https://github.com/ava-labs/avalanchego/pull/1885
  1777  - Remove node/value lock from trieview by @dboehm-avalabs in https://github.com/ava-labs/avalanchego/pull/1865
  1778  - remove old todo by @danlaine in https://github.com/ava-labs/avalanchego/pull/1892
  1779  - Fix race in TestHandlerDispatchInternal by @joshua-kim in https://github.com/ava-labs/avalanchego/pull/1895
  1780  - Remove duplicate code from proposervm block acceptance by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1894
  1781  - e2e: Bump permissionless subnets timeouts by @marun in https://github.com/ava-labs/avalanchego/pull/1897
  1782  - `merkledb` -- codec remove err checks by @danlaine in https://github.com/ava-labs/avalanchego/pull/1899
  1783  - Merkle db fix new return type by @dboehm-avalabs in https://github.com/ava-labs/avalanchego/pull/1898
  1784  - Add SDK Sampling interface by @joshua-kim in https://github.com/ava-labs/avalanchego/pull/1877
  1785  - Add NoOpHandler implementation to SDK by @joshua-kim in https://github.com/ava-labs/avalanchego/pull/1903
  1786  - Remove unused scripts by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1908
  1787  - `merkledb` -- codec nits/cleanup by @danlaine in https://github.com/ava-labs/avalanchego/pull/1904
  1788  - `merkledb` -- preallocate `bytes.Buffer` in codec by @danlaine in https://github.com/ava-labs/avalanchego/pull/1900
  1789  - Proposervm height index repair fix by @abi87 in https://github.com/ava-labs/avalanchego/pull/1915
  1790  - `merkledb` -- move and rename methods by @danlaine in https://github.com/ava-labs/avalanchego/pull/1919
  1791  - Remove optional height indexing interface by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1896
  1792  - `merkledb` -- nits by @danlaine in https://github.com/ava-labs/avalanchego/pull/1916
  1793  - Fix code owners file by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1922
  1794  - Drop invalid TLS certs during initial handshake by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1923
  1795  - Restricted tls metrics by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1924
  1796  
  1797  ### New Contributors
  1798  
  1799  - @nytzuga made their first contribution in https://github.com/ava-labs/avalanchego/pull/1790
  1800  
  1801  **Full Changelog**: https://github.com/ava-labs/avalanchego/compare/v1.10.8...v1.10.9
  1802  
  1803  ## [v1.10.8](https://github.com/ava-labs/avalanchego/releases/tag/v1.10.8)
  1804  
  1805  This version is backwards compatible to [v1.10.0](https://github.com/ava-labs/avalanchego/releases/tag/v1.10.0). It is optional, but encouraged.
  1806  
  1807  The plugin version is unchanged at `27` and compatible with versions `v1.10.5 - v1.10.7`.
  1808  
  1809  **This update changes the local network genesis. This version will not be able to join local networks with prior versions.**
  1810  
  1811  **The first startup of the P-Chain will perform indexing operations. This indexing runs in the background and does not impact restart time. During this indexing the node will report increased CPU, memory, and disk usage.**
  1812  
  1813  ### APIs
  1814  
  1815  - Added `platform.getBlockByHeight`
  1816  
  1817  ### Configs
  1818  
  1819  - Added `--partial-sync-primary-network` flag to enable non-validators to optionally sync only the P-chain on the primary network
  1820  - Added P-chain cache size configuration `block-id-cache-size`
  1821  
  1822  ### Fixes
  1823  
  1824  - Fixed P-chain GetValidatorSet regression for subnets
  1825  - Changed `x/sync` range/change proof bounds from `[]byte` to `Maybe[[]byte]`
  1826  - Fixed `x/sync` error handling from failure to send app messages
  1827  
  1828  ### What's Changed
  1829  
  1830  - Removes calls to ctrl.Finish by @darioush in https://github.com/ava-labs/avalanchego/pull/1803
  1831  - e2e: Remove unnecessary transaction status checking by @marun in https://github.com/ava-labs/avalanchego/pull/1786
  1832  - fix p2p mockgen location by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/1806
  1833  - fix end proof verification by @danlaine in https://github.com/ava-labs/avalanchego/pull/1801
  1834  - `merkledb` -- add proof fuzz test by @danlaine in https://github.com/ava-labs/avalanchego/pull/1804
  1835  - `sync` -- re-add network client metrics by @danlaine in https://github.com/ava-labs/avalanchego/pull/1787
  1836  - Add function to initialize set from elements by @joshua-kim in https://github.com/ava-labs/avalanchego/pull/1808
  1837  - Add Maybe to the end bound of proofs (Part 1) by @dboehm-avalabs in https://github.com/ava-labs/avalanchego/pull/1793
  1838  - add go version to --version by @amirhasanzadehpy in https://github.com/ava-labs/avalanchego/pull/1819
  1839  - e2e: Add local network fixture by @marun in https://github.com/ava-labs/avalanchego/pull/1700
  1840  - Fix test flake in TestProposalTxsInMempool by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1822
  1841  - `sync` -- remove todo by @danlaine in https://github.com/ava-labs/avalanchego/pull/1788
  1842  - Add Maybe to the end bound of proofs (Part 2) by @dboehm-avalabs in https://github.com/ava-labs/avalanchego/pull/1813
  1843  - Move Maybe to its own package by @danlaine in https://github.com/ava-labs/avalanchego/pull/1817
  1844  - `merkledb` -- clarify/improve change proof invariants by @danlaine in https://github.com/ava-labs/avalanchego/pull/1810
  1845  - P-chain state prune + height index by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/1719
  1846  - Update maintainer of the debian packages by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1825
  1847  - Make platformvm implement `block.HeightIndexedChainVM` by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/1746
  1848  - Add P-chain `GetBlockByHeight` API method by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/1747
  1849  - Update local genesis startTime by @ceyonur in https://github.com/ava-labs/avalanchego/pull/1811
  1850  - `sync` -- add handling for fatal error by @danlaine in https://github.com/ava-labs/avalanchego/pull/1690
  1851  - Add error logs for unexpected proposervm BuildBlock failures by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1832
  1852  - Fix subnet validator set public key initialization by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1833
  1853  - Document PendingTxs + BuildBlock consensus engine requirement by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1835
  1854  - Bump github.com/supranational/blst from 0.3.11-0.20230406105308-e9dfc5ee724b to 0.3.11 by @dependabot in https://github.com/ava-labs/avalanchego/pull/1831
  1855  - Add Primary Network Lite Sync Option by @abi87 in https://github.com/ava-labs/avalanchego/pull/1769
  1856  - Check P-chain ShouldPrune during Initialize by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1836
  1857  
  1858  ### New Contributors
  1859  
  1860  - @amirhasanzadehpy made their first contribution in https://github.com/ava-labs/avalanchego/pull/1819
  1861  - @dependabot made their first contribution in https://github.com/ava-labs/avalanchego/pull/1831
  1862  
  1863  **Full Changelog**: https://github.com/ava-labs/avalanchego/compare/v1.10.7...v1.10.8
  1864  
  1865  ## [v1.10.7](https://github.com/ava-labs/avalanchego/releases/tag/v1.10.7)
  1866  
  1867  This version is backwards compatible to [v1.10.0](https://github.com/ava-labs/avalanchego/releases/tag/v1.10.0). This release contains meaningful performance improvements and we recommend updating as soon as possible.
  1868  
  1869  The plugin version is unchanged at `27` and compatible with versions `v1.10.5 - v1.10.6`.
  1870  
  1871  ### APIs
  1872  
  1873  - Modifed `platform.getValidatorsAt` to also return BLS public keys
  1874  
  1875  ### Configs
  1876  
  1877  - Changed the default value of `--network-allow-private-ips` to `false` when the `--network-id` is either `fuji` or `mainnet`
  1878  - Added P-chain cache size configurations
  1879    - `block-cache-size`
  1880    - `tx-cache-size`
  1881    - `transformed-subnet-tx-cache-size`
  1882    - `reward-utxos-cache-size`
  1883    - `chain-cache-size`
  1884    - `chain-db-cache-size`
  1885  - Removed various long deprecated flags
  1886    - `--genesis` use `--genesis-file` instead
  1887    - `--genesis-content` use `--genesis-file-content` instead
  1888    - `--inbound-connection-throttling-cooldown` use `--network-inbound-connection-throttling-cooldown` instead
  1889    - `--inbound-connection-throttling-max-conns-per-sec` use `--network-inbound-connection-throttling-max-conns-per-sec` instead
  1890    - `--outbound-connection-throttling-rps` use `network-outbound-connection-throttling-rps` instead
  1891    - `--outbound-connection-timeout` use `network-outbound-connection-timeout` instead
  1892    - `--staking-enabled` use `sybil-protection-enabled` instead
  1893    - `--staking-disabled-weight` use `sybil-protection-disabled-weight` instead
  1894    - `--network-compression-enabled` use `--network-compression-type` instead
  1895    - `--consensus-gossip-frequency` use `--consensus-accepted-frontier-gossip-frequency` instead
  1896  
  1897  ### Fixes
  1898  
  1899  - Fixed C-chain tx tracer crashes
  1900  - Fixed merkledb panic during state sync
  1901  - Fixed merkledb state sync stale target tracking
  1902  
  1903  ### What's Changed
  1904  
  1905  - Remove deprecated configs by @ceyonur in https://github.com/ava-labs/avalanchego/pull/1712
  1906  - upgrade: Increase all ANR timeouts to 2m to ensure CI reliability by @marun in https://github.com/ava-labs/avalanchego/pull/1737
  1907  - fix sync panic by @danlaine in https://github.com/ava-labs/avalanchego/pull/1736
  1908  - remove `vm.state` re-assignment in tests by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/1739
  1909  - Expose BLS public keys from platform.getValidatorsAt by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1740
  1910  - Fix validator set diff tests by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1744
  1911  - Replace List() with Map() on validators.Set by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1745
  1912  - vms/platformvm: configure state cache sizes #1522 by @najeal in https://github.com/ava-labs/avalanchego/pull/1677
  1913  - Support both `stateBlk`s and `Block`s in `blockDB` by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/1748
  1914  - Add `DefaultExecutionConfig` var to `platformvm` by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/1749
  1915  - Remove hanging TODO from prior change by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1758
  1916  - Write process context on node start to simplify test orchestration by @marun in https://github.com/ava-labs/avalanchego/pull/1729
  1917  - x/sync: add locks for peerTracker by @darioush in https://github.com/ava-labs/avalanchego/pull/1756
  1918  - Add ids length constants by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1759
  1919  - [x/sync] Update target locking by @patrick-ogrady in https://github.com/ava-labs/avalanchego/pull/1763
  1920  - Export warp errors for external use by @aaronbuchwald in https://github.com/ava-labs/avalanchego/pull/1771
  1921  - Remove unused networking constant by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1774
  1922  - Change the default value of `--network-allow-private-ips` to `false` for `mainnet` and `fuji` by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1773
  1923  - Remove context.TODO from tests by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1778
  1924  - Replace linkeddb iterator with native DB range queries by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1752
  1925  - Add support for measuring key size in caches by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1781
  1926  - Bump coreth to v0.12.5-rc.0 by @aaronbuchwald in https://github.com/ava-labs/avalanchego/pull/1775
  1927  - Add metric for the number of elements in a cache by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1782
  1928  - Evict blocks based on size by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1766
  1929  - Add proposervm state metrics by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1785
  1930  - Register metercacher `len` metric by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1791
  1931  - Reduce block cache sizes to 64 MiB by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1794
  1932  - Add p2p sdk by @joshua-kim in https://github.com/ava-labs/avalanchego/pull/1799
  1933  
  1934  **Full Changelog**: https://github.com/ava-labs/avalanchego/compare/v1.10.5...v1.10.7
  1935  
  1936  ## [v1.10.5](https://github.com/ava-labs/avalanchego/releases/tag/v1.10.5)
  1937  
  1938  This version is backwards compatible to [v1.10.0](https://github.com/ava-labs/avalanchego/releases/tag/v1.10.0). It is optional, but encouraged.
  1939  
  1940  The plugin version is updated to `27` all plugins must update to be compatible.
  1941  
  1942  **The first startup of the X-Chain will perform an indexing operation. This indexing runs in the background and does not impact restart time.**
  1943  
  1944  ### APIs
  1945  
  1946  - Added `avalanche_network_clock_skew_sum` metric
  1947  - Added `avalanche_network_clock_skew_count` metric
  1948  
  1949  ### Configs
  1950  
  1951  - Added `--tracing-headers` to allow specifying headers to the tracing indexer
  1952  
  1953  ### Fixes
  1954  
  1955  - Fixed API handler crash for `lookupState` in `prestate` tracer
  1956  - Fixed API handler crash for LOG edge cases in the `callTracer`
  1957  
  1958  ### What's Changed
  1959  
  1960  - stop persisting rejected blocks on P-chain by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/1696
  1961  - Ensure scripts/lint.sh failure when used with incompatible grep by @marun in https://github.com/ava-labs/avalanchego/pull/1711
  1962  - sum peers clock skew into metric by @najeal in https://github.com/ava-labs/avalanchego/pull/1695
  1963  - Make AVM implement `block.HeightIndexedChainVM` by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/1699
  1964  - ProposerVM nits by @abi87 in https://github.com/ava-labs/avalanchego/pull/1688
  1965  - Sorting -- Remove old `IsSortedAndUnique`, rename `IsSortedAndUniqueSortable` to `IsSortedAndUnique` by @danlaine in https://github.com/ava-labs/avalanchego/pull/1666
  1966  - Update snow consensus doc post X-chain linearization by @exdx in https://github.com/ava-labs/avalanchego/pull/1703
  1967  - `merkledb` / `sync` -- remove TODOs by @danlaine in https://github.com/ava-labs/avalanchego/pull/1718
  1968  - remove cache TODOs by @danlaine in https://github.com/ava-labs/avalanchego/pull/1721
  1969  - Adjust `NewSizedCache` to take in a size function by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/1725
  1970  - Wallet issuance to return tx instead of tx id by @felipemadero in https://github.com/ava-labs/avalanchego/pull/1704
  1971  - Add support for providing tracing headers by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1727
  1972  - Only return accepted blocks in `GetStatelessBlock` by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/1724
  1973  - Proposermv fix goroutine leaks by @abi87 in https://github.com/ava-labs/avalanchego/pull/1713
  1974  - Update warp msg format by @aaronbuchwald in https://github.com/ava-labs/avalanchego/pull/1686
  1975  - Cleanup anr scripts by @ceyonur in https://github.com/ava-labs/avalanchego/pull/1714
  1976  - remove TrackBandwidth from NetworkClient by @danlaine in https://github.com/ava-labs/avalanchego/pull/1716
  1977  - Bump network start timeout by @marun in https://github.com/ava-labs/avalanchego/pull/1730
  1978  - e2e: Ensure e2e.test is built with portable BLST by @marun in https://github.com/ava-labs/avalanchego/pull/1734
  1979  - e2e: Increase all ANR timeouts to 2m to ensure CI reliability. by @marun in https://github.com/ava-labs/avalanchego/pull/1733
  1980  
  1981  ### New Contributors
  1982  
  1983  - @exdx made their first contribution in https://github.com/ava-labs/avalanchego/pull/1703
  1984  
  1985  **Full Changelog**: https://github.com/ava-labs/avalanchego/compare/v1.10.4...v1.10.5
  1986  
  1987  ## [v1.10.4](https://github.com/ava-labs/avalanchego/releases/tag/v1.10.4)
  1988  
  1989  This version is backwards compatible to [v1.10.0](https://github.com/ava-labs/avalanchego/releases/tag/v1.10.0). It is optional, but encouraged.
  1990  
  1991  The plugin version is unchanged at `26` and compatible with versions `v1.10.1 - v1.10.3`.
  1992  
  1993  **The first startup of the X-Chain will perform a pruning operation. This pruning runs in the background and does not impact restart time.**
  1994  
  1995  ### APIs
  1996  
  1997  - Removed `avalanche_X_vm_avalanche_metervm_pending_txs_count` metric
  1998  - Removed `avalanche_X_vm_avalanche_metervm_pending_txs_sum` metric
  1999  - Removed `avalanche_X_vm_avalanche_metervm_get_tx_count` metric
  2000  - Removed `avalanche_X_vm_avalanche_metervm_get_tx_sum` metric
  2001  - Removed `avalanche_X_vm_avalanche_metervm_get_tx_err_count` metric
  2002  - Removed `avalanche_X_vm_avalanche_metervm_get_tx_err_sum` metric
  2003  
  2004  ### Configs
  2005  
  2006  - Added `--staking-host` to allow binding only on a specific address for staking
  2007  - Added `checksums-enabled` to the X-chain and P-chain configs
  2008  
  2009  ### Fixes
  2010  
  2011  - Fixed `proposervm` `preForkBlock.Status()` response after the fork has occurred
  2012  - Fixed C-chain logs collection error when no receipts occur in a block
  2013  - Fixed merkledb's `findNextKey` when an empty end proof is provided
  2014  - Fixed 0 length key issues with proof generation and verification
  2015  - Fixed Docker execution on non-amd64 architectures
  2016  
  2017  ### What's Changed
  2018  
  2019  - e2e: Support testing on MacOS without requiring firewall exceptions by @marun in https://github.com/ava-labs/avalanchego/pull/1613
  2020  - Reduce resource log level by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1622
  2021  - Improve `snow/` tests with `require` by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/1503
  2022  - Improve `x/` tests with `require` by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/1454
  2023  - `sync` -- fix `TestFindNextKeyRandom` by @danlaine in https://github.com/ava-labs/avalanchego/pull/1624
  2024  - Improve `vms/` tests with `require` by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/1505
  2025  - Improve `database/` tests with `require` by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/1506
  2026  - Ban usage of `t.Fatal` and `t.Error` by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/1453
  2027  - chore: fix typo in binary_snowflake.go by @eltociear in https://github.com/ava-labs/avalanchego/pull/1630
  2028  - Discriminate window fit err msg from overdelegated error msg by @felipemadero in https://github.com/ava-labs/avalanchego/pull/1606
  2029  - Remove MaxConnectionAge gRPC StreamID overflow mitigation by @hexfusion in https://github.com/ava-labs/avalanchego/pull/1388
  2030  - add fuzzing action by @danlaine in https://github.com/ava-labs/avalanchego/pull/1635
  2031  - Remove dagState and GetUTXOFromID by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1632
  2032  - Update all AVM tests for post-linearization by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1631
  2033  - Remove PendingTxs from the DAGVM interface by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1641
  2034  - Remove GetTx from the DAGVM interface by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1642
  2035  - Bump coreth v0.12.4 by @aaronbuchwald in https://github.com/ava-labs/avalanchego/pull/1646
  2036  - [x/merkledb] Remove useless `err` check by @patrick-ogrady in https://github.com/ava-labs/avalanchego/pull/1650
  2037  - [x/merkledb] Trailing whitespace removal on README by @patrick-ogrady in https://github.com/ava-labs/avalanchego/pull/1649
  2038  - Remove unneeded functions from UniqueTx by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1643
  2039  - Simplify tx verification by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1654
  2040  - `merkledb` --  fix `findNextKey` by @danlaine in https://github.com/ava-labs/avalanchego/pull/1653
  2041  - Cleanup X-chain UniqueTx Dependencies by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1656
  2042  - Prune X-chain State by @coffeeavax in https://github.com/ava-labs/avalanchego/pull/1427
  2043  - Support building docker image on ARM64 by @dshiell in https://github.com/ava-labs/avalanchego/pull/1103
  2044  - remove goreleaser by @danlaine in https://github.com/ava-labs/avalanchego/pull/1660
  2045  - Fix Dockerfile on non amd64 platforms by @joshua-kim in https://github.com/ava-labs/avalanchego/pull/1661
  2046  - Improve metrics error message by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1663
  2047  - Remove X-chain UniqueTx by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1662
  2048  - Add state checksums by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1658
  2049  - Modify proposervm window by @najeal in https://github.com/ava-labs/avalanchego/pull/1638
  2050  - sorting nit by @danlaine in https://github.com/ava-labs/avalanchego/pull/1665
  2051  - `merkledb` -- rewrite and test range proof invariants; fix proof generation/veriifcation bugs by @danlaine in https://github.com/ava-labs/avalanchego/pull/1629
  2052  - Add minimum proposer window length by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1667
  2053  - CI -- only run fuzz tests on ubuntu by @danlaine in https://github.com/ava-labs/avalanchego/pull/1636
  2054  - `MerkleDB` -- remove codec version by @danlaine in https://github.com/ava-labs/avalanchego/pull/1671
  2055  - `MerkleDB` -- use default config in all tests by @danlaine in https://github.com/ava-labs/avalanchego/pull/1590
  2056  - `sync` -- reduce stuttering by @danlaine in https://github.com/ava-labs/avalanchego/pull/1672
  2057  - `Sync` -- unexport field by @danlaine in https://github.com/ava-labs/avalanchego/pull/1673
  2058  - `sync` -- nits and cleanup by @danlaine in https://github.com/ava-labs/avalanchego/pull/1674
  2059  - `sync` -- remove unused code by @danlaine in https://github.com/ava-labs/avalanchego/pull/1676
  2060  - Mark preForkBlocks after the fork as Rejected by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1683
  2061  - `merkledb` -- fix comment by @danlaine in https://github.com/ava-labs/avalanchego/pull/1675
  2062  - `MerkleDB` -- document codec by @danlaine in https://github.com/ava-labs/avalanchego/pull/1670
  2063  - `sync` -- client cleanup by @danlaine in https://github.com/ava-labs/avalanchego/pull/1680
  2064  - Update buf version to v1.23.1 by @aaronbuchwald in https://github.com/ava-labs/avalanchego/pull/1685
  2065  
  2066  ### New Contributors
  2067  
  2068  - @eltociear made their first contribution in https://github.com/ava-labs/avalanchego/pull/1630
  2069  - @felipemadero made their first contribution in https://github.com/ava-labs/avalanchego/pull/1606
  2070  - @dshiell made their first contribution in https://github.com/ava-labs/avalanchego/pull/1103
  2071  - @najeal made their first contribution in https://github.com/ava-labs/avalanchego/pull/1638
  2072  
  2073  **Full Changelog**: https://github.com/ava-labs/avalanchego/compare/v1.10.3...v1.10.4
  2074  
  2075  ## [v1.10.3](https://github.com/ava-labs/avalanchego/releases/tag/v1.10.3)
  2076  
  2077  This version is backwards compatible to [v1.10.0](https://github.com/ava-labs/avalanchego/releases/tag/v1.10.0). It is optional, but encouraged. The supported plugin version is `26`.
  2078  
  2079  **Users must specify the `--allowed-hosts-flag` to receive inbound API traffic from non-local hosts.**
  2080  
  2081  ### APIs
  2082  
  2083  - Added health metrics based on tags
  2084    - `avalanche_health_checks_failing{tag="TAG"}`
  2085    - `avalanche_liveness_checks_failing{tag="TAG"}`
  2086    - `avalanche_readiness_checks_failing{tag="TAG"}`
  2087  - Removed P-chain VM percent connected metrics
  2088    - `avalanche_P_vm_percent_connected`
  2089    - `avalanche_P_vm_percent_connected_subnet{subnetID="SUBNETID"}`
  2090  - Added percent connected metrics by chain
  2091    - `avalanche_{ChainID}_percent_connected`
  2092  - Removed `avalanche_network_send_queue_portion_full` metric
  2093  
  2094  ### Configs
  2095  
  2096  - Added `--http-allowed-hosts` with a default value of `localhost`
  2097  - Removed `--snow-mixed-query-num-push-vdr`
  2098  - Removed `--snow-mixed-query-num-push-non-vdr`
  2099  - Removed `minPercentConnectedStakeHealthy` from the subnet config
  2100  
  2101  ### Fixes
  2102  
  2103  - Fixed `platformvm.GetValidatorSet` returning incorrect BLS public keys
  2104  - Fixed IPv6 literal binding with `--http-host`
  2105  - Fixed P2P message log format
  2106  
  2107  ### What's Changed
  2108  
  2109  - `x/sync` -- Add proto for P2P messages  by @dboehm-avalabs in https://github.com/ava-labs/avalanchego/pull/1472
  2110  - Bump Protobuf and tooling and add section to proto docs outlining buf publishing by @hexfusion in https://github.com/ava-labs/avalanchego/pull/1552
  2111  - Minor pchain UTs cleanup by @abi87 in https://github.com/ava-labs/avalanchego/pull/1554
  2112  - Add ping uptimes test by @ceyonur in https://github.com/ava-labs/avalanchego/pull/1550
  2113  - Add workflow to mark stale issues and PRs by @joshua-kim in https://github.com/ava-labs/avalanchego/pull/1443
  2114  - Enforce inlining functions with a single error return in `require.NoError` by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/1500
  2115  - `x/sync` / `x/merkledb` -- add `SyncableDB` interface by @danlaine in https://github.com/ava-labs/avalanchego/pull/1555
  2116  - Rename beacon to boostrapper, define bootstrappers in JSON file for cross-language compatibility by @gyuho in https://github.com/ava-labs/avalanchego/pull/1439
  2117  - add P-chain height indexing by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/1447
  2118  - Add P-chain `GetBlockByHeight` API method by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/1448
  2119  - `x/sync` -- use for sending Range Proofs by @danlaine in https://github.com/ava-labs/avalanchego/pull/1537
  2120  - Add test to ensure that database packing produces sorted values by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1560
  2121  - Randomize unit test execution order to identify unwanted dependency by @marun in https://github.com/ava-labs/avalanchego/pull/1565
  2122  - use `http.Error` instead of separately writing error code and message by @danlaine in https://github.com/ava-labs/avalanchego/pull/1564
  2123  - Adding allowed http hosts flag by @joshua-kim in https://github.com/ava-labs/avalanchego/pull/1566
  2124  - `x/sync` -- Use proto for sending Change Proofs by @danlaine in https://github.com/ava-labs/avalanchego/pull/1541
  2125  - Only send `PushQuery` messages after building the block by @joshua-kim in https://github.com/ava-labs/avalanchego/pull/1428
  2126  - Rename APIAllowedOrigins to HTTPAllowedOrigins by @joshua-kim in https://github.com/ava-labs/avalanchego/pull/1567
  2127  - Add GetBalance examples for the P-chain and X-chain wallets by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1569
  2128  - Reduce number of test iterations by @danlaine in https://github.com/ava-labs/avalanchego/pull/1568
  2129  - Re-add upgrade tests by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1410
  2130  - Remove lists from Chits messages by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1412
  2131  - Add more X-chain tests by @coffeeavax in https://github.com/ava-labs/avalanchego/pull/1487
  2132  - fix typo by @meaghanfitzgerald in https://github.com/ava-labs/avalanchego/pull/1570
  2133  - Reduce the number of test health checks by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1571
  2134  - Fix proposervm.GetAncestors test flake by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1572
  2135  - Remove list from AcceptedFrontier message by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1578
  2136  - Remove version db from merkle db by @dboehm-avalabs in https://github.com/ava-labs/avalanchego/pull/1534
  2137  - `MerkleDB` -- add eviction batch size config by @danlaine in https://github.com/ava-labs/avalanchego/pull/1586
  2138  - `MerkleDB` -- fix `onEvictCache.Flush` by @danlaine in https://github.com/ava-labs/avalanchego/pull/1589
  2139  - Revert P-Chain height index by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1591
  2140  - `x/sync` -- Add `SyncableDB` proto by @danlaine in https://github.com/ava-labs/avalanchego/pull/1559
  2141  - Clarify break on error during ancestors lookup by @hexfusion in https://github.com/ava-labs/avalanchego/pull/1580
  2142  - Add buf-push github workflow by @hexfusion in https://github.com/ava-labs/avalanchego/pull/1556
  2143  - Pchain bls key diff fix by @abi87 in https://github.com/ava-labs/avalanchego/pull/1584
  2144  - Cleanup fx interface compliance by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1599
  2145  - Improve metrics error msging by @anusha-ctrl in https://github.com/ava-labs/avalanchego/pull/1598
  2146  - Separate health checks by tags by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1579
  2147  - Separate subnet stake connected health and metrics from P-chain by @ceyonur in https://github.com/ava-labs/avalanchego/pull/1358
  2148  - Merkle db iterator by @dboehm-avalabs in https://github.com/ava-labs/avalanchego/pull/1533
  2149  - Fix unreadable message errors by @morrisettjohn in https://github.com/ava-labs/avalanchego/pull/1585
  2150  - Log unexpected errors during GetValidatorSet by @hexfusion in https://github.com/ava-labs/avalanchego/pull/1592
  2151  - `merkleDB` -- add inner heap type to syncWorkHeap by @danlaine in https://github.com/ava-labs/avalanchego/pull/1582
  2152  - `sync` -- explain algorithm in readme by @danlaine in https://github.com/ava-labs/avalanchego/pull/1600
  2153  - Rename license header file to avoid unintended license indexing by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1608
  2154  - `merkledb` and `sync` -- use time based rand seed by @danlaine in https://github.com/ava-labs/avalanchego/pull/1607
  2155  - add `local-prefixes` setting for `goimports` by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/1612
  2156  - snow/engine/snowman: instantiate voter after issuer by @gyuho in https://github.com/ava-labs/avalanchego/pull/1610
  2157  - Update CodeQL to v2 by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1616
  2158  - Remove old networking metric by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1619
  2159  - Fix --http-host flag to support IPv6 by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1620
  2160  
  2161  ### New Contributors
  2162  
  2163  - @marun made their first contribution in https://github.com/ava-labs/avalanchego/pull/1565
  2164  - @meaghanfitzgerald made their first contribution in https://github.com/ava-labs/avalanchego/pull/1570
  2165  - @anusha-ctrl made their first contribution in https://github.com/ava-labs/avalanchego/pull/1598
  2166  - @morrisettjohn made their first contribution in https://github.com/ava-labs/avalanchego/pull/1585
  2167  
  2168  **Full Changelog**: https://github.com/ava-labs/avalanchego/compare/v1.10.2...v1.10.3
  2169  
  2170  ## [v1.10.2](https://github.com/ava-labs/avalanchego/releases/tag/v1.10.2)
  2171  
  2172  This version is backwards compatible to [v1.10.0](https://github.com/ava-labs/avalanchego/releases/tag/v1.10.0). It is optional, but encouraged. The supported plugin version is `26`.
  2173  
  2174  ### APIs
  2175  
  2176  - Significantly improved the performance of `platform.getStake`
  2177  - Added `portion_filled` metric for all metered caches
  2178  - Added resource metrics by process
  2179    - `avalanche_system_resources_num_cpu_cycles`
  2180    - `avalanche_system_resources_num_disk_read_bytes`
  2181    - `avalanche_system_resources_num_disk_reads`
  2182    - `avalanche_system_resources_num_disk_write_bytes`
  2183    - `avalanche_system_resources_num_disk_writes`
  2184  
  2185  ### Configs
  2186  
  2187  - Deprecated `--genesis` in favor of `--genesis-file`
  2188  - Deprecated `--genesis-content` in favor of `--genesis-file-content`
  2189  - Deprecated `--inbound-connection-throttling-cooldown` in favor of `--network-inbound-connection-throttling-cooldown`
  2190  - Deprecated `--inbound-connection-throttling-max-conns-per-sec` in favor of `--network-inbound-connection-throttling-max-conns-per-sec`
  2191  - Deprecated `--outbound-connection-throttling-rps` in favor of `--network-outbound-connection-throttling-rps`
  2192  - Deprecated `--outbound-connection-timeout` in favor of `--network-outbound-connection-timeout`
  2193  - Deprecated `--staking-enabled` in favor of `--sybil-protection-enabled`
  2194  - Deprecated `--staking-disabled-weight` in favor of `--sybil-protection-disabled-weight`
  2195  - Deprecated `--consensus-gossip-frequency` in favor of `--consensus-accepted-frontier-gossip-frequency`
  2196  
  2197  ### Fixes
  2198  
  2199  - Fixed `--network-compression-type` to correctly honor the requested compression type, rather than always using gzip
  2200  - Fixed CPU metrics on macos
  2201  
  2202  ### What's Changed
  2203  
  2204  - use `require` library functions in tests by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/1451
  2205  - style nits in vm clients by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/1449
  2206  - utils/logging: add "Enabled" method to remove redundant verbo logs by @gyuho in https://github.com/ava-labs/avalanchego/pull/1461
  2207  - ban `require.EqualValues` by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/1457
  2208  - chains: do not hold write subnetsLock in health checks by @gyuho in https://github.com/ava-labs/avalanchego/pull/1460
  2209  - remove zstd check by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/1459
  2210  - use `require.IsType` for type assertions in tests by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/1458
  2211  - vms/platformvm/service: nits (preallocate address slice, error msg) by @gyuho in https://github.com/ava-labs/avalanchego/pull/1477
  2212  - ban `require.NotEqualValues` by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/1470
  2213  - use `require` in `api` and `utils/password` packages by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/1471
  2214  - use "golang.org/x/term" as "golang.org/x/crypto/ssh/terminal" is deprecated by @gyuho in https://github.com/ava-labs/avalanchego/pull/1464
  2215  - chains: move "msgChan" closer to the first use (readability) by @gyuho in https://github.com/ava-labs/avalanchego/pull/1484
  2216  - ban function params for `require.ErrorIs` by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/1486
  2217  - standardize imports by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/1466
  2218  - fix license header test by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/1492
  2219  - use blank identifier for interface compliance by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/1493
  2220  - codec: remove "SetMaxSize" from "Manager", remove unnecessary lock by @gyuho in https://github.com/ava-labs/avalanchego/pull/1481
  2221  - config: disallow "ThrottlerConfig.MaxRecheckDelay" < 1 ms by @gyuho in https://github.com/ava-labs/avalanchego/pull/1435
  2222  - ban `require.Equal` when testing for `0` by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/1495
  2223  - Clean up MerkleDVB Sync Close lock by @dboehm-avalabs in https://github.com/ava-labs/avalanchego/pull/1469
  2224  - MerkleDB Cleanup by @dboehm-avalabs in https://github.com/ava-labs/avalanchego/pull/1465
  2225  - Remove comment referencing old IP based tracking by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1509
  2226  - ban usage of `require.Len` when testing for length `0` by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/1496
  2227  - ban usage of `require.Equal` when testing for length by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/1497
  2228  - ban usage of `nil` in require functions by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/1498
  2229  - Sized LRU cache by @abi87 in https://github.com/ava-labs/avalanchego/pull/1517
  2230  - engine/snowman: clean up some comments in "bubbleVotes" unit tests by @gyuho in https://github.com/ava-labs/avalanchego/pull/1444
  2231  - snow/networking/sender: add missing verbo check by @gyuho in https://github.com/ava-labs/avalanchego/pull/1504
  2232  - Delete duplicate test var definitions by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1518
  2233  - utils/bag: print generic type for bag elements by @gyuho in https://github.com/ava-labs/avalanchego/pull/1507
  2234  - Fix incorrect test refactor by @abi87 in https://github.com/ava-labs/avalanchego/pull/1526
  2235  - Pchain validators repackaging by @abi87 in https://github.com/ava-labs/avalanchego/pull/1284
  2236  - Config overhaul by @ceyonur in https://github.com/ava-labs/avalanchego/pull/1370
  2237  - rename enabled staking to sybil protection enabled by @ceyonur in https://github.com/ava-labs/avalanchego/pull/1441
  2238  - Fix network compression type flag usage by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1532
  2239  - Deprecate uptimes in pong message by @ceyonur in https://github.com/ava-labs/avalanchego/pull/1362
  2240  - Add CPU cycles and number of disk read/write metrics by pid by @coffeeavax in https://github.com/ava-labs/avalanchego/pull/1334
  2241  - Fetch process resource stats as best-effort by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1543
  2242  - Add serialization tests for transactions added in Banff by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1513
  2243  - Log chain shutdown duration by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1545
  2244  - add interface for MerkleDB by @danlaine in https://github.com/ava-labs/avalanchego/pull/1519
  2245  
  2246  ### New Contributors
  2247  
  2248  - @gyuho made their first contribution in https://github.com/ava-labs/avalanchego/pull/1461
  2249  - @coffeeavax made their first contribution in https://github.com/ava-labs/avalanchego/pull/1334
  2250  
  2251  **Full Changelog**: https://github.com/ava-labs/avalanchego/compare/v1.10.1...v1.10.2
  2252  
  2253  ## [v1.10.1](https://github.com/ava-labs/avalanchego/releases/tag/v1.10.1)
  2254  
  2255  This version is backwards compatible to [v1.10.0](https://github.com/ava-labs/avalanchego/releases/tag/v1.10.0). It is optional, but encouraged. The supported plugin version is `26`.
  2256  
  2257  ### APIs
  2258  
  2259  - Enabled `avm.getBlockByHeight` to take in `height` as a string
  2260  - Added IDs to json formats
  2261    - `platform.getTx` now includes `id` in the `tx` response
  2262    - `platform.getBlock` now includes `id` in the `block` response and in the internal `tx` fields
  2263    - `avm.getTx` now includes `id` in the `tx` response
  2264    - `avm.getBlock` now includes `id` in the `block` response and in the internal `tx` fields
  2265    - `avm.getBlockByHeight` now includes `id` in the `block` response and in the internal `tx` fields
  2266  - Removed `avm.issueStopVertex`
  2267  - Fixed `wallet` methods to correctly allow issuance of dependent transactions after the X-chain linearization
  2268  - Added `validatorOnly` flag in `platform.getStake`
  2269  - Removed all avalanche consensus metrics
  2270  - Fixed `msgHandlingTime` metrics
  2271  
  2272  ### Configs
  2273  
  2274  - Removed `--snow-avalanche-num-parents`
  2275  - Removed `--snow-avalanche-batch-size`
  2276  
  2277  ### Fixes
  2278  
  2279  - Fixed panic when restarting partially completed X-chain snowman bootstrapping
  2280  - Fixed `--network-allow-private-ips` handling to correctly prevent outbound connections to private IP ranges
  2281  - Fixed UniformSampler to support sampling numbers between MaxInt64 and MaxUint64
  2282  - Fixed data race in txID access during transaction gossip in the AVM
  2283  
  2284  ### What's Changed
  2285  
  2286  - Add benchmark for gRPC GetValidatorSet by @hexfusion in https://github.com/ava-labs/avalanchego/pull/1326
  2287  - Add checks for database being closed in merkledb; other nits by @danlaine in https://github.com/ava-labs/avalanchego/pull/1333
  2288  - Update linkedhashmap to only Rlock when possible by @dboehm-avalabs in https://github.com/ava-labs/avalanchego/pull/1329
  2289  - Remove no-op changes from history results by @dboehm-avalabs in https://github.com/ava-labs/avalanchego/pull/1335
  2290  - Cleanup type assertions in the linkedHashmap by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1341
  2291  - Fix racy avm tx access by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1349
  2292  - Update Fuji beacon ips by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1354
  2293  - Remove duplicate TLS verification by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1364
  2294  - Adjust Merkledb Trie invalidation locking by @dboehm-avalabs in https://github.com/ava-labs/avalanchego/pull/1355
  2295  - Use require in Avalanche bootstrapping tests by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1344
  2296  - Add Proof size limit to sync client by @dboehm-avalabs in https://github.com/ava-labs/avalanchego/pull/1269
  2297  - Add stake priority helpers by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1375
  2298  - add contribution file by @joshua-kim in https://github.com/ava-labs/avalanchego/pull/1373
  2299  - Remove max sample value by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1374
  2300  - Prefetch rpcdb iterator batches by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1323
  2301  - Temp fix for flaky Sync Test by @dboehm-avalabs in https://github.com/ava-labs/avalanchego/pull/1378
  2302  - Update merkle cache to be FIFO instead of LRU by @dboehm-avalabs in https://github.com/ava-labs/avalanchego/pull/1353
  2303  - Improve cost of BLS key serialization for gRPC by @hexfusion in https://github.com/ava-labs/avalanchego/pull/1343
  2304  - [Issue-1368]: Panic in serializedPath.HasPrefix by @dboehm-avalabs in https://github.com/ava-labs/avalanchego/pull/1371
  2305  - Add ValidatorsOnly flag to GetStake by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1377
  2306  - Use proto in `x/sync` by @danlaine in https://github.com/ava-labs/avalanchego/pull/1336
  2307  - Update incorrect fuji beacon IPs by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1392
  2308  - Update `api/` error handling by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1393
  2309  - refactor concurrent work limiting in sync in `x/sync` by @danlaine in https://github.com/ava-labs/avalanchego/pull/1347
  2310  - Remove check for impossible condition in `x/sync` by @danlaine in https://github.com/ava-labs/avalanchego/pull/1348
  2311  - Improve `codec/` error handling by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1396
  2312  - Improve `config/` error handling by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1397
  2313  - Improve `genesis/` error handling by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1398
  2314  - Improve various error handling locations by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1399
  2315  - Improve `utils/` error handling by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1400
  2316  - Improve consensus error handling by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1401
  2317  - Improve secp256k1fx + merkledb error handling by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1402
  2318  - Ban usage of require.Error by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1346
  2319  - Remove slice capacity hint in `x/sync` by @danlaine in https://github.com/ava-labs/avalanchego/pull/1350
  2320  - Simplify `syncWorkHeap` less function in `x/sync` by @danlaine in https://github.com/ava-labs/avalanchego/pull/1351
  2321  - Replace `switch` with `txs.Visitor` in X chain signer by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/1404
  2322  - Include IDs in json marshalling by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1408
  2323  - Adjust find next key logic in x/Sync by @dboehm-avalabs in https://github.com/ava-labs/avalanchego/pull/1331
  2324  - Remove bitmask from writeMsgLen by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1342
  2325  - Require `txID`s in PeerList messages by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1411
  2326  - Allow dependent tx issuance over the wallet API by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1413
  2327  - Add support for proto `message.Tx` decoding by @danlaine in https://github.com/ava-labs/avalanchego/pull/1332
  2328  - Remove avalanche bootstrapping -> avalanche consensus transition by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1345
  2329  - Benchmark get canonical validator set by @aaronbuchwald in https://github.com/ava-labs/avalanchego/pull/1417
  2330  - Simplify IP status calculation by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1421
  2331  - Honor AllowPrivateIPs config by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1422
  2332  - Update BLS signature ordering to avoid public key compression by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1416
  2333  - Remove DAG based consensus by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1359
  2334  - Remove IssueStopVertex message by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1419
  2335  - Fix msgHandlingTime by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1432
  2336  - Change ChangeProofs to only have one list of key/value change instead of key/values and deleted by @dboehm-avalabs in https://github.com/ava-labs/avalanchego/pull/1385
  2337  - Update AMI generation workflow by @charlie-ava in https://github.com/ava-labs/avalanchego/pull/1289
  2338  - Support `height` as a string in `avm.getBlockByHeight` by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1437
  2339  - Defer Snowman Bootstrapper parser initialization to Start by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1442
  2340  - Cleanup proposervm ancestors packing @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1446
  2341  
  2342  ### New Contributors
  2343  
  2344  - @hexfusion made their first contribution in https://github.com/ava-labs/avalanchego/pull/1326
  2345  
  2346  **Full Changelog**: https://github.com/ava-labs/avalanchego/compare/v1.10.0...v1.10.1
  2347  
  2348  ## [v1.10.0](https://github.com/ava-labs/avalanchego/releases/tag/v1.10.0)
  2349  
  2350  [This upgrade](https://medium.com/avalancheavax/cortina-x-chain-linearization-a1d9305553f6) linearizes the X-chain, introduces delegation batching to the P-chain, and increases the maximum block size on the C-chain.
  2351  
  2352  The changes in the upgrade go into effect at 11 AM ET, April 25th 2023 on Mainnet.
  2353  
  2354  **All Mainnet nodes should upgrade before 11 AM ET, April 25th 2023.**
  2355  
  2356  The supported plugin version is `25`.
  2357  
  2358  ### What's Changed
  2359  
  2360  - Add CODEOWNERS for the x/ package by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1260
  2361  - Feature Spec Template by @richardpringle in https://github.com/ava-labs/avalanchego/pull/1258
  2362  - Standardize CI triggers by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1265
  2363  - special case no sent/received message in network health check by @ceyonur in https://github.com/ava-labs/avalanchego/pull/1263
  2364  - Fix bug template by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1268
  2365  - Replace `flags` usage with `pflags` by @danlaine in https://github.com/ava-labs/avalanchego/pull/1270
  2366  - Fixed grammatical errors in `README.md` by @krakxn in https://github.com/ava-labs/avalanchego/pull/1102
  2367  - Add tests for race conditions in merkledb by @kyl27 in https://github.com/ava-labs/avalanchego/pull/1256
  2368  - Add P-chain indexer API example by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1271
  2369  - use `require` in `snow/choices` tests by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/1279
  2370  - use `require` in `utils/wrappers` tests by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/1280
  2371  - add support for tracking delegatee rewards to validator metadata by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/1273
  2372  - defer delegatee rewards until end of validator staking period by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/1262
  2373  - Initialize UptimeCalculator in TestPeer by @joshua-kim in https://github.com/ava-labs/avalanchego/pull/1283
  2374  - Add Avalanche liveness health checks by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1287
  2375  - Skip AMI generation with Fuji tags by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1288
  2376  - Use `maps.Equal` in `set.Equals` by @danlaine in https://github.com/ava-labs/avalanchego/pull/1290
  2377  - return accrued delegator rewards in `GetCurrentValidators` by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/1291
  2378  - Add zstd compression by @danlaine in https://github.com/ava-labs/avalanchego/pull/1278
  2379  - implement `txs.Visitor` in X chain wallet by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/1299
  2380  - Parallelize gzip compression by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1293
  2381  - Add zip bomb tests by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1300
  2382  - Gossip Avalanche frontier after the linearization by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1303
  2383  - Add fine grained metrics+logging for handling, processing, and grab l… by @aaronbuchwald in https://github.com/ava-labs/avalanchego/pull/1301
  2384  - Persist stateless block in AVM state by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1305
  2385  - Initialize FxID fields in GetBlock and GetBlockByHeight by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1306
  2386  - Filterable Health Tags by @ceyonur in https://github.com/ava-labs/avalanchego/pull/1304
  2387  - increase health await timeout by @ceyonur in https://github.com/ava-labs/avalanchego/pull/1317
  2388  - Expose GetEngineManager from the chain Handler by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1316
  2389  - Add BLS benchmarks by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1318
  2390  - Encode codec version in merkledb by @danlaine in https://github.com/ava-labs/avalanchego/pull/1313
  2391  - Expose consensus-app-concurrency by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1322
  2392  - Adjust Logic In Merkle DB History by @dboehm-avalabs in https://github.com/ava-labs/avalanchego/pull/1310
  2393  - Fix Concurrency Bug In CommitToParent by @dboehm-avalabs in https://github.com/ava-labs/avalanchego/pull/1320
  2394  - Cleanup goroutines on health.Stop by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/1325
  2395  
  2396  ### New Contributors
  2397  
  2398  - @richardpringle made their first contribution in https://github.com/ava-labs/avalanchego/pull/1258
  2399  - @ceyonur made their first contribution in https://github.com/ava-labs/avalanchego/pull/1263
  2400  - @krakxn made their first contribution in https://github.com/ava-labs/avalanchego/pull/1102
  2401  - @kyl27 made their first contribution in https://github.com/ava-labs/avalanchego/pull/1256
  2402  - @dhrubabasu made their first contribution in https://github.com/ava-labs/avalanchego/pull/1279
  2403  - @joshua-kim made their first contribution in https://github.com/ava-labs/avalanchego/pull/1283
  2404  - @dboehm-avalabs made their first contribution in https://github.com/ava-labs/avalanchego/pull/1310
  2405  
  2406  **Full Changelog**: https://github.com/ava-labs/avalanchego/compare/v1.9.16...v1.10.0
  2407  
  2408  ## [v1.9.16](https://github.com/ava-labs/avalanchego/releases/tag/v1.9.16)
  2409  
  2410  This version is backwards compatible to [v1.9.0](https://github.com/ava-labs/avalanchego/releases/tag/v1.9.0). It is optional, but encouraged. The supported plugin version is `24`.
  2411  
  2412  - Removed unnecessary repoll after rejecting vertices
  2413  - Improved snowstorm lookup error handling
  2414  - Removed rejected vertices from the Avalanche frontier more aggressively
  2415  - Reduced default health check values for processing decisions
  2416  
  2417  ## [v1.9.15](https://github.com/ava-labs/avalanchego/releases/tag/v1.9.15)
  2418  
  2419  This version is backwards compatible to [v1.9.0](https://github.com/ava-labs/avalanchego/releases/tag/v1.9.0). It is optional, but encouraged. The supported plugin version is `24`.
  2420  
  2421  - Fixed `x/merkledb.ChangeProof#getLargestKey` to correctly handle no changes
  2422  - Added test for `avm/txs/executor.SemanticVerifier#verifyFxUsage` with multiple valid fxs
  2423  - Fixed CPU + bandwidth performance regression during vertex processing
  2424  - Added example usage of the `/ext/index/X/block` API
  2425  - Reduced the default value of `--snow-optimal-processing` from `50` to `10`
  2426  - Updated the year in the license header
  2427  
  2428  ## [v1.9.14](https://github.com/ava-labs/avalanchego/releases/tag/v1.9.14)
  2429  
  2430  This version is backwards compatible to [v1.9.0](https://github.com/ava-labs/avalanchego/releases/tag/v1.9.0). It is optional, but encouraged. The supported plugin version is `24`.
  2431  
  2432  ## [v1.9.13](https://github.com/ava-labs/avalanchego/releases/tag/v1.9.13)
  2433  
  2434  This version is backwards compatible to [v1.9.0](https://github.com/ava-labs/avalanchego/releases/tag/v1.9.0). It is optional, but encouraged. The supported plugin version is `24`.
  2435  
  2436  ## [v1.9.12](https://github.com/ava-labs/avalanchego/releases/tag/v1.9.12)
  2437  
  2438  This version is backwards compatible to [v1.9.0](https://github.com/ava-labs/avalanchego/releases/tag/v1.9.0). It is optional, but encouraged. The supported plugin version is `24`.
  2439  
  2440  ### Networking
  2441  
  2442  - Removed linger setting on P2P connections
  2443  - Improved error message when failing to calculate peer uptimes
  2444  - Removed `EngineType` from P2P response messages
  2445  - Added context cancellation during dynamic IP updates
  2446  - Reduced the maximum P2P reconnect delay from 1 hour to 1 minute
  2447  
  2448  ### Consensus
  2449  
  2450  - Added support to switch from `Avalanche` consensus to `Snowman` consensus
  2451  - Added support for routing consensus messages to either `Avalanche` or `Snowman` consensus on the same chain
  2452  - Removed usage of deferred evaluation of the `handler.Consensus` in the `Avalanche` `OnFinished` callback
  2453  - Dropped inbound `Avalanche` consensus messages after switching to `Snowman` consensus
  2454  - Renamed the `Avalanche` VM metrics prefix from `avalanche_{chainID}_vm_` to `avalanche_{chainID}_vm_avalanche`
  2455  - Replaced `consensus` and `decision` dispatchers with `block`, `tx`, and `vertex` dispatchers
  2456  - Removed `Avalanche` bootstrapping restarts during the switch to `Snowman` consensus
  2457  
  2458  ### AVM
  2459  
  2460  - Added `avm` block execution manager
  2461  - Added `avm` block builder
  2462  - Refactored `avm` transaction syntactic verification
  2463  - Refactored `avm` transaction semantic verification
  2464  - Refactored `avm` transaction execution
  2465  - Added `avm` mempool gossip
  2466  - Removed block timer interface from `avm` `mempool`
  2467  - Moved `toEngine` channel into the `avm` `mempool`
  2468  - Added `GetUTXOFromID` to the `avm` `state.Chain` interface
  2469  - Added unpopulated `MerkleRoot` to `avm` blocks
  2470  - Added `avm` transaction based metrics
  2471  - Replaced error strings with error interfaces in the `avm` mempool
  2472  
  2473  ### PlatformVM
  2474  
  2475  - Added logs when the local nodes stake amount changes
  2476  - Moved `platformvm` `message` package into `components`
  2477  - Replaced error strings with error interfaces in the `platformvm` mempool
  2478  
  2479  ### Warp
  2480  
  2481  - Added `ID` method to `warp.UnsignedMessage`
  2482  - Improved `warp.Signature` verification error descriptions
  2483  
  2484  ### Miscellaneous
  2485  
  2486  - Improved `merkledb` locking to allow concurrent read access through `trieView`s
  2487  - Fixed `Banff` transaction signing with ledger when using the wallet
  2488  - Emitted github artifacts after successful builds
  2489  - Added non-blocking bounded queue
  2490  - Converted the `x.Parser` helper to be a `block.Parser` interface from a `tx.Parser` interface
  2491  
  2492  ### Cleanup
  2493  
  2494  - Separated dockerhub image publishing from the kurtosis test workflow
  2495  - Exported various errors to use in testing
  2496  - Removed the `vms/components/state` package
  2497  - Replaced ad-hoc linked hashmaps with the standard data-structure
  2498  - Removed `usr/local/lib/avalanche` from deb packages
  2499  - Standardized usage of `constants.UnitTestID`
  2500  
  2501  ### Examples
  2502  
  2503  - Added P-chain `RemoveSubnetValidatorTx` example using the wallet
  2504  - Added X-chain `CreateAssetTx` example using the wallet
  2505  
  2506  ### Configs
  2507  
  2508  - Added support to specify `HTTP` server timeouts
  2509    - `--http-read-timeout`
  2510    - `--http-read-header-timeout`
  2511    - `--http-write-timeout`
  2512    - `--http-idle-timeout`
  2513  
  2514  ### APIs
  2515  
  2516  - Added `avm` block APIs
  2517    - `avm.getBlock`
  2518    - `avm.getBlockByHeight`
  2519    - `avm.getHeight`
  2520  - Converted `avm` APIs to only surface accepted state
  2521  - Deprecated all `ipcs` APIs
  2522    - `ipcs.publishBlockchain`
  2523    - `ipcs.unpublishBlockchain`
  2524    - `ipcs.getPublishedBlockchains`
  2525  - Deprecated all `keystore` APIs
  2526    - `keystore.createUser`
  2527    - `keystore.deleteUser`
  2528    - `keystore.listUsers`
  2529    - `keystore.importUser`
  2530    - `keystore.exportUser`
  2531  - Deprecated the `avm/pubsub` API endpoint
  2532  - Deprecated various `avm` APIs
  2533    - `avm.getAddressTxs`
  2534    - `avm.getBalance`
  2535    - `avm.getAllBalances`
  2536    - `avm.createAsset`
  2537    - `avm.createFixedCapAsset`
  2538    - `avm.createVariableCapAsset`
  2539    - `avm.createNFTAsset`
  2540    - `avm.createAddress`
  2541    - `avm.listAddresses`
  2542    - `avm.exportKey`
  2543    - `avm.importKey`
  2544    - `avm.mint`
  2545    - `avm.sendNFT`
  2546    - `avm.mintNFT`
  2547    - `avm.import`
  2548    - `avm.export`
  2549    - `avm.send`
  2550    - `avm.sendMultiple`
  2551  - Deprecated the `avm/wallet` API endpoint
  2552    - `wallet.issueTx`
  2553    - `wallet.send`
  2554    - `wallet.sendMultiple`
  2555  - Deprecated various `platformvm` APIs
  2556    - `platform.exportKey`
  2557    - `platform.importKey`
  2558    - `platform.getBalance`
  2559    - `platform.createAddress`
  2560    - `platform.listAddresses`
  2561    - `platform.getSubnets`
  2562    - `platform.addValidator`
  2563    - `platform.addDelegator`
  2564    - `platform.addSubnetValidator`
  2565    - `platform.createSubnet`
  2566    - `platform.exportAVAX`
  2567    - `platform.importAVAX`
  2568    - `platform.createBlockchain`
  2569    - `platform.getBlockchains`
  2570    - `platform.getStake`
  2571    - `platform.getMaxStakeAmount`
  2572    - `platform.getRewardUTXOs`
  2573  - Deprecated the `stake` field in the `platform.getTotalStake` response in favor of `weight`
  2574  
  2575  ## [v1.9.11](https://github.com/ava-labs/avalanchego/releases/tag/v1.9.11)
  2576  
  2577  This version is backwards compatible to [v1.9.0](https://github.com/ava-labs/avalanchego/releases/tag/v1.9.0). It is optional, but encouraged. The supported plugin version is `24`.
  2578  
  2579  ### Plugins
  2580  
  2581  - Removed error from `logging.NoLog#Write`
  2582  - Added logging to the static VM factory usage
  2583  - Fixed incorrect error being returned from `subprocess.Bootstrap`
  2584  
  2585  ### Ledger
  2586  
  2587  - Added ledger tx parsing support
  2588  
  2589  ### MerkleDB
  2590  
  2591  - Added explicit consistency guarantees when committing multiple `merkledb.trieView`s to disk at once
  2592  - Removed reliance on premature root calculations for `merkledb.trieView` validity tracking
  2593  - Updated `x/merkledb/README.md`
  2594  
  2595  ## [v1.9.10](https://github.com/ava-labs/avalanchego/releases/tag/v1.9.10)
  2596  
  2597  This version is backwards compatible to [v1.9.0](https://github.com/ava-labs/avalanchego/releases/tag/v1.9.0). It is optional, but encouraged. The supported plugin version is `24`.
  2598  
  2599  ### MerkleDB
  2600  
  2601  - Removed parent tracking from `merkledb.trieView`
  2602  - Removed `base` caches from `merkledb.trieView`
  2603  - Fixed error handling during `merkledb` intermediate node eviction
  2604  - Replaced values larger than `32` bytes with a hash in the `merkledb` hash representation
  2605  
  2606  ### AVM
  2607  
  2608  - Refactored `avm` API tx creation into a standalone `Spender` implementation
  2609  - Migrated UTXO interfaces from the `platformvm` into the `components` for use in the `avm`
  2610  - Refactored `avm` `tx.SyntacticVerify` to expect the config rather than the fee fields
  2611  
  2612  ### Miscellaneous
  2613  
  2614  - Updated the minimum golang version to `v1.19.6`
  2615  - Fixed `rpcchainvm` signal handling to only shutdown upon receipt of `SIGTERM`
  2616  - Added `warp.Signature#NumSigners` for better cost tracking support
  2617  - Added `snow.Context#PublicKey` to provide access to the local node's BLS public key inside the VM execution environment
  2618  - Renamed Avalanche consensus metric prefix to `avalanche_{chainID}_avalanche`
  2619  - Specified an explicit TCP `Linger` timeout of `15` seconds
  2620  - Updated the `secp256k1` library to `v4.1.0`
  2621  
  2622  ### Cleanup
  2623  
  2624  - Removed support for the `--whitelisted-subnets` flag
  2625  - Removed unnecessary abstractions from the `app` package
  2626  - Removed `Factory` embedding from `platformvm.VM` and `avm.VM`
  2627  - Removed `validator` package from the `platformvm`
  2628  - Removed `timer.TimeoutManager`
  2629  - Replaced `snow.Context` in `Factory.New` with `logging.Logger`
  2630  - Renamed `set.Bits#Len` to `BitLen` and `set.Bits#HammingWeight` to `Len` to align with `set.Bits64`
  2631  
  2632  ## [v1.9.9](https://github.com/ava-labs/avalanchego/releases/tag/v1.9.9)
  2633  
  2634  This version is backwards compatible to [v1.9.0](https://github.com/ava-labs/avalanchego/releases/tag/v1.9.0). It is optional, but encouraged. The supported plugin version is `23`.
  2635  
  2636  **Note: The `--whitelisted-subnets` flag was deprecated in `v1.9.6`. This is the last release in which it will be supported. Use `--track-subnets` instead.**
  2637  
  2638  ### Monitoring
  2639  
  2640  - Added warning when the P2P server IP is private
  2641  - Added warning when the HTTP server IP is potentially publicly reachable
  2642  - Removed `merkledb.trieView#calculateIDs` tracing when no recalculation is needed
  2643  
  2644  ### Databases
  2645  
  2646  - Capped the number of goroutines that `merkledb.trieView#calculateIDsConcurrent` will create
  2647  - Removed `nodb` package
  2648  - Refactored `Batch` implementations to share common code
  2649  - Added `Batch.Replay` invariant tests
  2650  - Converted to use `require` in all `database` interface tests
  2651  
  2652  ### Cryptography
  2653  
  2654  - Moved the `secp256k1` implementations to a new `secp256k1` package out of the `crypto` package
  2655  - Added `rfc6979` compliance tests to the `secp256k1` signing implementation
  2656  - Removed unused cryptography implementations `ed25519`, `rsa`, and `rsapss`
  2657  - Removed unnecessary cryptography interfaces `crypto.Factory`, `crypto.RecoverableFactory`, `crypto.PublicKey`, and `crypto.PrivateKey`
  2658  - Added verification when parsing `secp256k1` public keys to ensure usage of the compressed format
  2659  
  2660  ### API
  2661  
  2662  - Removed delegators from `platform.getCurrentValidators` unless a single `nodeID` is requested
  2663  - Added `delegatorCount` and `delegatorWeight` to the validators returned by `platform.getCurrentValidators`
  2664  
  2665  ### Documentation
  2666  
  2667  - Improved documentation on the `block.WithVerifyContext` interface
  2668  - Fixed `--public-ip` and `--public-ip-resolution-service` CLI flag descriptions
  2669  - Updated `README.md` to explicitly reference `SECURITY.md`
  2670  
  2671  ### Coreth
  2672  
  2673  - Enabled state sync by default when syncing from an empty database
  2674  - Increased block gas limit to 15M for `Cortina` Network Upgrade
  2675  - Added back file tracer endpoint
  2676  - Added back JS tracer
  2677  
  2678  ### Miscellaneous
  2679  
  2680  - Added `allowedNodes` to the subnet config for `validatorOnly` subnets
  2681  - Removed the `hashicorp/go-plugin` dependency to improve plugin flexibility
  2682  - Replaced specialized `bag` implementations with generic `bag` implementations
  2683  - Added `mempool` package to the `avm`
  2684  - Added `chain.State#IsProcessing` to simplify integration with `block.WithVerifyContext`
  2685  - Added `StateSyncMinVersion` to `sync.ClientConfig`
  2686  - Added validity checks for `InitialStakeDuration` in a custom network genesis
  2687  - Removed unnecessary reflect call when marshalling an empty slice
  2688  
  2689  ### Cleanup
  2690  
  2691  - Renamed `teleporter` package to `warp`
  2692  - Replaced `bool` flags in P-chain state diffs with an `enum`
  2693  - Refactored subnet configs to more closely align between the primary network and subnets
  2694  - Simplified the `utxo.Spender` interface
  2695  - Removed unused field `common.Config#Validators`
  2696  
  2697  ## [v1.9.8](https://github.com/ava-labs/avalanchego/releases/tag/v1.9.8)
  2698  
  2699  This version is backwards compatible to [v1.9.0](https://github.com/ava-labs/avalanchego/releases/tag/v1.9.0). It is optional, but encouraged. The supported plugin version is `22`.
  2700  
  2701  ### Networking
  2702  
  2703  - Added TCP proxy support for p2p network traffic
  2704  - Added p2p network client utility for directly messaging the p2p network
  2705  
  2706  ### Consensus
  2707  
  2708  - Guaranteed delivery of App messages to the VM, regardless of sync status
  2709  - Added `EngineType` to consensus context
  2710  
  2711  ### MerkleDB - Alpha
  2712  
  2713  - Added initial implementation of a path-based merkle-radix tree
  2714  - Added initial implementation of state sync powered by the merkledb
  2715  
  2716  ### APIs
  2717  
  2718  - Updated `platform.getCurrentValidators` to return `uptime` as a percentage
  2719  - Updated `platform.get*Validators` to avoid iterating over the staker set when requesting specific nodeIDs
  2720  - Cached staker data in `platform.get*Validators` to significantly reduce DB IO
  2721  - Added `stakeAmount` and `weight` to all staker responses in P-chain APIs
  2722  - Deprecated `stakeAmount` in staker responses from P-chain APIs
  2723  - Removed `creationTxFee` from `info.GetTxFeeResponse`
  2724  - Removed `address` from `platformvm.GetBalanceRequest`
  2725  
  2726  ### Fixes
  2727  
  2728  - Fixed `RemoveSubnetValidatorTx` weight diff corruption
  2729  - Released network lock before attempting to close a peer connection
  2730  - Fixed X-Chain last accepted block initialization to use the genesis block, not the stop vertex after linearization
  2731  - Removed plugin directory handling from AMI generation
  2732  - Removed copy of plugins directory from tar script
  2733  
  2734  ### Cleanup
  2735  
  2736  - Removed unused rpm packaging scripts
  2737  - Removed engine dependency from chain registrants
  2738  - Removed unused field from chain handler log
  2739  - Linted custom test `chains.Manager`
  2740  - Used generic btree implementation
  2741  - Deleted `utils.CopyBytes`
  2742  - Updated rjeczalik/notify from v0.9.2 to v0.9.3
  2743  
  2744  ### Miscellaneous
  2745  
  2746  - Added AVM `state.Chain` interface
  2747  - Added generic atomic value utility
  2748  - Added test for the AMI builder during RCs
  2749  - Converted cache implementations to use generics
  2750  - Added optional cache eviction callback
  2751  
  2752  ## [v1.9.7](https://github.com/ava-labs/avalanchego/releases/tag/v1.9.7)
  2753  
  2754  This version is backwards compatible to [v1.9.0](https://github.com/ava-labs/avalanchego/releases/tag/v1.9.0). It is optional, but encouraged. The supported plugin version is `22`.
  2755  
  2756  ### Fixes
  2757  
  2758  - Fixed subnet validator lookup regression
  2759  
  2760  ## [v1.9.6](https://github.com/ava-labs/avalanchego/releases/tag/v1.9.6)
  2761  
  2762  This version is backwards compatible to [v1.9.0](https://github.com/ava-labs/avalanchego/releases/tag/v1.9.0). It is optional, but encouraged. The supported plugin version is `22`.
  2763  
  2764  ### Consensus
  2765  
  2766  - Added `StateSyncMode` to the return of `StateSummary#Accept` to support syncing chain state while tracking the chain as a light client
  2767  - Added `AcceptedFrontier` to `Chits` messages
  2768  - Reduced unnecessary confidence resets during consensus by applying `AcceptedFrontier`s during `QueryFailed` handling
  2769  - Added EngineType for consensus messages in the p2p message definitions
  2770  - Updated `vertex.DAGVM` interface to support linearization
  2771  
  2772  ### Configs
  2773  
  2774  - Added `--plugin-dir` flag. The default value is `[DATADIR]/plugins`
  2775  - Removed `--build-dir` flag. The location of the avalanchego binary is no longer considered when looking for the `plugins` directory. Subnet maintainers should ensure that their node is able to properly discover plugins, as the default location is likely changed. See `--plugin-dir`
  2776  - Changed the default value of `--api-keystore-enabled` to `false`
  2777  - Added `--track-subnets` flag as a replacement of `--whitelisted-subnets`
  2778  
  2779  ### Fixes
  2780  
  2781  - Fixed NAT-PMP router discovery and port mapping
  2782  - Fixed `--staking-enabled=false` setting to correctly start subnet chains and report healthy
  2783  - Fixed message logging in the consensus handler
  2784  
  2785  ### VMs
  2786  
  2787  - Populated non-trivial logger in the `rpcchainvm` `Server`'s `snow.Context`
  2788  - Updated `rpcchainvm` proto definitions to use enums
  2789  - Added `Block` format and definition to the `AVM`
  2790  - Removed `proposervm` height index reset
  2791  
  2792  ### Metrics
  2793  
  2794  - Added `avalanche_network_peer_connected_duration_average` metric
  2795  - Added `avalanche_api_calls_processing` metric
  2796  - Added `avalanche_api_calls` metric
  2797  - Added `avalanche_api_calls_duration` metric
  2798  
  2799  ### Documentation
  2800  
  2801  - Added wallet example to create `stakeable.LockOut` outputs
  2802  - Improved ubuntu deb install instructions
  2803  
  2804  ### Miscellaneous
  2805  
  2806  - Updated ledger-avalanche to v0.6.5
  2807  - Added linter to ban the usage of `fmt.Errorf` without format directives
  2808  - Added `List` to the `buffer#Deque` interface
  2809  - Added `Index` to the `buffer#Deque` interface
  2810  - Added `SetLevel` to the `Logger` interface
  2811  - Updated `auth` API to use the new `jwt` standard
  2812  
  2813  ## [v1.9.5](https://github.com/ava-labs/avalanchego/releases/tag/v1.9.5)
  2814  
  2815  This version is backwards compatible to [v1.9.0](https://github.com/ava-labs/avalanchego/releases/tag/v1.9.0). It is optional, but encouraged. The supported plugin version is `21`.
  2816  
  2817  ### Subnet Messaging
  2818  
  2819  - Added subnet message serialization format
  2820  - Added subnet message signing
  2821  - Replaced `bls.SecretKey` with a `teleporter.Signer` in the `snow.Context`
  2822  - Moved `SNLookup` into the `validators.State` interface to support non-whitelisted chainID to subnetID lookups
  2823  - Added support for non-whitelisted subnetIDs for fetching the validator set at a given height
  2824  - Added subnet message verification
  2825  - Added `teleporter.AnycastID` to denote a subnet message not intended for a specific chain
  2826  
  2827  ### Fixes
  2828  
  2829  - Added re-gossip of updated validator IPs
  2830  - Fixed `rpcchainvm.BatchedParseBlock` to correctly wrap returned blocks
  2831  - Removed incorrect `uintptr` handling in the generic codec
  2832  - Removed message latency tracking on messages being sent to itself
  2833  
  2834  ### Coreth
  2835  
  2836  - Added support for eth_call over VM2VM messaging
  2837  - Added config flags for tx pool behavior
  2838  
  2839  ### Miscellaneous
  2840  
  2841  - Added networking package README.md
  2842  - Removed pagination of large db messages over gRPC
  2843  - Added `Size` to the generic codec to reduce allocations
  2844  - Added `UnpackLimitedBytes` and `UnpackLimitedStr` to the manual packer
  2845  - Added SECURITY.md
  2846  - Exposed proposer list from the `proposervm`'s `Windower` interface
  2847  - Added health and bootstrapping client helpers that block until the node is healthy
  2848  - Moved bit sets from the `ids` package to the `set` package
  2849  - Added more wallet examples
  2850  
  2851  ## [v1.9.4](https://github.com/ava-labs/avalanchego/releases/tag/v1.9.4)
  2852  
  2853  This version is backwards compatible to [v1.9.0](https://github.com/ava-labs/avalanchego/releases/tag/v1.9.0). It is optional, but encouraged. The supported plugin version is `20`.
  2854  
  2855  **This version modifies the db format. The db format is compatible with v1.9.3, but not v1.9.2 or earlier. After running a node with v1.9.4 attempting to run a node with a version earlier than v1.9.3 may report a fatal error on startup.**
  2856  
  2857  ### PeerList Gossip Optimization
  2858  
  2859  - Added gossip tracking to the `peer` instance to only gossip new `IP`s to a connection
  2860  - Added `PeerListAck` message to report which `TxID`s provided by the `PeerList` message were tracked
  2861  - Added `TxID`s to the `PeerList` message to unique-ify nodeIDs across validation periods
  2862  - Added `TxID` mappings to the gossip tracker
  2863  
  2864  ### Validator Set Tracking
  2865  
  2866  - Renamed `GetValidators` to `Get` on the `validators.Manager` interface
  2867  - Removed `Set`, `AddWeight`, `RemoveWeight`, and `Contains` from the `validators.Manager` interface
  2868  - Added `Add` to the `validators.Manager` interface
  2869  - Removed `Set` from the `validators.Set` interface
  2870  - Added `Add` and `Get` to the `validators.Set` interface
  2871  - Modified `validators.Set#Sample` to return `ids.NodeID` rather than `valdiators.Validator`
  2872  - Replaced the `validators.Validator` interface with a struct
  2873  - Added a `BLS` public key field to `validators.Validator`
  2874  - Added a `TxID` field to `validators.Validator`
  2875  - Improved and documented error handling within the `validators.Set` interface
  2876  - Added `BLS` public keys to the result of `GetValidatorSet`
  2877  - Added `BuildBlockWithContext` as an optional VM method to build blocks at a specific P-chain height
  2878  - Added `VerifyWithContext` as an optional block method to verify blocks at a specific P-chain height
  2879  
  2880  ### Uptime Tracking
  2881  
  2882  - Added ConnectedSubnet message handling to the chain handler
  2883  - Added SubnetConnector interface and implemented it in the platformvm
  2884  - Added subnet uptimes to p2p `pong` messages
  2885  - Added subnet uptimes to `platform.getCurrentValidators`
  2886  - Added `subnetID` as an argument to `info.Uptime`
  2887  
  2888  ### Fixes
  2889  
  2890  - Fixed incorrect context cancellation of escaped contexts from grpc servers
  2891  - Fixed race condition between API initialization and shutdown
  2892  - Fixed race condition between NAT traversal initialization and shutdown
  2893  - Fixed race condition during beacon connection tracking
  2894  - Added race detection to the E2E tests
  2895  - Added additional message and sender tests
  2896  
  2897  ### Coreth
  2898  
  2899  - Improved header and logs caching using maximum accepted depth cache
  2900  - Added config option to perform database inspection on startup
  2901  - Added configurable transaction indexing to reduce disk usage
  2902  - Added special case to allow transactions using Nick's Method to bypass API level replay protection
  2903  - Added counter metrics for number of accepted/processed logs
  2904  
  2905  ### APIs
  2906  
  2907  - Added indices to the return values of `GetLastAccepted` and `GetContainerByID` on the `indexer` API client
  2908  - Removed unnecessary locking from the `info` API
  2909  
  2910  ### Chain Data
  2911  
  2912  - Added `ChainDataDir` to the `snow.Context` to allow blockchains to canonically access disk outside avalanchego's database
  2913  - Added `--chain-data-dir` as a CLI flag to specify the base directory for all `ChainDataDir`s
  2914  
  2915  ### Miscellaneous
  2916  
  2917  - Removed `Version` from the `peer.Network` interface
  2918  - Removed `Pong` from the `peer.Network` interface
  2919  - Reduced memory allocations inside the system throttler
  2920  - Added `CChainID` to the `snow.Context`
  2921  - Converted all sorting to utilize generics
  2922  - Converted all set management to utilize generics
  2923  
  2924  ## [v1.9.3](https://github.com/ava-labs/avalanchego/releases/tag/v1.9.3)
  2925  
  2926  This version is backwards compatible to [v1.9.0](https://github.com/ava-labs/avalanchego/releases/tag/v1.9.0). It is optional, but encouraged. The supported plugin version is `19`.
  2927  
  2928  ### Tracing
  2929  
  2930  - Added `context.Context` to all `VM` interface functions
  2931  - Added `context.Context` to the `validators.State` interface
  2932  - Added additional message fields to `tracedRouter#HandleInbound`
  2933  - Added `tracedVM` implementations for `block.ChainVM` and `vertex.DAGVM`
  2934  - Added `tracedState` implementation for `validators.State`
  2935  - Added `tracedHandler` implementation for `http.Handler`
  2936  - Added `tracedConsensus` implementations for `snowman.Consensus` and `avalanche.Consensus`
  2937  
  2938  ### Fixes
  2939  
  2940  - Fixed incorrect `NodeID` used in registered `AppRequest` timeouts
  2941  - Fixed panic when calling `encdb#NewBatch` after `encdb#Close`
  2942  - Fixed panic when calling `prefixdb#NewBatch` after `prefixdb#Close`
  2943  
  2944  ### Configs
  2945  
  2946  - Added `proposerMinBlockDelay` support to subnet configs
  2947  - Added `providedFlags` field to the `initializing node` for easily observing custom node configs
  2948  - Added `--chain-aliases-file` and `--chain-aliases-file-content` CLI flags
  2949  - Added `--proposervm-use-current-height` CLI flag
  2950  
  2951  ### Coreth
  2952  
  2953  - Added metric for number of processed and accepted transactions
  2954  - Added wait for state sync goroutines to complete on shutdown
  2955  - Increased go-ethereum dependency to v1.10.26
  2956  - Increased soft cap on transaction size limits
  2957  - Added back isForkIncompatible checks for all existing forks
  2958  - Cleaned up Apricot Phase 6 code
  2959  
  2960  ### Linting
  2961  
  2962  - Added `unused-receiver` linter
  2963  - Added `unused-parameter` linter
  2964  - Added `useless-break` linter
  2965  - Added `unhandled-error` linter
  2966  - Added `unexported-naming` linter
  2967  - Added `struct-tag` linter
  2968  - Added `bool-literal-in-expr` linter
  2969  - Added `early-return` linter
  2970  - Added `empty-lines` linter
  2971  - Added `error-lint` linter
  2972  
  2973  ### Testing
  2974  
  2975  - Added `scripts/build_fuzz.sh` and initial fuzz tests
  2976  - Added additional `Fx` tests
  2977  - Added additional `messageQueue` tests
  2978  - Fixed `vmRegisterer` tests
  2979  
  2980  ### Documentation
  2981  
  2982  - Documented `Database.Put` invariant for `nil` and empty slices
  2983  - Documented avalanchego's versioning scheme
  2984  - Improved `vm.proto` docs
  2985  
  2986  ### Miscellaneous
  2987  
  2988  - Added peer gossip tracker
  2989  - Added `avalanche_P_vm_time_until_unstake` and `avalanche_P_vm_time_until_unstake_subnet` metrics
  2990  - Added `keychain.NewLedgerKeychainFromIndices`
  2991  - Removed usage of `Temporary` error handling after `listener#Accept`
  2992  - Removed `Parameters` from all `Consensus` interfaces
  2993  - Updated `avalanche-network-runner` to `v1.3.0`
  2994  - Added `ids.BigBitSet` to extend `ids.BitSet64` for arbitrarily large sets
  2995  - Added support for parsing future subnet uptime tracking data to the P-chain's state implementation
  2996  - Increased validator set cache size
  2997  - Added `avax.UTXOIDFromString` helper for managing `UTXOID`s more easily
  2998  
  2999  ## [v1.9.2](https://github.com/ava-labs/avalanchego/releases/tag/v1.9.2)
  3000  
  3001  This version is backwards compatible to [v1.9.0](https://github.com/ava-labs/avalanchego/releases/tag/v1.9.0). It is optional, but encouraged. The supported plugin version is `19`.
  3002  
  3003  ### Coreth
  3004  
  3005  - Added trie clean cache journaling to disk to improve processing time after restart
  3006  - Fixed regression where a snapshot could be marked as stale by the async acceptor during block processing
  3007  - Added fine-grained block processing metrics
  3008  
  3009  ### RPCChainVM
  3010  
  3011  - Added `validators.State` to the rpcchainvm server's `snow.Context`
  3012  - Added `rpcProtocolVersion` to the output of `info.getNodeVersion`
  3013  - Added `rpcchainvm` protocol version to the output of the `--version` flag
  3014  - Added `version.RPCChainVMProtocolCompatibility` map to easily compare plugin compatibility against avalanchego versions
  3015  
  3016  ### Builds
  3017  
  3018  - Downgraded `ubuntu` release binaries from `jammy` to `focal`
  3019  - Updated macos github runners to `macos-12`
  3020  - Added workflow dispatch to build release binaries
  3021  
  3022  ### BLS
  3023  
  3024  - Added bls proof of possession to `platform.getCurrentValidators` and `platform.getPendingValidators`
  3025  - Added bls public key to in-memory staker objects
  3026  - Improved memory clearing of bls secret keys
  3027  
  3028  ### Cleanup
  3029  
  3030  - Fixed issue where the chain manager would attempt to start chain creation multiple times
  3031  - Fixed race that caused the P-chain to finish bootstrapping before the primary network finished bootstrapping
  3032  - Converted inbound message handling to expect usage of types rather than maps of fields
  3033  - Simplified the `validators.Set` implementation
  3034  - Added a warning if synchronous consensus messages take too long
  3035  
  3036  ## [v1.9.1](https://github.com/ava-labs/avalanchego/releases/tag/v1.9.1)
  3037  
  3038  This version is backwards compatible to [v1.9.0](https://github.com/ava-labs/avalanchego/releases/tag/v1.9.0). It is optional, but encouraged. The supported plugin version is `18`.
  3039  
  3040  ### Features
  3041  
  3042  - Added cross-chain messaging support to the VM interface
  3043  - Added Ledger support to the Primary Network wallet
  3044  - Converted Bionic builds to Jammy builds
  3045  - Added `mock.gen.sh` to programmatically generate mock implementations
  3046  - Added BLS signer to the `snow.Context`
  3047  - Moved `base` from `rpc.NewEndpointRequester` to be included in the `method` in `SendRequest`
  3048  - Converted `UnboundedQueue` to `UnboundedDeque`
  3049  
  3050  ### Observability
  3051  
  3052  - Added support for OpenTelemetry tracing
  3053  - Converted periodic bootstrapping status update to be time-based
  3054  - Removed duplicated fields from the json format of the node config
  3055  - Configured min connected stake health check based on the consensus parameters
  3056  - Added new consensus metrics
  3057  - Documented how chain time is advanced in the PlatformVM with `chain_time_update.md`
  3058  
  3059  ### Cleanup
  3060  
  3061  - Converted chain creation to be handled asynchronously from the P-chain's execution environment
  3062  - Removed `SetLinger` usage of P2P TCP connections
  3063  - Removed `Banff` upgrade flow
  3064  - Fixed ProposerVM inner block caching after verification
  3065  - Fixed PlatformVM mempool verification to use an updated chain time
  3066  - Removed deprecated CLI flags: `--dynamic-update-duration`, `--dynamic-public-ip`
  3067  - Added unexpected Put bytes tests to the Avalanche and Snowman consensus engines
  3068  - Removed mockery generated mock implementations
  3069  - Converted safe math functions to use generics where possible
  3070  - Added linting to prevent usage of `assert` in unit tests
  3071  - Converted empty struct usage to `nil` for interface compliance checks
  3072  - Added CODEOWNERs to own first rounds of PR review
  3073  
  3074  ## [v1.9.0](https://github.com/ava-labs/avalanchego/releases/tag/v1.9.0)
  3075  
  3076  This upgrade adds support for creating Proof-of-Stake Subnets.
  3077  
  3078  This version is not backwards compatible. The changes in the upgrade go into effect at 12 PM EDT, October 18th 2022 on Mainnet.
  3079  
  3080  **All Mainnet nodes should upgrade before 12 PM EDT, October 18th 2022.**
  3081  
  3082  The supported plugin version is `17`.
  3083  
  3084  ### Upgrades
  3085  
  3086  - Activated P2P serialization format change to Protobuf
  3087  - Activated non-AVAX `ImportTx`/`ExportTx`s to/from the P-chain
  3088  - Activated `Banff*` blocks on the P-chain
  3089  - Deactivated `Apricot*` blocks on the P-chain
  3090  - Activated `RemoveSubnetValidatorTx`s on the P-chain
  3091  - Activated `TransformSubnetTx`s on the P-chain
  3092  - Activated `AddPermissionlessValidatorTx`s on the P-chain
  3093  - Activated `AddPermissionlessDelegatorTx`s on the P-chain
  3094  - Deactivated ANT `ImportTx`/`ExportTx`s on the C-chain
  3095  - Deactivated ANT precompiles on the C-chain
  3096  
  3097  ### Deprecations
  3098  
  3099  - Ubuntu 18.04 releases are deprecated and will not be provided for `>=v1.9.1`
  3100  
  3101  ### Miscellaneous
  3102  
  3103  - Fixed locked input signing in the P-chain wallet
  3104  - Removed assertions from the logger interface
  3105  - Removed `--assertions-enabled` flag
  3106  - Fixed typo in `--bootstrap-max-time-get-ancestors` flag
  3107  - Standardized exported P-Chain codec usage
  3108  - Improved isolation and execution of the E2E tests
  3109  - Updated the linked hashmap implementation to use generics
  3110  
  3111  ## [v1.8.6](https://github.com/ava-labs/avalanchego/releases/tag/v1.8.6)
  3112  
  3113  This version is backwards compatible to [v1.8.0](https://github.com/ava-labs/avalanchego/releases/tag/v1.8.0). It is optional, but encouraged. The supported plugin version is `16`.
  3114  
  3115  ### BLS
  3116  
  3117  - Added BLS key file at `--staking-signer-key-file`
  3118  - Exposed BLS proof of possession in the `info.getNodeID` API
  3119  - Added BLS proof of possession to `AddPermissionlessValidatorTx`s for the Primary Network
  3120  
  3121  The default value of `--staking-signer-key-file` is `~/.avalanchego/staking/signer.key`. If the key file doesn't exist, it will be populated with a new key.
  3122  
  3123  ### Networking
  3124  
  3125  - Added P2P proto support to be activated in a future release
  3126  - Fixed inbound bandwidth spike after leaving the validation set
  3127  - Removed support for `ChitsV2` messages
  3128  - Removed `ContainerID`s from `Put` and `PushQuery` messages
  3129  - Added `pending_timeouts` metric to track the number of active timeouts a node is tracking
  3130  - Fixed overflow in gzip decompression
  3131  - Optimized memory usage in `peer.MessageQueue`
  3132  
  3133  ### Miscellaneous
  3134  
  3135  - Fixed bootstrapping ETA metric
  3136  - Removed unused `unknown_txs_count` metric
  3137  - Replaced duplicated code with generic implementations
  3138  
  3139  ### Coreth
  3140  
  3141  - Added failure reason to bad block API
  3142  
  3143  ## [v1.8.5](https://github.com/ava-labs/avalanchego/releases/tag/v1.8.5)
  3144  
  3145  Please upgrade your node as soon as possible.
  3146  
  3147  The supported plugin version is `16`.
  3148  
  3149  ### Fixes
  3150  
  3151  - Fixed stale block reference by evicting blocks upon successful verification
  3152  
  3153  ### [Coreth](https://medium.com/avalancheavax/apricot-phase-6-native-asset-call-deprecation-a7b7a77b850a)
  3154  
  3155  - Removed check for Apricot Phase6 incompatible fork to unblock nodes that did not upgrade ahead of the activation time
  3156  
  3157  ## [v1.8.4](https://github.com/ava-labs/avalanchego/releases/tag/v1.8.4)
  3158  
  3159  Please upgrade your node as soon as possible.
  3160  
  3161  The supported plugin version is `16`.
  3162  
  3163  ### Caching
  3164  
  3165  - Added temporarily invalid block caching to reduce repeated network requests
  3166  - Added caching to the proposervm's inner block parsing
  3167  
  3168  ### [Coreth](https://medium.com/avalancheavax/apricot-phase-6-native-asset-call-deprecation-a7b7a77b850a)
  3169  
  3170  - Reduced the log level of `BAD BLOCK`s from `ERROR` to `DEBUG`
  3171  - Deprecated Native Asset Call
  3172  
  3173  ## [v1.8.2](https://github.com/ava-labs/avalanchego/releases/tag/v1.8.2)
  3174  
  3175  Please upgrade your node as soon as possible.
  3176  
  3177  The changes in `v1.8.x` go into effect at 4 PM EDT on September 6th, 2022 on both Fuji and Mainnet. You should upgrade your node before the changes go into effect, otherwise they may experience loss of uptime.
  3178  
  3179  The supported plugin version is `16`.
  3180  
  3181  ### [Coreth](https://medium.com/avalancheavax/apricot-phase-6-native-asset-call-deprecation-a7b7a77b850a)
  3182  
  3183  - Fixed live-lock in bootstrapping, after performing state-sync, by properly reporting `database.ErrNotFound` in `GetBlockIDAtHeight` rather than a formatted error
  3184  - Increased the log level of `BAD BLOCK`s from `DEBUG` to `ERROR`
  3185  - Fixed typo in Chain Config `String` function
  3186  
  3187  ## [v1.8.1](https://github.com/ava-labs/avalanchego/releases/tag/v1.8.1)
  3188  
  3189  Please upgrade your node as soon as possible.
  3190  
  3191  The changes in `v1.8.x` go into effect at 4 PM EDT on September 6th, 2022 on both Fuji and Mainnet. You should upgrade your node before the changes go into effect, otherwise they may experience loss of uptime.
  3192  
  3193  The supported plugin version is `16`.
  3194  
  3195  ### Miscellaneous
  3196  
  3197  - Reduced the severity of not quickly connecting to bootstrap nodes from `FATAL` to `WARN`
  3198  
  3199  ### [Coreth](https://medium.com/avalancheavax/apricot-phase-6-native-asset-call-deprecation-a7b7a77b850a)
  3200  
  3201  - Reduced the log level of `BAD BLOCK`s from `ERROR` to `DEBUG`
  3202  - Added Apricot Phase6 to Chain Config `String` function
  3203  
  3204  ## [v1.8.0](https://github.com/ava-labs/avalanchego/releases/tag/v1.8.0)
  3205  
  3206  This is a mandatory security upgrade. Please upgrade your node **as soon as possible.**
  3207  
  3208  The changes in the upgrade go into effect at **4 PM EDT on September 6th, 2022** on both Fuji and Mainnet. You should upgrade your node before the changes go into effect, otherwise they may experience loss of uptime.
  3209  
  3210  You may see some extraneous ERROR logs ("BAD BLOCK") on your node after upgrading. These may continue until the Apricot Phase 6 activation (at 4 PM EDT on September 6th).
  3211  
  3212  The supported plugin version is `16`.
  3213  
  3214  ### PlatformVM APIs
  3215  
  3216  - Fixed `GetBlock` API when requesting the encoding as `json`
  3217  - Changed the json key in `AddSubnetValidatorTx`s from `subnet` to `subnetID`
  3218  - Added multiple asset support to `getBalance`
  3219  - Updated `PermissionlessValidator`s returned from `getCurrentValidators` and `getPendingValidators` to include `validationRewardOwner` and `delegationRewardOwner`
  3220  - Deprecated `rewardOwner` in `PermissionlessValidator`s returned from `getCurrentValidators` and `getPendingValidators`
  3221  - Added `subnetID` argument to `getCurrentSupply`
  3222  - Added multiple asset support to `getStake`
  3223  - Added `subnetID` argument to `getMinStake`
  3224  
  3225  ### PlatformVM Structures
  3226  
  3227  - Renamed existing blocks
  3228    - `ProposalBlock` -> `ApricotProposalBlock`
  3229    - `AbortBlock` -> `ApricotAbortBlock`
  3230    - `CommitBlock` -> `ApricotCommitBlock`
  3231    - `StandardBlock` -> `ApricotStandardBlock`
  3232    - `AtomicBlock` -> `ApricotAtomicBlock`
  3233  - Added new block types **to be enabled in a future release**
  3234    - `BlueberryProposalBlock`
  3235      - Introduces a `Time` field and an unused `Txs` field before the remaining `ApricotProposalBlock` fields
  3236    - `BlueberryAbortBlock`
  3237      - Introduces a `Time` field before the remaining `ApricotAbortBlock` fields
  3238    - `BlueberryCommitBlock`
  3239      - Introduces a `Time` field before the remaining `ApricotCommitBlock` fields
  3240    - `BlueberryStandardBlock`
  3241      - Introduces a `Time` field before the remaining `ApricotStandardBlock` fields
  3242  - Added new transaction types **to be enabled in a future release**
  3243    - `RemoveSubnetValidatorTx`
  3244      - Can be included into `BlueberryStandardBlock`s
  3245      - Allows a subnet owner to remove a validator from their subnet
  3246    - `TransformSubnetTx`
  3247      - Can be included into `BlueberryStandardBlock`s
  3248      - Allows a subnet owner to convert their subnet into a permissionless subnet
  3249    - `AddPermissionlessValidatorTx`
  3250      - Can be included into `BlueberryStandardBlock`s
  3251      - Adds a new validator to the requested permissionless subnet
  3252    - `AddPermissionlessDelegatorTx`
  3253      - Can be included into `BlueberryStandardBlock`s
  3254      - Adds a new delegator to the requested permissionless validator on the requested subnet
  3255  
  3256  ### PlatformVM Block Building
  3257  
  3258  - Fixed race in `AdvanceTimeTx` creation to avoid unnecessary block construction
  3259  - Added `block_formation_logic.md` to describe how blocks are created
  3260  - Refactored `BlockBuilder` into `ApricotBlockBuilder`
  3261  - Added `BlueberryBlockBuilder`
  3262  - Added `OptionBlock` builder visitor
  3263  - Refactored `Mempool` issuance and removal logic to use transaction visitors
  3264  
  3265  ### PlatformVM Block Execution
  3266  
  3267  - Added support for executing `AddValidatorTx`, `AddDelegatorTx`, and `AddSubnetValidatorTx` inside of a `BlueberryStandardBlock`
  3268  - Refactored time advancement into a standard state modification structure
  3269  - Refactored `ProposalTxExecutor` to abstract state diff creation
  3270  - Standardized upgrade checking rules
  3271  - Refactored subnet authorization checking
  3272  
  3273  ### Wallet
  3274  
  3275  - Added support for new transaction types in the P-chain wallet
  3276  - Fixed fee amounts used in the Primary Network wallet to reduce unnecessary fee burning
  3277  
  3278  ### Networking
  3279  
  3280  - Defined `p2p.proto` to be used for future network messages
  3281  - Added `--network-tls-key-log-file-unsafe` to support inspecting p2p messages
  3282  - Added `avalanche_network_accept_failed` metrics to track networking `Accept` errors
  3283  
  3284  ### Miscellaneous
  3285  
  3286  - Removed reserved fields from proto files and renumbered the existing fields
  3287  - Added generic dynamically resized ring buffer
  3288  - Updated gRPC version to `v1.49.0` to fix non-deterministic errors reported in the `rpcchainvm`
  3289  - Removed `--signature-verification-enabled` flag
  3290  - Removed dead code
  3291    - `ids.QueueSet`
  3292    - `timer.Repeater`
  3293    - `timer.NewStagedTimer`
  3294    - `timer.TimedMeter`
  3295  
  3296  ### [Coreth](https://medium.com/avalancheavax/apricot-phase-6-native-asset-call-deprecation-a7b7a77b850a)
  3297  
  3298  - Incorrectly deprecated Native Asset Call
  3299  - Migrated to go-ethereum v1.10.23
  3300  - Added API to fetch Chain Config
  3301  
  3302  ## [v1.7.18](https://github.com/ava-labs/avalanchego/releases/tag/v1.7.18)
  3303  
  3304  This version is backwards compatible to [v1.7.0](https://github.com/ava-labs/avalanchego/releases/tag/v1.7.0). It is optional, but encouraged. The supported plugin version is `15`.
  3305  
  3306  ### Fixes
  3307  
  3308  - Fixed bug in `codeToFetch` database accessors that caused an error when starting/stopping state sync
  3309  - Fixed rare BAD BLOCK errors during C-chain bootstrapping
  3310  - Fixed platformvm `couldn't get preferred block state` log due to attempted block building during bootstrapping
  3311  - Fixed platformvm `failed to fetch next staker to reward` error log due to an incorrect `lastAcceptedID` reference
  3312  - Fixed AWS AMI creation
  3313  
  3314  ### PlatformVM
  3315  
  3316  - Refactored platformvm metrics handling
  3317  - Refactored platformvm block creation
  3318  - Introduced support to prevent empty nodeID use on the P-chain to be activated in a future upgrade
  3319  
  3320  ### Coreth
  3321  
  3322  - Updated gas price estimation to limit lookback window based on block timestamps
  3323  - Added metrics for processed/accepted gas
  3324  - Simplified syntactic block verification
  3325  - Ensured statedb errors during block processing are logged
  3326  - Removed deprecated gossiper/block building logic from pre-Apricot Phase 4
  3327  - Added marshal function for duration to improve config output
  3328  
  3329  ### Miscellaneous
  3330  
  3331  - Updated local network genesis to use a newer start time
  3332  - Updated minimum golang version to go1.18.1
  3333  - Removed support for RocksDB
  3334  - Bumped go-ethereum version to v1.10.21
  3335  - Added various additional tests
  3336  - Introduced additional database invariants for all database implementations
  3337  - Added retries to windows CI installations
  3338  - Removed useless ID aliasing during chain creation
  3339  
  3340  ## [v1.7.17](https://github.com/ava-labs/avalanchego/releases/tag/v1.7.17)
  3341  
  3342  This version is backwards compatible to [v1.7.0](https://github.com/ava-labs/avalanchego/releases/tag/v1.7.0). It is optional, but encouraged. The supported plugin version is `15`.
  3343  
  3344  ### VMs
  3345  
  3346  - Refactored P-chain block state management
  3347    - Supporting easier parsing and usage of blocks
  3348    - Improving separation of block execution with block definition
  3349    - Unifying state definitions
  3350  - Introduced support to send custom X-chain assets to the P-chain to be activated in a future upgrade
  3351  - Introduced support to use custom assets on the P-chain to be activated in a future upgrade
  3352  - Added VMs README to begin fully documenting plugin invariants
  3353  - Added various comments around expected usages of VM tools
  3354  
  3355  ### Coreth
  3356  
  3357  - Added optional JSON logging
  3358  - Added interface for supporting stateful precompiles
  3359  - Removed legacy code format from the database
  3360  
  3361  ### Fixes
  3362  
  3363  - Fixed ungraceful gRPC connection closure during very long running requests
  3364  - Fixed LevelDB panic during shutdown
  3365  - Fixed verification of `--stake-max-consumption-rate` to include the upper-bound
  3366  - Fixed various CI failures
  3367  - Fixed flaky unit tests
  3368  
  3369  ### Miscellaneous
  3370  
  3371  - Added bootstrapping ETA metrics
  3372  - Converted all logs to support structured fields
  3373  - Improved Snowman++ oracle block verification error messages
  3374  - Removed deprecated or unused scripts
  3375  
  3376  ## [v1.7.16](https://github.com/ava-labs/avalanchego/releases/tag/v1.7.16)
  3377  
  3378  This version is backwards compatible to [v1.7.0](https://github.com/ava-labs/avalanchego/releases/tag/v1.7.0). It is optional, but encouraged. The supported plugin version is `15`.
  3379  
  3380  ### LevelDB
  3381  
  3382  - Fix rapid disk growth by manually specifying the maximum manifest file size
  3383  
  3384  ## [v1.7.15](https://github.com/ava-labs/avalanchego/releases/tag/v1.7.15)
  3385  
  3386  This version is backwards compatible to [v1.7.0](https://github.com/ava-labs/avalanchego/releases/tag/v1.7.0). It is optional, but encouraged. The supported plugin version is `15`.
  3387  
  3388  ### PlatformVM
  3389  
  3390  - Replaced copy-on-write validator set data-structure to use tree diffs to optimize validator set additions
  3391  - Replaced validation transactions with a standardized representation to remove transaction type handling
  3392  - Migrated transaction execution to its own package
  3393  - Removed child pointers from processing blocks
  3394  - Added P-chain wallet helper for providing initial transactions
  3395  
  3396  ### Coreth
  3397  
  3398  - Bumped go-ethereum dependency to v1.10.20
  3399  - Updated API names used to enable services in `eth-api` config flag. Prior names are supported but deprecated, please update configurations [accordingly](https://docs.avax.network/nodes/maintain/chain-config-flags#c-chain-configs)
  3400  - Optimized state sync by parallelizing trie syncing
  3401  - Added `eth_syncing` API for compatibility. Note: This API is only accessible after bootstrapping and always returns `"false"`, since the node will no longer be syncing at that point
  3402  - Added metrics to the atomic transaction mempool
  3403  - Added metrics for incoming/outgoing mempool gossip
  3404  
  3405  ### Fixes
  3406  
  3407  - Updated Snowman and Avalanche consensus engines to report original container preferences before processing the provided container
  3408  - Fixed inbound message byte throttler context cancellation cleanup
  3409  - Removed case sensitivity of IP resolver services
  3410  - Added failing health check when a whitelisted subnet fails to initialize a chain
  3411  
  3412  ### Miscellaneous
  3413  
  3414  - Added gRPC client metrics for dynamically created connections
  3415  - Added uninitialized continuous time averager for when initial predictions are unreliable
  3416  - Updated linter version
  3417  - Documented various platform invariants
  3418  - Cleaned up various dead parameters
  3419  - Improved various tests
  3420  
  3421  ## [v1.7.14](https://github.com/ava-labs/avalanchego/releases/tag/v1.7.14)
  3422  
  3423  This version is backwards compatible to [v1.7.0](https://github.com/ava-labs/avalanchego/releases/tag/v1.7.0). It is optional, but encouraged.
  3424  
  3425  ### APIs
  3426  
  3427  **These API format changes are breaking changes. https://api.avax.network and https://api.avax-test.network have been updated with this format. If you are using AvalancheGo APIs in your code, please ensure you have updated to the latest versions. See  https://docs.avax.network/apis/avalanchego/cb58-deprecation for details about the CB58 removal.**
  3428  
  3429  - Removed `CB58` as an encoding option from all APIs
  3430  - Added `HexC` and `HexNC` as encoding options for all APIs that accept an encoding format
  3431  - Removed the `Success` response from all APIs
  3432  - Replaced `containerID` with `id` in the indexer API
  3433  
  3434  ### PlatformVM
  3435  
  3436  - Fixed incorrect `P-chain` height in `Snowman++` when staking is disabled
  3437  - Moved `platformvm` transactions to be defined in a sub-package
  3438  - Moved `platformvm` genesis management to be defined in a sub-package
  3439  - Moved `platformvm` state to be defined in a sub-package
  3440  - Standardized `platformvm` transactions to always be referenced via pointer
  3441  - Moved the `platformvm` transaction builder to be defined in a sub-package
  3442  - Fixed uptime rounding during node shutdown
  3443  
  3444  ### Coreth
  3445  
  3446  - Bumped go-ethereum dependency to v1.10.18
  3447  - Parallelized state sync code fetching
  3448  
  3449  ### Networking
  3450  
  3451  - Updated `Connected` and `Disconnected` messages to only be sent to chains if the peer is tracking the subnet
  3452  - Updated the minimum TLS version on the p2p network to `v1.3`
  3453  - Supported context cancellation in the networking rate limiters
  3454  - Added `ChitsV2` message format for the p2p network to be used in a future upgrade
  3455  
  3456  ### Miscellaneous
  3457  
  3458  - Fixed `--public-ip-resolution-frequency` invalid overwrite of the resolution service
  3459  - Added additional metrics to distinguish between virtuous and rogue currently processing transactions
  3460  - Suppressed the super cool `avalanchego` banner when `stdout` is not directed to a terminal
  3461  - Updated linter version
  3462  - Improved various comments and documentation
  3463  - Standardized primary network handling across subnet maps
  3464  
  3465  ## [v1.7.13](https://github.com/ava-labs/avalanchego/releases/tag/v1.7.13)
  3466  
  3467  This version is backwards compatible to [v1.7.0](https://github.com/ava-labs/avalanchego/releases/tag/v1.7.0). It is optional, but encouraged.
  3468  
  3469  ### State Sync
  3470  
  3471  - Added peer bandwidth tracking to optimize `coreth` state sync message routing
  3472  - Fixed `coreth` leaf request handler bug to ensure the handler delivers a valid range proof
  3473  - Removed redundant proof keys from `coreth` leafs response message format
  3474  - Improved `coreth` state sync request retry logic
  3475  - Improved `coreth` state sync handler metrics
  3476  - Improved `coreth` state sync ETA
  3477  - Added `avalanche_{chainID}_handler_async_expired` metric
  3478  
  3479  ### Miscellaneous
  3480  
  3481  - Fixed `platform.getCurrentValidators` API to correctly mark a node as connected to itself on subnets.
  3482  - Fixed `platform.getBlockchainStatus` to correctly report `Unknown` for blockchains that are not managed by the `P-Chain`
  3483  - Added process metrics by default in the `rpcchainvm#Server`
  3484  - Added `Database` health checks
  3485  - Removed the deprecated `Database.Stat` call from the `rpcdb#Server`
  3486  - Added fail fast logic to duplicated Snowman additions to avoid undefined behavior
  3487  - Added additional testing around Snowman diverged voting tests
  3488  - Deprecated `--dynamic-update-duration` and `--dynamic-public-ip` CLI flags
  3489  - Added `--public-ip-resolution-frequency` and `--public-ip-resolution-service` to replace `--dynamic-update-duration` and `--dynamic-public-ip`, respectively
  3490  
  3491  ## [v1.7.12](https://github.com/ava-labs/avalanchego/releases/tag/v1.7.12)
  3492  
  3493  This version is backwards compatible to [v1.7.0](https://github.com/ava-labs/avalanchego/releases/tag/v1.7.0). It is optional, but encouraged.
  3494  
  3495  ### State Sync
  3496  
  3497  - Fixed proposervm state summary acceptance to only accept state summaries with heights higher than the locally last accepted block
  3498  - Fixed proposervm state summary serving to only respond to requests after height indexing has finished
  3499  - Improved C-chain state sync leaf request serving by optimistically reading leaves from snapshot
  3500  - Refactored C-chain state sync block fetching
  3501  
  3502  ### Networking
  3503  
  3504  - Reduced default peerlist and accepted frontier gossiping
  3505  - Increased the default at-large outbound buffer size to 32 MiB
  3506  
  3507  ### Metrics
  3508  
  3509  - Added leveldb metrics
  3510  - Added process and golang metrics for the avalanchego binary
  3511  - Added available disk space health check
  3512    - Ensured that the disk space will not be fully utilized by shutting down the node if there is a critically low amount of free space remaining
  3513  - Improved C-chain state sync metrics
  3514  
  3515  ### Performance
  3516  
  3517  - Added C-chain acceptor queue within `core/blockchain.go`
  3518  - Removed rpcdb locking when committing batches and using iterators
  3519  - Capped C-chain TrieDB dirties cache size during block acceptance to reduce commit size at 4096 block interval
  3520  
  3521  ### Cleanup
  3522  
  3523  - Refactored the avm to utilize the external txs package
  3524  - Unified platformvm dropped tx handling
  3525  - Clarified snowman child block acceptance calls
  3526  - Fixed small consensus typos
  3527  - Reduced minor duplicated code in consensus
  3528  - Moved the platformvm key factory out of the VM into the test file
  3529  - Removed unused return values from the timeout manager
  3530  - Removed weird json rpc private interface
  3531  - Standardized json imports
  3532  - Added vm factory interface checks
  3533  
  3534  ## [v1.7.11](https://github.com/ava-labs/avalanchego/releases/tag/v1.7.11)
  3535  
  3536  This version is backwards compatible to [v1.7.0](https://github.com/ava-labs/avalanchego/releases/tag/v1.7.0). It is optional, but encouraged.
  3537  
  3538  **The first startup of the C-Chain will cause an increase in CPU and IO usage due to an index update. This index update runs in the background and does not impact restart time.**
  3539  
  3540  ### State Sync
  3541  
  3542  - Added state syncer engine to facilitate VM state syncing, rather than full historical syncing
  3543  - Added `GetStateSummaryFrontier`, `StateSummaryFrontier`, `GetAcceptedStateSummary`, `AcceptedStateSummary` as P2P messages
  3544  - Updated `Ancestors` message specification to expect an empty response if the container is unknown
  3545  - Added `--state-sync-ips` and `--state-sync-ids` flags to allow manual overrides of which nodes to query for accepted state summaries
  3546  - Updated networking library to permanently track all manually tracked peers, rather than just beacons
  3547  - Added state sync support to the `metervm`
  3548  - Added state sync support to the `proposervm`
  3549  - Added state sync support to the `rpcchainvm`
  3550  - Added beta state sync support to `coreth`
  3551  
  3552  ### ProposerVM
  3553  
  3554  - Prevented rejected blocks from overwriting the `proposervm` height index
  3555  - Optimized `proposervm` block rewind to utilize the height index if available
  3556  - Ensured `proposervm` height index is marked as repaired in `Initialize` if it is fully repaired on startup
  3557  - Removed `--reset-proposervm-height-index`. The height index will be reset upon first restart
  3558  - Optimized `proposervm` height index resetting to periodically flush deletions
  3559  
  3560  ### Bug Fixes
  3561  
  3562  - Fixed IPC message issuance and restructured consensus event callbacks to be checked at compile time
  3563  - Fixed `coreth` metrics initialization
  3564  - Fixed bootstrapping startup logic to correctly startup if initially connected to enough stake
  3565  - Fixed `coreth` panic during metrics collection
  3566  - Fixed panic on concurrent map read/write in P-chain wallet SDK
  3567  - Fixed `rpcchainvm` panic by sanitizing http response codes
  3568  - Fixed incorrect JSON tag on `platformvm.BaseTx`
  3569  - Fixed `AppRequest`, `AppResponse`, and `AppGossip` stringers used in logging
  3570  
  3571  ### API/Client
  3572  
  3573  - Supported client implementations pointing to non-standard URIs
  3574  - Introduced `ids.NodeID` type to standardize logging and simplify API service and client implementations
  3575  - Changed client implementations to use standard types rather than `string`s wherever possible
  3576  - Added `subnetID` as an argument to `platform.getTotalStake`
  3577  - Added `connected` to the subnet validators in responses to `platform.getCurrentValidators` and `platform.getPendingValidators`
  3578  - Add missing `admin` API client methods
  3579  - Improved `indexer` API client implementation to avoid encoding edge cases
  3580  
  3581  ### Networking
  3582  
  3583  - Added `--snow-mixed-query-num-push-vdr` and `--snow-mixed-query-num-push-non-vdr` to allow parameterization of sending push queries
  3584    - By default, non-validators now send only pull queries, not push queries.
  3585    - By default, validators now send both pull queries and push queries upon inserting a container into consensus. Previously, nodes sent only push queries.
  3586  - Added metrics to track the amount of over gossiping of `peerlist` messages
  3587  - Added custom message queueing support to outbound `Peer` messages
  3588  - Reused `Ping` messages to avoid needless memory allocations
  3589  
  3590  ### Logging
  3591  
  3592  - Replaced AvalancheGo's internal logger with [uber-go/zap](https://github.com/uber-go/zap).
  3593  - Replaced AvalancheGo's log rotation with [lumberjack](https://github.com/natefinch/lumberjack).
  3594  - Renamed `log-display-highlight` to `log-format` and added `json` option.
  3595  - Added `log-rotater-max-size`, `log-rotater-max-files`, `log-rotater-max-age`, `log-rotater-compress-enabled` options for log rotation.
  3596  
  3597  ### Miscellaneous
  3598  
  3599  - Added `--data-dir` flag to easily move all default file locations to a custom location
  3600  - Standardized RPC specification of timestamp fields
  3601  - Logged health checks whenever a failing health check is queried
  3602  - Added callback support for the validator set manager
  3603  - Increased `coreth` trie tip buffer size to 32
  3604  - Added CPU usage metrics for AvalancheGo and all sub-processes
  3605  - Added Disk IO usage metrics for AvalancheGo and all sub-processes
  3606  
  3607  ### Cleanup
  3608  
  3609  - Refactored easily separable `platformvm` files into separate smaller packages
  3610  - Simplified default version parsing
  3611  - Fixed various typos
  3612  - Converted some structs to interfaces to better support mocked testing
  3613  - Refactored IP utils
  3614  
  3615  ### Documentation
  3616  
  3617  - Increased recommended disk size to 1 TB
  3618  - Updated issue template
  3619  - Documented additional `snowman.Block` invariants
  3620  
  3621  ## [v1.7.10](https://github.com/ava-labs/avalanchego/releases/tag/v1.7.10)
  3622  
  3623  This version is backwards compatible to [v1.7.0](https://github.com/ava-labs/avalanchego/releases/tag/v1.7.0). It is optional, but encouraged.
  3624  
  3625  ### Networking
  3626  
  3627  - Improved vertex and block gossiping for validators with low stake weight.
  3628  - Added peers metric by subnet.
  3629  - Added percentage of stake connected metric by subnet.
  3630  
  3631  ### APIs
  3632  
  3633  - Added support for specifying additional headers and query params in the RPC client implementations.
  3634  - Added static API clients for the `platformvm` and the `avm`.
  3635  
  3636  ### PlatformVM
  3637  
  3638  - Introduced time based windowing of accepted P-chain block heights to ensure that local networks update the proposer list timely in the `proposervm`.
  3639  - Improved selection of decision transactions from the mempool.
  3640  
  3641  ### RPCChainVM
  3642  
  3643  - Increased `buf` version to `v1.3.1`.
  3644  - Migrated all proto definitions to a dedicated `/proto` folder.
  3645  - Removed the dependency on the non-standard grpc broker to better support other language implementations.
  3646  - Added grpc metrics.
  3647  - Added grpc server health checks.
  3648  
  3649  ### Coreth
  3650  
  3651  - Fixed a bug where a deadlock on shutdown caused historical re-generation on restart.
  3652  - Added an API endpoint to fetch the current VM Config.
  3653  - Added AvalancheGo custom log formatting to the logs.
  3654  - Removed support for the JS Tracer.
  3655  
  3656  ### Logging
  3657  
  3658  - Added piping of subnet logs to stdout.
  3659  - Lazily initialized logs to avoid opening files that are never written to.
  3660  - Added support for arbitrarily deleted log files while avalanchego is running.
  3661  - Removed redundant logging configs.
  3662  
  3663  ### Miscellaneous
  3664  
  3665  - Updated minimum go version to `v1.17.9`.
  3666  - Added subnet bootstrapping health checks.
  3667  - Supported multiple tags per codec instantiation.
  3668  - Added minor fail-fast optimization to string packing.
  3669  - Removed dead code.
  3670  - Fixed typos.
  3671  - Simplified consensus engine `Shutdown` notification dispatching.
  3672  - Removed `Sleep` call in the inbound connection throttler.
  3673  
  3674  ## [v1.7.9](https://github.com/ava-labs/avalanchego/releases/tag/v1.7.9)
  3675  
  3676  This version is backwards compatible to [v1.7.0](https://github.com/ava-labs/avalanchego/releases/tag/v1.7.0). It is optional, but encouraged.
  3677  
  3678  ### Updates
  3679  
  3680  - Improved subnet gossip to only send messages to nodes participating in that subnet.
  3681  - Fixed inlined VM initialization to correctly register static APIs.
  3682  - Added logging for file descriptor limit errors.
  3683  - Removed dead code from network packer.
  3684  - Improved logging of invalid hash length errors.
  3685  
  3686  ## [v1.7.8](https://github.com/ava-labs/avalanchego/releases/tag/v1.7.8)
  3687  
  3688  This version is backwards compatible to [v1.7.0](https://github.com/ava-labs/avalanchego/releases/tag/v1.7.0). It is optional, but encouraged.
  3689  
  3690  ### Networking
  3691  
  3692  - Fixed duplicate reference decrease when closing a peer.
  3693  - Freed allocated message buffers immediately after sending.
  3694  - Added `--network-peer-read-buffer-size` and `--network-peer-write-buffer-size` config options.
  3695  - Moved peer IP signature verification to enable concurrent verifications.
  3696  - Reduced the number of connection flushes when sending messages.
  3697  - Canceled outbound connection requests on shutdown.
  3698  - Reused dialer across multiple outbound connections.
  3699  - Exported `NewTestNetwork` for easier external testing.
  3700  
  3701  ### Coreth
  3702  
  3703  - Reduced log level of snapshot regeneration logs.
  3704  - Enabled atomic tx replacement with higher gas fees.
  3705  - Parallelized trie index re-generation.
  3706  
  3707  ### Miscellaneous
  3708  
  3709  - Fixed incorrect `BlockchainID` usage in the X-chain `ImportTx` builder.
  3710  - Fixed incorrect `OutputOwners` in the P-chain `ImportTx` builder.
  3711  - Improved FD limit error logging and warnings.
  3712  - Rounded bootstrapping ETAs to the nearest second.
  3713  - Added gossip config support to the subnet configs.
  3714  - Optimized various queue removals for improved memory freeing.
  3715  - Added a basic X-chain E2E usage test to the new testing framework.
  3716  
  3717  ## [v1.7.7](https://github.com/ava-labs/avalanchego/releases/tag/v1.7.7)
  3718  
  3719  This version is backwards compatible to [v1.7.0](https://github.com/ava-labs/avalanchego/releases/tag/v1.7.0). It is optional, but encouraged.
  3720  
  3721  ### Networking
  3722  
  3723  - Refactored the networking library to track potential peers by nodeID rather than IP.
  3724  - Separated peer connections from the mesh network implementation to simplify testing.
  3725  - Fixed duplicate `Connected` messages bug.
  3726  - Supported establishing outbound connections with peers reporting different inbound and outbound IPs.
  3727  
  3728  ### Database
  3729  
  3730  - Disabled seek compaction in leveldb by default.
  3731  
  3732  ### GRPC
  3733  
  3734  - Increased protocol version, this requires all plugin definitions to update their communication dependencies.
  3735  - Merged services to be served using the same server when possible.
  3736  - Implemented a fast path for simple HTTP requests.
  3737  - Removed duplicated message definitions.
  3738  - Improved error reporting around invalid plugins.
  3739  
  3740  ### Coreth
  3741  
  3742  - Optimized FeeHistory API.
  3743  - Added protection to prevent accidental corruption of archival node trie index.
  3744  - Added capability to restore complete trie index on best effort basis.
  3745  - Rounded up fastcache sizes to utilize all mmap'd memory in chunks of 64MB.
  3746  
  3747  ### Configs
  3748  
  3749  - Removed `--inbound-connection-throttling-max-recent`
  3750  - Renamed `--network-peer-list-size` to `--network-peer-list-num-validator-ips`
  3751  - Removed `--network-peer-list-gossip-size`
  3752  - Removed `--network-peer-list-staker-gossip-fraction`
  3753  - Added `--network-peer-list-validator-gossip-size`
  3754  - Added `--network-peer-list-non-validator-gossip-size`
  3755  - Removed `--network-get-version-timeout`
  3756  - Removed `--benchlist-peer-summary-enabled`
  3757  - Removed `--peer-alias-timeout`
  3758  
  3759  ### Miscellaneous
  3760  
  3761  - Fixed error reporting when making Avalanche chains that did not manually specify a primary alias.
  3762  - Added beacon utils for easier programmatic handling of beacon nodes.
  3763  - Resolved the default log directory on initialization to avoid additional error handling.
  3764  - Added support to the chain state module to specify an arbitrary new accepted block.
  3765  
  3766  ## [v1.7.6](https://github.com/ava-labs/avalanchego/releases/tag/v1.7.6)
  3767  
  3768  This version is backwards compatible to [v1.7.0](https://github.com/ava-labs/avalanchego/releases/tag/v1.7.0). It is optional, but encouraged.
  3769  
  3770  ### Consensus
  3771  
  3772  - Introduced a new vertex type to support future `Avalanche` based network upgrades.
  3773  - Added pending message metrics to the chain message queues.
  3774  - Refactored event dispatchers to simplify dependencies and remove dead code.
  3775  
  3776  ### PlatformVM
  3777  
  3778  - Added `json` encoding option to the `platform.getTx` call.
  3779  - Added `platform.getBlock` API.
  3780  - Cleaned up block building logic to be more modular and testable.
  3781  
  3782  ### Coreth
  3783  
  3784  - Increased `FeeHistory` maximum historical limit to improve MetaMask UI on the C-Chain.
  3785  - Enabled chain state metrics.
  3786  - Migrated go-ethereum v1.10.16 changes.
  3787  
  3788  ### Miscellaneous
  3789  
  3790  - Added the ability to load new VM plugins dynamically.
  3791  - Implemented X-chain + P-chain wallet that can be used to build and sign transactions. Without providing a full node private keys.
  3792  - Integrated e2e testing to the repo to avoid maintaining multiple synced repos.
  3793  - Fixed `proposervm` height indexing check to correctly mark the indexer as repaired.
  3794  - Introduced message throttling overrides to be used in future improvements to reliably send messages.
  3795  - Introduced a cap on the client specified request deadline.
  3796  - Increased the default `leveldb` open files limit to `1024`.
  3797  - Documented the `leveldb` configurations.
  3798  - Extended chain shutdown timeout.
  3799  - Performed various cleanup passes.
  3800  
  3801  ## [v1.7.5](https://github.com/ava-labs/avalanchego/releases/tag/v1.7.5)
  3802  
  3803  This version is backwards compatible to [v1.7.0](https://github.com/ava-labs/avalanchego/releases/tag/v1.7.0). It is optional, but encouraged.
  3804  
  3805  ### Consensus
  3806  
  3807  - Added asynchronous processing of `App.*` messages.
  3808  - Added height indexing support to the `proposervm` and `rpcchainvm`. If a node is updated to `>=v1.7.5` and then downgraded to `<v1.7.5`, the user must enable the `--reset-proposervm-height-index=true` flag to ensure the `proposervm` height index is correctly updated going forward.
  3809  - Fixed bootstrapping job counter initialization that could cause negative ETAs to be reported.
  3810  - Fixed incorrect processing check that could log incorrect information.
  3811  - Removed incorrect warning logs.
  3812  
  3813  ### Miscellaneous
  3814  
  3815  - Added tracked subnets to be reported in calls to the `info.peers` API.
  3816  - Updated gRPC implementations to use `buf` tooling and standardized naming and locations.
  3817  - Added a consistent hashing implementation to be used in future improvements.
  3818  - Fixed database iteration invariants to report `ErrClosed` rather than silently exiting.
  3819  - Added additional sanity checks to prevent users from incorrectly configuring their node.
  3820  - Updated log timestamps to include milliseconds.
  3821  
  3822  ### Coreth
  3823  
  3824  - Added beta support for offline pruning.
  3825  - Refactored peer networking layer.
  3826  - Enabled cheap metrics by default.
  3827  - Marked RPC call metrics as expensive.
  3828  - Added Abigen support for native asset call precompile.
  3829  - Fixed bug in BLOCKHASH opcode during traceBlock.
  3830  - Fixed bug in handling updated chain config on startup.
  3831  
  3832  ## [v1.7.4](https://github.com/ava-labs/avalanchego/releases/tag/v1.7.4)
  3833  
  3834  This version is backwards compatible to [v1.7.0](https://github.com/ava-labs/avalanchego/releases/tag/v1.7.0). It is optional, but encouraged.
  3835  
  3836  **The first startup of the C-Chain will take a few minutes longer due to an index update.**
  3837  
  3838  ### Consensus
  3839  
  3840  - Removed deprecated Snowstorm consensus implementation that no longer aligned with the updated specification.
  3841  - Updated bootstrapping logs to no longer reset counters after a node restart.
  3842  - Added bootstrapping ETAs for fetching Snowman blocks and executing operations.
  3843  - Renamed the `MultiPut` message to the `Ancestors` message to match other message naming conventions.
  3844  - Introduced Whitelist conflicts into the Snowstorm specification that will be used in future X-chain improvements.
  3845  - Refactored the separation between the Bootstrapping engine and the Consensus engine to support Fast-Sync.
  3846  
  3847  ### Coreth
  3848  
  3849  - Added an index mapping height to the list of accepted atomic operations at that height in a trie. Generating this index will cause the node to take a few minutes longer to startup the C-Chain for the first restart.
  3850  - Updated Geth dependency to `v1.10.15`.
  3851  - Updated `networkID` to match `chainID`.
  3852  
  3853  ### VMs
  3854  
  3855  - Refactored `platformvm` rewards calculations to enable usage from an external library.
  3856  - Fixed `platformvm` and `avm` UTXO fetching to not re-iterate the UTXO set if no UTXOs are fetched.
  3857  - Refactored `platformvm` status definitions.
  3858  - Added support for multiple address balance lookups in the `platformvm`.
  3859  - Refactored `platformvm` and `avm` keystore users to reuse similar code.
  3860  
  3861  ### RPCChainVM
  3862  
  3863  - Returned a `500 InternalServerError` if an unexpected gRPC error occurs during the handling of an HTTP request to a plugin.
  3864  - Updated gRPC server's max message size to enable responses larger than 4MiB from the plugin's handling of an HTTP request.
  3865  
  3866  ### Configs
  3867  
  3868  - Added `--stake-max-consumption-rate` which defaults to `120,000`.
  3869  - Added `--stake-min-consumption-rate` which defaults to `100,000`.
  3870  - Added `--stake-supply-cap` which defaults to `720,000,000,000,000,000` nAVAX.
  3871  - Renamed `--bootstrap-multiput-max-containers-sent` to `--bootstrap-ancestors-max-containers-sent`.
  3872  - Renamed `--bootstrap-multiput-max-containers-received` to `--bootstrap-ancestors-max-containers-received`.
  3873  - Enforced that `--staking-enabled=false` can not be specified on public networks (`Fuji` and `Mainnet`).
  3874  
  3875  ### Metrics
  3876  
  3877  - All `multi_put` metrics were converted to `ancestors` metrics.
  3878  
  3879  ### Miscellaneous
  3880  
  3881  - Improved `corruptabledb` error reporting by tracking the first reported error.
  3882  - Updated CPU tracking to use the proper EWMA tracker rather than a linear approximation.
  3883  - Separated health checks into `readiness`, `healthiness`, and `liveness` checks to support more fine-grained monitoring.
  3884  - Refactored API client utilities to use a `Context` rather than an explicit timeout.
  3885  
  3886  ## [v1.7.3](https://github.com/ava-labs/avalanchego/releases/tag/v1.7.3)
  3887  
  3888  This version is backwards compatible to [v1.7.0](https://github.com/ava-labs/avalanchego/releases/tag/v1.7.0). It is optional, but encouraged.
  3889  
  3890  ### Consensus
  3891  
  3892  - Introduced a notion of vertex conflicts that will be used in future X-chain improvements.
  3893  
  3894  ### Coreth
  3895  
  3896  - Added an index mapping height to the list of accepted atomic transactions at that height. Generating this index will cause the node to take approximately 2 minutes longer to startup the C-Chain for the first restart.
  3897  - Fixed bug in base fee estimation API that impacted custom defined networks.
  3898  - Decreased minimum transaction re-gossiping interval from 1s to 500ms.
  3899  - Removed websocket handler from the static vm APIs.
  3900  
  3901  ### Database
  3902  
  3903  - Reduced lock contention in `prefixDB`s.
  3904  
  3905  ### Networking
  3906  
  3907  - Increase the gossip size from `6` to `10` validators.
  3908  - Prioritized `Connected` and `Disconnected` messages in the message handler.
  3909  
  3910  ### Miscellaneous
  3911  
  3912  - Notified VMs of peer versions on `Connected`.
  3913  - Fixed acceptance broadcasting over IPC.
  3914  - Fixed 32-bit architecture builds for AvalancheGo (not Coreth).
  3915  
  3916  ## [v1.7.2](https://github.com/ava-labs/avalanchego/releases/tag/v1.7.2)
  3917  
  3918  This version is backwards compatible to [v1.7.0](https://github.com/ava-labs/avalanchego/releases/tag/v1.7.0). It is optional, but encouraged.
  3919  
  3920  ### Coreth
  3921  
  3922  - Fixed memory leak in the estimate gas API.
  3923  - Reduced the default RPC gas limit to 50,000,000 gas.
  3924  - Improved RPC logging.
  3925  - Removed pre-AP5 legacy code.
  3926  
  3927  ### PlatformVM
  3928  
  3929  - Optimized validator set change calculations.
  3930  - Removed storage of non-decided blocks.
  3931  - Simplified error handling.
  3932  - Removed pre-AP5 legacy code.
  3933  
  3934  ### Networking
  3935  
  3936  - Explicitly fail requests with responses that failed to be parsed.
  3937  - Removed pre-AP5 legacy code.
  3938  
  3939  ### Configs
  3940  
  3941  - Introduced the ability for a delayed graceful node shutdown.
  3942  - Added the ability to take all configs as environment variables for containerized deployments.
  3943  
  3944  ### Utils
  3945  
  3946  - Fixed panic bug in logging library when importing from external projects.
  3947  
  3948  ## [v1.7.1](https://github.com/ava-labs/avalanchego/releases/tag/v1.7.1)
  3949  
  3950  This update is backwards compatible with [v1.7.0](https://github.com/ava-labs/avalanchego/releases/tag/v1.7.0). Please see the expected update times in the v1.7.0 release.
  3951  
  3952  ### Coreth
  3953  
  3954  - Reduced fee estimate volatility.
  3955  
  3956  ### Consensus
  3957  
  3958  - Fixed vote bubbling for unverified block chits.
  3959  
  3960  ## [v1.7.0](https://github.com/ava-labs/avalanchego/releases/tag/v1.7.0)
  3961  
  3962  This upgrade adds support for issuing multiple atomic transactions into a single block and directly transferring assets between the P-chain and the C-chain.
  3963  
  3964  The changes in the upgrade go into effect at 1 PM EST, December 2nd 2021 on Mainnet. One should upgrade their node before the changes go into effect, otherwise they may experience loss of uptime.
  3965  
  3966  **All nodes should upgrade before 1 PM EST, December 2nd 2021.**
  3967  
  3968  ### Networking
  3969  
  3970  - Added peer uptime reports as metrics.
  3971  - Removed IP rate limiting over local networks.
  3972  
  3973  ### PlatformVM
  3974  
  3975  - Enabled `AtomicTx`s to be issued into `StandardBlock`s and deprecated `AtomicBlock`s.
  3976  - Added the ability to export/import AVAX to/from the C-chain.
  3977  
  3978  ### Coreth
  3979  
  3980  - Enabled multiple `AtomicTx`s to be issued per block.
  3981  - Added the ability to export/import AVAX to/from the P-chain.
  3982  - Updated dynamic fee calculations.
  3983  
  3984  ### ProposerVM
  3985  
  3986  - Removed storage of undecided blocks.
  3987  
  3988  ### RPCChainVM
  3989  
  3990  - Added support for metrics to be reported by plugin VMs.
  3991  
  3992  ### Configs
  3993  
  3994  - Removed `--snow-epoch-first-transition` and `snow-epoch-duration` as command line arguments.
  3995  
  3996  ## [v1.6.5](https://github.com/ava-labs/avalanchego/releases/tag/v1.6.5)
  3997  
  3998  This version is backwards compatible to [v1.6.0](https://github.com/ava-labs/avalanchego/releases/tag/v1.6.0). It is optional, but encouraged.
  3999  
  4000  ### Bootstrapping
  4001  
  4002  - Drop inbound messages to a chain if that chain is in the execution phase of bootstrapping.
  4003  - Print beacon nodeIDs upon failure to connect to them.
  4004  
  4005  ### Metrics
  4006  
  4007  - Added `avalanche_{ChainID}_bootstrap_finished`, which is 1 if the chain is done bootstrapping, 0 otherwise.
  4008  
  4009  ### APIs
  4010  
  4011  - Added `info.uptime` API call that attempts to report the network's view of the local node.
  4012  - Added `observedUptime` to each peer's result in `info.peers`.
  4013  
  4014  ### Network
  4015  
  4016  - Added reported uptime to pong messages to be able to better track a local node's uptime as viewed by the network.
  4017  - Refactored request timeout registry to avoid a potential race condition.
  4018  
  4019  ## [v1.6.4](https://github.com/ava-labs/avalanchego/releases/tag/v1.6.4)
  4020  
  4021  This version is backwards compatible to [v1.6.0](https://github.com/ava-labs/avalanchego/releases/tag/v1.6.0). It is optional, but encouraged.
  4022  
  4023  ### Config
  4024  
  4025  - Added flag `throttler-inbound-bandwidth-refill-rate`, which specifies the max average inbound bandwidth usage of a peer.
  4026  - Added flag `throttler-inbound-bandwidth-max-burst-size`, which specifies the max inbound bandwidth usage of a peer.
  4027  
  4028  ### Networking
  4029  
  4030  - Updated peerlist gossiping to use the same mechanism as other gossip calls.
  4031  - Added inbound message throttling based on recent bandwidth usage.
  4032  
  4033  ### Metrics
  4034  
  4035  - Updated `avalanche_{ChainID}_handler_gossip_{count,sum}` to `avalanche_{ChainID}_handler_gossip_request_{count,sum}`.
  4036  - Updated `avalanche_{ChainID}_lat_get_accepted_{count,sum}` to `avalanche_{ChainID}_lat_accepted_{count,sum}`.
  4037  - Updated `avalanche_{ChainID}_lat_get_accepted_frontier_{count,sum}` to `avalanche_{ChainID}_lat_accepted_frontier_{count,sum}`.
  4038  - Updated `avalanche_{ChainID}_lat_get_ancestors_{count,sum}` to `avalanche_{ChainID}_lat_multi_put_{count,sum}`.
  4039  - Combined `avalanche_{ChainID}_lat_pull_query_{count,sum}` and `avalanche_{ChainID}_lat_push_query_{count,sum}` to `avalanche_{ChainID}_lat_chits_{count,sum}`.
  4040  - Added `avalanche_{ChainID}_app_response_{count,sum}`.
  4041  - Added `avalanche_network_bandwidth_throttler_inbound_acquire_latency_{count,sum}`
  4042  - Added `avalanche_network_bandwidth_throttler_inbound_awaiting_acquire`
  4043  - Added `avalanche_P_vm_votes_won`
  4044  - Added `avalanche_P_vm_votes_lost`
  4045  
  4046  ### Indexer
  4047  
  4048  - Added method `GetContainerByID` to client implementation.
  4049  - Client methods now return `[]byte` rather than `string` representations of a container.
  4050  
  4051  ### C-Chain
  4052  
  4053  - Updated Geth dependency to 1.10.11.
  4054  - Added a new admin API for updating the log level and measuring performance.
  4055  - Added a new `--allow-unprotected-txs` flag to allow issuance of transactions without EIP-155 replay protection.
  4056  
  4057  ### Subnet & Custom VMs
  4058  
  4059  - Ensured that all possible chains are run in `--staking-enabled=false` networks.
  4060  
  4061  ---
  4062  
  4063  ## [v1.6.3](https://github.com/ava-labs/avalanchego/releases/tag/v1.6.3)
  4064  
  4065  This version is backwards compatible to [v1.6.0](https://github.com/ava-labs/avalanchego/releases/tag/v1.6.0). It is optional, but encouraged.
  4066  
  4067  ### Config Options
  4068  
  4069  - Updated the default value of `--inbound-connection-throttling-max-conns-per-sec` to `256`.
  4070  - Updated the default value of `--meter-vms-enabled` to `true`.
  4071  - Updated the default value of `--staking-disabled-weight` to `100`.
  4072  
  4073  ### Metrics
  4074  
  4075  - Changed the behavior of `avalanche_network_buffer_throttler_inbound_awaiting_acquire` to only increment if the message is actually blocking.
  4076  - Changed the behavior of `avalanche_network_byte_throttler_inbound_awaiting_acquire` to only increment if the message is actually blocking.
  4077  - Added `Block/Tx` metrics on `meterVM`s.
  4078    - Added `avalanche_{ChainID}_vm_metervm_build_block_err_{count,sum}`.
  4079    - Added `avalanche_{ChainID}_vm_metervm_parse_block_err_{count,sum}`.
  4080    - Added `avalanche_{ChainID}_vm_metervm_get_block_err_{count,sum}`.
  4081    - Added `avalanche_{ChainID}_vm_metervm_verify_{count,sum}`.
  4082    - Added `avalanche_{ChainID}_vm_metervm_verify_err_{count,sum}`.
  4083    - Added `avalanche_{ChainID}_vm_metervm_accept_{count,sum}`.
  4084    - Added `avalanche_{ChainID}_vm_metervm_reject_{count,sum}`.
  4085    - Added `avalanche_{DAGID}_vm_metervm_parse_tx_err_{count,sum}`.
  4086    - Added `avalanche_{DAGID}_vm_metervm_get_tx_err_{count,sum}`.
  4087    - Added `avalanche_{DAGID}_vm_metervm_verify_tx_{count,sum}`.
  4088    - Added `avalanche_{DAGID}_vm_metervm_verify_tx_err_{count,sum}`.
  4089    - Added `avalanche_{DAGID}_vm_metervm_accept_{count,sum}`.
  4090    - Added `avalanche_{DAGID}_vm_metervm_reject_{count,sum}`.
  4091  
  4092  ### Coreth
  4093  
  4094  - Applied callTracer fault handling fix.
  4095  - Initialized multicoin functions in the runtime environment.
  4096  
  4097  ### ProposerVM
  4098  
  4099  - Updated block `Delay` in `--staking-enabled=false` networks to be `0`.