Releases: ava-labs/avalanchego
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
Cortina.6 - 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 version v1.10.5
.
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 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.6
Cortina.5 - X-Chain Height Indexing
This version is backwards compatible to v1.10.0. It is optional, but encouraged.
The plugin version is updated to 27
, all plugins must update to be compatible.
The first startup of the X-Chain will perform an indexing operation. This indexing runs in the background and does not impact restart time.
APIs
- Added
avalanche_network_clock_skew_sum
metric - Added
avalanche_network_clock_skew_count
metric
Configs
- Added
--tracing-headers
to allow specifying headers to the tracing indexer
Fixes
- Fixed API handler crash for
lookupState
inprestate
tracer - Fixed API handler crash for LOG edge cases in the
callTracer
What's Changed
- stop persisting rejected blocks on P-chain by @dhrubabasu in #1696
- Ensure scripts/lint.sh failure when used with incompatible grep by @marun in #1711
- sum peers clock skew into metric by @najeal in #1695
- Make AVM implement
block.HeightIndexedChainVM
by @dhrubabasu in #1699 - ProposerVM nits by @abi87 in #1688
- Sorting -- Remove old
IsSortedAndUnique
, renameIsSortedAndUniqueSortable
toIsSortedAndUnique
by @danlaine in #1666 - Update snow consensus doc post X-chain linearization by @exdx in #1703
merkledb
/sync
-- remove TODOs by @danlaine in #1718- remove cache TODOs by @danlaine in #1721
- Adjust
NewSizedCache
to take in a size function by @dhrubabasu in #1725 - Wallet issuance to return tx instead of tx id by @felipemadero in #1704
- Add support for providing tracing headers by @StephenButtolph in #1727
- Only return accepted blocks in
GetStatelessBlock
by @dhrubabasu in #1724 - Proposermv fix goroutine leaks by @abi87 in #1713
- Update warp msg format by @aaronbuchwald in #1686
- Cleanup anr scripts by @ceyonur in #1714
- remove TrackBandwidth from NetworkClient by @danlaine in #1716
- Bump network start timeout by @marun in #1730
- e2e: Ensure e2e.test is built with portable BLST by @marun in #1734
- e2e: Increase all ANR timeouts to 2m to ensure CI reliability. by @marun in #1733
New Contributors
Full Changelog: v1.10.4...v1.10.5
Cortina.4 - X-Chain DB Cleanup
This version is backwards compatible to v1.10.0. It is optional, but encouraged.
The plugin version is unchanged at 26
and compatible with versions v1.10.1 - v1.10.3
.
The first startup of the X-Chain will perform a pruning operation. This pruning runs in the background and does not impact restart time.
APIs
- Removed
avalanche_X_vm_avalanche_metervm_pending_txs_count
metric - Removed
avalanche_X_vm_avalanche_metervm_pending_txs_sum
metric - Removed
avalanche_X_vm_avalanche_metervm_get_tx_count
metric - Removed
avalanche_X_vm_avalanche_metervm_get_tx_sum
metric - Removed
avalanche_X_vm_avalanche_metervm_get_tx_err_count
metric - Removed
avalanche_X_vm_avalanche_metervm_get_tx_err_sum
metric
Configs
- Added
--staking-host
to allow binding only on a specific address for staking - Added
checksums-enabled
to the X-chain and P-chain configs
Fixes
- Fixed
proposervm
preForkBlock.Status()
response after the fork has occurred - Fixed C-chain logs collection error when no receipts occur in a block
- Fixed merkledb's
findNextKey
when an empty end proof is provided - Fixed 0 length key issues with proof generation and verification
- Fixed Docker execution on non-amd64 architectures
What's Changed
- e2e: Support testing on MacOS without requiring firewall exceptions by @marun in #1613
- Reduce resource log level by @StephenButtolph in #1622
- Improve
snow/
tests withrequire
by @dhrubabasu in #1503 - Improve
x/
tests withrequire
by @dhrubabasu in #1454 sync
-- fixTestFindNextKeyRandom
by @danlaine in #1624- Improve
vms/
tests withrequire
by @dhrubabasu in #1505 - Improve
database/
tests withrequire
by @dhrubabasu in #1506 - Ban usage of
t.Fatal
andt.Error
by @dhrubabasu in #1453 - chore: fix typo in binary_snowflake.go by @eltociear in #1630
- Discriminate window fit err msg from overdelegated error msg by @felipemadero in #1606
- Remove MaxConnectionAge gRPC StreamID overflow mitigation by @hexfusion in #1388
- add fuzzing action by @danlaine in #1635
- Remove dagState and GetUTXOFromID by @StephenButtolph in #1632
- Update all AVM tests for post-linearization by @StephenButtolph in #1631
- Remove PendingTxs from the DAGVM interface by @StephenButtolph in #1641
- Remove GetTx from the DAGVM interface by @StephenButtolph in #1642
- Bump coreth v0.12.4 by @aaronbuchwald in #1646
- [x/merkledb] Remove useless
err
check by @patrick-ogrady in #1650 - [x/merkledb] Trailing whitespace removal on README by @patrick-ogrady in #1649
- Remove unneeded functions from UniqueTx by @StephenButtolph in #1643
- Simplify tx verification by @StephenButtolph in #1654
merkledb
-- fixfindNextKey
by @danlaine in #1653- Cleanup X-chain UniqueTx Dependencies by @StephenButtolph in #1656
- Prune X-chain State by @coffeeavax in #1427
- Support building docker image on ARM64 by @dshiell in #1103
- remove goreleaser by @danlaine in #1660
- Fix Dockerfile on non amd64 platforms by @joshua-kim in #1661
- Improve metrics error message by @StephenButtolph in #1663
- Remove X-chain UniqueTx by @StephenButtolph in #1662
- Add state checksums by @StephenButtolph in #1658
- Modify proposervm window by @najeal in #1638
- sorting nit by @danlaine in #1665
merkledb
-- rewrite and test range proof invariants; fix proof generation/veriifcation bugs by @danlaine in #1629- Add minimum proposer window length by @StephenButtolph in #1667
- CI -- only run fuzz tests on ubuntu by @danlaine in #1636
MerkleDB
-- remove codec version by @danlaine in #1671MerkleDB
-- use default config in all tests by @danlaine in #1590sync
-- reduce stuttering by @danlaine in #1672Sync
-- unexport field by @danlaine in #1673sync
-- nits and cleanup by @danlaine in #1674sync
-- remove unused code by @danlaine in #1676- Mark preForkBlocks after the fork as Rejected by @StephenButtolph in #1683
merkledb
-- fix comment by @danlaine in #1675MerkleDB
-- document codec by @danlaine in #1670sync
-- client cleanup by @danlaine in #1680- Update buf version to v1.23.1 by @aaronbuchwald in #1685
New Contributors
- @eltociear made their first contribution in #1630
- @felipemadero made their first contribution in #1606
- @dshiell made their first contribution in #1103
- @najeal made their first contribution in #1638
Full Changelog: v1.10.3...v1.10.4
Cortina.3 - Push Query Reduction
This version is backwards compatible to v1.10.0. It is optional, but encouraged. The supported plugin version is 26
.
Users must specify the --allowed-hosts-flag
to receive inbound API traffic from non-local hosts.
APIs
- Added health metrics based on tags
avalanche_health_checks_failing{tag="TAG"}
avalanche_liveness_checks_failing{tag="TAG"}
avalanche_readiness_checks_failing{tag="TAG"}
- Removed P-chain VM percent connected metrics
avalanche_P_vm_percent_connected
avalanche_P_vm_percent_connected_subnet{subnetID="SUBNETID"}
- Added percent connected metrics by chain
avalanche_{ChainID}_percent_connected
- Removed
avalanche_network_send_queue_portion_full
metric
Configs
- Added
--http-allowed-hosts
with a default value oflocalhost
- Removed
--snow-mixed-query-num-push-vdr
- Removed
--snow-mixed-query-num-push-non-vdr
- Removed
minPercentConnectedStakeHealthy
from the subnet config
Fixes
- Fixed
platformvm.GetValidatorSet
returning incorrect BLS public keys - Fixed IPv6 literal binding with
--http-host
- Fixed P2P message log format
What's Changed
x/sync
-- Add proto for P2P messages by @dboehm-avalabs in #1472- Bump Protobuf and tooling and add section to proto docs outlining buf publishing by @hexfusion in #1552
- Minor pchain UTs cleanup by @abi87 in #1554
- Add ping uptimes test by @ceyonur in #1550
- Add workflow to mark stale issues and PRs by @joshua-kim in #1443
- Enforce inlining functions with a single error return in
require.NoError
by @dhrubabasu in #1500 x/sync
/x/merkledb
-- addSyncableDB
interface by @danlaine in #1555- Rename beacon to boostrapper, define bootstrappers in JSON file for cross-language compatiblity by @gyuho in #1439
- add P-chain height indexing by @dhrubabasu in #1447
- Add P-chain
GetBlockByHeight
API method by @dhrubabasu in #1448 x/sync
-- use for sending Range Proofs by @danlaine in #1537- Add test to ensure that database packing produces sorted values by @StephenButtolph in #1560
- Randomize unit test execution order to identify unwanted dependency by @marun in #1565
- use
http.Error
instead of separately writing error code and message by @danlaine in #1564 - Adding allowed http hosts flag by @joshua-kim in #1566
x/sync
-- Use proto for sending Change Proofs by @danlaine in #1541- Only send
PushQuery
messages after building the block by @joshua-kim in #1428 - Rename APIAllowedOrigins to HTTPAllowedOrigins by @joshua-kim in #1567
- Add GetBalance examples for the P-chain and X-chain wallets by @StephenButtolph in #1569
- Reduce number of test iterations by @danlaine in #1568
- Re-add upgrade tests by @StephenButtolph in #1410
- Remove lists from Chits messages by @StephenButtolph in #1412
- Add more X-chain tests by @coffeeavax in #1487
- fix typo by @meaghanfitzgerald in #1570
- Reduce the number of test health checks by @StephenButtolph in #1571
- Fix proposervm.GetAncestors test flake by @StephenButtolph in #1572
- Remove list from AcceptedFrontier message by @StephenButtolph in #1578
- Remove version db from merkle db by @dboehm-avalabs in #1534
MerkleDB
-- add eviction batch size config by @danlaine in #1586MerkleDB
-- fixonEvictCache.Flush
by @danlaine in #1589- Revert P-Chain height index by @StephenButtolph in #1591
x/sync
-- AddSyncableDB
proto by @danlaine in #1559- Clarify break on error during ancestors lookup by @hexfusion in #1580
- Add buf-push github workflow by @hexfusion in #1556
- Pchain bls key diff fix by @abi87 in #1584
- Cleanup fx interface compliance by @StephenButtolph in #1599
- Improve metrics error msging by @anusha-ctrl in #1598
- Separate health checks by tags by @StephenButtolph in #1579
- Separate subnet stake connected health and metrics from P-chain by @ceyonur in #1358
- Merkle db iterator by @dboehm-avalabs in #1533
- Fix unreadable message errors by @morrisettjohn in #1585
- Log unexpected errors during GetValidatorSet by @hexfusion in #1592
merkleDB
-- add inner heap type to syncWorkHeap by @danlaine in #1582sync
-- explain algorithm in readme by @danlaine in #1600- Rename license header file to avoid unintended license indexing by @StephenButtolph in #1608
merkledb
andsync
-- use time based rand seed by @danlaine in #1607- add
local-prefixes
setting forgoimports
by @dhrubabasu in #1612 - snow/engine/snowman: instantiate voter after issuer by @gyuho in #1610
- Update CodeQL to v2 by @StephenButtolph in #1616
- Remove old networking metric by @StephenButtolph in #1619
- Fix --http-host flag to support IPv6 by @StephenButtolph in #1620
New Contributors
- @marun made their first contribution in #1565
- @meaghanfitzgerald made their first contribution in #1570
- @anusha-ctrl made their first contribution in #1598
- @morrisettjohn made their first contribution in #1585
Full Changelog: v1.10.2...v1.10.3
Cortina.2 - Post-Linearization Cleanup
This version is backwards compatible to v1.10.0. It is optional, but encouraged. The supported plugin version is 26
.
APIs
- Significantly improved the performance of
platform.getStake
- Added
portion_filled
metric for all metered caches - Added resource metrics by process
avalanche_system_resources_num_cpu_cycles
avalanche_system_resources_num_disk_read_bytes
avalanche_system_resources_num_disk_reads
avalanche_system_resources_num_disk_write_bytes
avalanche_system_resources_num_disk_writes
Configs
- Deprecated
--genesis
in favor of--genesis-file
- Deprecated
--genesis-content
in favor of--genesis-file-content
- Deprecated
--inbound-connection-throttling-cooldown
in favor of--network-inbound-connection-throttling-cooldown
- Deprecated
--inbound-connection-throttling-max-conns-per-sec
in favor of--network-inbound-connection-throttling-max-conns-per-sec
- Deprecated
--outbound-connection-throttling-rps
in favor of--network-outbound-connection-throttling-rps
- Deprecated
--outbound-connection-timeout
in favor of--network-outbound-connection-timeout
- Deprecated
--staking-enabled
in favor of--sybil-protection-enabled
- Deprecated
--staking-disabled-weight
in favor of--sybil-protection-disabled-weight
- Deprecated
--consensus-gossip-frequency
in favor of--consensus-accepted-frontier-gossip-frequency
Fixes
- Fixed
--network-compression-type
to correctly honor the requested compression type, rather than always using gzip - Fixed CPU metrics on macos
What's Changed
- use
require
library functions in tests by @dhrubabasu in #1451 - style nits in vm clients by @dhrubabasu in #1449
- utils/logging: add "Enabled" method to remove redundant verbo logs by @gyuho in #1461
- ban
require.EqualValues
by @dhrubabasu in #1457 - chains: do not hold write subnetsLock in health checks by @gyuho in #1460
- remove zstd check by @dhrubabasu in #1459
- use
require.IsType
for type assertions in tests by @dhrubabasu in #1458 - vms/platformvm/service: nits (preallocate address slice, error msg) by @gyuho in #1477
- ban
require.NotEqualValues
by @dhrubabasu in #1470 - use
require
inapi
andutils/password
packages by @dhrubabasu in #1471 - use "golang.org/x/term" as "golang.org/x/crypto/ssh/terminal" is deprecated by @gyuho in #1464
- chains: move "msgChan" closer to the first use (readability) by @gyuho in #1484
- ban function params for
require.ErrorIs
by @dhrubabasu in #1486 - standardize imports by @dhrubabasu in #1466
- fix license header test by @dhrubabasu in #1492
- use blank identifier for interface compliance by @dhrubabasu in #1493
- codec: remove "SetMaxSize" from "Manager", remove unnecessary lock by @gyuho in #1481
- config: disallow "ThrottlerConfig.MaxRecheckDelay" < 1 ms by @gyuho in #1435
- ban
require.Equal
when testing for0
by @dhrubabasu in #1495 - Clean up MerkleDVB Sync Close lock by @dboehm-avalabs in #1469
- MerkleDB Cleanup by @dboehm-avalabs in #1465
- Remove comment referencing old IP based tracking by @StephenButtolph in #1509
- ban usage of
require.Len
when testing for length0
by @dhrubabasu in #1496 - ban usage of
require.Equal
when testing for length by @dhrubabasu in #1497 - ban usage of
nil
in require functions by @dhrubabasu in #1498 - Sized LRU cache by @abi87 in #1517
- engine/snowman: clean up some comments in "bubbleVotes" unit tests by @gyuho in #1444
- snow/networking/sender: add missing verbo check by @gyuho in #1504
- Delete duplicate test var definitions by @StephenButtolph in #1518
- utils/bag: print generic type for bag elements by @gyuho in #1507
- Fix incorrect test refactor by @abi87 in #1526
- Pchain validators repackaging by @abi87 in #1284
- Config overhaul by @ceyonur in #1370
- rename enabled staking to sybil protection enabled by @ceyonur in #1441
- Fix network compression type flag usage by @StephenButtolph in #1532
- Deprecate uptimes in pong message by @ceyonur in #1362
- Add CPU cycles and number of disk read/write metrics by pid by @coffeeavax in #1334
- Fetch process resource stats as best-effort by @StephenButtolph in #1543
- Add serialization tests for transactions added in Banff by @StephenButtolph in #1513
- Log chain shutdown duration by @StephenButtolph in #1545
- add interface for MerkleDB by @danlaine in #1519
New Contributors
- @gyuho made their first contribution in #1461
- @coffeeavax made their first contribution in #1334
Full Changelog: v1.10.1...v1.10.2