Releases: ava-labs/avalanchego
Fortuna.2 - VM HTTP2 Support
This version is backwards compatible to v1.13.0. It is optional, but encouraged.
The plugin version is updated to 41
all plugins must update to be compatible.
APIs
- Added initial support for HTTP2 connections into VMs
- Removed native support for gzip compression of HTTP requests
Fixes
- Fixed message timeout handling on L1s configured with
validatorOnly=true
- Fixed segfault on ARM64 when profiling is enabled
What's Changed
- chore(tests/load): C-chain load testing by @qdm12 in #3914
- Improve comments on message Ops by @StephenButtolph in #3987
- Remove requestID expectation for UnrequestedOps by @StephenButtolph in #3989
- Add Simplex Messages To p2p.proto by @samliok in #3976
- [tmpnet] Enable exclusive scheduling by @maru-ava in #3988
- [testing] Add local kube support for load tests by @RodrigoVillar in #3986
- Add a label to XSVM tests by @joshua-kim in #3991
- [tmpnet] Avoid port forwarding when running in a kube cluster by @maru-ava in #3997
- Add support for VM HTTP2 handlers by @joshua-kim in #3294
- Move HTTP2 routing information into headers by @joshua-kim in #4001
- Clarify field names for simplex p2p messages by @samliok in #4002
- Remove gzip middleware from API server by @mpignatelli12 in #4005
- fix: allow for load tests to run in-cluster by @RodrigoVillar in #4003
- chore: update libevm version by @alarso16 in #4006
- Add support for XSVM grpc server reflection by @joshua-kim in #4010
- fix: update log commands for stopping collectors by @RodrigoVillar in #4011
- [tmpnet] Enure node config is saved on restart for both runtimes by @maru-ava in #4015
- BLS Components for Simplex by @samliok in #3993
- Capitalize secrets references by @StephenButtolph in #4018
- build: update
libevm
tov1.13.14-0.3.0.rc.1
by @alarso16 in #4023 - Allow internal messages from disallowed nodeIDs by @StephenButtolph in #4024
- optimize historical range by @rrazvan1 in #3658
New Contributors
- @mpignatelli12 made their first contribution in #4005
- @alarso16 made their first contribution in #4006
Full Changelog: v1.13.1...v1.13.2
Fortuna.1 - LibEVM Migration
This version is backwards compatible to v1.13.0. It is optional, but encouraged.
The plugin version is updated to 40
all plugins must update to be compatible.
APIs
- Removed
avm.getAddressTxs
api - Added L1 validators to
platformvm.GetCurrentValidators
client implementation
Configs
- Removed
--tracing-enabled
and addeddisabled
as an option to--tracing-exporter-type
- Removed AVM indexer configs
index-transactions
index-allow-incomplete
What's Changed
- Export tmpnet functions for CLI interface by @felipemadero in #3727
- Use IPv4 addresses if possible by @StephenButtolph in #3812
- [ci] Source shellcheck from nix instead of installing via script by @maru-ava in #3811
- [ci] Use SHAs instead of tags for 3rd-party github actions by @maru-ava in #3822
- [tmpnet] Add collector log path to readiness check log output by @maru-ava in #3823
- Add context for errors in proposervm
repairAcceptedChainByHeight
by @joshua-kim in #3818 - [ci] Enable run-monitored-tmpnet-cmd to use a remote flake file by @maru-ava in #3820
- Add context to errors in
avm
by @joshua-kim in #3821 - Remove block reindexing after Etna by @StephenButtolph in #3813
- Update protobuf dependencies to the same version as nix packages by @maru-ava in #3828
- update: platformvm config doc by @ashucoder9 in #3694
- Expose merkledb defaults by @joshua-kim in #3748
- [tmpnet] Add table of contents to README by @maru-ava in #3837
- fix(metrics): fix c-chain metrics not reporting by @darioush in #3835
- [tmpnet] Update script to run instead of install by @maru-ava in #3830
- [ci] Update to use commit SHAs for non-floating tags by @maru-ava in #3834
- [ci] Configure action/setup-go to read golang version from go.mod by @maru-ava in #3825
- [nix] Install protobuf codegen binaries in the dev shell by @maru-ava in #3829
- [tmpnet] Remove obsolete readme content by @maru-ava in #3827
- [docs] Document requirement to install modern bash on macos by @maru-ava in #3841
- refactor: use the built-in max/min to simplify the code by @evenevent in #3844
- Update BLST to v0.3.14 to support Go 1.24 by @yacovm in #3846
- chore: allow individuals to extend
direnv
config by @ARR4N in #3847 - [tmpnet] s/Network.ChainConfigs/Network.PrimaryChainConfigs/ by @maru-ava in #3854
- Remove plugins/ from .gitignore by @maru-ava in #3862
- fix: record wrong nil
err
by @tinyfoxy in #3851 - [tmpnet] Provide genesis, subnet and chain config via content flags by @maru-ava in #3857
- Make sure inner state summary accept is called by @aaronbuchwald in #3831
- avoid tmpnet to create empty genesis on disk by @felipemadero in #3868
- Remove GetAddressTxs by @joshua-kim in #3872
- [tmpnet] Fixed faulty error handling on bootstrap failure by @maru-ava in #3873
- Set
subnets.Config.ConsensusParameters
to serialize with omitempty by @maru-ava in #3874 - [tmpnet] Update rpc version check to tolerate usage of
go run
by @maru-ava in #3869 - Update coreth to v0.15.1-rc.0 by @StephenButtolph in #3875
- [tmpnet] Ensure Node has a reference to Network by @maru-ava in #3870
- [tooling] Simplify avalanchego build script by @maru-ava in #3861
- Simplify P-Chain block has changes check by @StephenButtolph in #3880
- [tmpnet] Switch back to using maps for subnet config by @maru-ava in #3877
- [tmpnet] Refactor runtime configuration in preparation for kube by @maru-ava in #3867
- [tooling] Add scripts that build+run tools and put them in the path by @maru-ava in #3878
- [tooling] Add support for the Task (go-task) task runner by @maru-ava in #3863
- [Docs] Fix links and make paths absolute by @martineckardt in #3885
- Remove unused constant checkIndexedFrequency by @yacovm in #3887
- [tmpnet] Unify start network flag usage between e2e and tmpnetctl by @maru-ava in #3871
- [tmpnet] Avoid serializing the node data directory by @maru-ava in #3881
- [tmpnet] Rename NodeProcess to ProcessRuntime by @maru-ava in #3890
- wrap db in initDatabase with corruptable db by @ceyonur in #3892
- [tmpnet] Switch FlagsMap from map[string]any to map[string]string by @maru-ava in #3884
- [tmpnet] Ensure tmpnet methods always have a logger by @maru-ava in #3893
- [tmpnet] Ensure all node runtime methods accept a context by @maru-ava in #3894
- [tmpnet] Move WaitForHealthy from a function to a tmpnet.Node method by @maru-ava in #3896
- Grant marun ownership of tooling configuration by @maru-ava in #3895
- Bump golang.org/x/net from 0.36.0 to 0.38.0 by @dependabot in #3889
- Fix typos by @omahs in #3908
- Fix typos and add missing hyphens in README files by @Dimitrolito in #3583
- Fix typos in iterator.go by @Marcofann in #3809
- Use EstimateBaseFee in e2e tests by @StephenButtolph in #3782
- docs: fix flag name to
--proposervm-min-block-delay
by @ceyonur in #3911 - fix rpcchainvm handling for arbitrary length http body by @joshua-kim in #3910
- Add git to nix packages by @StephenButtolph in #3912
- refactor: use the built-in max/min to simplify the code by @careworry in #3913
- Update codeowners by @joshua-kim in #3915
- [tmpnet] Delegate writing of the flag file to the runtime by @maru-ava in #3897
- [tmpnet] Move monitoring label handling to node by @maru-ava in #3898
- Move database creation to database factory package by @ceyonur in #3899
- Update owner of CODEOWNERS by @StephenButtolph in #3920
- update merkledb codeowners by @rrazvan1 in #3919
- chore: fix some comments by @standstaff in #3584
- Support UnmarshalJSON for
ExporterType
by @RodrigoVillar in #3565 - Fix change/range proofs + simplify the code by @rrazvan1 in #3688
- [ci] Fix windows build job by reverting to use build script by @maru-ava in #3921
- update: service.md for callouts by @ashucoder9 in #3832
- Reintroduce P-chain block reindexing by @StephenButtolph in #3883
- Bump bufbuild/buf-action from 1.1.0 to 1.1.1 by @dependabot in #3855
- Bump github/codeql-action from 3.28.13 to 3.28.16 by @dependabot in #3916
- Ensure HTTP headers are propagated through the rpcchainvm by @joshua-kim in #3917
- Document acp-118 message verification by @StephenButtolph in #3925
- Add P-Chain state test by @StephenButtolph in #3924
- Document ACP-77 handling of 0 weight requests by @StephenButtolph in #3926
- Refactor cache implementations by @StephenButtolph in #3239
- Fix
proposerMinBlockDelay
location i...
Fortuna - C-Chain Fee Overhaul
This upgrade consists of the following Avalanche Community Proposal (ACP):
- ACP-176 Dynamic EVM Gas Limits and Price Discovery Updates
The ACP in this upgrade goes into effect at 11 AM ET (3 PM UTC) on Tuesday, April 8th, 2025 on Mainnet.
All Fortuna supporting Mainnet nodes should upgrade before 11 AM ET, April 8th 2025.
The plugin version is unchanged at 39
and is compatible with version v1.12.2
.
Ubuntu Focal Deprecation
Because Ubuntu 20.04 is reaching the end of its support window, the binaries attached to this release do not support Ubuntu 20.04 (Focal).
APIs
- Added ProposerVM block timestamp metrics:
avalanche_proposervm_last_accepted_timestamp
- Added network health check to alert if a primary network validator has no ingress connections. Runs a configurable time after startup or 10 minutes by default.
Configs
- Added:
--proposervm-min-block-duration
--network-no-ingress-connections-grace-period
to configure how long after startup it is expected for a Mainnet validator to have received an ingress connection.
What's Changed
- Implement traversal based early termination by @yacovm in #3337
- Add networked-signer tests by @richardpringle in #3613
- Remove unused code by @yacovm in #3682
- chore(proposervm): timestamp metrics for block acceptance by @ARR4N in #3680
- remove dependency of validator.State from BitSetSignature.Verify by @tsachiherman in #3679
- [docker] Optimize build time by copying and downloading deps first by @maru-ava in #3683
- fix: broken link in README.md by @DeVikingMark in #3681
- [docker] Silence remaining InvalidDefaultArgInFrom warnings by @maru-ava in #3684
- [tmpnet] Update subnet configuration in README by @maru-ava in #3686
- testing: improve e2e test bootstrapping by @tsachiherman in #3690
- [tmpnet] Update URI and StakingAddress usage in support of kube by @marun in #3665
- [tmpnet] Re-enable reuse of dynamically allocated API ports by @maru-ava in #3697
- fix spelling issues by @futreall in #3700
- fix: correct typos in parser.go and tmpnet documentation by @avorylli in #3712
- fix: typos in documentation files by @maximevtush in #3710
- Fail fast in tests if avalancheGo executable isn't an absolute path by @yacovm in #3707
- [ci] Fix metrics link annotation emitted for e2e and upgrade jobs by @maru-ava in #3713
- Remove Mock Mempool by @joshua-kim in #3687
- cleanup(tmpnet): resolve chainconfig post-etna TODO by @darioush in #3720
- Update to go 1.23.6 by @joshua-kim in #3722
- docs: Fix grammatical errors and improve clarity in documentation and comments by @VolodymyrBg in #3716
- [testing] Replace script-based tool installation with nix by @maru-ava in #3691
- Remove unnecessary function by @richardpringle in #3723
- bump coreth to master by @darioush in #3724
- Make
bls.Signer
api fallible by @richardpringle in #3696 - Add comment to seemingly dead code by @richardpringle in #3721
- Bump coreth by @richardpringle in #3728
- Comment on the need for
CGO_ENABLED=1
to support cross-compilation by @maru-ava in #3735 - [ci] Update to golangci-lint version compatible with go 1.23 by @maru-ava in #3739
- [testing] Provide more logging context for SynchronizedBeforeSuite by @maru-ava in #3741
- refactor: export PeerSample by @Elvis339 in #3745
- [antithesis] Set AVAGO_PLUGIN_DIR for VM images by @maru-ava in #3751
- [ci] Drop support for Ubuntu 20.04 by @maru-ava in #3737
- Fix spelling errors in
majority.go
,minority.go
,compressor.go
, andlogger.go
by @tomasandroil in #3738 - [ci] Simplify tmpnet monitoring action by @maru-ava in #3736
- Remove apostrophe from Dockerfile comments by @aaronbuchwald in #3706
- fix error 404 link README.md by @futreall in #3750
- fix: typos in documentation files by @leopardracer in #3733
- Add With and WithOptions receivers to the Logger interface by @iansuvak in #3729
- [tmpnet] Minimize duration of tx acceptance for e2e testing by @maru-ava in #3685
- Remove unused
ForceCreateChain
function fromtestManager
by @strmfos in #3755 - chore: make function comments match function names by @rustco in #3757
- L1 validator eviction block validity by @StephenButtolph in #3758
- Add ACP-176 e2e tests by @StephenButtolph in #3749
- [tmpnet] Deploy collectors with golang to simplify cross-repo use by @maru-ava in #3692
- fix spelling issues config_test.go by @futreall in #3760
- [tmpnet] Add check for collection of logs and metrics to custom github action by @maru-ava in #3740
- Deprecate the
snow.Context.Lock
by @StephenButtolph in #3762 - Name F-Upgrade Fortuna by @StephenButtolph in #3761
- Add CodecID to ICM README by @iansuvak in #3759
- Update CODEOWNERS s/marun/maru-ava/ by @maru-ava in #3768
- Support caller-defined namespaces in merkledb by @joshua-kim in #3747
- Fix empty standard block check by @StephenButtolph in #3775
- Enable empty standard block check by @StephenButtolph in #3776
- Restrict ProposerVM P-chain height advancement by @StephenButtolph in #3777
- Add canoto serialization support to the block context by @aaronbuchwald in #3709
- Remove support for AVM tx checksums by @joshua-kim in #3774
- [ci] Disable monitoring for jobs of PRs of fork branches by @maru-ava in #3781
- Update db_test.go by @sky-coderay in #3765
- chore: fix some function names in comment by @tcpdumppy in #3773
- Implement ACP-118 Aggregator by @joshua-kim in #3394
- Print git commit version upon startup by @yacovm in #3771
- chore(nix): add darwin.apple_sdk.frameworks.Security by @darioush in #3769
- Add comment to SendConfig documenting how to broadcast by @aaronbuchwald in #3783
- refactor: use a more straightforward return value by @fuyangpengqi in #3726
- [ci] Stop emitting grafana link as an annotation by @maru-ava in #3767
- Remove Etna activation banner by @StephenButtolph in #3789
- Upgrade canoto to v0.13.3 by @tsachiherman in #3790
- Healthcheck for zero ingress connection count by @yacovm in #3719
- Timely halt Avalanche engine by @yacovm in #3792
- [docker] Update all images to debian12/bookworm by @maru-ava in #3798
- [ci] Move monitoring check from github action to code by @maru-ava in #3766
- [tmpnet] Start kind cluster with golang by @maru-ava in #3780
- Fix flake TestIngressConnCount by @yacovm in #3799
- [tmpnet] Rename tmpnetctl main package from cmd to tmpnetctl by @maru-ava in #3787
- Improve check-clean CI script by @StephenButtolph in #3800
- Bump golang.org/x/net from ...
Fortuna - C-Chain Fee Overhaul - 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.
Fuji Regression
This release fixes a P-Chain regression that caused nodes to be unable to synchronize the network. It is recommended for all Fuji node operators to update as soon as possible.
All Subnet or L1 node operators should upgrade before Noon ET, March 7th 2025 to ensure a graceful upgrade process.
ACPs
This upgrade schedules the activation of an Avalanche Community Proposal (ACP):
- ACP-176 Dynamic EVM Gas Limits and Price Discovery Updates
The ACP in this upgrade goes into effect at 11 AM ET (3 PM UTC) on Thursday, March 13th, 2025 on the Fuji testnet.
All Fuji nodes must upgrade before 11 AM ET, March 13th 2025.
Ubuntu Focal Deprecation
Because Ubuntu 20.04 is reaching the end of its support window, the binaries attached to this release do not support Ubuntu 20.04 (Focal).
The plugin version is unchanged at 39
and is compatible with version v1.12.2
.
Full Changelog: v1.12.2...v1.13.0-fuji
Etna.2 - Keystore Removal
This version is backwards compatible to v1.12.0. It is optional, but encouraged.
The plugin version is updated to 39
all plugins must update to be compatible.
This release removes the support for the long deprecated Keystore API. Any users still relying on the keystore API will not be able to update to this version, or any later versions, of Avalanchego until their dependency on the keystore API has been removed.
APIs
- Deprecated:
info.GetTxFee
- Added:
avm.GetTxFee
platform.getValidatorFeeConfig
platform.getValidatorFeeState
validationID
field toplatform.getL1Validator
results- L1 validators to
platform.getCurrentValidators
- Removed:
StakeAmount
field fromplatform.getCurrentValidators
resultskeystore.createUser
keystore.deleteUser
keystore.listUsers
keystore.importUser
keystore.exportUser
avm.createAddress
avm.createFixedCapAsset
avm.createNFTAsset
avm.createVariableCapAsset
avm.export
avm.exportKey
avm.import
avm.importKey
avm.listAddresses
avm.mint
avm.mintNFT
avm.send
avm.sendMultiple
avm.sendNFT
wallet.send
wallet.sendMultiple
platform.exportKey
platform.listAddresses
Configs
- Removed static fee config flags
--create-subnet-tx-fee
--transform-subnet-tx-fee
--create-blockchain-tx-fee
--add-primary-network-validator-fee
--add-primary-network-delegator-fee
--add-subnet-validator-fee
--add-subnet-delegator-fee
- Removed
--api-keystore-enabled
What's Changed
- [testing] Always use the go.mod version of ginkgo by @marun in #3618
- Bump antithesishq/antithesis-trigger-action from 0.5 to 0.6 by @dependabot in #3620
- Fix typos in document files by @taozui472 in #3622
- [ci] Always use the specified go version by @marun in #3616
- Fix: quotation mark by @jasmyhigh in #3623
- refactor: move node configs to config/node by @darioush in #3600
- Update e2e tests and CI jobs for post-etna by @marun in #3614
- Replace AWM terminology in ReadMe with ICM by @meaghanfitzgerald in #3595
- fix: grammatical mistakes by @crStiv in #3625
- [testing] Update golangci-lint to latest version by @marun in #3617
- partial sync default info by @meaghanfitzgerald in #3602
- Update stale comment on commitToDB by @aaronbuchwald in #3627
- coreth atomic pkg dependency by @ceyonur in #3588
- Mark Meag as the owner of README files by @StephenButtolph in #3635
- Update x/net to v0.33.0 by @StephenButtolph in #3636
- Fix codeowners to simplify PR review by @StephenButtolph in #3637
- Add BLS healthcheck to communicate incorrect BLS key configuration by @StephenButtolph in #3638
- chore(all): mocks generation improved by @qdm12 in #3628
- fix LRU sized cache: consistent size at element removal by @rrazvan1 in #3634
- Index API and AvalancheGo Configs Docs Fix by @meaghanfitzgerald in #3632
- [ci] Migrate from buf-*-action to buf-action by @marun in #3639
- chore(ci): define Github labels as code with a workflow by @qdm12 in #3629
- feat(github): add "needs Go upgrade" label by @qdm12 in #3642
- [ci] Fix post-merge protobuf lint job breakage by @marun in #3644
- merkledb visualisations v1 (change proofs and range proofs) by @rrazvan1 in #3643
- Remove Static Fee Config by @samliok in #3610
- fix(ci): trigger labels workflow on push to master not main by @qdm12 in #3646
- X-Chain API fix by @meaghanfitzgerald in #3654
- [ci] Rename {PROMETHEUS,LOKI}_ID to {PROMETHEUS,LOKI}_USERNAME by @marun in #3652
- chore: replaced faulty link by @Radovenchyk in #3649
- Add L1 validator fees API by @StephenButtolph in #3647
- Reintroduce the deprecated
info.getTxFee
API by @StephenButtolph in #3656 - remove x-chain api obsolete metadata by @meaghanfitzgerald in #3655
- Remove the Keystore API by @StephenButtolph in #3657
- Add F Upgrade Scaffolding. Post-Etna Cleanup by @michaelkaplan13 in #3672
- [testing] Fix instructions for triggering antithesis test runs by @marun in #3664
- [testing] Ensure run_prometheus.sh uses a writeable storage path by @marun in #3662
- Make snowman use snowflake directly instead of snowball by @yacovm in #3403
- chore: fix some typos by @chuangjinglu in #3670
- Bump antithesishq/antithesis-trigger-action from 0.6 to 0.7 by @dependabot in #3667
- [ci] Use go env {GOOS,GOARCH} for os and arch detection by @marun in #3661
- Silence docker InvalidDefaultArgInFrom warnings by @marun in #3659
- add L1 support to getCurrentValidators API by @ceyonur in #3564
- [docker] Enable image builds from git worktrees by @marun in #3660
- [tmpnet] Set an explicit
instance
label for logs and metrics by @marun in #3650 - [docker] Switch to kube-compatible plugin path for images by @marun in #3653
- [testing] Support direnv to simplify usage of test tooling by @marun in #3651
New Contributors
- @taozui472 made their first contribution in #3622
- @jasmyhigh made their first contribution in #3623
- @crStiv made their first contribution in #3625
- @qdm12 made their first contribution in #3628
- @rrazvan1 made their first contribution in #3634
- @Radovenchyk made their first contribution in #3649
- @chuangjinglu made their first contribution in #3670
Full Changelog: v1.12.1...v1.12.2
Etna.1 - P-Chain Mempool
This version is backwards compatible to v1.12.0. It is optional, but encouraged.
The plugin version is unchanged at 38
and is compatible with version v1.12.0
.
Configs
- Added PebbleDB option
sync
which defaults totrue
Fixes
- Fixed P-chain mempool verification to disallow transactions that exceed the available chain capacity
What's Changed
- Expose test network cfg by @cam-schultz in #3573
- encapsulate signer by @richardpringle in #3576
- use pebble nosync by default by @ceyonur in #3581
- fix: feeState API call in docs by @ashucoder9 in #3596
- Format Service.MD by @samliok in #3599
- Verify tx gas isn't too large in VerifyTx by @StephenButtolph in #3604
- Add already implemented merkledb.View to MerkleDB interface by @aaronbuchwald in #3593
- Add tempdir in for chain ctx data dir by @aaronbuchwald in #3594
- Improve block building and verification logging by @StephenButtolph in #3605
- Bump golang.org/x/crypto from 0.26.0 to 0.31.0 by @dependabot in #3608
Full Changelog: v1.12.0...v1.12.1
Etna - Reinventing Subnets
This upgrade consists of the following Avalanche Community Proposals (ACPs):
- ACP-77 Reinventing Subnets
- ACP-103 Add Dynamic Fees to the P-Chain
- ACP-118 Warp Signature Interface Standard
- ACP-125 Reduce C-Chain minimum base fee from 25 nAVAX to 1 nAVAX
- ACP-131 Activate Cancun EIPs on C-Chain and Subnet-EVM chains
- ACP-151 Use current block P-Chain height as context for state verification
The changes in the upgrade go into effect at 12 PM ET (5 PM UTC) on Monday, December 16th, 2024 on Mainnet.
All Etna supporting Mainnet nodes should upgrade before 12 PM ET, December 16th 2024.
The plugin version is unchanged at 38
and is compatible with version v1.11.13
.
APIs
- Allowed
platform.issueTx
to be called, for non-ImportTx transactions, while partial syncing
What's Changed
- Fix SubnetToL1ConversionData typo by @cam-schultz in #3555
- Refactor
logging.Format
to expose constants by @StephenButtolph in #3561 - [testing] Switch to logging with zap by @marun in #3557
- Use JSON logs during Antithesis runs by @StephenButtolph in #3562
- Antithesis: Skip checks if tx confirmation fails by @StephenButtolph in #3563
- chore: fix some function names in comment by @wanxiangchwng in #3566
- update api docs by @ashucoder9 in #3558
- Remove unused wallet interface by @StephenButtolph in #3568
- Remove required fields from config by @StephenButtolph in #3569
- Remove redundant field in platformVM/network's Network by @yacovm in #3571
- Remove observedSubnetUptime from Info Docs by @samliok in #3575
- Allow issuing transactions when using partial-sync by @StephenButtolph in #3570
- Add partial-sync support to the wallet by @StephenButtolph in #3567
New Contributors
- @wanxiangchwng made their first contribution in #3566
- @ashucoder9 made their first contribution in #3558
Full Changelog: v1.11.13...v1.12.0
Etna - Reinventing Subnets - 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 consists of the following Avalanche Community Proposals (ACPs):
- ACP-77 Reinventing Subnets
- ACP-103 Add Dynamic Fees to the P-Chain
- ACP-118 Warp Signature Interface Standard
- ACP-125 Reduce C-Chain minimum base fee from 25 nAVAX to 1 nAVAX
- ACP-131 Activate Cancun EIPs on C-Chain and Subnet-EVM chains
- ACP-151 Use current block P-Chain height as context for state verification
The changes in the upgrade go into effect at 11 AM ET (4 PM UTC) on Monday, November 25th, 2024 on the Fuji testnet.
All Fuji nodes must upgrade before 11 AM ET, November 25th 2024.
The plugin version is unchanged at 38
and is compatible with version v1.11.13
.
Full Changelog: v1.11.13...v1.12.0-fuji
Durango.13 - Etna Compatible
This version is backwards compatible to v1.11.0. It is optional, but encouraged.
The plugin version is updated to 38
all plugins must update to be compatible.
APIs
- Added
platform.getL1Validator
- Added
platform.getProposedHeight
- Updated
platform.getValidatorsAt
to accept"proposed"
as validheight
input
Configs
- Added P-chain configs
"l1-weights-cache-size"
"l1-inactive-validators-cache-size"
"l1-subnet-id-node-id-cache-size"
Fixes
- Fixed metrics initialization in the RPCChainVM. This could cause crashes during startup if metrics were requested during VM initialization.
- Fixed compilation on macos 14.7 and higher
- Fixed avalanchego wallet usage with ledger >=v0.8.4
- Fixed missing
NodeIDs
argument in theinfo.peers
client implementation - Fixed
getSubnetID
state tracing
What's Changed
- [testing] Double image build timeout for bootstrap monitor e2e by @marun in #3468
- [antithesis] Double the duration of sanity checks by @marun in #3475
- Properly initialize metrics in rpcchainVM by @yacovm in #3477
- Cleanup editorconfig by @dhrubabasu in #3473
- Update avalanche ledger go package by @sukantoraymond in #3456
- [testing] Enable config of log format for bootstrap monitor by @marun in #3467
- cache signatures only in acp118 handler by @ceyonur in #3474
- Introduce and use
database.WithDefault
by @StephenButtolph in #3478 - Evict recentlyAccepted blocks based on wall-clock time by @iansuvak in #3460
- fix improper use of FailNow in testing by @tsachiherman in #3479
- [ACP 151] Use current block's P-Chain height as context for verifying state of the inner block by @iansuvak in #3459
- [tmpnet] Add --start-network to support hypersdk MODE=run by @marun in #3465
- [e2e] Check network health after bootstrap checks by @marun in #3466
- ACP-77: Add ConversionID to state by @StephenButtolph in #3481
- Make bootstrapping handle its own timeouts by @yacovm in #3410
- Wrap
TestDiffExpiry
sub-tests int.Run
by @StephenButtolph in #3483 - Move RPC metrics registration after its client's initialization by @yacovm in #3488
- database: add applicable dbtests for linkeddb by @darioush in #3486
- Add SoV Excess to P-chain state by @StephenButtolph in #3482
- Remove deprecated X-chain pubsub server by @StephenButtolph in #3490
- Update SoV struct to align with latest ACP-77 spec by @StephenButtolph in #3492
- Register VM and snowman metrics after chain creation by @yacovm in #3489
- Skip Flaky Test by @joshua-kim in #3495
- Add request to update
releases.md
in PR template by @ceyonur in #3476 - ACP-77: Update P-chain state staker tests by @StephenButtolph in #3494
- ACP-77: Write subnet public key diffs to state by @StephenButtolph in #3487
- Add
Deregister
tometrics.MultiGatherer
interface by @StephenButtolph in #3498 - ACP-77: Add subnetIDNodeID struct by @StephenButtolph in #3499
- Use subnet public key diffs after Etna is activated by @StephenButtolph in #3502
- Split
writeCurrentStakers
into multiple functions by @StephenButtolph in #3500 - [tmpnet] Refactor bootstrap monitor kubernetes functions for reuse by @marun in #3446
- Add NumSubnets to the validator manager interface by @StephenButtolph in #3504
- Clarify partial sync flag by @michaelkaplan13 in #3505
- Update BLST to v0.3.13 by @yacovm in #3506
- Restrict public keys prior to TLS handshake by @yacovm in #3501
- ACP-77: Filter the inactive validator from block proposals and tx gossip by @StephenButtolph in #3509
- [testing] Enable bootstrap testing of partial sync by @marun in #3508
- Rename
constantsAreUnmodified
toimmutableFieldsAreUnmodified
by @StephenButtolph in #3513 - Accept info.Peers args by @cam-schultz in #3515
- Return shallow copy of validator set in platformVM's validator manager by @yacovm in #3512
- Add
ValidatorWeightDiff
Add
andSub
helpers by @StephenButtolph in #3514 - ACP-77: Add caching to SoV DB helpers by @StephenButtolph in #3516
- Add script to configure metrics and log collection from a local node by @marun in #3517
- ACP-77: Implement validator state by @StephenButtolph in #3388
- ACP-77: Reduce block gossip log level by @StephenButtolph in #3519
- ACP-77: Implement ids.ID#Append by @StephenButtolph in #3518
- ACP-103: Document and update genesis test fee configs by @StephenButtolph in #3520
- ACP-77: Deactivate SoVs without sufficient fees by @StephenButtolph in #3412
- ACP-77: Allow legacy validator removal after conversion by @StephenButtolph in #3521
- ACP-77: Refactor e2e test by @StephenButtolph in #3522
- ACP-77: Update
ConvertSubnetTx
by @StephenButtolph in #3397 - Remove stutter in P-chain wallet builder by @StephenButtolph in #3524
- Clarify EndAccumulatedFee comment by @michaelkaplan13 in #3523
- [tmpnet] Misc cleanup for monitoring tooling by @marun in #3527
- Remove P-chain txsmock package by @StephenButtolph in #3528
- Unexport all P-Chain visitors by @StephenButtolph in #3525
- Standardize P-Chain tx visitor order by @StephenButtolph in #3529
- ACP-77: Implement
RegisterSubnetValidatorTx
by @StephenButtolph in #3420 - ACP-77: Refactor P-Chain configs by @StephenButtolph in #3533
- Add additional BLS benchmarks by @StephenButtolph in #3538
- ACP-77: Refactor subnet auth verification by @StephenButtolph in #3537
- ACP-77: Implement
SetSubnetValidatorWeightTx
by @StephenButtolph in #3421 - Rename error to be more generic by @StephenButtolph in #3543
- fix getSubnetIDTag in traced state by @ceyonur in #3542
- Add
platform.getSubnetOnlyValidator
API by @StephenButtolph in #3540 - Add SoV deactivation owner support to the P-chain wallet by @StephenButtolph in #3541
- ACP-77: Implement Warp message verification by @StephenButtolph in #3423
- ACP-77: Current validators API for SoV by @ceyonur in #3404
- ACP-77: Implement Warp message signing by @StephenButtolph in #3428
- ACP-77: Implement IncreaseBalanceTx by @StephenButtolph in #3429
- ACP-77: Implement DisableSubnetValidatorTx by @StephenButtolph in #3440
- Improve P-Chain error messages by @StephenButtolph in #3536
- Add Etna logging by @StephenButtolph in #3454
- Add Etna P-chain metrics by @StephenButtolph in #3458
- Clarify benched field by @samliok in #3545
- [tmpnet] Watch for and report FATAL log entries on node startup by @marun in #3535
- Allow non primary network validators to request all peers by @cam-schultz in #3491
- Add
platform.getProposedHeight
API by @iansuvak in http...
Durango.12 - Etna Prep
This version is backwards compatible to v1.11.0. It is optional, but strongly encouraged.
The plugin version is unchanged at 37
and is compatible with version v1.11.11
.
What's Changed
- Implement
ConvertSubnetTx
by @dhrubabasu in #3217 - [e2e] Emit a duration-scoped grafana link for each test by @marun in #3340
- [tmpnet] Avoid calling Stat in advance of Read/Open by @marun in #3356
- UnmarshalFrom support in codec.Codec by @containerman17 in #3335
- Include stacktrace in shutdown timeout message by @StephenButtolph in #3360
- [testing] Cleanup ginkgo imports by @marun in #3362
- Abort query if not enough stake is connected by @yacovm in #3345
- Enable skipping build of the image with race-detection enabled by @marun in #3357
- Log a fatal before exit if node cannot be created by @aaronbuchwald in #3375
- Avoid including 'failed' in debug log messages by @marun in #3361
- Dump stacktrace upon SIGABRT by @yacovm in #3366
- Add AccruedFees to state.Chain interface by @StephenButtolph in #3371
- Add SoV state struct by @StephenButtolph in #3370
- Replace iterator equality helper by @StephenButtolph in #3380
- Use math.Ln2 where possible by @StephenButtolph in #3383
- Implement ExpiryEntry by @StephenButtolph in #3382
- Implement iterator deduplicator by @StephenButtolph in #3381
- Disable Etna by default on local networks by @michaelkaplan13 in #3364
- Implement ACP-77 fee calculations by @StephenButtolph in #3367
- feat(GitHub): migrate configure-aws-credentials steps to IAM role assumption by @adutchak in #3377
- Add Expiry Replay Protection by @StephenButtolph in #3379
- chore: remove redundant symbol in tests/antithesis/README.md by @tiaoxizhan in #3387
- Grc 243 migrate static aws credentials by @adutchak in #3386
- chore: fix comment by @cocoyeal in #3389
- ACP-77: Update
SecondsUntil
to prevent under-charging by @StephenButtolph in #3395 - Fix node initialization in snowman test by @yacovm in #3398
- Update to latest coreth dependency version by @yacovm in #3399
- Update ubuntu versions by @StephenButtolph in #3401
- Remove ami support by @StephenButtolph in #3402
- Implement acp-77 fee configs by @StephenButtolph in #3396
- Ensure slices are zeroed by @StephenButtolph in #3407
- Move
validators.TestManager
tovalidatorstest.Manager
by @StephenButtolph in #3408 - Fix
TestSubnetValidatorBLSKeyDiffAfterExpiry
by @StephenButtolph in #3409 - Remove subnetIDs from uptime manager by @ceyonur in #3235
- Simplify common.Engine API by @yacovm in #3406
- Bound GetNextStakerChangeTime for ACP-77 by @StephenButtolph in #3411
- Migrate
x/sync
top2p
by @joshua-kim in #3106 - Remove stale expiries in AdvanceTimeTo by @StephenButtolph in #3415
- Remove mocked iterator by @StephenButtolph in #3417
- Parsing acp-77 warp payloads by @darioush in #3270
- Set local C-Chain genesis timestamp to InitiallyActiveTime by @michaelkaplan13 in #3413
- Fix gossip unit test by @joshua-kim in #3422
- [e2e] Add wallet balance logging to staking rewards test by @marun in #3426
- [e2e] Enable supplying ginkgo seed to e2e test script by @marun in #3432
- [antithesis] Add curl to antithesis images by @marun in #3433
- ACP-118: Implement p2p handler by @joshua-kim in #3434
- ACP-77: Update warp messages to align with spec changes by @StephenButtolph in #3430
- [ci] Add test binary and image to support bootstrap testing by @marun in #3352
- Change misleading protobuf comments by @yacovm in #3435
- Bump golang to 1.22.8 by @marun in #3436
- Remove unused metrics registry from sync ManagerConfig by @aaronbuchwald in #3439
- Shrink proposerVM minRecentlyAcceptedWindowSize to 0 by @iansuvak in #3431
- Publish last accepted height through chits by @yacovm in #3441
- Include untracked files for clean branch by @StephenButtolph in #3442
- [testing] Fix bootstrap monitor e2e image build error check by @marun in #3443
- ACP-77: Allow xsvm to sign arbitrary warp messages by @StephenButtolph in #3448
- Use netip.AddrPort rather than string for node.ProcessContext by @StephenButtolph in #3449
- Remove unused
meteredHandler
struct type by @joshua-kim in #3450 - Add ACP-118 caching support by @StephenButtolph in #3451
- [testing] Enable verbose image build output for bootstrap-monitor e2e by @marun in #3461
- Remove unexpected block unwrapping by @StephenButtolph in #3455
- [ci] Update MacOS jobs to macos-14 by @marun in #3462
- ACP-77: Include validator capacity into the fee config by @StephenButtolph in #3464
- Update versions for v1.11.12 by @StephenButtolph in #3470
New Contributors
- @containerman17 made their first contribution in #3335
- @michaelkaplan13 made their first contribution in #3364
- @adutchak made their first contribution in #3377
- @tiaoxizhan made their first contribution in #3387
Full Changelog: v1.11.11...v1.11.12