diff --git a/.github/compatibility-test-matrices/release-v6.0.x/client.json b/.github/compatibility-test-matrices/release-v6.0.x/client.json new file mode 100644 index 00000000000..7789c666458 --- /dev/null +++ b/.github/compatibility-test-matrices/release-v6.0.x/client.json @@ -0,0 +1,10 @@ +{ + "chain-a": ["release-v6.0.x", "v5.0.0", "v4.1.0", "v3.3.0", "v2.4.0"], + "chain-b": ["release-v6.0.x", "v5.0.0", "v4.1.0", "v3.3.0", "v2.4.0"], + "entrypoint": ["TestClientTestSuite"], + "test": [ + "TestClientUpdateProposal_Succeeds" + ], + "chain-binary": ["simd"], + "chain-image": ["ghcr.io/cosmos/ibc-go-simd"] +} diff --git a/.github/compatibility-test-matrices/release-v6.0.x/incentivized-transfer.json b/.github/compatibility-test-matrices/release-v6.0.x/incentivized-transfer.json new file mode 100644 index 00000000000..beb4d67c0b6 --- /dev/null +++ b/.github/compatibility-test-matrices/release-v6.0.x/incentivized-transfer.json @@ -0,0 +1,15 @@ +{ + "chain-a": ["release-v6.0.x", "v5.0.0", "v4.1.0"], + "chain-b": ["release-v6.0.x", "v5.0.0", "v4.1.0"], + "entrypoint": ["TestIncentivizedTransferTestSuite"], + "test": [ + "TestMsgPayPacketFee_AsyncSingleSender_Succeeds", + "TestMsgPayPacketFee_InvalidReceiverAccount", + "TestMultiMsg_MsgPayPacketFeeSingleSender", + "TestMsgPayPacketFee_SingleSender_TimesOut", + "TestPayPacketFeeAsync_SingleSender_NoCounterPartyAddress", + "TestMsgPayPacketFee_AsyncMultipleSenders_Succeeds" + ], + "chain-binary": ["simd"], + "chain-image": ["ghcr.io/cosmos/ibc-go-simd"] +} diff --git a/.github/compatibility-test-matrices/release-v6.0.x/transfer.json b/.github/compatibility-test-matrices/release-v6.0.x/transfer.json new file mode 100644 index 00000000000..30a3d054948 --- /dev/null +++ b/.github/compatibility-test-matrices/release-v6.0.x/transfer.json @@ -0,0 +1,14 @@ +{ + "chain-a": ["release-v6.0.x", "v5.0.0", "v4.1.0", "v3.3.0", "v2.4.0"], + "chain-b": ["release-v6.0.x", "v5.0.0", "v4.1.0", "v3.3.0", "v2.4.0"], + "entrypoint": ["TestTransferTestSuite"], + "test": [ + "TestMsgTransfer_Succeeds_Nonincentivized", + "TestMsgTransfer_Fails_InvalidAddress", + "TestMsgTransfer_Timeout_Nonincentivized", + "TestSendEnabledParam", + "TestReceiveEnabledParam" + ], + "chain-binary": ["simd"], + "chain-image": ["ghcr.io/cosmos/ibc-go-simd"] +} diff --git a/.github/mergify.yml b/.github/mergify.yml index fa23023462b..c4473ed0c70 100644 --- a/.github/mergify.yml +++ b/.github/mergify.yml @@ -50,62 +50,62 @@ pull_request_rules: backport: branches: - release/v2.4.x - - name: backport patches to v3.0.x branch + - name: backport patches to v2.5.x branch conditions: - base=main - - label=backport-to-v3.0.x + - label=backport-to-v2.5.x actions: backport: branches: - - release/v3.0.x - - name: backport patches to v3.1.x branch + - release/v2.5.x + - name: backport patches to v3.3.x branch conditions: - base=main - - label=backport-to-v3.1.x + - label=backport-to-v3.3.x actions: backport: branches: - - release/v3.1.x - - name: backport patches to v3.2.x branch + - release/v3.3.x + - name: backport patches to v3.4.x branch conditions: - base=main - - label=backport-to-v3.2.x + - label=backport-to-v3.4.x actions: backport: branches: - - release/v3.2.x - - name: backport patches to v3.3.x branch + - release/v3.4.x + - name: backport patches to v4.1.x branch conditions: - base=main - - label=backport-to-v3.3.x + - label=backport-to-v4.1.x actions: backport: branches: - - release/v3.3.x - - name: backport patches to v4.0.x branch + - release/v4.1.x + - name: backport patches to v4.2.x branch conditions: - base=main - - label=backport-to-v4.0.x + - label=backport-to-v4.2.x actions: backport: branches: - - release/v4.0.x - - name: backport patches to v4.1.x branch + - release/v4.2.x + - name: backport patches to v5.0.x branch conditions: - base=main - - label=backport-to-v4.1.x + - label=backport-to-v5.0.x actions: backport: branches: - - release/v4.1.x - - name: backport patches to v5.0.x branch + - release/v5.0.x + - name: backport patches to v5.1.x branch conditions: - base=main - - label=backport-to-v5.0.x + - label=backport-to-v5.1.x actions: backport: branches: - - release/v5.0.x + - release/v5.1.x - name: backport patches to v6.0.x branch conditions: - base=main diff --git a/.github/workflows/e2e-compatibility.yaml b/.github/workflows/e2e-compatibility.yaml index 31a6c05319c..5960e5a27e7 100644 --- a/.github/workflows/e2e-compatibility.yaml +++ b/.github/workflows/e2e-compatibility.yaml @@ -8,6 +8,7 @@ on: type: choice options: - release/v5.0.x + - release/v6.0.x env: REGISTRY: ghcr.io diff --git a/CHANGELOG.md b/CHANGELOG.md index 56127480c83..16bf3d185a7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -38,18 +38,9 @@ Ref: https://keepachangelog.com/en/1.0.0/ ### Dependencies -* [\#1653](https://github.com/cosmos/ibc-go/pull/1653) Bump SDK version to v0.46 -* [\#2124](https://github.com/cosmos/ibc-go/pull/2124) Bump SDK version to v0.46.1 - ### API Breaking * (apps/29-fee) [\#2395](https://github.com/cosmos/ibc-go/pull/2395) Remove param space from ics29 NewKeeper function. The field was unused. -* (testing)[\#2028](https://github.com/cosmos/ibc-go/pull/2028) New interface `ibctestingtypes.StakingKeeper` added and set for the testing app `StakingKeeper` setup. -* (core/04-channel) [\#1418](https://github.com/cosmos/ibc-go/pull/1418) `NewPacketId` has been renamed to `NewPacketID` to comply with go linting rules. -* (core/ante) [\#1418](https://github.com/cosmos/ibc-go/pull/1418) `AnteDecorator` has been renamed to `RedundancyDecorator` to comply with go linting rules and to give more clarity to the purpose of the Decorator. -* (core/ante) [\#1820](https://github.com/cosmos/ibc-go/pull/1418) `RedundancyDecorator` has been renamed to `RedundantRelayDecorator` to make the name for explicit. -* (testing) [\#1418](https://github.com/cosmos/ibc-go/pull/1418) `MockIBCApp` has been renamed to `IBCApp` and `MockEmptyAcknowledgement` has been renamed to `EmptyAcknowledgement` to comply with go linting rules. -* (apps/27-interchain-accounts) [\#2058](https://github.com/cosmos/ibc-go/pull/2058) Added `MessageRouter` interface and replaced `*baseapp.MsgServiceRouter` with it. The controller and host keepers of apps/27-interchain-accounts have been updated to use it. * (apps/27-interchain-accounts) [\#2133](https://github.com/cosmos/ibc-go/pull/2133) Generates genesis protos in a separate directory to avoid circular import errors. The protobuf package name has changed for the genesis types. * (light-clients/tendermint)[\#1768](https://github.com/cosmos/ibc-go/pull/1768) Removed `AllowUpdateAfterExpiry`, `AllowUpdateAfterMisbehaviour` booleans as they are deprecated (see ADR026) * (06-solomachine) [\#1679](https://github.com/cosmos/ibc-go/pull/1679) Remove `types` sub-package from `06-solomachine` lightclient directory. @@ -68,14 +59,11 @@ Ref: https://keepachangelog.com/en/1.0.0/ * (transfer) [\#2034](https://github.com/cosmos/ibc-go/pull/2034) Transfer Keeper now expects a keeper which fulfills the expected `ScopedKeeper` interface for the capability keeper. * (05-port) [\#2025](https://github.com/cosmos/ibc-go/pull/2025) Port Keeper now expects a keeper which fulfills the expected `ScopedKeeper` interface for the capability keeper. * (04-channel) [\#2024](https://github.com/cosmos/ibc-go/pull/2024) Channel Keeper now expects a keeper which fulfills the expected `ScopedKeeper` interface for the capability keeper. -* (apps/27-interchain-accounts)[\#2302](https://github.com/cosmos/ibc-go/pull/2302) Handle unwrapping of channel version in interchain accounts channel reopening handshake flow. The `host` submodule `Keeper` now requires an `ICS4Wrapper` similarly to the `controller` submodule. ### State Machine Breaking ### Improvements -* (27-interchain-accounts) [\#1352](https://github.com/cosmos/ibc-go/issues/1352) Add support for Cosmos-SDK simulation to ics27 module. -* (linting) [\#1418](https://github.com/cosmos/ibc-go/pull/1418) Fix linting errors, resulting compatiblity with go1.18 linting style, golangci-lint 1.46.2 and the revivie linter. This caused breaking changes in core/04-channel, core/ante, and the testing library. * (modules/light-clients/07-tendermint) [\#1713](https://github.com/cosmos/ibc-go/pull/1713) Allow client upgrade proposals to update `TrustingPeriod`. See ADR-026 for context. * (modules/core/02-client) [\#1188](https://github.com/cosmos/ibc-go/pull/1188/files) Routing `MsgSubmitMisbehaviour` to `UpdateClient` keeper function. Deprecating `SubmitMisbehaviour` endpoint. * (modules/core/02-client) [\#1208](https://github.com/cosmos/ibc-go/pull/1208) Replace `CheckHeaderAndUpdateState` usage in 02-client with calls to `VerifyClientMessage`, `CheckForMisbehaviour`, `UpdateStateOnMisbehaviour` and `UpdateState`. @@ -113,7 +101,6 @@ Ref: https://keepachangelog.com/en/1.0.0/ ### Bug Fixes -* (makefile) [\#1785](https://github.com/cosmos/ibc-go/pull/1785) Fetch the correct versions of protocol buffers dependencies from tendermint, cosmos-sdk, and ics23. * (light-clients/solomachine) [#1839](https://github.com/cosmos/ibc-go/issues/1839) Fixed usage of the new diversifier in validation of changing diversifiers for the solo machine. The current diversifier must sign over the new diversifier. * (light-clients/07-tendermint) [\#1674](https://github.com/cosmos/ibc-go/pull/1674) Submitted ClientState is zeroed out before checking the proof in order to prevent the proposal from containing information governance is not actually voting on. * (modules/core/02-client)[\#1676](https://github.com/cosmos/ibc-go/pull/1676) ClientState must be zeroed out for `UpgradeProposals` to pass validation. This prevents a proposal containing information governance is not actually voting on. diff --git a/README.md b/README.md index dbed9e9db14..172c95f5c21 100644 --- a/README.md +++ b/README.md @@ -71,7 +71,7 @@ For an overview of upcoming changes to ibc-go take a look at the [roadmap](./doc ## Releases -The release lines currently supported are v2, v3 and v4. Please refer to the [Stable Release Policy section of RELEASES.md](https://github.com/cosmos/ibc-go/blob/main/RELEASES.md#stable-release-policy) for more details. +The release lines currently supported are v2, v3, v4 and v5. Please refer to the [Stable Release Policy section of RELEASES.md](https://github.com/cosmos/ibc-go/blob/main/RELEASES.md#stable-release-policy) for more details. ## Ecosystem diff --git a/RELEASES.md b/RELEASES.md index 1e416b7d65e..2825470b2d5 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -72,12 +72,11 @@ Only the following major release series have a stable release status: |`v2.2.x`|February 01, 2023| |`v2.3.x`|February 01, 2023| |`v2.4.x`|February 01, 2023| -|`v3.0.x`|March 15, 2023| -|`v3.1.x`|March 15, 2023| -|`v3.2.x`|March 15, 2023| |`v3.3.x`|March 15, 2023| -|`v4.0.x`|August 12, 2023| |`v4.1.x`|August 12, 2023| +|`v5.0.x`|September 28, 2023| + +All missing minor release versions have been discontinued. **Note**: The v1 major release series will reach end of life 6 months after merging this policy. v2 will reach end of life one year after merging this policy. @@ -117,17 +116,9 @@ Versions of Golang, Cosmos SDK and Tendermint used by ibc-go in the currently ac | 1.17 | v2.3.0 | v0.45.4 | v0.34.19 | | 1.17 | v2.3.1 | v0.45.5 | v0.34.19 | | 1.18 | v2.4.0 | v0.45.7 | v0.34.20 | -| 1.17 | v3.0.0 | v0.45.1 | v0.34.14 | -| 1.17 | v3.0.1 | v0.45.4 | v0.34.19 | -| 1.17 | v3.0.2 | v0.45.4 | v0.34.19 | -| 1.17 | v3.1.0 | v0.45.4 | v0.34.19 | -| 1.17 | v3.1.1 | v0.45.5 | v0.34.19 | -| 1.18 | v3.2.0 | v0.45.7 | v0.34.20 | -| 1.18 | v3.2.1 | v0.45.8 | v0.34.21 | | 1.18 | v3.3.0 | v0.45.8 | v0.34.21 | -| 1.18 | v4.0.0 | v0.45.7 | v0.34.20 | -| 1.18 | v4.0.1 | v0.45.8 | v0.34.21 | | 1.18 | v4.1.0 | v0.45.8 | v0.34.21 | +| 1.18 | v5.0.0 | v0.46.1 | v0.34.21 | ## Graphics diff --git a/docs/.vuepress/config.js b/docs/.vuepress/config.js index d1d592ee388..bcdce1d759e 100644 --- a/docs/.vuepress/config.js +++ b/docs/.vuepress/config.js @@ -128,6 +128,10 @@ module.exports = { label: "v4.1.0", key: "v4.1.0", }, + { + label: "v5.0.0", + key: "v5.0.0", + }, ], topbar: { banner: true, diff --git a/docs/versions b/docs/versions index bb849971219..154dd23cd5f 100644 --- a/docs/versions +++ b/docs/versions @@ -1,3 +1,4 @@ +release/v5.0.x v5.0.0 release/v4.1.x v4.1.0 release/v4.0.x v4.0.0 release/v3.3.x v3.3.0