Skip to content

Releases: ava-labs/avalanchego

Durango.5 - Bootstrapping Optimizations

30 Apr 17:59
f8d7b29
Compare
Choose a tag to compare

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

The plugin version is unchanged at 35 and is compatible with versions v1.11.3-v1.11.4.

APIs

  • Renamed metric avalanche_network_validator_ips to avalanche_network_tracked_ips

Configs

  • Removed --snow-virtuous-commit-threshold
  • Removed --snow-rogue-commit-threshold

Fixes

  • Fixed increased outbound PeerList messages when specifying custom bootstrap IDs
  • Fixed CPU spike when disconnected from the network during bootstrapping fetching
  • Fixed topological sort in vote calculation
  • Fixed job dependency handling for transitively rejected blocks
  • Prevented creation of unnecessary consensus polls during the issuance of a block

What's Changed

New Contributors

Full Changelog: v1.11.4...v1.11.5

Durango.4 - Interval Tree Bootstrapping

09 Apr 20:51
e8904ae
Compare
Choose a tag to compare

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

The plugin version is unchanged at 35 and is compatible with version v1.11.3.

APIs

  • Removed metrics for each chainID:
    • avalanche_{chainID}_bs_eta_fetching_complete
    • avalanche_{chainID}_block_eta_execution_complete
    • avalanche_{chainID}_block_jobs_cache_get_count
    • avalanche_{chainID}_block_jobs_cache_get_sum
    • avalanche_{chainID}_block_jobs_cache_hit
    • avalanche_{chainID}_block_jobs_cache_len
    • avalanche_{chainID}_block_jobs_cache_miss
    • avalanche_{chainID}_block_jobs_cache_portion_filled
    • avalanche_{chainID}_block_jobs_cache_put_count
    • avalanche_{chainID}_block_jobs_cache_put_sum
  • Added finer grained tracing of merkledb trie construction and hashing
    • renamed MerkleDB.view.calculateNodeIDs to MerkleDB.view.applyValueChanges
    • Added MerkleDB.view.calculateNodeChanges
    • Added MerkleDB.view.hashChangedNodes

Fixes

  • Fixed p2p SDK handling of cancelled AppRequest messages
  • Fixed merkledb crash recovery

What's Changed

Full Changelog: v1.11.3...v1.11.4

Durango.3 - Legacy Gossip Removal

21 Mar 22:57
7a67e5a
Compare
Choose a tag to compare

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

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

APIs

  • Removed:
    • platform.GetPendingValidators
    • platform.GetMaxStakeAmount

Configs

  • Removed avalanchego configs:
    • network-peer-list-validator-gossip-size
    • network-peer-list-non-validator-gossip-size
    • network-peer-list-peers-gossip-size
    • network-peer-list-gossip-frequency
    • consensus-accepted-frontier-gossip-validator-size
    • consensus-accepted-frontier-gossip-non-validator-size
    • consensus-accepted-frontier-gossip-peer-size
    • consensus-on-accept-gossip-validator-size
    • consensus-on-accept-gossip-non-validator-size
    • consensus-on-accept-gossip-peer-size
  • Added P-chain, X-chain, and C-chain configs:
    • push-gossip-percent-stake

Fixes

  • Fixed p2p SDK validator sampling to only return connected validators

What's Changed

New Contributors

Full Changelog: v1.11.2...v1.11.3

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