Releases: ava-labs/avalanchego
Durango.5 - Bootstrapping Optimizations
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
toavalanche_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
- Remove duplicate metrics increment by @StephenButtolph in #2926
- Optimize merkledb metrics by @StephenButtolph in #2927
- Optimize intermediateNodeDB.constructDBKey by @StephenButtolph in #2928
- [vms/proposervm] Remove
getForkHeight()
by @dhrubabasu in #2929 - Improve logging of startup and errors in bootstrapping by @StephenButtolph in #2933
- Add hashing interface to merkledb by @StephenButtolph in #2930
- Assign instead of append to
keys
slice by @danlaine in #2932 - Remove uptimes from Pong messages by @StephenButtolph in #2936
- Enable creation of multi-arch docker images by @marun in #2914
- Improve networking README by @StephenButtolph in #2937
- Specify golang patch version in go.mod by @StephenButtolph in #2938
- Include consensus decisions into logs by @StephenButtolph in #2943
- CI: ensure image build job is compatible with merge queue by @marun in #2941
- Remove unused
validators.Manager
mock by @StephenButtolph in #2944 - Split ManuallyTrack into ManuallyTrack and ManuallyGossip by @StephenButtolph in #2940
- Sync primary network checkpoints during bootstrapping by @StephenButtolph in #2752
- [ci] Add govulncheck job and update x/net as per its recommendation by @marun in #2948
- [tmpnet] Add network reuse to e2e fixture by @marun in #2935
e2e
: Add basic warp test with xsvm by @marun in #2043- Improve bootstrapping peer selection by @StephenButtolph in #2946
- Cleanup avalanche bootstrapping fetching by @StephenButtolph in #2947
- Add manager validator set callbacks by @StephenButtolph in #2950
- chore: fix function names in comment by @socialsister in #2957
- [ci] Fix conditional guarding monitoring configuration by @marun in #2959
- Cleanup consensus engine tests by @StephenButtolph in #2953
- Improve and test getProcessingAncestor by @StephenButtolph in #2956
- Exit topological sort earlier by @StephenButtolph in #2965
- Consolidate beta by @aaronbuchwald in #2949
- Abandon decided blocks by @StephenButtolph in #2968
- Bump bufbuild/buf-setup-action from 1.30.0 to 1.31.0 by @dependabot in #2923
- Cleanup test block creation by @StephenButtolph in #2973
New Contributors
- @socialsister made their first contribution in #2957
Full Changelog: v1.11.4...v1.11.5
Durango.4 - Interval Tree Bootstrapping
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
toMerkleDB.view.applyValueChanges
- Added
MerkleDB.view.calculateNodeChanges
- Added
MerkleDB.view.hashChangedNodes
- renamed
Fixes
- Fixed p2p SDK handling of cancelled
AppRequest
messages - Fixed merkledb crash recovery
What's Changed
- Bump github.com/consensys/gnark-crypto from 0.10.0 to 0.12.1 by @dependabot in #2862
- Push antithesis images by @StephenButtolph in #2864
- Revert removal of legacy P-chain block parsing by @StephenButtolph in #2866
tmpnet
: Ensure nodes are properly detached from the parent process by @marun in #2859- indicies -> indices by @StephenButtolph in #2873
- Reindex P-chain blocks by @StephenButtolph in #2869
- Add detail to tmpnet metrics documentation by @marun in #2854
- docs migration by @meaghanfitzgerald in #2845
- Implement interval tree to replace bootstrapping jobs queue by @StephenButtolph in #2756
- Cleanup codec constants by @abi87 in #2699
- Update health API readme by @StephenButtolph in #2875
tmpnet
: Improve subnet configuration by @marun in #2871- Add tests for inefficient string formatting by @StephenButtolph in #2878
- [vms/platformvm] Declare
maxPageSize
inservice.go
by @dhrubabasu in #2881 - [vms/platformvm] Use
wallet
sdk intxstest.Builder
by @abi87 in #2751 - Optimize encodeUint by @StephenButtolph in #2882
- [components/avax] Remove
AtomicUTXOManager
interface by @dhrubabasu in #2884 - Remove merkledb codec struct by @StephenButtolph in #2883
- [vms/platformvm] Minimize exported functions in
txstest
by @dhrubabasu in #2888 ci
: Skip monitoring if secrets are not present by @marun in #2880- Optimize merkledb hashing by @StephenButtolph in #2886
- [vms/platformvm] Miscellaneous testing cleanups by @dhrubabasu in #2891
- Move functions around so that encode and decode are next to each other by @StephenButtolph in #2892
- Remove memory alloc from encodeDBNode by @StephenButtolph in #2893
- Interval tree syncing integration by @StephenButtolph in #2855
- Optimize hashing of leaf nodes by @StephenButtolph in #2894
- Improve performance of marshalling small keys by @StephenButtolph in #2895
- Improve tracing of merkledb trie updates by @StephenButtolph in #2897
- Remove usage of bytes.Buffer and bytes.Reader by @StephenButtolph in #2896
- Optimize key creation in hashing by @StephenButtolph in #2899
- Move bootstrapping queue out of common by @StephenButtolph in #2856
- Conditionally allocate WaitGroup memory by @StephenButtolph in #2901
- Reuse key buffers during hashing by @StephenButtolph in #2902
- Remove AddEphemeralNode by @joshua-kim in #2887
- Rename linkedhashmap package to
linked
by @StephenButtolph in #2907 - [tmpnet] Misc cleanup to support xsvm warp test PR by @marun in #2903
- Implement generic
linked.List
by @StephenButtolph in #2908 - Remove full message from error logs by @StephenButtolph in #2912
- Use generic linked list by @StephenButtolph in #2909
- Avoid allocating new list entries by @StephenButtolph in #2910
- Remove
linked.Hashmap
locking by @StephenButtolph in #2911 - Fix MerkleDB crash recovery by @StephenButtolph in #2913
- Remove cancellation for Send*AppRequest messages by @StephenButtolph in #2915
- Add
.Clear()
tolinked.Hashmap
by @StephenButtolph in #2917 - Allow pre-allocating
linked.Hashmap
by @StephenButtolph in #2918 - Fix comment and remove unneeded allocation by @StephenButtolph in #2919
- Implement
utils.BytesPool
to replacesync.Pool
for byte slices by @StephenButtolph in #2920 - Refactor
MerkleDB.commitChanges
by @StephenButtolph in #2921 - Remove value_node_db batch by @StephenButtolph in #2922
- Remove memory allocations from merkledb iteration by @StephenButtolph in #2925
Full Changelog: v1.11.3...v1.11.4
Durango.3 - Legacy Gossip Removal
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
- Cleanup BLS naming and documentation by @StephenButtolph in #2798
- Add BLS keys + signers config for local network by @Nuttymoon in #2794
- Remove double spaces by @StephenButtolph in #2802
- [vms/platformvm] Remove
platform.getMaxStakeAmount
by @dhrubabasu in #2795 - Remove unused engine interface by @StephenButtolph in #2811
- Cleanup Duplicate Transitive Constructor by @joshua-kim in #2812
- Update minimum golang version to v1.21.8 by @StephenButtolph in #2814
- Cleanup consensus metrics by @StephenButtolph in #2815
- Remove peerlist push gossip by @StephenButtolph in #2791
- Remove bitmaskCodec by @StephenButtolph in #2792
- Use
BaseTx
in P-chain wallet by @dhrubabasu in #2731 - Remove put gossip by @StephenButtolph in #2790
- [vms/platformvm] Remove
GetPendingValidators
API by @dhrubabasu in #2817 - [vms/platformvm] Remove
ErrFutureStakeTime
check inVerifyTx
by @dhrubabasu in #2797 - Remove pre-Durango block building logic and verification by @StephenButtolph in #2823
- Remove pre-Durango checks in BLS key verification by @StephenButtolph in #2824
- [snow/networking] Enforce
PreferredIDAtHeight
inChits
messages by @dhrubabasu in #2827 - Combine AppGossip and AppGossipSpecific by @StephenButtolph in #2836
- [network/peer] Disconnect from peers who only send legacy version field by @dhrubabasu in #2830
- [vms/avm] Cleanup
GetTx
+ remove state pruning logic by @dhrubabasu in #2826 - [vms/avm] Remove
snow.Context
fromNetwork
by @dhrubabasu in #2834 - [vms/platformvm] Remove state pruning logic by @dhrubabasu in #2825
- Prevent zero length values in slices and maps in codec by @StephenButtolph in #2819
- [utils/compression] Remove gzip compressor by @dhrubabasu in #2839
- Remove legacy p2p message handling by @dhrubabasu in #2833
- Remove Durango codec check by @StephenButtolph in #2818
- Remove Pre-Durango TLS certificate parsing logic by @dhrubabasu in #2831
- Remove engine type handling for everything other than GetAncestors by @StephenButtolph in #2800
- P-chain: Improve GetValidatorsSet error expressivity by @abi87 in #2808
- Add antithesis PoC workload by @StephenButtolph in #2796
- Add Antithesis docker compose file by @StephenButtolph in #2838
- merkledb metric naming nits by @danlaine in #2844
- Allow configuring push gossip to send txs to validators by stake by @StephenButtolph in #2835
- update merkledb readme to specify key length is in bits by @danlaine in #2840
tmpnet
: Add a UUID to temporary networks to support metrics collection by @marun in #2763- packer build by @Dirrk in #2806
- Bump google.golang.org/protobuf from 1.32.0 to 1.33.0 by @dependabot in #2849
- Bump bufbuild/buf-setup-action from 1.29.0 to 1.30.0 by @dependabot in #2842
- Remove verify height index by @aaronbuchwald in #2634
- Dynamic Fees - Add E Upgrade boilerplate by @abi87 in #2597
tmpnet
: Enable collection of logs and metrics by @marun in #2820- P-Chain - repackaged wallet backends by @abi87 in #2757
- X-Chain - repackaged wallet backends by @abi87 in #2762
- Remove fallback validator height indexing by @StephenButtolph in #2801
tmpnet
: Reuse dynamically-allocated API port across restarts by @marun in #2857- Remove useless bootstrapping metric by @StephenButtolph in #2858
- Remove duplicate log by @StephenButtolph in #2860
New Contributors
- @Nuttymoon made their first contribution in #2794
- @Dirrk made their first contribution in #2806
Full Changelog: v1.11.2...v1.11.3
Durango.2 - Push Gossip Redesign
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 theplatform
APIplatform.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
- Remove deprecated IPC API by @StephenButtolph in #2760
vms/platformvm
: Remove all keystore APIs exceptExportKey
andListAddresses
by @dhrubabasu in #2761- Remove Deprecated Auth API by @StephenButtolph in #2759
- Remove
defaultAddress
helper from platformvm service tests by @dhrubabasu in #2767 - [trace] upgrade opentelemetry to v1.22.0 by @bianyuanop in #2702
- Reenable the upgrade tests by @StephenButtolph in #2769
- [network/p2p] Redesign Push Gossip by @patrick-ogrady in #2772
- Move AppGossip configs from SubnetConfig into ChainConfig by @StephenButtolph in #2785
merkledb
-- move compressedKey declaration to avoid usage of stale values in loop by @danlaine in #2777merkledb
-- fixhasValue
inrecordNodeDeleted
by @danlaine in #2779merkledb
-- rename metrics and add missing call by @danlaine in #2781merkledb
-- style nit, remove var namenewView
to reduce shadowing by @danlaine in #2784merkledb
style nits by @danlaine in #2783merkledb
comment accuracy fixes by @danlaine in #2780- Increase gossip size on first push by @StephenButtolph in #2787
Full Changelog: v1.11.0...v1.11.2
Durango.1 - Disable Push Re-Gossip
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
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
ci
: Upgrade all workflow actions to versions using Node 20 by @marun in #2677tmpnet
: Ensure restart after chain creation by @marun in #2675- Publish docker images with race detection by @StephenButtolph in #2680
vms/platformvm
: RemoveNewRewardValidatorTx
fromBuilder
by @dhrubabasu in #2676ci
: Updated shellcheck script to support autofix by @marun in #2678- Unblock misconfigured subnets by @StephenButtolph in #2679
- Add transfer subnet ownership functionality to wallet by @felipemadero in #2659
- Add ACP-62 by @dhrubabasu in #2681
vms/platformvm
: Add missing txs totxs.Builder
by @dhrubabasu in #2663vms/platformvm
: DisableAddValidatorTx
andAddDelegatorTx
by @dhrubabasu in #2662- Remove chain router from node.Config by @StephenButtolph in #2683
- Deprecate the auth API by @StephenButtolph in #2684
- Fix P-chain Shutdown deadlock by @StephenButtolph in #2686
- Cleanup ID initialization by @StephenButtolph in #2690
- Remove unused chains#beacons field by @joshua-kim in #2692
- x/sync: Remove duplicated call to TrackBandwidth by @StephenButtolph in #2694
- Move VMAliaser into node from config by @StephenButtolph in #2689
- Fix minor errors in x/sync tests by @StephenButtolph in #2709
- Update minimum golang version to v1.21.7 by @dhrubabasu in #2710
- Check for github action updates in dependabot by @dhrubabasu in #2715
- Update
golangci-lint
tov1.56.1
by @dhrubabasu in #2714 - Add stringer to warp types by @aaronbuchwald in #2712
- Refactor
p2p.PeerTracker
by @StephenButtolph in #2701 - Bump actions/stale from 8 to 9 by @dependabot in #2719
- Bump github/codeql-action from 2 to 3 by @dependabot in #2720
- Bump bufbuild/buf-setup-action from 1.26.1 to 1.29.0 by @dependabot in #2721
- Bump aws-actions/configure-aws-credentials from 1 to 4 by @dependabot in #2722
- Manually setup golang in codeql action by @StephenButtolph in #2725
- Provide pgo file during compilation by @StephenButtolph in #2724
- P-chain - Tx builder cleanup by @abi87 in #2718
- Refactor chain manager subnets by @joshua-kim in #2711
- Replace snowball/snowflake interface with single shared snow interface by @aaronbuchwald in #2717
- Remove duplicate IP length constant by @StephenButtolph in #2733
- Add
platform.getSubnet
API by @felipemadero in #2704 - Provide BLS signature in Handshake message by @StephenButtolph in #2730
- Verify BLS signature provided in Handshake messages by @StephenButtolph in #2735
- Move UTXOs definition from primary to primary/common by @StephenButtolph in #2741
- Minimize Signer interface and document Sign by @StephenButtolph in #2740
- Revert setup-go during unit tests by @StephenButtolph in #2744
- P-chain wallet fees UTs by @abi87 in #2734
merkledb
-- generalize error case to check state that should never occur by @danlaine in #2743- Revert setup-go to v3 on all arm actions by @StephenButtolph in #2749
- Add AppError to Sender interface by @joshua-kim in #2737
- P-chain - Cleaned up fork switch in UTs by @abi87 in #2746
- X-chain wallet fees UTs by @abi87 in #2747
- Add keys values to bimap by @StephenButtolph in #2754
- fix test sender by @joshua-kim in #2755
Full Changelog: v1.10.19...v1.11.0
Durango - C-Chain Warp Messaging - Fuji Pre-Release
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
ci
: Upgrade all workflow actions to versions using Node 20 by @marun in #2677tmpnet
: Ensure restart after chain creation by @marun in #2675- Publish docker images with race detection by @StephenButtolph in #2680
vms/platformvm
: RemoveNewRewardValidatorTx
fromBuilder
by @dhrubabasu in #2676ci
: Updated shellcheck script to support autofix by @marun in #2678- Unblock misconfigured subnets by @StephenButtolph in #2679
- Add transfer subnet ownership functionality to wallet by @felipemadero in #2659
- Add ACP-62 by @dhrubabasu in #2681
vms/platformvm
: Add missing txs totxs.Builder
by @dhrubabasu in #2663vms/platformvm
: DisableAddValidatorTx
andAddDelegatorTx
by @dhrubabasu in #2662- Remove chain router from node.Config by @StephenButtolph in #2683
- Deprecate the auth API by @StephenButtolph in #2684
- Fix P-chain Shutdown deadlock by @StephenButtolph in #2686
- Cleanup ID initialization by @StephenButtolph in #2690
- Remove unused chains#beacons field by @joshua-kim in #2692
- x/sync: Remove duplicated call to TrackBandwidth by @StephenButtolph in #2694
- Move VMAliaser into node from config by @StephenButtolph in #2689
Full Changelog: v1.10.19...v1.11.0-fuji
Cortina.19 - Options Before Verification
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 theadmin
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
vms/platformvm
: ChangeAdvanceTimeTo
to modify passed-inparentState
by @dhrubabasu in #2489vms/platformvm
: RemoveMempoolTxVerifier
by @dhrubabasu in #2362- Verify
SignedIP.Timestamp
fromPeerList
messages by @danlaine in #2587 - Fix metrics namespace by @StephenButtolph in #2632
- Add bloom filter metrics to the p2p sdk by @ceyonur in #2612
- Replace
shutdownEnvironment
witht.Cleanup()
by @dhrubabasu in #2491 - P-chain - Memo field zeroed post Durango by @abi87 in #2607
- Refactor feature extensions out of VMManager by @joshua-kim in #2578
- Remove getter for router on chain manager by @joshua-kim in #2641
- Fix
require.ErrorIs
argument order by @StephenButtolph in #2645 api/admin
: CleanupSuccessResponseTests
by @dhrubabasu in #2644- Allow calls to
Options
beforeVerify
by @StephenButtolph in #2363 - Improve logging of unexpected proposer errors by @StephenButtolph in #2646
- Disable non-security related dependabot PRs by @StephenButtolph in #2647
- Add historical fork times by @StephenButtolph in #2649
- Cleanup warp signer tests by @dhrubabasu in #2651
- Reintroduce the upgrade test against v1.10.18 by @StephenButtolph in #2652
- Cleanup database benchmarks by @dhrubabasu in #2653
- Cleanup database tests by @dhrubabasu in #2654
ci
: Add shellcheck step to lint job by @marun in #2650- Replace
closeFn
witht.Cleanup
by @dhrubabasu in #2638 - Fix TestExpiredBuildBlock by @StephenButtolph in #2655
- Add admin.dbGet API by @StephenButtolph in #2667
ci
: Update shellcheck.sh to pass all args to shellcheck by @marun in #2657vms/platformvm
: RemoveNewAdvanceTimeTx
fromBuilder
by @dhrubabasu in #2668- Log error if database returns unsorted heights by @StephenButtolph in #2670
vms/platformvm
: Movevm.Shutdown
call in tests tot.Cleanup
by @dhrubabasu in #2669e2e
: Add test ofplatform.getValidatorsAt
across nodes by @marun in #2664- Fix P-chain validator set lookup race condition by @StephenButtolph in #2672
Full Changelog: v1.10.18...v1.10.19
Cortina.18 - Optimize Peer Discovery
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
andobjectedACPs
for each peer returned byinfo.peers
- Added
txs
field toBanffProposalBlock
'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
toavalanchego
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 fornetwork-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 addressCVE-2023-48795
- Updated minimum golang version to address
CVE-2023-39326
- Restricted
GOPROXY
during compilation to avoiddirect
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
forwallet
transactions - Fixed duplicate outbound dialer for manually tracked nodes in the p2p network
What's Changed
- testing: Update to latest version of ginkgo by @marun in #2390
vms/platformvm
: Cleanup block builder tests by @dhrubabasu in #2406- Drop Pending Stakers 0 - De-duplicate staking tx verification by @abi87 in #2335
vms/platformvm
: Initialize txs inTransactions
field forBanffProposalBlock
by @dhrubabasu in #2419vms/platformvm
: MoveVerifyUniqueInputs
fromverifier
tobackend
by @dhrubabasu in #2410- Fix duplicated bootstrapper engine termination by @StephenButtolph in #2334
- allow user of
build_fuzz.sh
to specify a directory to fuzz in by @danlaine in #2414 - Update slices dependency to use Compare by @StephenButtolph in #2424
vms/platformvm
: Cleanup some block tests by @dhrubabasu in #2422- ProposerVM Extend windows 0 - Cleanup by @abi87 in #2404
vms/platformvm
: AdddecisionTxs
parameter toNewBanffProposalBlock
by @dhrubabasu in #2411- Update minimum golang version to v1.20.12 by @StephenButtolph in #2427
- Fix platformvm.SetPreference by @StephenButtolph in #2429
- Restrict GOPROXY by @StephenButtolph in #2434
- Drop Pending Stakers 1 - introduced ScheduledStaker txs by @abi87 in #2323
- Run merkledb fuzz tests every 6 hours by @danlaine in #2415
- Remove unused error by @joshua-kim in #2426
- Make
messageQueue.msgAndCtxs
a circular buffer by @danlaine in #2433 - ProposerVM Extend windows 1 - UTs Cleanup by @abi87 in #2412
- Change seed from int64 to uint64 by @StephenButtolph in #2438
- Remove usage of timer.Timer in node by @StephenButtolph in #2441
- Remove staged timer again by @StephenButtolph in #2440
merkledb
/sync
-- Disambiguate no end root from no start root by @danlaine in #2437- Drop Pending Stakers 2 - Replace txs.ScheduledStaker with txs.Staker by @abi87 in #2305
vms/platformvm
: Remove double block building logic by @dhrubabasu in #2380- Remove usage of timer.Timer in benchlist by @StephenButtolph in #2446
vms/avm
: SimplifyPeek
function in mempool by @dhrubabasu in #2449vms/platformvm
: RemovestandardBlockState
struct by @dhrubabasu in #2450- Refactor sampler seeding by @StephenButtolph in #2456
- Update tmpnet fixture to include Proof-of-Possession for initial stakers by @marun in #2391
vms/platformvm
: RemoveEnableAdding
andDisableAdding
fromMempool
interface by @dhrubabasu in #2463vms/avm
: Addexists
bool to mempoolPeek
by @dhrubabasu in #2465vms/platformvm
: RemovePeekTxs
fromMempool
interface by @dhrubabasu in #2378vms/platformvm
: AddprocessStandardTxs
helper by @dhrubabasu in #2461vms/platformvm
: ProcessatomicRequests
andonAcceptFunc
in option blocks by @dhrubabasu in #2459e2e
: Rename 'funded key' to 'pre-funded key' for consistency by @marun in #2455vms/platformvm
: SurfaceVerifyUniqueInputs
in theManager
by @dhrubabasu in #2467vms/platformvm
: AddTestBuildBlockShouldReward
test by @dhrubabasu in #2466- Switch client version to a proto type from a string by @joshua-kim in #2188
- Remove stale TODO by @danlaine in #2468
vms/platformvm
: AddTestBuildBlockDoesNotBuildWithEmptyMempool
test by @dhrubabasu in #2469vms/platformvm
: AddTestBuildBlockShouldAdvanceTime
test by @dhrubabasu in #2471vms/platformvm
: Permit usage of theTransactions
field inBanffProposalBlock
by @dhrubabasu in #2451vms/platformvm
: AddTestBuildBlockForceAdvanceTime
test by @dhrubabasu in #2472- P2P AppError handling by @joshua-kim in #2248
vms/platformvm
: Verify txs before building a block by @dhrubabasu in #2359- Refactor p2p unit tests by @joshua-kim in #2475
- Add ACP signaling by @StephenButtolph in #2476
- Refactor SDK by @joshua-kim in #2452
- Cleanup CI by @dhrubabasu in #2480
- Ensure upgrade test uses the correct binary on restart by @marun in #2478
- Prefetch Improvement by @dboehm-avalabs in #2435
- ci: run each fuzz test for 10 seconds by @dhrubabasu in #2483
- Remove nullable options by @nytzuga in #2481
merkledb
-- dynamic root by @danlaine in #2177- fix onEvictCache by @danlaine in #2484
- Remove cached node bytes from merkle nodes by @dboehm-avalabs in #2393
- Fix race in view iteration by @dboehm-avalabs in #2486
- MerkleDB -- update readme by @danlaine in #2423
- Drop Pending Stakers 3 - persi...
Cortina.17 - Optimized Block Gossip
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 deprecatedbuilt
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
andstderr
when shutting down the logger
What's Changed
- Remove Banff check from mempool verifier by @dhrubabasu in #2360
- Document storage growth in readme by @StephenButtolph in #2364
- Add metric for duration between block timestamp and acceptance time by @StephenButtolph in #2366
vms/platformvm
: Remove unusedwithMetrics
txheap by @dhrubabasu in #2373- Move peerTracker from x/sync to network/p2p by @joshua-kim in #2356
- Logging avoid closing standard outputs by @felipemadero in #2372
vms/platformvm
: AdjustDiff.Apply
signature by @dhrubabasu in #2368- Add bls validator info to genesis by @felipemadero in #2371
- Remove
engine.GetVM
by @StephenButtolph in #2374 vms/platformvm
: Consolidatestate
pkg mocks by @dhrubabasu in #2370- Remove common bootstrapper by @StephenButtolph in #2297
vms/platformvm
: MovetoEngine
channel to mempool by @dhrubabasu in #2333vms/avm
: Renamestates
pkg tostate
by @dhrubabasu in #2381- Implement generic bimap by @StephenButtolph in #2383
- Unexport RequestID from snowman engine by @StephenButtolph in #2384
- Add metric to track the stake weight of block providers by @StephenButtolph in #2376
- Add block source metrics to monitor gossip by @StephenButtolph in #2386
- Rename
D
toDurango
by @dhrubabasu in #2389 - Replace periodic push accepted gossip with pull preference gossip for block discovery by @StephenButtolph in #2367
- MerkleDB Remove ID from Node to reduce size and removal channel creation. by @dboehm-avalabs in #2324
- Remove method
CappedList
fromset.Set
by @danlaine in #2395 - Periodically PullGossip only from connected validators by @StephenButtolph in #2399
- Update bootstrap IPs by @StephenButtolph in #2396
- Rename
testnet
fixture totmpnet
by @marun in #2307 - Add
p2p.Network
component by @joshua-kim in #2283 vms/platformvm
: MoveGetRewardUTXOs
,GetSubnets
, andGetChains
toState
interface by @dhrubabasu in #2402- Add more descriptive formatted error by @aaronbuchwald in #2403
Full Changelog: v1.10.16...v1.10.17