Releases: ava-labs/avalanchego
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
Cortina.1 - DAG Engine Removal
This version is backwards compatible to v1.10.0. It is optional, but encouraged. The supported plugin version is 26
.
APIs
- Enabled
avm.getBlockByHeight
to take inheight
as a string - Added IDs to json formats
platform.getTx
now includesid
in thetx
responseplatform.getBlock
now includesid
in theblock
response and in the internaltx
fieldsavm.getTx
now includesid
in thetx
responseavm.getBlock
now includesid
in theblock
response and in the internaltx
fieldsavm.getBlockByHeight
now includesid
in theblock
response and in the internaltx
fields
- Removed
avm.issueStopVertex
- Fixed
wallet
methods to correctly allow issuance of dependent transactions after the X-chain linearization - Added
validatorOnly
flag inplatform.getStake
- Removed all avalanche consensus metrics
- Fixed
msgHandlingTime
metrics
Configs
- Removed
--snow-avalanche-num-parents
- Removed
--snow-avalanche-batch-size
Fixes
- Fixed panic when restarting partially completed X-chain snowman bootstrapping
- Fixed
--network-allow-private-ips
handling to correctly prevent outbound connections to private IP ranges - Fixed UniformSampler to support sampling numbers between MaxInt64 and MaxUint64
- Fixed data race in txID access during transaction gossip in the AVM
What's Changed
- Add benchmark for gRPC GetValidatorSet by @hexfusion in #1326
- Add checks for database being closed in merkledb; other nits by @danlaine in #1333
- Update linkedhashmap to only Rlock when possible by @dboehm-avalabs in #1329
- Remove no-op changes from history results by @dboehm-avalabs in #1335
- Cleanup type assertions in the linkedHashmap by @StephenButtolph in #1341
- Fix racy avm tx access by @StephenButtolph in #1349
- Update Fuji beacon ips by @StephenButtolph in #1354
- Remove duplicate TLS verification by @StephenButtolph in #1364
- Adjust Merkledb Trie invalidation locking by @dboehm-avalabs in #1355
- Use require in Avalanche bootstrapping tests by @StephenButtolph in #1344
- Add Proof size limit to sync client by @dboehm-avalabs in #1269
- Add stake priority helpers by @StephenButtolph in #1375
- add contribution file by @joshua-kim in #1373
- Remove max sample value by @StephenButtolph in #1374
- Prefetch rpcdb iterator batches by @StephenButtolph in #1323
- Temp fix for flaky Sync Test by @dboehm-avalabs in #1378
- Update merkle cache to be FIFO instead of LRU by @dboehm-avalabs in #1353
- Improve cost of BLS key serialization for gRPC by @hexfusion in #1343
- [Issue-1368]: Panic in serializedPath.HasPrefix by @dboehm-avalabs in #1371
- Add ValidatorsOnly flag to GetStake by @StephenButtolph in #1377
- Use proto in
x/sync
by @danlaine in #1336 - Update incorrect fuji beacon IPs by @StephenButtolph in #1392
- Update
api/
error handling by @StephenButtolph in #1393 - refactor concurrent work limiting in sync in
x/sync
by @danlaine in #1347 - Remove check for impossible condition in
x/sync
by @danlaine in #1348 - Improve
codec/
error handling by @StephenButtolph in #1396 - Improve
config/
error handling by @StephenButtolph in #1397 - Improve
genesis/
error handling by @StephenButtolph in #1398 - Improve various error handling locations by @StephenButtolph in #1399
- Improve
utils/
error handling by @StephenButtolph in #1400 - Improve consensus error handling by @StephenButtolph in #1401
- Improve secp256k1fx + merkledb error handling by @StephenButtolph in #1402
- Ban usage of require.Error by @StephenButtolph in #1346
- Remove slice capacity hint in
x/sync
by @danlaine in #1350 - Simplify
syncWorkHeap
less function inx/sync
by @danlaine in #1351 - Replace
switch
withtxs.Visitor
in X chain signer by @dhrubabasu in #1404 - Include IDs in json marshalling by @StephenButtolph in #1408
- Adjust find next key logic in x/Sync by @dboehm-avalabs in #1331
- Remove bitmask from writeMsgLen by @StephenButtolph in #1342
- Require
txID
s in PeerList messages by @StephenButtolph in #1411 - Allow dependent tx issuance over the wallet API by @StephenButtolph in #1413
- Add support for proto
message.Tx
decoding by @danlaine in #1332 - Remove avalanche bootstrapping -> avalanche consensus transition by @StephenButtolph in #1345
- Benchmark get canonical validator set by @aaronbuchwald in #1417
- Simplify IP status calculation by @StephenButtolph in #1421
- Honor AllowPrivateIPs config by @StephenButtolph in #1422
- Update BLS signature ordering to avoid public key compression by @StephenButtolph in #1416
- Remove DAG based consensus by @StephenButtolph in #1359
- Remove IssueStopVertex message by @StephenButtolph in #1419
- Fix msgHandlingTime by @StephenButtolph in #1432
- Change ChangeProofs to only have one list of key/value change instead of key/values and deleted by @dboehm-avalabs in #1385
- Update AMI generation workflow by @charlie-ava in #1289
- Support
height
as a string inavm.getBlockByHeight
by @StephenButtolph in #1437 - Defer Snowman Bootstrapper parser initialization to Start by @StephenButtolph in #1442
- Cleanup proposervm ancestors packing @StephenButtolph in #1446
New Contributors
- @hexfusion made their first contribution in #1326
Full Changelog: v1.10.0...v1.10.1
Cortina - X-Chain Linearization
This upgrade linearizes the X-chain, introduces delegation batching to the P-chain, and increases the maximum block size on the C-chain.
The changes in the upgrade go into effect at 11 AM ET, April 25th 2023 on Mainnet.
All Mainnet nodes should upgrade before 11 AM ET, April 25th 2023.
The supported plugin version is 25
.
What's Changed
- Add CODEOWNERS for the x/ package by @StephenButtolph in #1260
- Feature Spec Template by @richardpringle in #1258
- Standardize CI triggers by @StephenButtolph in #1265
- special case no sent/received message in network health check by @ceyonur in #1263
- Fix bug template by @StephenButtolph in #1268
- Replace
flags
usage withpflags
by @danlaine in #1270 - Fixed grammatical errors in
README.md
by @krakxn in #1102 - Add tests for race conditions in merkledb by @kyl27 in #1256
- Add P-chain indexer API example by @StephenButtolph in #1271
- use
require
insnow/choices
tests by @dhrubabasu in #1279 - use
require
inutils/wrappers
tests by @dhrubabasu in #1280 - add support for tracking delegatee rewards to validator metadata by @dhrubabasu in #1273
- defer delegatee rewards until end of validator staking period by @dhrubabasu in #1262
- Initialize UptimeCalculator in TestPeer by @joshua-kim in #1283
- Add Avalanche liveness health checks by @StephenButtolph in #1287
- Skip AMI generation with Fuji tags by @StephenButtolph in #1288
- Use
maps.Equal
inset.Equals
by @danlaine in #1290 - return accrued delegator rewards in
GetCurrentValidators
by @dhrubabasu in #1291 - Add zstd compression by @danlaine in #1278
- implement
txs.Visitor
in X chain wallet by @dhrubabasu in #1299 - Parallelize gzip compression by @StephenButtolph in #1293
- Add zip bomb tests by @StephenButtolph in #1300
- Gossip Avalanche frontier after the linearization by @StephenButtolph in #1303
- Add fine grained metrics+logging for handling, processing, and grab l… by @aaronbuchwald in #1301
- Persist stateless block in AVM state by @StephenButtolph in #1305
- Initialize FxID fields in GetBlock and GetBlockByHeight by @StephenButtolph in #1306
- Filterable Health Tags by @ceyonur in #1304
- increase health await timeout by @ceyonur in #1317
- Expose GetEngineManager from the chain Handler by @StephenButtolph in #1316
- Add BLS benchmarks by @StephenButtolph in #1318
- Encode codec version in merkledb by @danlaine in #1313
- Expose consensus-app-concurrency by @StephenButtolph in #1322
- Adjust Logic In Merkle DB History by @dboehm-avalabs in #1310
- Fix Concurrency Bug In CommitToParent by @dboehm-avalabs in #1320
- Cleanup goroutines on health.Stop by @StephenButtolph in #1325
New Contributors
- @richardpringle made their first contribution in #1258
- @ceyonur made their first contribution in #1263
- @krakxn made their first contribution in #1102
- @kyl27 made their first contribution in #1256
- @dhrubabasu made their first contribution in #1279
- @joshua-kim made their first contribution in #1283
- @dboehm-avalabs made their first contribution in #1310
Full Changelog: v1.9.16...v1.10.0
Cortina - DAG Linearization - Fuji Pre-Release
Please note that this release is unable to run mainnet - and will display "mainnet is not supported" if attempted to run with a mainnet configuration.
This upgrade linearizes the X-chain, introduces delegation batching to the P-chain, and increases the maximum block size on the C-chain.
The changes in the upgrade go into effect at 11 AM EDT, April 6th 2023 on the Fuji testnet. After Fuji is updated and verified, a mainnet compatible release will be published.
All Fuji nodes should upgrade before 11 AM EDT, April 6th 2023.
The supported plugin version is 25
.
What's Changed
- Add CODEOWNERS for the x/ package by @StephenButtolph in #1260
- Feature Spec Template by @richardpringle in #1258
- Standardize CI triggers by @StephenButtolph in #1265
- special case no sent/received message in network health check by @ceyonur in #1263
- Fix bug template by @StephenButtolph in #1268
- Replace
flags
usage withpflags
by @danlaine in #1270 - Fixed grammatical errors in
README.md
by @krakxn in #1102 - Add tests for race conditions in merkledb by @kyl27 in #1256
- Add P-chain indexer API example by @StephenButtolph in #1271
- use
require
insnow/choices
tests by @dhrubabasu in #1279 - use
require
inutils/wrappers
tests by @dhrubabasu in #1280 - add support for tracking delegatee rewards to validator metadata by @dhrubabasu in #1273
- defer delegatee rewards until end of validator staking period by @dhrubabasu in #1262
New Contributors
- @richardpringle made their first contribution in #1258
- @ceyonur made their first contribution in #1263
- @krakxn made their first contribution in #1102
- @kyl27 made their first contribution in #1256
- @dhrubabasu made their first contribution in #1279
Full Changelog: v1.9.16...v1.10.0-fuji
Banff.16
This version is backwards compatible to v1.9.0. It is optional, but encouraged. The supported plugin version is 24
.
- Removed unnecessary repoll after rejecting vertices
- Improved snowstorm lookup error handling
- Removed rejected vertices from the Avalanche frontier more aggressively
- Reduced default health check values for processing decisions