Skip to content

Commit

Permalink
Release Version 3.0.1 (#1190)
Browse files Browse the repository at this point in the history
* Bump `ink_lang_codegen` crate to `v3.0.1`

* Actually, don't bump in `ink_lang_macro`

* Bump to version `3.0.1`

* Add release notes

* Add section for `examples/` release procedure

* Add some details to release checklist

* Move `Version 3.0.1` out of `Unreleased`

* More updates to the release checklist

* Mark all examples as `publish = false`

* Make release notes consistent with old releases

Co-authored-by: Michael Müller <mich@elmueller.net>

* Add mention to `crates.io`

* `package.publish` value shouldn't be a string

* Update RELEASES_CHECKLIST.md

* Update RELEASES_CHECKLIST.md

Co-authored-by: Michael Müller <mich@elmueller.net>
  • Loading branch information
HCastano and cmichi committed Apr 6, 2022
1 parent 6f105c2 commit 905caa4
Show file tree
Hide file tree
Showing 36 changed files with 249 additions and 198 deletions.
11 changes: 11 additions & 0 deletions RELEASES.md
@@ -1,3 +1,14 @@
# [Unreleased]

# Version 3.0.1

## Changed
- Improve upgradeable examples folder structure, explain differences ‒ [#1188](https://github.com/paritytech/ink/pull/1188)

## Fixed
- Update codegen after SCALE v3.1.2 release ‒ [#1189](https://github.com/paritytech/ink/pull/1189)
- Stop using `CallData` in `multisig` example doc test ‒ [#1202](https://github.com/paritytech/ink/pull/1202)

# Version 3.0.0

This is the stable release for ink! 3.0.
Expand Down
46 changes: 34 additions & 12 deletions RELEASES_CHECKLIST.md
@@ -1,8 +1,5 @@
# How to release

Obviously there has to be an ink! PR, it has to be approved by core team
members, and the CI has to be green.

Generally, we bump and publish the versions of all crates in this
mono-repository in lockstep.
It does not matter if it's a `PATCH`, `MINOR`, `MAJOR` release.
Expand All @@ -21,26 +18,51 @@ Reasons for doing it this way:
released at the same time.
* Third party tooling like dependabot can easily extract the changelog.

## Examples

Examples (so anything in the `examples/` folder) are a bit of a special case in our
release pipeline since they are considered as ink! internals and not part of the library
per-say.

What this means is that any changes to the examples (breaking or not) should only be
considered a `PATCH` level change. Additionally, they should not be published to
crates.io.


## Checklist

1. Make sure you've moved the changes in the `RELEASES.md` from `[Unreleased]` into a new section for the release.
1. Check that all PRs since the last release are now in the new release section, in case the `[Unreleased]` section was incomplete.
1. Create a new feature branch of `master`.
1. Bump the version in all TOML files to the new version.
```
find . -type f -name *.toml -exec sed -i -e 's/$OLD_VERSION/$NEW_VERSION/g' {} \;
```
1. Make sure you've moved the changes in the `RELEASES.md` from `[Unreleased]` into a new
section for the release.
1. Check that all notable PRs since the last release are now in the new release section,
in case the `[Unreleased]` section was incomplete.<br>
Notable changes are changes that affect users in some way. This means that something
like a change to our CI pipeline is likely not notable and should not be included.
1. Make sure you've merged the latest `master` into your branch.
1. Open a release PR
1. Wait for approvals from Core team members
1. Ensure the entire CI pipeline is green
1. Execute `cargo unleash em-dragons --dry-run` in the ink! repository.
1. If successful, execute `cargo unleash em-dragons`.<br><br>
1. If successful, execute `cargo unleash em-dragons`.<br>
In some versions of `cargo-unleash` there is a bug during publishing.
If this is the case you need to do it manually, by executing `cargo publish --allow-dirty`
for the individual crates. The `--allow-dirty` is necessary because `cargo-unleash`
will have removed all `[dev-dependencies]`.
1. Merge the PR if everything went fine.
1. Merge the PR into `master` if everything went fine.
We do this _after_ publishing since the publishing step can fail and we want to ensure
that what gets merged into `master` is what actually got published.
1. Replace `vX.X.X` with the new version in the following command and then execute it:
```
git checkout master && git pull && git tag vX.X.X && git push origin vX.X.X
```
```
git checkout master && git pull && git tag vX.X.X && git push origin vX.X.X
```
1. Create a GitHub release for this tag. In the [tag overview](https://github.com/paritytech/ink/tags)
you'll see your new tag appear. Click the `` on the right of the tag and then `Create release`.
1. Paste the release notes that appear in the [`RELEASES.md`](https://github.com/paritytech/ink/blob/master/RELEASES.md)
there. The title of the release should be `vX.X.X`.
1. Post an announcement to those Element channels:
* [Smart Contracts & Parity ink!](https://matrix.to/#/#ink:matrix.parity.io)
* [ink! Announcements](https://matrix.to/#/#ink-announcements:matrix.parity.io)
* [Smart Contracts & Parity ink!](https://matrix.to/#/#ink:matrix.parity.io)
* [ink! Announcements](https://matrix.to/#/#ink-announcements:matrix.parity.io)
2 changes: 1 addition & 1 deletion crates/allocator/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "ink_allocator"
version = "3.0.0"
version = "3.0.1"
authors = ["Parity Technologies <admin@parity.io>", "Robin Freyler <robin@parity.io>"]
edition = "2021"

Expand Down
2 changes: 1 addition & 1 deletion crates/engine/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "ink_engine"
version = "3.0.0"
version = "3.0.1"
authors = ["Parity Technologies <admin@parity.io>", "Michael Müller <michi@parity.io>"]
edition = "2021"

Expand Down
12 changes: 6 additions & 6 deletions crates/env/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "ink_env"
version = "3.0.0"
version = "3.0.1"
authors = ["Parity Technologies <admin@parity.io>", "Robin Freyler <robin@parity.io>"]
edition = "2021"

Expand All @@ -15,10 +15,10 @@ categories = ["no-std", "embedded"]
include = ["Cargo.toml", "src/**/*.rs", "README.md", "LICENSE"]

[dependencies]
ink_metadata = { version = "3.0.0", path = "../metadata/", default-features = false, features = ["derive"], optional = true }
ink_allocator = { version = "3.0.0", path = "../allocator/", default-features = false }
ink_primitives = { version = "3.0.0", path = "../primitives/", default-features = false }
ink_prelude = { version = "3.0.0", path = "../prelude/", default-features = false }
ink_metadata = { version = "3.0.1", path = "../metadata/", default-features = false, features = ["derive"], optional = true }
ink_allocator = { version = "3.0.1", path = "../allocator/", default-features = false }
ink_primitives = { version = "3.0.1", path = "../primitives/", default-features = false }
ink_prelude = { version = "3.0.1", path = "../prelude/", default-features = false }

scale = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive", "full"] }
derive_more = { version = "0.99", default-features = false, features = ["from", "display"] }
Expand All @@ -32,7 +32,7 @@ static_assertions = "1.1"
rlibc = "1"

[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
ink_engine = { version = "3.0.0", path = "../engine/", optional = true }
ink_engine = { version = "3.0.1", path = "../engine/", optional = true }

# Hashes for the off-chain environment.
sha2 = { version = "0.10", optional = true }
Expand Down
4 changes: 2 additions & 2 deletions crates/eth_compatibility/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "ink_eth_compatibility"
version = "3.0.0"
version = "3.0.1"
authors = ["Parity Technologies <admin@parity.io>"]
edition = "2021"

Expand All @@ -15,7 +15,7 @@ categories = ["no-std", "embedded"]
include = ["Cargo.toml", "src/**/*.rs", "/README.md", "/LICENSE"]

[dependencies]
ink_env = { version = "3.0.0", path = "../env", default-features = false }
ink_env = { version = "3.0.1", path = "../env", default-features = false }

[target.'cfg(not(target_os = "windows"))'.dependencies]
# We do not include `libsecp256k1` on Windows, since it's incompatible.
Expand Down
20 changes: 10 additions & 10 deletions crates/lang/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "ink_lang"
version = "3.0.0"
version = "3.0.1"
authors = ["Parity Technologies <admin@parity.io>", "Robin Freyler <robin@parity.io>"]
edition = "2021"

Expand All @@ -15,20 +15,20 @@ categories = ["no-std", "embedded"]
include = ["Cargo.toml", "src/**/*.rs", "README.md", "LICENSE"]

[dependencies]
ink_env = { version = "3.0.0", path = "../env", default-features = false }
ink_storage = { version = "3.0.0", path = "../storage", default-features = false }
ink_primitives = { version = "3.0.0", path = "../primitives", default-features = false }
ink_metadata = { version = "3.0.0", path = "../metadata", default-features = false, optional = true }
ink_prelude = { version = "3.0.0", path = "../prelude", default-features = false }
ink_eth_compatibility = { version = "3.0.0", path = "../eth_compatibility", default-features = false }
ink_lang_macro = { version = "3.0.0", path = "macro", default-features = false }
ink_env = { version = "3.0.1", path = "../env", default-features = false }
ink_storage = { version = "3.0.1", path = "../storage", default-features = false }
ink_primitives = { version = "3.0.1", path = "../primitives", default-features = false }
ink_metadata = { version = "3.0.1", path = "../metadata", default-features = false, optional = true }
ink_prelude = { version = "3.0.1", path = "../prelude", default-features = false }
ink_eth_compatibility = { version = "3.0.1", path = "../eth_compatibility", default-features = false }
ink_lang_macro = { version = "3.0.1", path = "macro", default-features = false }

scale = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive", "full"] }
derive_more = { version = "0.99", default-features = false, features = ["from"] }

[dev-dependencies]
ink_lang_ir = { version = "3.0.0", path = "ir" }
ink_metadata = { version = "3.0.0", default-features = false, path = "../metadata" }
ink_lang_ir = { version = "3.0.1", path = "ir" }
ink_metadata = { version = "3.0.1", default-features = false, path = "../metadata" }

trybuild = { version = "1.0.52", features = ["diff"] }
# Required for the doctest of `env_access::EnvAccess::instantiate_contract`
Expand Down
4 changes: 2 additions & 2 deletions crates/lang/codegen/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "ink_lang_codegen"
version = "3.0.0"
version = "3.0.1"
authors = ["Parity Technologies <admin@parity.io>", "Robin Freyler <robin@parity.io>"]
edition = "2021"

Expand All @@ -18,7 +18,7 @@ include = ["Cargo.toml", "src/**/*.rs", "README.md", "LICENSE"]
name = "ink_lang_codegen"

[dependencies]
ir = { version = "3.0.0", package = "ink_lang_ir", path = "../ir", default-features = false }
ir = { version = "3.0.1", package = "ink_lang_ir", path = "../ir", default-features = false }
quote = "1"
syn = { version = "1.0", features = ["parsing", "full", "extra-traits"] }
proc-macro2 = "1.0"
Expand Down
2 changes: 1 addition & 1 deletion crates/lang/ir/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "ink_lang_ir"
version = "3.0.0"
version = "3.0.1"
authors = ["Parity Technologies <admin@parity.io>", "Robin Freyler <robin@parity.io>"]
edition = "2021"

Expand Down
16 changes: 8 additions & 8 deletions crates/lang/macro/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "ink_lang_macro"
version = "3.0.0"
version = "3.0.1"
authors = ["Parity Technologies <admin@parity.io>", "Robin Freyler <robin@parity.io>"]
edition = "2021"

Expand All @@ -15,19 +15,19 @@ categories = ["no-std", "embedded"]
include = ["Cargo.toml", "src/**/*.rs", "README.md", "LICENSE"]

[dependencies]
ink_lang_ir = { version = "3.0.0", path = "../ir", default-features = false }
ink_lang_codegen = { version = "3.0.0", path = "../codegen", default-features = false }
ink_primitives = { version = "3.0.0", path = "../../primitives/", default-features = false }
ink_lang_ir = { version = "3.0.1", path = "../ir", default-features = false }
ink_lang_codegen = { version = "3.0.1", path = "../codegen", default-features = false }
ink_primitives = { version = "3.0.1", path = "../../primitives/", default-features = false }

scale = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive"] }
syn = "1"
proc-macro2 = "1"

[dev-dependencies]
ink_metadata = { version = "3.0.0", path = "../../metadata/" }
ink_env = { version = "3.0.0", path = "../../env/" }
ink_storage = { version = "3.0.0", path = "../../storage/" }
ink_lang = { version = "3.0.0", path = ".." }
ink_metadata = { version = "3.0.1", path = "../../metadata/" }
ink_env = { version = "3.0.1", path = "../../env/" }
ink_storage = { version = "3.0.1", path = "../../storage/" }
ink_lang = { version = "3.0.1", path = ".." }
scale-info = { version = "2", default-features = false, features = ["derive"] }

[lib]
Expand Down
6 changes: 3 additions & 3 deletions crates/metadata/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "ink_metadata"
version = "3.0.0"
version = "3.0.1"
authors = ["Parity Technologies <admin@parity.io>", "Robin Freyler <robin@parity.io>"]
edition = "2021"

Expand All @@ -15,8 +15,8 @@ categories = ["no-std", "embedded"]
include = ["Cargo.toml", "src/**/*.rs", "README.md", "LICENSE"]

[dependencies]
ink_prelude = { version = "3.0.0", path = "../prelude/", default-features = false }
ink_primitives = { version = "3.0.0", path = "../primitives/", default-features = false }
ink_prelude = { version = "3.0.1", path = "../prelude/", default-features = false }
ink_primitives = { version = "3.0.1", path = "../primitives/", default-features = false }

serde = { version = "1.0", default-features = false, features = ["derive", "alloc"] }
impl-serde = "0.3.1"
Expand Down
2 changes: 1 addition & 1 deletion crates/prelude/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "ink_prelude"
version = "3.0.0"
version = "3.0.1"
authors = ["Parity Technologies <admin@parity.io>", "Robin Freyler <robin@parity.io>"]
edition = "2021"

Expand Down
4 changes: 2 additions & 2 deletions crates/primitives/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "ink_primitives"
version = "3.0.0"
version = "3.0.1"
authors = ["Parity Technologies <admin@parity.io>", "Robin Freyler <robin@parity.io>"]
edition = "2021"

Expand All @@ -15,7 +15,7 @@ categories = ["no-std", "embedded"]
include = ["/Cargo.toml", "src/**/*.rs", "/README.md", "/LICENSE"]

[dependencies]
ink_prelude = { version = "3.0.0", path = "../prelude/", default-features = false }
ink_prelude = { version = "3.0.1", path = "../prelude/", default-features = false }
scale = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive", "full"] }
scale-info = { version = "2", default-features = false, features = ["derive"], optional = true }
cfg-if = "1"
Expand Down
14 changes: 7 additions & 7 deletions crates/storage/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "ink_storage"
version = "3.0.0"
version = "3.0.1"
authors = ["Parity Technologies <admin@parity.io>", "Robin Freyler <robin@parity.io>"]
edition = "2021"

Expand All @@ -15,11 +15,11 @@ categories = ["no-std", "embedded"]
include = ["Cargo.toml", "src/**/*.rs", "README.md", "LICENSE"]

[dependencies]
ink_env = { version = "3.0.0", path = "../env/", default-features = false }
ink_metadata = { version = "3.0.0", path = "../metadata/", default-features = false, features = ["derive"], optional = true }
ink_primitives = { version = "3.0.0", path = "../primitives/", default-features = false }
ink_storage_derive = { version = "3.0.0", path = "derive", default-features = false }
ink_prelude = { version = "3.0.0", path = "../prelude/", default-features = false }
ink_env = { version = "3.0.1", path = "../env/", default-features = false }
ink_metadata = { version = "3.0.1", path = "../metadata/", default-features = false, features = ["derive"], optional = true }
ink_primitives = { version = "3.0.1", path = "../primitives/", default-features = false }
ink_storage_derive = { version = "3.0.1", path = "derive", default-features = false }
ink_prelude = { version = "3.0.1", path = "../prelude/", default-features = false }

scale = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive", "full"] }
derive_more = { version = "0.99", default-features = false, features = ["from", "display"] }
Expand All @@ -33,7 +33,7 @@ quickcheck_macros = "1.0"
itertools = "0.10"
paste = "1.0"

ink_lang = { version = "3.0.0", path = "../lang/", default-features = false }
ink_lang = { version = "3.0.1", path = "../lang/", default-features = false }

[features]
default = ["std"]
Expand Down
12 changes: 6 additions & 6 deletions crates/storage/derive/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "ink_storage_derive"
version = "3.0.0"
version = "3.0.1"
authors = ["Parity Technologies <admin@parity.io>", "Robin Freyler <robin@parity.io>"]
edition = "2021"

Expand All @@ -25,8 +25,8 @@ synstructure = "0.12.4"

[dev-dependencies]
scale = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive", "full"] }
ink_env = { version = "3.0.0", path = "../../env" }
ink_primitives = { version = "3.0.0", path = "../../primitives" }
ink_metadata = { version = "3.0.0", path = "../../metadata" }
ink_prelude = { version = "3.0.0", path = "../../prelude/" }
ink_storage = { version = "3.0.0", path = ".." }
ink_env = { version = "3.0.1", path = "../../env" }
ink_primitives = { version = "3.0.1", path = "../../primitives" }
ink_metadata = { version = "3.0.1", path = "../../metadata" }
ink_prelude = { version = "3.0.1", path = "../../prelude/" }
ink_storage = { version = "3.0.1", path = ".." }
13 changes: 7 additions & 6 deletions examples/contract-terminate/Cargo.toml
@@ -1,15 +1,16 @@
[package]
name = "contract_terminate"
version = "3.0.0"
version = "3.0.1"
authors = ["Parity Technologies <admin@parity.io>"]
edition = "2021"
publish = false

[dependencies]
ink_primitives = { version = "3.0.0", path = "../../crates/primitives", default-features = false }
ink_metadata = { version = "3.0.0", path = "../../crates/metadata", default-features = false, features = ["derive"], optional = true }
ink_env = { version = "3.0.0", path = "../../crates/env", default-features = false }
ink_storage = { version = "3.0.0", path = "../../crates/storage", default-features = false }
ink_lang = { version = "3.0.0", path = "../../crates/lang", default-features = false }
ink_primitives = { version = "3.0.1", path = "../../crates/primitives", default-features = false }
ink_metadata = { version = "3.0.1", path = "../../crates/metadata", default-features = false, features = ["derive"], optional = true }
ink_env = { version = "3.0.1", path = "../../crates/env", default-features = false }
ink_storage = { version = "3.0.1", path = "../../crates/storage", default-features = false }
ink_lang = { version = "3.0.1", path = "../../crates/lang", default-features = false }

scale = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive"] }
scale-info = { version = "2", default-features = false, features = ["derive"], optional = true }
Expand Down
15 changes: 8 additions & 7 deletions examples/contract-transfer/Cargo.toml
@@ -1,16 +1,17 @@
[package]
name = "contract_transfer"
version = "3.0.0"
version = "3.0.1"
authors = ["Parity Technologies <admin@parity.io>"]
edition = "2021"
publish = false

[dependencies]
ink_primitives = { version = "3.0.0", path = "../../crates/primitives", default-features = false }
ink_metadata = { version = "3.0.0", path = "../../crates/metadata", default-features = false, features = ["derive"], optional = true }
ink_env = { version = "3.0.0", path = "../../crates/env", default-features = false, features = [ "ink-debug" ] }
ink_storage = { version = "3.0.0", path = "../../crates/storage", default-features = false }
ink_lang = { version = "3.0.0", path = "../../crates/lang", default-features = false }
ink_prelude = { version = "3.0.0", path = "../../crates/prelude", default-features = false }
ink_primitives = { version = "3.0.1", path = "../../crates/primitives", default-features = false }
ink_metadata = { version = "3.0.1", path = "../../crates/metadata", default-features = false, features = ["derive"], optional = true }
ink_env = { version = "3.0.1", path = "../../crates/env", default-features = false, features = [ "ink-debug" ] }
ink_storage = { version = "3.0.1", path = "../../crates/storage", default-features = false }
ink_lang = { version = "3.0.1", path = "../../crates/lang", default-features = false }
ink_prelude = { version = "3.0.1", path = "../../crates/prelude", default-features = false }

scale = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive"] }
scale-info = { version = "2", default-features = false, features = ["derive"], optional = true }
Expand Down

0 comments on commit 905caa4

Please sign in to comment.