Releases: ava-labs/avalanchego
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
Cortina.16 - Concurrent Trie Prefetching
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 forbenched
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
- Return log levels from admin.SetLoggerLevel by @StephenButtolph in #2250
- feat(api) : Peers function to return the PrimaryAlias of the chainID by @DoTheBestToGetTheBest in #2251
- Switch to using require.TestingT interface in SenderTest struct by @marun in #2258
- Cleanup
ipcs
Socket
test by @danlaine in #2257 - Require poll metrics to be registered by @StephenButtolph in #2260
- Track all subnet validator sets in the validator manager by @StephenButtolph in #2253
- e2e: Make NewWallet and NewEthclient regular functions by @marun in #2262
- Fix typos in docs by @vuittont60 in #2261
- Remove Token constants information from keys by @dboehm-avalabs in #2197
- Remove unused
UnsortedEquals
function by @dhrubabasu in #2264 - Document p2p package by @joshua-kim in #2254
- Use extended public key to derive ledger addresses by @felipemadero in #2246
merkledb
-- rename nit by @danlaine in #2267merkledb
-- fix nil check in test by @danlaine in #2268- Add read-only database flag (
--db-read-only
) by @danlaine in #2266 merkledb
-- remove unneeded var declarations by @danlaine in #2269- Add fuzz test for
NewIteratorWithStartAndPrefix
by @danlaine in #1992 - Return if element was deleted from
Hashmap
by @dhrubabasu in #2271 mempool.NewMempool
->mempool.New
by @dhrubabasu in #2276- e2e: Refactor suite setup and helpers to tests/fixture/e2e for reuse by coreth by @marun in #2265
- Cleanup platformvm mempool errs by @dhrubabasu in #2278
- MerkleDB:Naming and comments cleanup by @dboehm-avalabs in #2274
- Move
DropExpiredStakerTxs
to platformvm mempool by @dhrubabasu in #2279 - Cleanup
ids.NodeID
usage by @abi87 in #2280 - Genesis validators cleanup by @abi87 in #2282
- Remove Lazy Initialize on Node by @joshua-kim in #1384
- Remove sentinel node from MerkleDB proofs by @dboehm-avalabs in #2106
- Embed
noop
handler for all unhandled messages by @dhrubabasu in #2288 merkledb
-- AddClearer
interface by @danlaine in #2277- Simplify get server creation by @StephenButtolph in #2285
- Move management of platformvm preferred block to
executor.Manager
by @dhrubabasu in #2292 - Add
recentTxsLock
to platformnetwork
struct by @dhrubabasu in #2294 - e2e: More fixture refinement in support of coreth integration testing by @marun in #2275
- Add
VerifyTx
toexecutor.Manager
by @dhrubabasu in #2293 - Simplify avalanche bootstrapping by @StephenButtolph in #2286
- Replace unique slices with sets in the engine interface by @StephenButtolph in #2317
- Use zap.Stringer rather than zap.Any by @StephenButtolph in #2320
- Move
AddUnverifiedTx
logic tonetwork.IssueTx
by @dhrubabasu in #2310 - Remove
AddUnverifiedTx
fromBuilder
by @dhrubabasu in #2311 - Remove error from SDK AppGossip handler by @joshua-kim in #2252
- Rename AppRequestFailed to AppError by @joshua-kim in #2321
- Remove
Network
interface fromBuilder
by @dhrubabasu in #2312 - Update
error_code
to be sint32 instead of uint32. by @joshua-kim in #2322 - Refactor bootstrapper implementation into consensus by @StephenButtolph in #2300
- Pchain - Cleanup NodeID generation in UTs by @abi87 in #2291
- nit: loop --> variadic by @danlaine in #2316
- Update zap dependency to v1.26.0 by @danlaine in #2325
- Remove useless anon functions by @StephenButtolph in #2326
- Move
network
implementation to separate package by @dhrubabasu in #2296 - Unexport avalanche constant from common package by @StephenButtolph in #2327
- Remove
common.Config
functions by @StephenButtolph in #2328 - Move engine startup into helper function by @StephenButtolph in #2329
- Remove bootstrapping retry config by @StephenButtolph in #2301
- Export snowman bootstrapper by @StephenButtolph in #2331
- Remove common.Config from syncer.Config by @StephenButtolph in #2330
platformvm.VM
-- replaceConfig
field withvalidators.Manager
by @danlaine in #2319- Improve height monitoring by @StephenButtolph in #2347
- Cleanup snowman consensus metrics by @StephenButtolph in #2349
- Expand consensus health check by @StephenButtolph in #2354
- Reduce the size of the OracleBlock interface by @StephenButtolph in #2355
- [vms/proposervm] Update Build Heuristic by @patrick-ogrady in #2348
- Use linkedhashmap for P-Chain mempool by @gyuho in #1536
- Increase txs in pool metric when adding tx by @StephenButtolph in #2361
New Contributors
- @DoTheBestToGetTheBest made their first contribution in #2251
- @vuittont60 made their first contribution in #2261
Full Changelog: v1.10.15...v1.10.16
Cortina.15 - PebbleDB
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
- Reduce allocations on insert and remove by @dboehm-avalabs in #2201
merkledb
-- shift nit by @danlaine in #2218- Update
golangci-lint
tov1.55.1
by @dhrubabasu in #2228 - Add json marshal tests to existing serialization tests in
platformvm/txs
pkg by @dhrubabasu in #2227 - Move all blst function usage to
bls
pkg by @dhrubabasu in #2222 merkledb
-- don't passBranchFactor
toencodeDBNode
by @danlaine in #2217- Add
utils.Err
helper by @dhrubabasu in #2212 - Enable
perfsprint
linter by @dhrubabasu in #2229 - Trim down size of secp256k1
Factory
struct by @dhrubabasu in #2223 - Fix test typos by @dhrubabasu in #2233
- P2P AppRequestFailed protobuf definition by @joshua-kim in #2111
- Remove error from Router AppGossip by @joshua-kim in #2238
- Document host and port behavior in help text by @StephenButtolph in #2236
- Remove
database.Manager
by @danlaine in #2239 - Add
BaseTx
support to platformvm by @dhrubabasu in #2232 - Add
pebble
as valid value for--db-type
. by @danlaine in #2244 - Add nullable option to codec by @nytzuga in #2171
Full Changelog: v1.10.14...v1.10.15
Cortina.14 - Validator Set Management Redesign
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
- Remove build check from unit tests by @StephenButtolph in #2189
- Update cgo usage by @StephenButtolph in #2184
- Deprecate IPC configs by @danlaine in #2168
- Update P2P proto docs by @joshua-kim in #2181
- Merkle db Make Paths only refer to lists of nodes by @dboehm-avalabs in #2143
- Deprecate keystore config by @danlaine in #2195
- Add tests for BanffBlock serialization by @dhrubabasu in #2194
- Move Shutdown lock from Handler into Engines by @StephenButtolph in #2179
- Move HealthCheck lock from Handler into Engines by @StephenButtolph in #2173
- Implement Heap Map by @joshua-kim in #2137
- Move selectStartGear lock from Handler into Engines by @StephenButtolph in #2182
- Add Heap Set by @joshua-kim in #2136
- Shutdown TimeoutManager during node Shutdown by @abi87 in #1707
- Redesign validator set management to enable tracking all subnets by @ceyonur in #1857
- Update local network readme by @StephenButtolph in #2203
- Use custom codec for validator metadata by @abi87 in #1510
- Add RSA max key length test by @StephenButtolph in #2205
- Remove duplicate networking check by @StephenButtolph in #2204
- Update TestDialContext to use ManuallyTrack by @joshua-kim in #2209
- Remove contains from validator manager interface by @ceyonur in #2198
- Move the overridden manager into the node by @ceyonur in #2199
- Remove
aggregate
struct by @dhrubabasu in #2213 - Add log for ungraceful shutdown on startup by @joshua-kim in #2215
- Add pebble database implementation by @danlaine in #1999
- Add
TransferSubnetOwnershipTx
by @dhrubabasu in #2178 - Revert networking AllowConnection change by @StephenButtolph in #2219
- Fix unexpected unlock by @StephenButtolph in #2221
- Improve logging for block verification failure by @StephenButtolph in #2224
Full Changelog: v1.10.13...v1.10.14
Cortina.13 - API Locking Refactor
This version is backwards compatible to v1.10.0. It is optional, but encouraged.
The plugin version is updated to 29
all plugins must update to be compatible.
Fixes
- Added
Prefetcher
to themerkledb
interface - Fixed json marshalling of
TrackedSubnets
andAllowedNodes
What's Changed
- Fix typo in block formation logic documentation by @kyoshisuki in #2158
- Marshal blocks and transactions inside API calls by @StephenButtolph in #2153
- Remove lock options from the info api by @StephenButtolph in #2149
- Remove write lock option from the avm static API by @StephenButtolph in #2154
- Remove write lock option from the avm wallet API by @StephenButtolph in #2155
- Fix json marshalling of Sets by @StephenButtolph in #2161
- Rename
removeSubnetValidatorValidation
toverifyRemoveSubnetValidatorTx
by @dhrubabasu in #2162 - Remove lock options from the IPCs api by @StephenButtolph in #2151
- Remove write lock option from the xsvm API by @StephenButtolph in #2152
- Remove lock options from the admin API by @StephenButtolph in #2150
- Remove aliasing of
math
standard lib by @dhrubabasu in #2163 - Remove write lock option from the platformvm API by @StephenButtolph in #2157
- Remove write lock option from the avm rpc API by @StephenButtolph in #2156
- Remove context lock from API VM interface by @StephenButtolph in #2165
- Use set.Of rather than set.Add by @StephenButtolph in #2164
- Bump google.golang.org/grpc from 1.55.0 to 1.58.3 by @dependabot in #2159
- [x/merkledb]
Prefetcher
interface by @patrick-ogrady in #2167 - Validator Diffs: docs and UTs cleanup by @abi87 in #2037
- MerkleDB Reduce buffer creation/memcopy on path construction by @dboehm-avalabs in #2124
- Fix some P-chain UTs by @abi87 in #2117
New Contributors
- @kyoshisuki made their first contribution in #2158
Full Changelog: v1.10.12...v1.10.13
Cortina.12 - Dual-Alpha Support
This version is backwards compatible to v1.10.0. It is optional, but encouraged.
The plugin version is unchanged at 28
and compatible with versions v1.10.9 - v1.10.11
.
APIs
- Added
avalanche_{chainID}_total_weight
metric - Added
avalanche_{chainID}_num_validators
metric - Added
avalanche_{chainID}_num_processing_ancestor_fetches_failed
metric - Added
avalanche_{chainID}_num_processing_ancestor_fetches_dropped
metric - Added
avalanche_{chainID}_num_processing_ancestor_fetches_succeeded
metric - Added
avalanche_{chainID}_num_processing_ancestor_fetches_unneeded
metric - Added
avalanche_{chainID}_num_missing_accepted_blocks
metric - Added
avalanche_{chainID}_selected_vote_index_count
metric - Added
avalanche_{chainID}_selected_vote_index_sum
metric
Configs
- Added
--snow-preference-quorum-size
flag - Added
--snow-confidence-quorum-size
flag - Added
"fx-owner-cache-size"
to the P-chain config
Fixes
- Fixed concurrent node shutdown and chain creation race
- Updated http2 implementation to patch CVE-2023-39325
- Exited
network.dial
early to avoid goroutine leak when shutting down - Reduced log level of
"failed to send peer list for handshake"
messages fromERROR
toDEBUG
- Reduced log level of
"state pruning failed"
messages fromERROR
toWARN
What's Changed
- Add last accepted height to the snowman interface by @StephenButtolph in #2091
- Delete kurtosis CI jobs by @marun in #2068
- e2e: Ensure all Issue* calls use the default context by @marun in #2069
- Remove Finalized from the consensus interface by @StephenButtolph in #2093
- Remove embedding of
verify.Verifiable
inFxCredential
by @dhrubabasu in #2089 - Clarify decidable interface simple default parameter tests by @gyuho in #2094
- snow/consensus/snowman/poll: remove "unused" no early term poller by @gyuho in #2095
- Cleanup
.golangci.yml
by @dhrubabasu in #2097 - Refactor
ancestor.Tree
by @StephenButtolph in #2099 - Update AMI runner image and instance type by @charlie-ava in #1939
- Add
tagalign
linter by @dhrubabasu in #2084 - Fix flaky BuildBlockIsIdempotent test by @StephenButtolph in #2101
- Make
network.dial
honor context cancellation. by @danlaine in #2061 - Add preference lookups by height to the consensus interface by @StephenButtolph in #2092
- Remove duplicate pullQuery method by @StephenButtolph in #2103
- Add additional validator set metrics by @aaronbuchwald in #2051
- Remove
snowball.Initialize
andsnowball.Factory
by @danlaine in #2104 - Remove initialize functions from the snowball package by @danlaine in #2105
- Remove
genesis.State
by @joshua-kim in #2112 - add
SetSubnetOwner
toChain
interface by @dhrubabasu in #2031 - Move vote bubbling before poll termination by @StephenButtolph in #2100
- testing: Switch upgrade test to testnet fixture by @marun in #1887
- Reduce archivedb key lengths by 1 byte by @StephenButtolph in #2113
- Cleanup uptime manager constructor by @abi87 in #2118
- MerkleDB Compact Path Bytes by @dboehm-avalabs in #2010
- MerkleDB Path changes cleanup by @dboehm-avalabs in #2120
- Fix consensus engine interface comments by @StephenButtolph in #2115
- Standardize consensus variable names in tests by @StephenButtolph in #2129
- Prevent bytesNeeded overflow by @StephenButtolph in #2130
- Migrate xsvm from github.com/ava-labs/xsvm by @marun in #2045
- Fix handling of wg in the networking dial test by @StephenButtolph in #2132
- Update go.mod and add update check by @StephenButtolph in #2133
- Reduce log level of failing to send a peerList message by @StephenButtolph in #2134
- RPCChainVM fail-fast health RPCs by @hexfusion in #2123
- MerkleDB allow warming node cache by @dboehm-avalabs in #2128
- Add vote bubbling metrics by @StephenButtolph in #2138
- Reduce log level of an error during Prune by @StephenButtolph in #2141
- Exit chain creation routine before shutting down chain router by @StephenButtolph in #2140
- Merkle db fix type cast bug by @dboehm-avalabs in #2142
- Add Warp Payload Types by @nytzuga in #2116
- Add height voting for chits by @StephenButtolph in #2102
- Add Heap Queue by @joshua-kim in #2135
- Add additional payload.Hash examples by @StephenButtolph in #2145
- Split Alpha into AlphaPreference and AlphaConfidence by @StephenButtolph in #2125
Full Changelog: v1.10.11...v1.10.12
Cortina.11 - ArchiveDB
This version is backwards compatible to v1.10.0. It is optional, but encouraged.
The plugin version is unchanged at 28
and compatible with versions v1.10.9 - v1.10.10
.
Fixes
- Prevented overzelous benching due to dropped AppRequests
- Populated the process file atomically to avoid racy reads
What's Changed
- Rename platformvm/blocks to platformvm/block by @joshua-kim in #1980
- RewardValidatorTx cleanup by @abi87 in #1891
- Cancel stale SH actions by @danlaine in #2003
- e2e: Switch assertion library from gomega to testify by @marun in #1909
- e2e: Add bootstrap checks to migrated kurtosis tests by @marun in #1935
- Add
GetTransformSubnetTx
helper by @dhrubabasu in #2047 - Add readme for the staking/local folder by @StephenButtolph in #2046
- use
IsCortinaActivated
helper by @dhrubabasu in #2048 - add
D
upgrade boilerplate by @dhrubabasu in #2049 - e2e: Ensure interchain workflow coverage for the P-Chain by @marun in #1882
- e2e: Switch to using default timed context everywhere by @marun in #1910
- Remove indentation + confusing comment by @StephenButtolph in #2053
- Delete ErrDelegatorSubset by @joshua-kim in #2055
- Fix default validator start time by @marun in #2058
- Enable workflows to be triggered by merge queue by @marun in #2057
- e2e: Migrate staking rewards test from kurtosis by @marun in #1767
- Fix LRU documentation comment by @anusha-ctrl in #2036
- Ignore AppResponse timeouts for benching by @StephenButtolph in #2066
- trace: provide appName and version from Config by @najeal in #1893
- Update perms.WriteFile to write atomically by @marun in #2063
- ArchiveDB by @nytzuga in #1911
- e2e: Bump validator start time diff to reduce flake potential by @marun in #2076
- Add
usestdlibvars
linter by @dhrubabasu in #2080 - e2e: Cleanup test labeling by @marun in #1907
- Add
dupword
linter by @dhrubabasu in #2087 - e2e: Migrate dynamic fees test from kurtosis by @marun in #1792
- Update
golangci-lint
tov1.54.2
by @dhrubabasu in #2082 - Update version for v1.10.11 by @StephenButtolph in #2077
Full Changelog: v1.10.10...v1.10.11
Cortina.10 - Pull Gossip
This version is backwards compatible to v1.10.0. It is optional, but encouraged.
The plugin version is unchanged at 28
and compatible with version v1.10.9
.
APIs
- Added
height
to the output ofplatform.getCurrentSupply
Configs
- Added
proposerNumHistoricalBlocks
to subnet configs
Fixes
- Fixed handling of
SIGTERM
signals in plugin processes prior to receiving aShutdown
message - Fixed range proof commitment of empty proofs
What's Changed
- e2e: Save network data for each test run as an uploaded artifact by @marun in #1856
- e2e: Ensure interchain workflow coverage for X-Chain and C-Chain by @marun in #1871
- MerkleDB Adjust New View function(s) by @dboehm-avalabs in #1927
- e2e: Migrate duplicate node id test from kurtosis by @marun in #1573
- Add tracing levels to merkledb by @StephenButtolph in #1933
- [x/merkledb] Add Configuration for
RootGenConcurrency
by @patrick-ogrady in #1936 - e2e: Ensure testnet network dir is archived on failed test run by @marun in #1930
- Merkle db cleanup view creation by @dboehm-avalabs in #1934
- Add async DB deletion helper by @StephenButtolph in #1931
- Implement SDK handler to drop messages from non-validators by @joshua-kim in #1917
- Support proposervm historical block deletion by @StephenButtolph in #1929
- Remove thread pool by @StephenButtolph in #1940
- Merkledb split node storage into value and intermediate by @dboehm-avalabs in #1918
merkledb
-- remove unneeded codec test helper by @danlaine in #1943merkledb
-- add codec test and move helper by @danlaine in #1944- Add throttler implementation to SDK by @joshua-kim in #1905
- Add Throttled Handler implementation to SDK by @joshua-kim in #1906
- Change merkledb caches to be size based by @StephenButtolph in #1947
- Rename
node.marshal
tonode.bytes
by @danlaine in #1951 - e2e: Switch to a default network node count of 2 by @marun in #1928
- MerkleDB Improve Node Size Calculation by @dboehm-avalabs in #1950
merkledb
-- remove unneeded return values by @danlaine in #1959sync
-- reduce test sizes by @danlaine in #1962merkledb
-- limit number of goroutines calculating node IDs by @danlaine in #1960- Add gossip package to p2p SDK by @joshua-kim in #1958
- Improve state sync logging by @StephenButtolph in #1955
- Update golang to 1.20.8 by @StephenButtolph in #1826
- Use odd-numbered request ids for SDK by @joshua-kim in #1975
- update iterator invariant by @danlaine in #1978
- Document common usage of requestIDs for snow senders by @StephenButtolph in #1981
- e2e: Diagnose and fix flakes by @marun in #1941
merkledb
--db_test.go
cleanup by @danlaine in #1954merkledb
-- make config fields uints by @danlaine in #1963- Only gracefully exit rpcchainvm server after Shutdown by @StephenButtolph in #1988
- Add contexts to SDK callbacks by @joshua-kim in #1977
- Change max response size to target response size by @joshua-kim in #1995
- Add sdk gossip handler metrics by @joshua-kim in #1997
- Add p2p SDK Router metrics by @joshua-kim in #2000
- Merkledb Attempt to reduce test runtime by @dboehm-avalabs in #1990
- longer timeout on windows UT by @danlaine in #2001
sync
-- log tweaks by @danlaine in #2008- Add Validator Gossiper by @joshua-kim in #2015
- database: comment that Get returns ErrNotFound if key is not present by @aaronbuchwald in #2018
- Return
height
fromGetCurrentSupply
by @dhrubabasu in #2022 - simplify platformvm
GetHeight
function by @dhrubabasu in #2023 - Merkle db fix range proof commit bug by @dboehm-avalabs in #2019
- Add
bag.Of
helper by @StephenButtolph in #2027 - Cleanup early poll termination logic by @StephenButtolph in #2029
- fix typo by @dhrubabasu in #2030
- Merkle db intermediate node key compression by @dboehm-avalabs in #1987
- Improve RPC Chain version mismatch error message by @martineckardt in #2021
- Move subnet owner lookup to platformvm state by @dhrubabasu in #2024
- Fix fuzz tests; add iterator fuzz test by @danlaine in #1991
- Refactor subnet validator primary network requirements by @dhrubabasu in #2014
- Rename events to event by @joshua-kim in #1973
- Add function to initialize SampleableSet by @joshua-kim in #2017
- add
IsCortinaActivated
helper by @dhrubabasu in #2013 - Fix P-chain Import by @StephenButtolph in #2035
- Rename avm/blocks package to avm/block by @joshua-kim in #1970
- Merkledb Update rangeproof proto to be consistent with changeproof proto by @dboehm-avalabs in #2040
merkledb
-- encode lengths as uvarints by @danlaine in #2039- MerkleDB Remove GetNodeFromParent by @dboehm-avalabs in #2041
New Contributors
- @martineckardt made their first contribution in #2021
Full Changelog: v1.10.9...v1.10.10
Cortina.9 - Zstandard Compression
This version is backwards compatible to v1.10.0. It is optional, but encouraged.
The plugin version is updated to 28
all plugins must update to be compatible.
Configs
- Changed the default value of
--network-compression-type
fromgzip
tozstd
Fixes
- Marked corruptabledb as corrupted after encountering an error during iteration
- Fixed proposervm error handling during startup
What's Changed
merkledb
-- verify range proof in fuzz test; fix bound error by @danlaine in #1789- Update default compression type to zstd by @StephenButtolph in #1839
- Migrate to
uber-go/mock
by @dhrubabasu in #1840 corruptabledb
-- corrupt on iterator error by @danlaine in #1829- Add support for Maps to the reflect_codec by @nytzuga in #1790
- Make linter fail if
github.com/golang/mock/gomock
is used by @danlaine in #1843 - Firewoodize merkle db Part 1: Make Views ReadOnly by @dboehm-avalabs in #1816
- E2E tests -- use appropriate timeouts by @danlaine in #1851
- e2e: Switch to testnet fixture by @marun in #1709
secp256k1
-- add fuzz tests by @danlaine in #1809- Add fuzz test for complex codec unmarshalling by @StephenButtolph in #1846
- Simplify exported interface of the primary wallet by @StephenButtolph in #1849
- Regenerate mocks by @joshua-kim in #1860
- Remove history btree by @danlaine in #1861
merkledb
-- RemoveCommitToParent
by @danlaine in #1854merkledb
-- remove other history btree by @danlaine in #1862merkledb
-- add path fuzz test by @danlaine in #1852- fix range proof verification case by @danlaine in #1834
merkledb
-- add change proof fuzz test; fix change proof verification by @danlaine in #1802- Warp readme by @aaronbuchwald in #1780
- CODEOWNERS: add marun to tests by @hexfusion in #1863
- Add CI check that auto-generated code is up to date by @dhrubabasu in #1828
sync
-- change proof request can return range proof by @danlaine in #1772- Ensure consistent use of best-practice
set -o
in all scripts by @marun in #1864 - GetCanonicalValidatorSet minimal ValidatorState iface by @darioush in #1875
sync
-- handle fatal error by @danlaine in #1874merkledb
-- useMaybe
for start bounds by @danlaine in #1872- Add C-chain wallet to the primary network by @StephenButtolph in #1850
- e2e: Refactor keychain and wallet creation to test helpers by @marun in #1870
- Update account nonce on exportTx accept by @StephenButtolph in #1881
sync
-- add workheap test by @danlaine in #1879merkledb
-- commit to db only by @danlaine in #1885- Remove node/value lock from trieview by @dboehm-avalabs in #1865
- remove old todo by @danlaine in #1892
- Fix race in TestHandlerDispatchInternal by @joshua-kim in #1895
- Remove duplicate code from proposervm block acceptance by @StephenButtolph in #1894
- e2e: Bump permissionless subnets timeouts by @marun in #1897
merkledb
-- codec remove err checks by @danlaine in #1899- Merkle db fix new return type by @dboehm-avalabs in #1898
- Add SDK Sampling interface by @joshua-kim in #1877
- Add NoOpHandler implementation to SDK by @joshua-kim in #1903
- Remove unused scripts by @StephenButtolph in #1908
merkledb
-- codec nits/cleanup by @danlaine in #1904merkledb
-- preallocatebytes.Buffer
in codec by @danlaine in #1900- Proposervm height index repair fix by @abi87 in #1915
merkledb
-- move and rename methods by @danlaine in #1919- Remove optional height indexing interface by @StephenButtolph in #1896
merkledb
-- nits by @danlaine in #1916- Fix code owners file by @StephenButtolph in #1922
- Drop invalid TLS certs during initial handshake by @StephenButtolph in #1923
- Restricted tls metrics by @StephenButtolph in #1924
New Contributors
Full Changelog: v1.10.8...v1.10.9