Skip to content

Releases: ava-labs/avalanchego

Durango.2 - Push Gossip Redesign

01 Mar 01:07
daeacb1
Compare
Choose a tag to compare

This version is backwards compatible to v1.11.0. It is optional, but strongly encouraged.

The plugin version is updated to 34 all plugins must update to be compatible.

APIs

  • Removed the ipc API
  • Removed the auth API
  • Removed most keystore related methods from the platform API
    • platform.importKey
    • platform.createAddress
    • platform.addValidator
    • platform.addDelegator
    • platform.addSubnetValidator
    • platform.createSubnet
    • platform.exportAVAX
    • platform.importAVAX
    • platform.createBlockchain
  • Added push gossip metrics:
    • gossip_tracking{type="sent"}
    • gossip_tracking{type="unsent"}
    • gossip_tracking_lifetime_average
      to the following namespaces:
    • avalanche_P_vm_tx
    • avalanche_X_vm_avalanche_tx
    • avalanche_C_vm_sdk_atomic_tx_gossip
    • avalanche_C_vm_sdk_eth_tx_gossip
  • Removed metrics:
    • avalanche_C_vm_eth_gossip_atomic_sent
    • avalanche_C_vm_eth_gossip_eth_txs_sent
    • avalanche_C_vm_eth_regossip_eth_txs_queued_attempts
    • avalanche_C_vm_eth_regossip_eth_txs_queued_local_tx_count
    • avalanche_C_vm_eth_regossip_eth_txs_queued_remote_tx_count

Configs

  • Removed:
    • api-ipcs-enabled
    • ipcs-chain-ids
    • ipcs-path
    • api-auth-required
    • api-auth-password
    • api-auth-password-file
    • consensus-app-gossip-validator-size
    • consensus-app-gossip-non-validator-size
    • consensus-app-gossip-peer-size
  • Removed subnet configs:
    • appGossipValidatorSize
    • appGossipNonValidatorSize
    • appGossipPeerSize
  • Added X-chain and P-chain networking configs:
    • push-gossip-num-validators
    • push-gossip-num-peers
    • push-regossip-num-validators
    • push-regossip-num-peers
    • push-gossip-discarded-cache-size
    • push-gossip-max-regossip-frequency
    • push-gossip-frequency
  • Removed X-chain and P-chain networking configs:
    • legacy-push-gossip-cache-size
  • Added C-chain configs:
    • push-gossip-num-validators
    • push-gossip-num-peers
    • push-regossip-num-validators
    • push-regossip-num-peers
    • push-gossip-frequency
    • pull-gossip-frequency
    • tx-pool-lifetime
  • Removed C-chain configs:
    • tx-pool-journal
    • tx-pool-rejournal
    • remote-gossip-only-enabled
    • regossip-max-txs
    • remote-tx-gossip-only-enabled
    • tx-regossip-max-size

Fixes

  • Fixed mempool push gossip amplification

What's Changed

Full Changelog: v1.11.0...v1.11.2

Durango.1 - Disable Push Re-Gossip

23 Feb 15:59
9d01c51
Compare
Choose a tag to compare

This version is backwards compatible to v1.11.0. It is optional, but strongly encouraged.

The plugin version is unchanged at 33 and is compatible with version v1.11.0.

Fixes

  • Suspended transaction re-push gossip in the p2p SDK

Full Changelog: v1.11.0...v1.11.1

Durango - C-Chain Warp Messaging

21 Feb 21:47
c60f7d2
Compare
Choose a tag to compare

This upgrade consists of the following Avalanche Community Proposals (ACPs):

  • ACP-23 P-Chain Native Transfers
  • ACP-24 Activate Shanghai EIPs on C-Chain
  • ACP-25 Virtual Machine Application Errors
  • ACP-30 Integrate Avalanche Warp Messaging into the EVM
  • ACP-31 Enable Subnet Ownership Transfer
  • ACP-41 Remove Pending Stakers
  • ACP-62 Disable AddValidatorTx and AddDelegatorTx

The changes in the upgrade go into effect at 11 AM ET (4 PM UTC) on Wednesday, March 6th, 2024 on Mainnet.

All Durango supporting Mainnet nodes should upgrade before 11 AM ET, March 6th 2024.

The plugin version is updated to 33 all plugins must update to be compatible.

APIs

  • Added platform.getSubnet API

Configs

  • Deprecated:
    • api-auth-required
    • api-auth-password
    • api-auth-password-file

Fixes

  • Fixed potential deadlock during P-chain shutdown
  • Updated the consensus engine to recover from previously misconfigured subnets without requiring a restart

