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`.