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 - persist stakers' StartTime by @abi87 in #2306
- SDK Push Gossiper implementation by @joshua-kim in #2428
tmpnet
: Move tmpnet/local to tmpnet package by @marun in #2457merkledb
-- make tests use time as randomness seed by @danlaine in #2470tmpnet
: Break config.go up into coherent parts by @marun in #2462- Drop Pending Stakers 4 - minimal UT infra cleanup by @abi87 in #2332
- ProposerVM Extend windows 2- extend windowing by @abi87 in #2401
- Support json marshalling txs returned from the wallet by @StephenButtolph in #2494
- Avoid escaping to improve readability by @StephenButtolph in #2496
- Allow OutputOwners to be json marshalled without InitCtx by @StephenButtolph in #2495
- Drop Pending Stakers 5 - validated PostDurango StakerTxs by @abi87 in #2314
- Bump golang.org/x/crypto from 0.14.0 to 0.17.0 by @dependabot in #2502
- Remove unused
BuildGenesisTest
function by @dhrubabasu in #2503 - Remove unused
AcceptorTracker
struct by @dhrubabasu in #2508 - Dedupe secp256k1 key usage in tests by @dhrubabasu in #2511
- Merkledb readme updates by @danlaine in #2510
- Gossip Test structs by @joshua-kim in #2514
tmpnet
: Separate node into orchestration, config and process by @marun in #2460- Move
snow.DefaultConsensusContextTest
tosnowtest.ConsensusContext
by @dhrubabasu in #2507 - Add gossip Marshaller interface by @joshua-kim in #2509
- Include chain creation error in health check by @marun in #2519
- Make X-chain mempool safe for concurrent use by @StephenButtolph in #2520
- Initialize transactions once by @StephenButtolph in #2521
vms/avm
: Remove usage ofrequire.Contains
from service tests by @dhrubabasu in #2517- Move context lock into issueTx by @StephenButtolph in #2524
- Rework X-chain locking in tests by @StephenButtolph in #2526
vms/avm
: Simplifymempool.Remove
signature by @dhrubabasu in #2527- Remove unused mocks by @dhrubabasu in #2528
- Move
avm.newContext
tosnowtest.Context
by @dhrubabasu in #2513 - Do not fail-fast Tests / Unit by @StephenButtolph in #2530
- Make P-Chain Mempool thread-safe by @joshua-kim in #2523
vms/platformvm
: Usesnowtest.Context
helper by @dhrubabasu in #2515- Export mempool errors by @StephenButtolph in #2531
- Move locking into issueTx by @StephenButtolph in #2532
- Fix merge in wallet service by @StephenButtolph in #2534
- Introduce TxVerifier interface to network by @StephenButtolph in #2533
- Export P-Chain Mempool Errors by @joshua-kim in #2535
- Rename
Version
message toHandshake
by @danlaine in #2479 - Rename myVersionTime to ipSigningTime by @danlaine in #2537
- Remove resolved TODO by @dhrubabasu in #2540
- Only initialize Txs once by @joshua-kim in #2538
- JSON marshal the
Transactions
field inBanffProposalBlocks
by @dhrubabasu in #2541 - Enable
predeclared
linter by @dhrubabasu in #2539 - Move context lock into
network.issueTx
by @joshua-kim in #2525 - Remove comment on treating failed sends as FATAL by @joshua-kim in #2544
- Add TxVerifier interface to network by @joshua-kim in #2542
- X-chain SDK gossip by @joshua-kim in #2490
- Remove network context by @joshua-kim in #2543
- Remove
snow.DefaultContextTest
by @dhrubabasu in #2518 - Fix windowing when no validator is available by @abi87 in #2529
- Unexport fields from gossip.BloomFilter by @StephenButtolph in #2547
- P-Chain SDK Gossip by @joshua-kim in #2487
- Documentation Fixes: Grammatical Corrections and Typo Fixes Across Multiple Files by @joaolago1113 in #2550
- Notify block builder of txs after reject by @StephenButtolph in #2549
- Set dependabot target branch to
dev
by @dhrubabasu in #2553 - Remove
MockLogger
by @dhrubabasu in #2554 - Clean up merkleDB interface and duplicate code by @dboehm-avalabs in #2445
- Do not mark txs as dropped when mempool is full by @dhrubabasu in #2557
- Update bug bounty program to immunefi by @StephenButtolph in #2558
- Fix p2p sdk metric labels by @StephenButtolph in #2561
- Suppress gossip warnings due to no sampled peers by @StephenButtolph in #2562
- Remove dead code and unnecessary lock from reflect codec by @StephenButtolph in #2560
- Remove unused index interface by @StephenButtolph in #2564
- Implement SetMap and use it in XP-chain mempools by @StephenButtolph in #2555
vms/platformvm
: AddTestIterate
by @dhrubabasu in #2565- Cleanup codec usage by @StephenButtolph in #2563
- Remove
len
tag parsing from the reflect codec by @StephenButtolph in #2559 - Use more specific type by @dhrubabasu in #2567
- Standardize
onShutdownCtx
by @dhrubabasu in #2568 - Verify avm mempool txs against the last accepted state by @StephenButtolph in #2569
- Update
CODEOWNERS
by @dhrubabasu in #2570 - Remove license from mocks by @dhrubabasu in #2574
- Add missing import by @dhrubabasu in #2573
vms/platformvm
: Prune mempool periodically by @dhrubabasu in #2566- Update license header to 2024 by @dhrubabasu in #2572
- [MerkleDB] Make intermediate node cache two layered by @dboehm-avalabs in #2576
- Fix merkledb rebuild iterator by @dboehm-avalabs in #2581
- Fix intermediate node caching by @dboehm-avalabs in #2585
- Remove codec length check after Durango by @StephenButtolph in #2586
tmpnet
: Use AvalancheLocalChainConfig for cchain genesis by @marun in #2583testing
: Ensure CheckBootstrapIsPossible is safe for teardown by @marun in #2582tmpnet
: Separate network into orchestration and configuration by @marun in #2464- Update uintsize implementation by @danlaine in #2590
- Optimize bloom filter by @StephenButtolph in #2588
- Remove TLS key gen from networking tests by @StephenButtolph in #2596
- [utils/bloom] Optionally Update Bloom Filter Size on Reset by @patrick-ogrady in #2591
- [ci] Increase Fuzz Time in Periodic Runs by @patrick-ogrady in #2599
tmpnet
: Save metrics snapshot to disk before node shutdown by @marun in #2601- chore: Fix typo s/useage/usage by @hugo-syn in #2602
- Deprecate
SnowRogueCommitThresholdKey
andSnowVirtuousCommitThresholdKey
by @dhrubabasu in #2600 - Fix networking invalid field log by @StephenButtolph in #2604
- chore: Fix typo s/seperate/separate/ by @hugo-syn in #2605
- Support dynamic port peerlist gossip by @StephenButtolph in #2603
- Replace
PeerListAck
withGetPeerList
by @StephenButtolph in #2580 - Log critical consensus values during health checks by @StephenButtolph in #2609
- Update contributions branch to master by @StephenButtolph in #2610
- Add ip bloom metrics by @StephenButtolph in #2614
x/sync
: Auto-generateMockNetworkClient
by @dhrubabasu in #2617- Remove CreateStaticHandlers from VM interface by @joshua-kim in #2589
tmpnet
: Add support for subnets by @marun in #2492- Update
go.uber.org/mock/gomock
tov0.4.0
by @dhrubabasu in #2618 - Add
mockgen
source mode for generics + bls imports by @dhrubabasu in #2615 - Verify all MockGen generated files are re-generated in CI by @dhrubabasu in #2616
- Move division by 0 check out of the bloom loops by @StephenButtolph in #2622
- P-chain Add UTs around stakers persistence in platformvm state by @abi87 in #2505
- Revert "Set dependabot target branch to
dev
(#2553)" by @dhrubabasu in #2623 - Remove remaining 2023 remnants by @dhrubabasu in #2624
- Deprecate push-based peerlist gossip flags by @StephenButtolph in #2625
- Remove support for compressing gzip messages by @dhrubabasu in #2627
- Always attempt to install mockgen
v0.4.0
before execution by @dhrubabasu in #2628 - Modify TLS parsing rules for Durango by @StephenButtolph in #2458
New Contributors
- @joaolago1113 made their first contribution in #2550
- @hugo-syn made their first contribution in #2602
Full Changelog: v1.10.17...v1.10.18