Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: prepare v0.50.2 #18639

Merged
merged 7 commits into from
Dec 8, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,8 @@ Ref: https://keepachangelog.com/en/1.0.0/

## [Unreleased]

## [v0.50.2](https://github.com/cosmos/cosmos-sdk/releases/tag/v0.50.2) - 2023-12-11

### Features

* (debug) [#18219](https://github.com/cosmos/cosmos-sdk/pull/18219) Add debug commands for application codec types.
Expand Down
85 changes: 8 additions & 77 deletions RELEASE_NOTES.md
Original file line number Diff line number Diff line change
@@ -1,90 +1,21 @@
# Cosmos SDK v0.50.1 Release Notes

✨ [**Official Release Announcement**](https://blog.cosmos.network)
# Cosmos SDK v0.50.2 Release Notes

💬 [**Release Discussion**](https://github.com/orgs/cosmos/discussions/58)

## 🚀 Highlights

Cosmos SDK v0.50 is a major release that includes a number of significant new features and improvements. These new features and improvements will make Cosmos SDK applications more performant, scalable, and secure. They will also make it easier for developers to create and integrate new modules into the Cosmos SDK ecosystem.

* **ABCI 2.0 Integration:** Cosmos SDK v0.50 upgrades to CometBFT v0.38 and fully implements ABCI 2.0.
* **Optimistic Execution:** Cosmos SDK v0.50 introduces Optimistic Execution, which allows transactions to be executed and committed without waiting for confirmation from all validators. This can significantly improve the performance of chains with a high volume of transactions.
* **Modular SDK modules:** Cosmos SDK v0.50 starts to extract core modules away from the SDK. These are separately versioned and follow their own release cadence.
* **IAVL v1:** Cosmos SDK v0.50 upgrades the IAVL tree implementation to v1, which provides a number of performance and security improvements.
* **AutoCLI:** Cosmos SDK v0.50 introduces AutoCLI, a library that makes it easier to create CLI commands for SDK applications.
* **Sign Mode Textual:** Cosmos SDK v0.50 introduces a new sign mode that for hardware devices, as a replacement of Amino JSON.
* **Less boilerplate:** Cosmos SDK v0.50 requires less boilerplate in general for modules code and applications. Be sure to read the [UPGRADING.md](https://github.com/cosmos/cosmos-sdk/blob/release/v0.50.x/UPGRADING.md) to take advantage of these improvements.

### ABCI 2.0

Cosmos SDK v0.50 upgrades CometBFT to CometBFT [v0.38.0](https://github.com/cometbft/cometbft/blob/v0.38.0/CHANGELOG.md) and integrates [ABCI 2.0](https://github.com/cometbft/cometbft/tree/v0.38.0/spec/abci) semantics. Modules still follow ABCI 1.0 sementics (`BeginBlock`, `EndBlock`).

For instance, applications can now support [Vote Extensions](https://docs.cosmos.network/v0.50/build/building-apps/vote-extensions).

### Optimistic Execution

Cosmos SDK v0.50 introduces Optimistic Execution, which allows transactions to be executed and committed without waiting for confirmation from all validators. This can significantly improve the performance of chains with a high volume of transactions.

Optimistic Execution leverages ABCI 2.0, and is disabled by default. To enable it add `baseapp.SetOptimisticExecution()` to your baseapp options in your `app.go`.

### SDK modules

Cosmos SDK v0.50 starts to extract core modules away from the SDK. These are separately versioned and follow their own release cadence.

It starts with `x/evidence`, `x/feegrant`, `x/nft`, and `x/upgrade`,

Additionally, SDK v0.50 introduces a new core module, `x/circuit` that provides a circuit breaker for the SDK. Read more about it in the [module documentation](https://docs.cosmos.network/v0.50/build/modules/circuit).

Lastly, `x/capability` module has moved to the [IBC repo](https://github.com/cosmos/ibc-go) and is now maintained by the IBC team.

The further decoupling of other core modules is planned for the next release.
A month ago, Cosmos SDK Eden was released. Missed the announcement? Read it [here](https://github.com/cosmos/cosmos-sdk/releases/tag/v0.50.1).
For second patch release of the v0.50.x line, a few features and improvements were added to the SDK.

### Store v1 and IAVL v1
Notably, we added and fixed the following:

Cosmos SDK v0.50 has decoupled its store from the SDK. The store is now versioned separately and follows its own release cadence.

Store v1 upgrades the IAVL tree implementation to v1. IAVL v1 provides a number of performance improvements.
Read more about it in the [IAVL repo](https://github.com/cosmos/iavl/releases/tag/v1.0.0).

### AutoCLI

Cosmos SDK v0.50 introduces AutoCLI, a library that makes it easier to create CLI commands for SDK applications.
Forget the boilerplate that was required to create CLI commands for SDK applications. AutoCLI will generate CLI commands for you.
Read more about it in the [AutoCLI docs](https://docs.cosmos.network/v0.50/learn/advanced/autocli)

### Sign Mode Textual

Cosmos SDK v0.50 introduces a new sign mode mainly for hardware wallets, as a replacement of Amino JSON.
Never leak again that you are signing from a Ledger device and sign with Sign Mode Textual everywhere.

### Less Boilerplate

Cosmos SDK v0.50 requires less boilerplate in general for modules code and applications.

Here's a sneak peek of what you can expect:

Next to module CLI code that can be removed thanks to AutoCLI, modules do not need to implement `ValidateBasic()`, or `GetSigners` anymore.
The checks can happen directly on the message server, and the signers can be retrieved from the message itself (thanks to a protobuf annotation).

Be sure to [annotate your proto messages properly](https://docs.cosmos.network/v0.50/build/building-modules/protobuf-annotations) to take advantage of those improvements.

Read the [UPGRADING.md](https://github.com/cosmos/cosmos-sdk/blob/release/v0.50.x/UPGRADING.md) for a more exhaustive list of changes.
* Allow to import base64 encoded pubkeys in the keyring using `<appd> keys add <name> --pubkey-base64 <base64-pubkey>`
* A bug when migrating from v0.45/v0.46 directly to v0.50 due to missing `ConsensusParams`
* An issue when simulating gas for transactions when using a multisig

## 📝 Changelog

Check out the [changelog](https://github.com/cosmos/cosmos-sdk/blob/v0.50.1/CHANGELOG.md) for an exhaustive list of changes, or [compare changes](https://github.com/cosmos/cosmos-sdk/compare/release/v0.47.x...v0.50.1) from the last release.
Check out the [changelog](https://github.com/cosmos/cosmos-sdk/blob/v0.50.2/CHANGELOG.md) for an exhaustive list of changes, or [compare changes](https://github.com/cosmos/cosmos-sdk/compare/release/v0.50.1...v0.50.2) from the last release.

Refer to the [upgrading guide](https://github.com/cosmos/cosmos-sdk/blob/release/v0.50.x/UPGRADING.md) when migrating from `v0.47.x` to `v0.50.1`.
Note, that the next SDK release, v0.51.0, will not include `x/params` migration, when migrating from < v0.47, v0.50.x **or** v0.47.x, is a mandatory migration.

## ❤️ Contributors

* Binary Builders ([@binary_builders](https://twitter.com/binary_builders))
* Crypto.com ([@cronos_chain](https://twitter.com/cronos_chain))
* Orijtech ([@orijtech](https://twitter.com/orijtech))
* VitWit ([@vitwit_](https://twitter.com/vitwit_))
* Zondax ([@\_zondax\_](https://twitter.com/_zondax_))

This list is non exhaustive and ordered alphabetically.
Thank you to everyone who contributed to this release!
2 changes: 2 additions & 0 deletions tools/confix/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,8 @@ Ref: https://keepachangelog.com/en/1.0.0/

## [Unreleased]

## [v0.1.1](https://github.com/cosmos/cosmos-sdk/releases/tag/tools/confix/v0.1.0) - 2023-12-11

* [#18496](https://github.com/cosmos/cosmos-sdk/pull/18496) Remove invalid non SDK config from app.toml migration templates.

## [v0.1.0](https://github.com/cosmos/cosmos-sdk/releases/tag/tools/confix/v0.1.0) - 2023-11-07
Expand Down
2 changes: 2 additions & 0 deletions x/upgrade/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@ Ref: https://keepachangelog.com/en/1.0.0/

## [Unreleased]

## [v0.1.1](https://github.com/cosmos/cosmos-sdk/releases/tag/x/upgrade/v0.1.1) - 2023-12-11

### Improvements

* [#18470](https://github.com/cosmos/cosmos-sdk/pull/18470) Improve go-getter settings.
Expand Down
Loading