What's Changed

Full Changelog: v1.10.19...v1.11.0

Durango - C-Chain Warp Messaging - Fuji Pre-Release

01 Feb 23:05
9cdcfbe
Compare
Choose a tag to compare

Please note that this release is unable to run mainnet - and will display "mainnet is not supported" if attempted to run with a mainnet configuration.

This upgrade consists of the following Avalanche Community Proposals (ACPs):

  • ACP-23 P-Chain Native Transfers
  • ACP-24 Activate Shanghai EIPs on C-Chain
  • ACP-25 Virtual Machine Application Errors
  • ACP-30 Integrate Avalanche Warp Messaging into the EVM
  • ACP-31 Enable Subnet Ownership Transfer
  • ACP-41 Remove Pending Stakers
  • ACP-62 Disable AddValidatorTx and AddDelegatorTx

The changes in the upgrade go into effect at 11 AM ET (4 PM UTC) on Tuesday, February 13th, 2024 on the Fuji testnet.

All Fuji nodes must upgrade before 11 AM ET, February 13th 2024.

The plugin version is updated to 32 all plugins must update to be compatible.

Configs

  • Deprecated:
    • api-auth-required
    • api-auth-password
    • api-auth-password-file

Fixes

  • Fixed potential deadlock during P-chain shutdown
  • Updated the consensus engine to recover from previously misconfigured subnets without requiring a restart

What's Changed

Full Changelog: v1.10.19...v1.11.0-fuji

Cortina.19 - Options Before Verification

29 Jan 22:33
4b56873
Compare
Choose a tag to compare

This version is backwards compatible to v1.10.0. It is optional, but encouraged.

The plugin version is unchanged at 31 and is compatible with version v1.10.18.

APIs

  • Added admin.dbGet call to the admin API
  • Added bloom filter metrics:
    • bloom_filter_count
    • bloom_filter_entries
    • bloom_filter_hashes
    • bloom_filter_max_count
    • bloom_filter_reset_count
      to the following namespaces:
    • avalanche_X_vm_mempool
    • avalanche_P_vm_mempool
    • avalanche_C_vm_sdk_atomic_mempool
    • avalanche_C_vm_sdk_eth_mempool

Fixes

  • Fixed race condition during validator set creation
  • Fixed C-chain mempool bloom filter recalculation

What's Changed

Full Changelog: v1.10.18...v1.10.19

Cortina.18 - Optimize Peer Discovery

18 Jan 20:01
20452c3
Compare
Choose a tag to compare

This version is backwards compatible to v1.10.0. It is optional, but encouraged.

The plugin version is updated to 31 all plugins must update to be compatible.

APIs

  • Added info.acps API
  • Added supportedACPs and objectedACPs for each peer returned by info.peers
  • Added txs field to BanffProposalBlock's json format
  • Added metrics:
    • avalanche_network_validator_ips
    • avalanche_network_gossipable_ips
    • avalanche_network_ip_bloom_count
    • avalanche_network_ip_bloom_entries
    • avalanche_network_ip_bloom_hashes
    • avalanche_network_ip_bloom_max_count
    • avalanche_network_ip_bloom_reset_count
  • Added metrics related to get_peer_list message handling
  • Added p2p SDK metrics to the P-chain and X-chain
  • Renamed metrics related to message handling:
    • version -> handshake
    • appRequestFailed -> appError
    • crossChainAppRequestFailed -> crossChainAppError
  • Removed gzip compression time metrics
  • Converted p2p SDK metrics to use vectors rather than independent metrics
  • Converted client name reported over the p2p network from avalanche to avalanchego

Configs

  • Added:
    • --acp-support
    • --acp-object
    • snow-commit-threshold
    • network-peer-list-pull-gossip-frequency
    • network-peer-list-bloom-reset-frequency
    • network to the X-chain and P-chain configs including:
      • max-validator-set-staleness
      • target-gossip-size
      • pull-gossip-poll-size
      • pull-gossip-frequency
      • pull-gossip-throttling-period
      • pull-gossip-throttling-limit
      • expected-bloom-filter-elements
      • expected-bloom-filter-false-positive-probability
      • max-bloom-filter-false-positive-probability
      • legacy-push-gossip-cache-size
  • Deprecated:
    • snow-virtuous-commit-threshold
    • snow-rogue-commit-threshold
    • network-peer-list-validator-gossip-size
    • network-peer-list-non-validator-gossip-size
    • network-peer-list-peers-gossip-size
    • network-peer-list-gossip-frequency
  • Removed:
    • gzip as an option for network-compression-type

