github.com/MetalBlockchain/metalgo@v1.11.9/RELEASES.md (about)

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