From dffeee431e35d299f431f08755e09270b2ca477f Mon Sep 17 00:00:00 2001 From: James Wilson Date: Wed, 6 Apr 2022 16:42:10 +0100 Subject: [PATCH] Release prep for 0.20.0 (#502) * v0.20.0 release prep * wee text tweak * remove dry-run step that doesn't actually work * Fix typo Co-authored-by: Alexandru Vasile <60601340+lexnv@users.noreply.github.com> * No more "in" Co-authored-by: Tarik Gul <47201679+TarikGul@users.noreply.github.com> * Fix "customized" typo Co-authored-by: Tarik Gul <47201679+TarikGul@users.noreply.github.com> Co-authored-by: Alexandru Vasile <60601340+lexnv@users.noreply.github.com> Co-authored-by: Tarik Gul <47201679+TarikGul@users.noreply.github.com> --- CHANGELOG.md | 35 +++++++++++++++++++++++++++++++++++ RELEASING.md | 22 ++++++++++++---------- cli/Cargo.toml | 4 ++-- codegen/Cargo.toml | 2 +- examples/Cargo.toml | 2 +- macro/Cargo.toml | 4 ++-- subxt/Cargo.toml | 4 ++-- test-runtime/Cargo.toml | 2 +- 8 files changed, 56 insertions(+), 19 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 03379c0590..f918506769 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,41 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [0.20.0] - 2022-04-06 + +The most significant change in this release is how we create and sign extrinsics, and how we manage the +"additional" and "extra" data that is attached to them. See https://github.com/paritytech/subxt/issues/477, and the +associated PR https://github.com/paritytech/subxt/pull/490 for a more detailed look at the code changes. + +If you're targeting a node with compatible additional and extra transaction data to Substrate or Polkadot, the main +change you'll have to make is to import and use `subxt::PolkadotExtrinsicParams` or `subxt::SubstrateExtrinsicParams` +instead of `subxt::DefaultExtra` (depending on what node you're compatible with), and then use `sign_and_submit_default` +instead of `sign_and_submit` when making a call. Now, `sign_and_submit` accepts a second argument which allows these +parameters (such as mortality and tip payment) to be customized. See `examples/balance_transfer_with_params.rs` for a +small usage example. + +If you're targeting a node which involves custom additional and extra transaction data, you'll need to implement the +trait `subxt::extrinsic::ExtrinsicParams`, which determines the parameters that can be provided to `sign_and_submit`, as +well as how to encode these into the "additional" and "extra" data needed for a transaction. Have a look at +`subxt/src/extrinsic/params.rs` for the trait definition and Substrate/Polkadot implementations. The aim with this change +is to make it easier to customise this for your own chains, and provide a simple way to provide values at runtime. + +### Fixed + +- Test utils: parse port from substrate binary output to avoid races ([#501](https://github.com/paritytech/subxt/pull/501)) +- Rely on the kernel for port allocation ([#498](https://github.com/paritytech/subxt/pull/498)) + +### Changed + +- Export ModuleError for downstream matching ([#499](https://github.com/paritytech/subxt/pull/499)) +- Bump jsonrpsee to v0.9.0 ([#496](https://github.com/paritytech/subxt/pull/496)) +- Use tokio instead of async-std in tests/examples ([#495](https://github.com/paritytech/subxt/pull/495)) +- Read constants from metadata at runtime ([#494](https://github.com/paritytech/subxt/pull/494)) +- Handle `sp_runtime::ModuleError` substrate updates ([#492](https://github.com/paritytech/subxt/pull/492)) +- Simplify creating and signing extrinsics ([#490](https://github.com/paritytech/subxt/pull/490)) +- Add `dev_getBlockStats` RPC ([#489](https://github.com/paritytech/subxt/pull/489)) +- scripts: Hardcode github subxt pull link for changelog consistency ([#482](https://github.com/paritytech/subxt/pull/482)) + ## [0.19.0] - 2022-03-21 ### Changed diff --git a/RELEASING.md b/RELEASING.md index 0659ced63e..9399b308d8 100644 --- a/RELEASING.md +++ b/RELEASING.md @@ -31,12 +31,18 @@ We also assume that ongoing work done is being merged directly to the `master` b 5. Update `CHANGELOG.md` to reflect the difference between this release and the last. If you're unsure of what to add, check with the Tools team. See the `CHANGELOG.md` file for details of the format it follows. - Utilize the following script to generate the merged PRs between releases. + First, if there have been any significant changes, add a description of those changes to the top of the + changelog entry for this release. + + Next, you can use the following script to generate the merged PRs between releases: + ``` ./scripts/generate_changelog.sh ``` + Ensure that the script picked the latest published release tag (e.g. if releasing `v0.17.0`, the script should - provide `[+] Latest release tag: v0.16.0` ). Then group the PRs into "Added" and "Changed" sections. + provide `[+] Latest release tag: v0.16.0` ). Then group the PRs into "Added" and "Changed" sections, and make any + other adjustments that you feel are necessary for clarity. 6. Commit any of the above changes to the release branch and open a PR in GitHub with a base of `master`. @@ -50,18 +56,14 @@ We also assume that ongoing work done is being merged directly to the `master` b git checkout master && git pull ``` - 2. Perform a dry-run publish to ensure the crates can be correctly published. - - The crates in this repository need publishing in a specific order, since they depend on each other. + 2. Perform a final sanity check that everything looks ok. ``` - (cd codegen && cargo publish --dry-run) && \ - (cd macro && cargo publish --dry-run) && \ - (cd subxt && cargo publish --dry-run) && \ - (cd cli && cargo publish --dry-run); + cargo check --all-targets + cargo test --all-targets ``` - 3. If the dry-run was successful, run the following command to publish each crate in the required order (allowing + 3. Run the following command to publish each crate in the required order (allowing a little time in between each to let crates.io catch up with what we've published). ``` diff --git a/cli/Cargo.toml b/cli/Cargo.toml index 2b8443725f..5bd11622a0 100644 --- a/cli/Cargo.toml +++ b/cli/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "subxt-cli" -version = "0.19.0" +version = "0.20.0" authors = ["Parity Technologies "] edition = "2021" @@ -16,7 +16,7 @@ path = "src/main.rs" [dependencies] # perform subxt codegen -subxt-codegen = { version = "0.19.0", path = "../codegen" } +subxt-codegen = { version = "0.20.0", path = "../codegen" } # parse command line args structopt = "0.3.25" # make the request to a substrate node to get the metadata diff --git a/codegen/Cargo.toml b/codegen/Cargo.toml index 9042522915..a50280d5cc 100644 --- a/codegen/Cargo.toml +++ b/codegen/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "subxt-codegen" -version = "0.19.0" +version = "0.20.0" authors = ["Parity Technologies "] edition = "2021" diff --git a/examples/Cargo.toml b/examples/Cargo.toml index 81ded58286..b982d9a483 100644 --- a/examples/Cargo.toml +++ b/examples/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "subxt-examples" -version = "0.19.0" +version = "0.20.0" authors = ["Parity Technologies "] edition = "2021" publish = false diff --git a/macro/Cargo.toml b/macro/Cargo.toml index c44ea1f202..480d181296 100644 --- a/macro/Cargo.toml +++ b/macro/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "subxt-macro" -version = "0.19.0" +version = "0.20.0" authors = ["Parity Technologies "] edition = "2021" autotests = false @@ -27,7 +27,7 @@ quote = "1.0.8" syn = "1.0.58" scale-info = "2.0.0" -subxt-codegen = { path = "../codegen", version = "0.19.0" } +subxt-codegen = { path = "../codegen", version = "0.20.0" } [dev-dependencies] pretty_assertions = "1.0.0" diff --git a/subxt/Cargo.toml b/subxt/Cargo.toml index 3c47566620..9ca6342886 100644 --- a/subxt/Cargo.toml +++ b/subxt/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "subxt" -version = "0.19.0" +version = "0.20.0" authors = ["Parity Technologies "] edition = "2021" @@ -26,7 +26,7 @@ serde = { version = "1.0.124", features = ["derive"] } serde_json = "1.0.64" thiserror = "1.0.24" -subxt-macro = { version = "0.19.0", path = "../macro" } +subxt-macro = { version = "0.20.0", path = "../macro" } sp-core = { version = "6.0.0", default-features = false } sp-runtime = "6.0.0" diff --git a/test-runtime/Cargo.toml b/test-runtime/Cargo.toml index 7ee7424920..932934f5c2 100644 --- a/test-runtime/Cargo.toml +++ b/test-runtime/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "test-runtime" -version = "0.19.0" +version = "0.20.0" edition = "2021" [dependencies]