Releases: ava-labs/avalanchego
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
Cortina.8 - Partial Sync
This version is backwards compatible to v1.10.0. It is optional, but encouraged.
The plugin version is unchanged at 27
and compatible with versions v1.10.5 - v1.10.7
.
This update changes the local network genesis. This version will not be able to join local networks with prior versions.
The first startup of the P-Chain will perform indexing operations. This indexing runs in the background and does not impact restart time. During this indexing the node will report increased CPU, memory, and disk usage.
APIs
- Added
platform.getBlockByHeight
Configs
- Added
--partial-sync-primary-network
flag to enable non-validators to optionally sync only the P-chain on the primary network - Added P-chain cache size configuration
block-id-cache-size
Fixes
- Fixed P-chain GetValidatorSet regression for subnets
- Changed
x/sync
range/change proof bounds from[]byte
toMaybe[[]byte]
- Fixed
x/sync
error handling from failure to send app messages
What's Changed
- Removes calls to ctrl.Finish by @darioush in #1803
- e2e: Remove unnecessary transaction status checking by @marun in #1786
- fix p2p mockgen location by @dhrubabasu in #1806
- fix end proof verification by @danlaine in #1801
merkledb
-- add proof fuzz test by @danlaine in #1804sync
-- re-add network client metrics by @danlaine in #1787- Add function to initialize set from elements by @joshua-kim in #1808
- Add Maybe to the end bound of proofs (Part 1) by @dboehm-avalabs in #1793
- add go version to --version by @amirhasanzadehpy in #1819
- e2e: Add local network fixture by @marun in #1700
- Fix test flake in TestProposalTxsInMempool by @StephenButtolph in #1822
sync
-- remove todo by @danlaine in #1788- Add Maybe to the end bound of proofs (Part 2) by @dboehm-avalabs in #1813
- Move Maybe to its own package by @danlaine in #1817
merkledb
-- clarify/improve change proof invariants by @danlaine in #1810- P-chain state prune + height index by @dhrubabasu in #1719
- Update maintainer of the debian packages by @StephenButtolph in #1825
- Make platformvm implement
block.HeightIndexedChainVM
by @dhrubabasu in #1746 - Add P-chain
GetBlockByHeight
API method by @dhrubabasu in #1747 - Update local genesis startTime by @ceyonur in #1811
sync
-- add handling for fatal error by @danlaine in #1690- Add error logs for unexpected proposervm BuildBlock failures by @StephenButtolph in #1832
- Fix subnet validator set public key initialization by @StephenButtolph in #1833
- Document PendingTxs + BuildBlock consensus engine requirement by @StephenButtolph in #1835
- Bump github.com/supranational/blst from 0.3.11-0.20230406105308-e9dfc5ee724b to 0.3.11 by @dependabot in #1831
- Add Primary Network Lite Sync Option by @abi87 in #1769
- Check P-chain ShouldPrune during Initialize by @StephenButtolph in #1836
New Contributors
- @amirhasanzadehpy made their first contribution in #1819
- @dependabot made their first contribution in #1831
Full Changelog: v1.10.7...v1.10.8
Cortina.7 - Validator Diff Indexing
This version is backwards compatible to v1.10.0. This release contains meaningful performance improvements and we recommend updating as soon as possible.
The plugin version is unchanged at 27
and compatible with versions v1.10.5 - v1.10.6
.
APIs
- Modified
platform.getValidatorsAt
to also return BLS public keys
Configs
- Changed the default value of
--network-allow-private-ips
tofalse
when the--network-id
is eitherfuji
ormainnet
- Added
--process-context-file
which defaults to[--data-dir]/process.json
- Added P-chain cache size configurations
block-cache-size
tx-cache-size
transformed-subnet-tx-cache-size
reward-utxos-cache-size
chain-cache-size
chain-db-cache-size
- Removed various long deprecated flags
--genesis
use--genesis-file
instead--genesis-content
use--genesis-file-content
instead--inbound-connection-throttling-cooldown
use--network-inbound-connection-throttling-cooldown
instead--inbound-connection-throttling-max-conns-per-sec
use--network-inbound-connection-throttling-max-conns-per-sec
instead--outbound-connection-throttling-rps
usenetwork-outbound-connection-throttling-rps
instead--outbound-connection-timeout
usenetwork-outbound-connection-timeout
instead--staking-enabled
usesybil-protection-enabled
instead--staking-disabled-weight
usesybil-protection-disabled-weight
instead--network-compression-enabled
use--network-compression-type
instead--consensus-gossip-frequency
use--consensus-accepted-frontier-gossip-frequency
instead
Fixes
- Fixed C-chain tx tracer crashes
- Fixed merkledb panic during state sync
- Fixed merkledb state sync stale target tracking
What's Changed
- Remove deprecated configs by @ceyonur in #1712
- upgrade: Increase all ANR timeouts to 2m to ensure CI reliability by @marun in #1737
- fix sync panic by @danlaine in #1736
- remove
vm.state
re-assignment in tests by @dhrubabasu in #1739 - Expose BLS public keys from platform.getValidatorsAt by @StephenButtolph in #1740
- Fix validator set diff tests by @StephenButtolph in #1744
- Replace List() with Map() on validators.Set by @StephenButtolph in #1745
- vms/platformvm: configure state cache sizes #1522 by @najeal in #1677
- Support both
stateBlk
s andBlock
s inblockDB
by @dhrubabasu in #1748 - Add
DefaultExecutionConfig
var toplatformvm
by @dhrubabasu in #1749 - Remove hanging TODO from prior change by @StephenButtolph in #1758
- Write process context on node start to simplify test orchestration by @marun in #1729
- x/sync: add locks for peerTracker by @darioush in #1756
- Add ids length constants by @StephenButtolph in #1759
- [x/sync] Update target locking by @patrick-ogrady in #1763
- Export warp errors for external use by @aaronbuchwald in #1771
- Remove unused networking constant by @StephenButtolph in #1774
- Change the default value of
--network-allow-private-ips
tofalse
formainnet
andfuji
by @StephenButtolph in #1773 - Remove context.TODO from tests by @StephenButtolph in #1778
- Replace linkeddb iterator with native DB range queries by @StephenButtolph in #1752
- Add support for measuring key size in caches by @StephenButtolph in #1781
- Bump coreth to v0.12.5-rc.0 by @aaronbuchwald in #1775
- Add metric for the number of elements in a cache by @StephenButtolph in #1782
- Evict blocks based on size by @StephenButtolph in #1766
- Add proposervm state metrics by @StephenButtolph in #1785
- Register metercacher
len
metric by @StephenButtolph in #1791 - Reduce block cache sizes to 64 MiB by @StephenButtolph in #1794
- Add p2p sdk by @joshua-kim in #1799
Full Changelog: v1.10.5...v1.10.7