Fixes

  • Fixed platformvm.SetPreference to correctly reset the block building timer
  • Fixed early bootstrapping termination
  • Fixed duplicated transaction initialization in the X-chain and P-chain
  • Fixed IP gossip when using dynamically allocated staking ports
  • Updated golang.org/x/exp dependency to fix downstream compilation errors
  • Updated golang.org/x/crypto dependency to address CVE-2023-48795
  • Updated minimum golang version to address CVE-2023-39326
  • Restricted GOPROXY during compilation to avoid direct version control fallbacks
  • Fixed merkledb deletion of the empty key
  • Fixed merkledb race condition when interacting with invalidated or closed trie views
  • Fixed json.Marshal for wallet transactions
  • Fixed duplicate outbound dialer for manually tracked nodes in the p2p network

What's Changed

Read more

Cortina.17 - Optimized Block Gossip

02 Dec 01:02
7623ffd
Compare
Choose a tag to compare

This version is backwards compatible to v1.10.0. It is optional, but encouraged.

The plugin version is unchanged at 30 and is compatible with versions v1.10.15-v1.10.16.

APIs

  • Added avalanche_{chainID}_blks_build_accept_latency metric
  • Added avalanche_{chainID}_blks_issued{source} metric with sources:
    • pull_gossip
    • push_gossip
    • put_gossip which is deprecated
    • built
    • unknown
  • Added avalanche_{chainID}_issuer_stake_sum metric
  • Added avalanche_{chainID}_issuer_stake_count metric

Configs

  • Added:
    • --consensus-frontier-poll-frequency
  • Removed:
    • --consensus-accepted-frontier-gossip-frequency
  • Deprecated:
    • --consensus-accepted-frontier-gossip-validator-size
    • --consensus-accepted-frontier-gossip-non-validator-size
    • --consensus-accepted-frontier-gossip-peer-size
      • Updated the default value to 1 to align with the change in default gossip frequency
    • --consensus-on-accept-gossip-validator-size
    • --consensus-on-accept-gossip-non-validator-size
    • --consensus-on-accept-gossip-peer-size

Fixes

  • Fixed duplicated operation on provided value error when executing atomic operations after state syncing the C-chain
  • Removed usage of atomic trie after commitment
  • Fixed atomic trie root overwrite during state sync
  • Prevented closure of stdout and stderr when shutting down the logger

What's Changed

Full Changelog: v1.10.16...v1.10.17

Cortina.16 - Concurrent Trie Prefetching

23 Nov 01:30
62df19c
Compare
Choose a tag to compare

This version is backwards compatible to v1.10.0. It is optional, but encouraged.

The plugin version is unchanged at 30 and is compatible with version v1.10.15.

APIs

  • Added log level information to the result of admin.setLoggerLevel
  • Updated info.peers to return chain aliases for benched chains
  • Added support to sample validators of non-tracked subnets with platform.sampleValidators
  • Added avalanche_{chainID}_max_verified_height metric to track the highest verified block

Configs

  • Added --db-read-only to run the node without writing to disk.
    • This flag is only expected to be used during testing as it will cause memory use to increase over time
  • Removed --bootstrap-retry-enabled
  • Removed --bootstrap-retry-warn-frequency

Fixes

  • Fixed packing of large block requests during C-chain state sync
  • Fixed order of updating acceptor tip and sending chain events to C-chain event subscribers

What's Changed

New Contributors

Full Changelog: v1.10.15...v1.10.16

Cortina.15 - PebbleDB

02 Nov 02:24
20f3580
Compare
Choose a tag to compare

This version is backwards compatible to v1.10.0. It is optional, but encouraged.

The plugin version is updated to 30 all plugins must update to be compatible.

Configs

  • Added pebble as an allowed option to --db-type

Fixes

  • Fixed C-chain tracer API panic

What's Changed

Full Changelog: v1.10.14...v1.10.15

Cortina.14 - Validator Set Management Redesign

26 Oct 06:22
638000c
Compare
Choose a tag to compare

This version is backwards compatible to v1.10.0. It is optional, but encouraged.

The plugin version is unchanged at 29 and is compatible with version v1.10.13.

Configs

  • Deprecated --api-ipcs-enabled
  • Deprecated --ipcs-chain-ids
  • Deprecated --ipcs-path
  • Deprecated --api-keystore-enabled

Fixes

  • Fixed shutdown of timeout manager
  • Fixed racy access of the shutdown time

What's Changed

Full Changelog: v1.10.13...v1.10.14