Unverified Commit 75d3b99c authored by Hero Bird's avatar Hero Bird Committed by GitHub
Browse files

Craft ink! 3.0-rc2 release (#536)

* [releases] add release notes for ink! 3.0-rc2

* [*] bump crate versions to ink! 3.0-rc2

* [releases] add missing ink! 3.0-rc2 release note
parent 22b3014a
Pipeline #111443 passed with stages
in 8 minutes and 11 seconds
# Version 3.0 (2020-10-09)
# Version 3.0-rc2 (2020-10-22)
This is the 2nd release candidate for ink! 3.0.
On top of the changes introduced in the first release candidate for ink! 3.0 we introduced
the following improvements, new features and bug fixes:
- The `ink_storage` crate now comes with a new `BinaryHeap` data structure
that has a very similar interface to the well known Rust standard library
`BinaryHeap`. It features specific optimizations to reduce the storage reads
and writes required for its operations.
- Fixed a bug with `ink_storage::Lazy` that corrupted the storage of
other storage data structures if it was unused in a contract execution.
- The `ink_storage::alloc::Box` type now implements `scale_info::TypeInfo` which
now allows it to be fully used inside other storage data structures such as
`ink_storage::collections::Vec`. The missing of this implementation was
considered a bug.
- The `LazyHashMap` low-level storage abstraction is now re-exported from within
the `ink_storage::lazy` module and docs are inlined.
- Added note about the `ink_core` split into `ink_env` and `ink_storage` crates
to the release notes of ink! 3.0-rc1.
- The `Cargo.toml` documentation now properly links to the one deployed at docs.rs.
On top of that crate level documentation for the `ink_allocator` crate has been
added.
- Add new ERC-20 example contract based on a trait implementation. Also modernized
the old non-trait based ERC-20 example token contract.
# Version 3.0-rc1 (2020-10-09)
Be prepared for the ink! 3.0 release notes because the whole version was basically a rewrite of
all the major components that make up ink!. With our experience gained from previous releases
......
[package]
name = "ink_allocator"
version = "3.0.0-rc1"
version = "3.0.0-rc2"
authors = ["Parity Technologies <admin@parity.io>", "Robin Freyler <robin@parity.io>"]
edition = "2018"
......
[package]
name = "ink_env"
version = "3.0.0-rc1"
version = "3.0.0-rc2"
authors = ["Parity Technologies <admin@parity.io>", "Robin Freyler <robin@parity.io>"]
edition = "2018"
......@@ -15,10 +15,10 @@ categories = ["no-std", "embedded"]
include = ["Cargo.toml", "src/**/*.rs", "README.md", "LICENSE"]
[dependencies]
ink_metadata = { version = "3.0.0-rc1", path = "../metadata/", default-features = false, features = ["derive"], optional = true }
ink_allocator = { version = "3.0.0-rc1", path = "../allocator/", default-features = false }
ink_primitives = { version = "3.0.0-rc1", path = "../primitives/", default-features = false }
ink_prelude = { version = "3.0.0-rc1", path = "../prelude/", default-features = false }
ink_metadata = { version = "3.0.0-rc2", path = "../metadata/", default-features = false, features = ["derive"], optional = true }
ink_allocator = { version = "3.0.0-rc2", path = "../allocator/", default-features = false }
ink_primitives = { version = "3.0.0-rc2", path = "../primitives/", default-features = false }
ink_prelude = { version = "3.0.0-rc2", path = "../prelude/", default-features = false }
scale = { package = "parity-scale-codec", version = "1.3", default-features = false, features = ["derive", "full"] }
derive_more = { version = "0.99", default-features = false, features = ["from", "display"] }
......
[package]
name = "ink_lang"
version = "3.0.0-rc1"
version = "3.0.0-rc2"
authors = ["Parity Technologies <admin@parity.io>", "Robin Freyler <robin@parity.io>"]
edition = "2018"
......@@ -15,12 +15,12 @@ categories = ["no-std", "embedded"]
include = ["Cargo.toml", "src/**/*.rs", "README.md", "LICENSE"]
[dependencies]
ink_env = { version = "3.0.0-rc1", path = "../env", default-features = false }
ink_storage = { version = "3.0.0-rc1", path = "../storage", default-features = false }
ink_primitives = { version = "3.0.0-rc1", path = "../primitives", default-features = false }
ink_metadata = { version = "3.0.0-rc1", path = "../metadata", default-features = false, optional = true }
ink_prelude = { version = "3.0.0-rc1", path = "../prelude/", default-features = false }
ink_lang_macro = { version = "3.0.0-rc1", path = "macro", default-features = false }
ink_env = { version = "3.0.0-rc2", path = "../env", default-features = false }
ink_storage = { version = "3.0.0-rc2", path = "../storage", default-features = false }
ink_primitives = { version = "3.0.0-rc2", path = "../primitives", default-features = false }
ink_metadata = { version = "3.0.0-rc2", path = "../metadata", default-features = false, optional = true }
ink_prelude = { version = "3.0.0-rc2", path = "../prelude/", default-features = false }
ink_lang_macro = { version = "3.0.0-rc2", path = "macro", default-features = false }
scale = { package = "parity-scale-codec", version = "1.3", default-features = false, features = ["derive", "full"] }
derive_more = { version = "0.99", default-features = false, features = ["from"] }
......
[package]
name = "ink_lang_codegen"
version = "3.0.0-rc1"
version = "3.0.0-rc2"
authors = ["Parity Technologies <admin@parity.io>", "Robin Freyler <robin@parity.io>"]
edition = "2018"
......@@ -18,7 +18,7 @@ include = ["Cargo.toml", "src/**/*.rs", "README.md", "LICENSE"]
name = "ink_lang_codegen"
[dependencies]
ir = { version = "3.0.0-rc1", package = "ink_lang_ir", path = "../ir", default-features = false }
ir = { version = "3.0.0-rc2", package = "ink_lang_ir", path = "../ir", default-features = false }
quote = "1"
syn = { version = "1.0", features = ["parsing", "full", "extra-traits"] }
proc-macro2 = "1.0"
......
[package]
name = "ink_lang_ir"
version = "3.0.0-rc1"
version = "3.0.0-rc2"
authors = ["Parity Technologies <admin@parity.io>", "Robin Freyler <robin@parity.io>"]
edition = "2018"
......
[package]
name = "ink_lang_macro"
version = "3.0.0-rc1"
version = "3.0.0-rc2"
authors = ["Parity Technologies <admin@parity.io>", "Robin Freyler <robin@parity.io>"]
edition = "2018"
......@@ -15,19 +15,19 @@ categories = ["no-std", "embedded"]
include = ["Cargo.toml", "src/**/*.rs", "README.md", "LICENSE"]
[dependencies]
ink_lang_ir = { version = "3.0.0-rc1", path = "../ir", default-features = false }
ink_lang_codegen = { version = "3.0.0-rc1", path = "../codegen", default-features = false }
ink_primitives = { version = "3.0.0-rc1", path = "../../primitives/", default-features = false }
ink_lang_ir = { version = "3.0.0-rc2", path = "../ir", default-features = false }
ink_lang_codegen = { version = "3.0.0-rc2", path = "../codegen", default-features = false }
ink_primitives = { version = "3.0.0-rc2", path = "../../primitives/", default-features = false }
scale = { package = "parity-scale-codec", version = "1.3", default-features = false, features = ["derive"] }
syn = "1"
proc-macro2 = "1"
[dev-dependencies]
ink_metadata = { version = "3.0.0-rc1", path = "../../metadata/" }
ink_env = { version = "3.0.0-rc1", path = "../../env/" }
ink_storage = { version = "3.0.0-rc1", path = "../../storage/" }
ink_lang = { version = "3.0.0-rc1", path = ".." }
ink_metadata = { version = "3.0.0-rc2", path = "../../metadata/" }
ink_env = { version = "3.0.0-rc2", path = "../../env/" }
ink_storage = { version = "3.0.0-rc2", path = "../../storage/" }
ink_lang = { version = "3.0.0-rc2", path = ".." }
trybuild = "1.0.24"
scale-info = { version = "0.4", default-features = false, features = ["derive"] }
......
[package]
name = "ink_metadata"
version = "3.0.0-rc1"
version = "3.0.0-rc2"
authors = ["Parity Technologies <admin@parity.io>", "Robin Freyler <robin@parity.io>"]
edition = "2018"
......@@ -15,8 +15,8 @@ categories = ["no-std", "embedded"]
include = ["Cargo.toml", "src/**/*.rs", "README.md", "LICENSE"]
[dependencies]
ink_prelude = { version = "3.0.0-rc1", path = "../prelude/", default-features = false }
ink_primitives = { version = "3.0.0-rc1", path = "../primitives/", default-features = false }
ink_prelude = { version = "3.0.0-rc2", path = "../prelude/", default-features = false }
ink_primitives = { version = "3.0.0-rc2", path = "../primitives/", default-features = false }
serde = { version = "1.0", default-features = false, features = ["derive", "alloc"] }
impl-serde = "0.3.1"
......
[package]
name = "ink_prelude"
version = "3.0.0-rc1"
version = "3.0.0-rc2"
authors = ["Parity Technologies <admin@parity.io>", "Robin Freyler <robin@parity.io>"]
edition = "2018"
......
[package]
name = "ink_primitives"
version = "3.0.0-rc1"
version = "3.0.0-rc2"
authors = ["Parity Technologies <admin@parity.io>", "Robin Freyler <robin@parity.io>"]
edition = "2018"
......@@ -15,7 +15,7 @@ categories = ["no-std", "embedded"]
include = ["/Cargo.toml", "src/**/*.rs", "/README.md", "/LICENSE"]
[dependencies]
ink_prelude = { version = "3.0.0-rc1", path = "../prelude/", default-features = false }
ink_prelude = { version = "3.0.0-rc2", path = "../prelude/", default-features = false }
tiny-keccak = { version = "2.0", features = ["keccak"] }
scale = { package = "parity-scale-codec", version = "1.3", default-features = false, features = ["derive", "full"] }
scale-info = { version = "0.4", default-features = false, features = ["derive"], optional = true }
......
[package]
name = "ink_storage"
version = "3.0.0-rc1"
version = "3.0.0-rc2"
authors = ["Parity Technologies <admin@parity.io>", "Robin Freyler <robin@parity.io>"]
edition = "2018"
......@@ -15,17 +15,17 @@ categories = ["no-std", "embedded"]
include = ["Cargo.toml", "src/**/*.rs", "README.md", "LICENSE"]
[dependencies]
ink_env = { version = "3.0.0-rc1", path = "../env/", default-features = false }
ink_metadata = { version = "3.0.0-rc1", path = "../metadata/", default-features = false, features = ["derive"], optional = true }
ink_primitives = { version = "3.0.0-rc1", path = "../primitives/", default-features = false }
ink_storage_derive = { version = "3.0.0-rc1", path = "derive", default-features = false }
ink_prelude = { version = "3.0.0-rc1", path = "../prelude/", default-features = false }
ink_env = { version = "3.0.0-rc2", path = "../env/", default-features = false }
ink_metadata = { version = "3.0.0-rc2", path = "../metadata/", default-features = false, features = ["derive"], optional = true }
ink_primitives = { version = "3.0.0-rc2", path = "../primitives/", default-features = false }
ink_storage_derive = { version = "3.0.0-rc2", path = "derive", default-features = false }
ink_prelude = { version = "3.0.0-rc2", path = "../prelude/", default-features = false }
scale = { package = "parity-scale-codec", version = "1.3", default-features = false, features = ["derive", "full"] }
derive_more = { version = "0.99", default-features = false, features = ["from", "display"] }
scale-info = { version = "0.4", default-features = false, features = ["derive"], optional = true }
cfg-if = "1.0"
array-init = "0.1"
array-init = "1.0"
generic-array = "0.14.1"
# Workaround: we actually just need criterion as a dev-dependency, but
......
[package]
name = "ink_storage_derive"
version = "3.0.0-rc1"
version = "3.0.0-rc2"
authors = ["Parity Technologies <admin@parity.io>", "Robin Freyler <robin@parity.io>"]
edition = "2018"
......@@ -24,6 +24,6 @@ proc-macro2 = "1.0"
synstructure = "0.12.4"
[dev-dependencies]
ink_primitives = { version = "3.0.0-rc1", path = "../../primitives" }
ink_metadata = { version = "3.0.0-rc1", path = "../../metadata" }
ink_storage = { version = "3.0.0-rc1", path = ".." }
ink_primitives = { version = "3.0.0-rc2", path = "../../primitives" }
ink_metadata = { version = "3.0.0-rc2", path = "../../metadata" }
ink_storage = { version = "3.0.0-rc2", path = ".." }
[package]
name = "delegator"
version = "3.0.0-rc1"
version = "3.0.0-rc2"
authors = ["Parity Technologies <admin@parity.io>"]
edition = "2018"
[dependencies]
ink_primitives = { version = "3.0.0-rc1", path = "../../crates/primitives", default-features = false }
ink_metadata = { version = "3.0.0-rc1", path = "../../crates/metadata", default-features = false, features = ["derive"], optional = true }
ink_env = { version = "3.0.0-rc1", path = "../../crates/env", default-features = false }
ink_storage = { version = "3.0.0-rc1", path = "../../crates/storage", default-features = false }
ink_lang = { version = "3.0.0-rc1", path = "../../crates/lang", default-features = false }
ink_primitives = { version = "3.0.0-rc2", path = "../../crates/primitives", default-features = false }
ink_metadata = { version = "3.0.0-rc2", path = "../../crates/metadata", default-features = false, features = ["derive"], optional = true }
ink_env = { version = "3.0.0-rc2", path = "../../crates/env", default-features = false }
ink_storage = { version = "3.0.0-rc2", path = "../../crates/storage", default-features = false }
ink_lang = { version = "3.0.0-rc2", path = "../../crates/lang", default-features = false }
scale = { package = "parity-scale-codec", version = "1.3", default-features = false, features = ["derive"] }
adder = { version = "3.0.0-rc1", path = "adder", default-features = false, features = ["ink-as-dependency"] }
subber = { version = "3.0.0-rc1", path = "subber", default-features = false, features = ["ink-as-dependency"] }
accumulator = { version = "3.0.0-rc1", path = "accumulator", default-features = false, features = ["ink-as-dependency"] }
adder = { version = "3.0.0-rc2", path = "adder", default-features = false, features = ["ink-as-dependency"] }
subber = { version = "3.0.0-rc2", path = "subber", default-features = false, features = ["ink-as-dependency"] }
accumulator = { version = "3.0.0-rc2", path = "accumulator", default-features = false, features = ["ink-as-dependency"] }
scale-info = { version = "0.4", default-features = false, features = ["derive"], optional = true }
[lib]
......
[package]
name = "accumulator"
version = "3.0.0-rc1"
version = "3.0.0-rc2"
authors = ["Parity Technologies <admin@parity.io>"]
edition = "2018"
[dependencies]
ink_primitives = { version = "3.0.0-rc1", path = "../../../crates/primitives", default-features = false }
ink_metadata = { version = "3.0.0-rc1", path = "../../../crates/metadata", default-features = false, features = ["derive"], optional = true }
ink_env = { version = "3.0.0-rc1", path = "../../../crates/env", default-features = false }
ink_storage = { version = "3.0.0-rc1", path = "../../../crates/storage", default-features = false }
ink_lang = { version = "3.0.0-rc1", path = "../../../crates/lang", default-features = false }
ink_primitives = { version = "3.0.0-rc2", path = "../../../crates/primitives", default-features = false }
ink_metadata = { version = "3.0.0-rc2", path = "../../../crates/metadata", default-features = false, features = ["derive"], optional = true }
ink_env = { version = "3.0.0-rc2", path = "../../../crates/env", default-features = false }
ink_storage = { version = "3.0.0-rc2", path = "../../../crates/storage", default-features = false }
ink_lang = { version = "3.0.0-rc2", path = "../../../crates/lang", default-features = false }
scale = { package = "parity-scale-codec", version = "1.3", default-features = false, features = ["derive"] }
scale-info = { version = "0.4", default-features = false, features = ["derive"], optional = true }
......
[package]
name = "adder"
version = "3.0.0-rc1"
version = "3.0.0-rc2"
authors = ["Parity Technologies <admin@parity.io>"]
edition = "2018"
[dependencies]
ink_primitives = { version = "3.0.0-rc1", path = "../../../crates/primitives", default-features = false }
ink_metadata = { version = "3.0.0-rc1", path = "../../../crates/metadata", default-features = false, features = ["derive"], optional = true }
ink_env = { version = "3.0.0-rc1", path = "../../../crates/env", default-features = false }
ink_storage = { version = "3.0.0-rc1", path = "../../../crates/storage", default-features = false }
ink_lang = { version = "3.0.0-rc1", path = "../../../crates/lang", default-features = false }
ink_primitives = { version = "3.0.0-rc2", path = "../../../crates/primitives", default-features = false }
ink_metadata = { version = "3.0.0-rc2", path = "../../../crates/metadata", default-features = false, features = ["derive"], optional = true }
ink_env = { version = "3.0.0-rc2", path = "../../../crates/env", default-features = false }
ink_storage = { version = "3.0.0-rc2", path = "../../../crates/storage", default-features = false }
ink_lang = { version = "3.0.0-rc2", path = "../../../crates/lang", default-features = false }
accumulator = { version = "3.0.0-rc1", path = "../accumulator", default-features = false, features = ["ink-as-dependency"] }
accumulator = { version = "3.0.0-rc2", path = "../accumulator", default-features = false, features = ["ink-as-dependency"] }
scale = { package = "parity-scale-codec", version = "1.3", default-features = false, features = ["derive"] }
scale-info = { version = "0.4", default-features = false, features = ["derive"], optional = true }
......
[package]
name = "subber"
version = "3.0.0-rc1"
version = "3.0.0-rc2"
authors = ["Parity Technologies <admin@parity.io>"]
edition = "2018"
[dependencies]
ink_primitives = { version = "3.0.0-rc1", path = "../../../crates/primitives", default-features = false }
ink_metadata = { version = "3.0.0-rc1", path = "../../../crates/metadata", default-features = false, features = ["derive"], optional = true }
ink_env = { version = "3.0.0-rc1", path = "../../../crates/env", default-features = false }
ink_storage = { version = "3.0.0-rc1", path = "../../../crates/storage", default-features = false }
ink_lang = { version = "3.0.0-rc1", path = "../../../crates/lang", default-features = false }
ink_primitives = { version = "3.0.0-rc2", path = "../../../crates/primitives", default-features = false }
ink_metadata = { version = "3.0.0-rc2", path = "../../../crates/metadata", default-features = false, features = ["derive"], optional = true }
ink_env = { version = "3.0.0-rc2", path = "../../../crates/env", default-features = false }
ink_storage = { version = "3.0.0-rc2", path = "../../../crates/storage", default-features = false }
ink_lang = { version = "3.0.0-rc2", path = "../../../crates/lang", default-features = false }
accumulator = { version = "3.0.0-rc1", path = "../accumulator", default-features = false, features = ["ink-as-dependency"] }
accumulator = { version = "3.0.0-rc2", path = "../accumulator", default-features = false, features = ["ink-as-dependency"] }
scale = { package = "parity-scale-codec", version = "1.3", default-features = false, features = ["derive"] }
scale-info = { version = "0.4", default-features = false, features = ["derive"], optional = true }
......
[package]
name = "dns"
version = "3.0.0-rc1"
version = "3.0.0-rc2"
authors = ["Parity Technologies <admin@parity.io>"]
edition = "2018"
[dependencies]
ink_primitives = { version = "3.0.0-rc1", path = "../../crates/primitives", default-features = false }
ink_metadata = { version = "3.0.0-rc1", path = "../../crates/metadata", default-features = false, features = ["derive"], optional = true }
ink_env = { version = "3.0.0-rc1", path = "../../crates/env", default-features = false }
ink_storage = { version = "3.0.0-rc1", path = "../../crates/storage", default-features = false }
ink_lang = { version = "3.0.0-rc1", path = "../../crates/lang", default-features = false }
ink_primitives = { version = "3.0.0-rc2", path = "../../crates/primitives", default-features = false }
ink_metadata = { version = "3.0.0-rc2", path = "../../crates/metadata", default-features = false, features = ["derive"], optional = true }
ink_env = { version = "3.0.0-rc2", path = "../../crates/env", default-features = false }
ink_storage = { version = "3.0.0-rc2", path = "../../crates/storage", default-features = false }
ink_lang = { version = "3.0.0-rc2", path = "../../crates/lang", default-features = false }
scale = { package = "parity-scale-codec", version = "1.3", default-features = false, features = ["derive"] }
scale-info = { version = "0.4", default-features = false, features = ["derive"], optional = true }
......
[package]
name = "erc20"
version = "3.0.0-rc1"
version = "3.0.0-rc2"
authors = ["Parity Technologies <admin@parity.io>"]
edition = "2018"
[dependencies]
ink_primitives = { version = "3.0.0-rc1", path = "../../crates/primitives", default-features = false }
ink_metadata = { version = "3.0.0-rc1", path = "../../crates/metadata", default-features = false, features = ["derive"], optional = true }
ink_env = { version = "3.0.0-rc1", path = "../../crates/env", default-features = false }
ink_storage = { version = "3.0.0-rc1", path = "../../crates/storage", default-features = false }
ink_lang = { version = "3.0.0-rc1", path = "../../crates/lang", default-features = false }
ink_primitives = { version = "3.0.0-rc2", path = "../../crates/primitives", default-features = false }
ink_metadata = { version = "3.0.0-rc2", path = "../../crates/metadata", default-features = false, features = ["derive"], optional = true }
ink_env = { version = "3.0.0-rc2", path = "../../crates/env", default-features = false }
ink_storage = { version = "3.0.0-rc2", path = "../../crates/storage", default-features = false }
ink_lang = { version = "3.0.0-rc2", path = "../../crates/lang", default-features = false }
scale = { package = "parity-scale-codec", version = "1.3", default-features = false, features = ["derive"] }
scale-info = { version = "0.4", default-features = false, features = ["derive"], optional = true }
......
[package]
name = "erc721"
version = "3.0.0-rc1"
version = "3.0.0-rc2"
authors = ["Parity Technologies <admin@parity.io>"]
edition = "2018"
[dependencies]
ink_primitives = { version = "3.0.0-rc1", path = "../../crates/primitives", default-features = false }
ink_metadata = { version = "3.0.0-rc1", path = "../../crates/metadata", default-features = false, features = ["derive"], optional = true }
ink_env = { version = "3.0.0-rc1", path = "../../crates/env", default-features = false }
ink_storage = { version = "3.0.0-rc1", path = "../../crates/storage", default-features = false }
ink_lang = { version = "3.0.0-rc1", path = "../../crates/lang", default-features = false }
ink_primitives = { version = "3.0.0-rc2", path = "../../crates/primitives", default-features = false }
ink_metadata = { version = "3.0.0-rc2", path = "../../crates/metadata", default-features = false, features = ["derive"], optional = true }
ink_env = { version = "3.0.0-rc2", path = "../../crates/env", default-features = false }
ink_storage = { version = "3.0.0-rc2", path = "../../crates/storage", default-features = false }
ink_lang = { version = "3.0.0-rc2", path = "../../crates/lang", default-features = false }
scale = { package = "parity-scale-codec", version = "1.3", default-features = false, features = ["derive"] }
scale-info = { version = "0.4", default-features = false, features = ["derive"], optional = true }
......
[package]
name = "flipper"
version = "3.0.0-rc1"
version = "3.0.0-rc2"
authors = ["Parity Technologies <admin@parity.io>"]
edition = "2018"
[dependencies]
ink_primitives = { version = "3.0.0-rc1", path = "../../crates/primitives", default-features = false }
ink_metadata = { version = "3.0.0-rc1", path = "../../crates/metadata", default-features = false, features = ["derive"], optional = true }
ink_env = { version = "3.0.0-rc1", path = "../../crates/env", default-features = false }
ink_storage = { version = "3.0.0-rc1", path = "../../crates/storage", default-features = false }
ink_lang = { version = "3.0.0-rc1", path = "../../crates/lang", default-features = false }
ink_primitives = { version = "3.0.0-rc2", path = "../../crates/primitives", default-features = false }
ink_metadata = { version = "3.0.0-rc2", path = "../../crates/metadata", default-features = false, features = ["derive"], optional = true }
ink_env = { version = "3.0.0-rc2", path = "../../crates/env", default-features = false }
ink_storage = { version = "3.0.0-rc2", path = "../../crates/storage", default-features = false }
ink_lang = { version = "3.0.0-rc2", path = "../../crates/lang", default-features = false }
scale = { package = "parity-scale-codec", version = "1.3", default-features = false, features = ["derive"] }
scale-info = { version = "0.4", default-features = false, features = ["derive"], optional = true }
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment