diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d5466f8d1f84..68d8704e48d1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -109,16 +109,17 @@ jobs: - name: Build AvalancheGo Binary shell: bash run: ./scripts/build.sh - - name: Run e2e tests - shell: bash - run: ./scripts/tests.upgrade.sh - - name: Upload tmpnet network dir - uses: actions/upload-artifact@v4 - if: always() - with: - name: upgrade-tmpnet-data - path: ${{ env.tmpnet_data_path }} - if-no-files-found: error + # TODO: Reactivate test once v1.11.0 is published + # - name: Run e2e tests + # shell: bash + # run: ./scripts/tests.upgrade.sh + # - name: Upload tmpnet network dir + # uses: actions/upload-artifact@v4 + # if: always() + # with: + # name: upgrade-tmpnet-data + # path: ${{ env.tmpnet_data_path }} + # if-no-files-found: error Lint: runs-on: ubuntu-latest steps: diff --git a/RELEASES.md b/RELEASES.md index 750b7e49c60e..16693bbd0834 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -1,5 +1,59 @@ # Release Notes +## [v1.11.0-fuji](https://github.com/ava-labs/avalanchego/releases/tag/v1.11.0-fuji) + +**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-23](https://github.com/avalanche-foundation/ACPs/blob/main/ACPs/23-p-chain-native-transfers.md) P-Chain Native Transfers +- [ACP-24](https://github.com/avalanche-foundation/ACPs/blob/main/ACPs/24-shanghai-eips.md) Activate Shanghai EIPs on C-Chain +- [ACP-25](https://github.com/avalanche-foundation/ACPs/blob/main/ACPs/25-vm-application-errors.md) Virtual Machine Application Errors +- [ACP-30](https://github.com/avalanche-foundation/ACPs/blob/main/ACPs/30-avalanche-warp-x-evm.md) Integrate Avalanche Warp Messaging into the EVM +- [ACP-31](https://github.com/avalanche-foundation/ACPs/blob/main/ACPs/31-enable-subnet-ownership-transfer.md) Enable Subnet Ownership Transfer +- [ACP-41](https://github.com/avalanche-foundation/ACPs/blob/main/ACPs/41-remove-pending-stakers.md) Remove Pending Stakers +- [ACP-62](https://github.com/avalanche-foundation/ACPs/blob/main/ACPs/62-disable-addvalidatortx-and-adddelegatortx.md) Disable AddValidatorTx and AddDelegatorTx + +The changes in the upgrade go into effect at 11 AM ET (4 PM UTC) on Tuesday, February 13th, 2024 on the Fuji testnet. + +**All Fuji nodes must upgrade before 11 AM ET, February 13th 2024.** + +The plugin version is updated to `32` all plugins must update to be compatible. + +### Configs + +- Deprecated: + - `api-auth-required` + - `api-auth-password` + - `api-auth-password-file` + +### Fixes + +- Fixed potential deadlock during P-chain shutdown +- Updated the consensus engine to recover from previously misconfigured subnets without requiring a restart + +### What's Changed + +- `ci`: Upgrade all workflow actions to versions using Node 20 by @marun in https://github.com/ava-labs/avalanchego/pull/2677 +- `tmpnet`: Ensure restart after chain creation by @marun in https://github.com/ava-labs/avalanchego/pull/2675 +- Publish docker images with race detection by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2680 +- `vms/platformvm`: Remove `NewRewardValidatorTx` from `Builder` by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2676 +- `ci`: Updated shellcheck script to support autofix by @marun in https://github.com/ava-labs/avalanchego/pull/2678 +- Unblock misconfigured subnets by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2679 +- Add transfer subnet ownership functionality to wallet by @felipemadero in https://github.com/ava-labs/avalanchego/pull/2659 +- Add ACP-62 by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2681 +- `vms/platformvm`: Add missing txs to `txs.Builder` by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2663 +- `vms/platformvm`: Disable `AddValidatorTx` and `AddDelegatorTx` by @dhrubabasu in https://github.com/ava-labs/avalanchego/pull/2662 +- Remove chain router from node.Config by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2683 +- Deprecate the auth API by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2684 +- Fix P-chain Shutdown deadlock by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2686 +- Cleanup ID initialization by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2690 +- Remove unused chains#beacons field by @joshua-kim in https://github.com/ava-labs/avalanchego/pull/2692 +- x/sync: Remove duplicated call to TrackBandwidth by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2694 +- Move VMAliaser into node from config by @StephenButtolph in https://github.com/ava-labs/avalanchego/pull/2689 + +**Full Changelog**: https://github.com/ava-labs/avalanchego/compare/v1.10.19...v1.11.0-fuji + ## [v1.10.19](https://github.com/ava-labs/avalanchego/releases/tag/v1.10.19) This version is backwards compatible to [v1.10.0](https://github.com/ava-labs/avalanchego/releases/tag/v1.10.0). It is optional, but encouraged. diff --git a/config/config.go b/config/config.go index a9ffa17f646b..8e85947f022a 100644 --- a/config/config.go +++ b/config/config.go @@ -1333,6 +1333,10 @@ func GetNodeConfig(v *viper.Viper) (node.Config, error) { return node.Config{}, err } + if nodeConfig.NetworkID == constants.MainnetID { + return node.Config{}, errors.New("mainnet is not supported") + } + // Database nodeConfig.DatabaseConfig, err = getDatabaseConfig(v, nodeConfig.NetworkID) if err != nil { diff --git a/go.mod b/go.mod index 777107b13302..b322a1ca6910 100644 --- a/go.mod +++ b/go.mod @@ -11,7 +11,7 @@ require ( github.com/DataDog/zstd v1.5.2 github.com/Microsoft/go-winio v0.5.2 github.com/NYTimes/gziphandler v1.1.1 - github.com/ava-labs/coreth v0.12.11-rc.2 + github.com/ava-labs/coreth v0.12.11-rc.3 github.com/ava-labs/ledger-avalanche/go v0.0.0-20231102202641-ae2ebdaeac34 github.com/btcsuite/btcd/btcutil v1.1.3 github.com/cockroachdb/pebble v0.0.0-20230209160836-829675f94811 diff --git a/go.sum b/go.sum index 55a473140252..5207877da907 100644 --- a/go.sum +++ b/go.sum @@ -66,8 +66,8 @@ github.com/allegro/bigcache v1.2.1-0.20190218064605-e24eb225f156 h1:eMwmnE/GDgah github.com/allegro/bigcache v1.2.1-0.20190218064605-e24eb225f156/go.mod h1:Cb/ax3seSYIx7SuZdm2G2xzfwmv3TPSk2ucNfQESPXM= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= -github.com/ava-labs/coreth v0.12.11-rc.2 h1:roDTUOuTLoku4FYr7icHh2IMkxk2GRAqUocGZCXh2Mw= -github.com/ava-labs/coreth v0.12.11-rc.2/go.mod h1:YEYzy0l/7ig9gKV2P9yxzucnIml1TUa4L8foGQ15KO0= +github.com/ava-labs/coreth v0.12.11-rc.3 h1:mw/pI05+ORYFTjDV89hBJu22R5mofw4hpptCobMWig4= +github.com/ava-labs/coreth v0.12.11-rc.3/go.mod h1:YEYzy0l/7ig9gKV2P9yxzucnIml1TUa4L8foGQ15KO0= github.com/ava-labs/ledger-avalanche/go v0.0.0-20231102202641-ae2ebdaeac34 h1:mg9Uw6oZFJKytJxgxnl3uxZOs/SB8CVHg6Io4Tf99Zc= github.com/ava-labs/ledger-avalanche/go v0.0.0-20231102202641-ae2ebdaeac34/go.mod h1:pJxaT9bUgeRNVmNRgtCHb7sFDIRKy7CzTQVi8gGNT6g= github.com/aymerick/raymond v2.0.3-0.20180322193309-b565731e1464+incompatible/go.mod h1:osfaiScAUVup+UC9Nfq76eWqDhXlp+4UYaA8uhTBO6g= diff --git a/version/compatibility.json b/version/compatibility.json index 896b312e3e20..bdbcb247f145 100644 --- a/version/compatibility.json +++ b/version/compatibility.json @@ -1,4 +1,7 @@ { + "32": [ + "v1.11.0" + ], "31": [ "v1.10.18", "v1.10.19" diff --git a/version/constants.go b/version/constants.go index 238ae5d8c98b..69e52483ca5c 100644 --- a/version/constants.go +++ b/version/constants.go @@ -18,15 +18,15 @@ const ( // RPCChainVMProtocol should be bumped anytime changes are made which // require the plugin vm to upgrade to latest avalanchego release to be // compatible. - RPCChainVMProtocol uint = 31 + RPCChainVMProtocol uint = 32 ) // These are globals that describe network upgrades and node versions var ( Current = &Semantic{ Major: 1, - Minor: 10, - Patch: 19, + Minor: 11, + Patch: 0, } CurrentApp = &Application{ Name: Client, @@ -37,13 +37,13 @@ var ( MinimumCompatibleVersion = &Application{ Name: Client, Major: 1, - Minor: 10, + Minor: 11, Patch: 0, } PrevMinimumCompatibleVersion = &Application{ Name: Client, Major: 1, - Minor: 9, + Minor: 10, Patch: 0, } @@ -139,7 +139,7 @@ var ( // TODO: update this before release DurangoTimes = map[uint32]time.Time{ constants.MainnetID: time.Date(10000, time.December, 1, 0, 0, 0, 0, time.UTC), - constants.FujiID: time.Date(10000, time.December, 1, 0, 0, 0, 0, time.UTC), + constants.FujiID: time.Date(2024, time.February, 13, 16, 0, 0, 0, time.UTC), } ) @@ -245,7 +245,7 @@ func GetCompatibility(networkID uint32) Compatibility { return NewCompatibility( CurrentApp, MinimumCompatibleVersion, - GetCortinaTime(networkID), + GetDurangoTime(networkID), PrevMinimumCompatibleVersion, ) }