Skip to content

Commit

Permalink
Prepare release for wasmi version 0.24.0 (#637)
Browse files Browse the repository at this point in the history
* bump versions of crates

* update README Wasm proposal support

* add initial CHANGELOG skeleton for v0.24.0

* update changelog for version 0.24.0
  • Loading branch information
Robbepop authored Jan 31, 2023
1 parent c15d525 commit 044d726
Show file tree
Hide file tree
Showing 7 changed files with 56 additions and 14 deletions.
40 changes: 40 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,46 @@ Additionally we have an `Internal` section for changes that are of interest to d

Dates in this file are formattes as `YYYY-MM-DD`.

## [`0.24.0`] - 2023-01-31

### Added

- Added support for the [`bulk-memory`] Wasm proposal. (https://github.com/paritytech/wasmi/pull/628)
- Added support for the [`reference-types`] Wasm proposal. (https://github.com/paritytech/wasmi/pull/635)
- Added `ValueType::{is_ref, is_num`} methods. (https://github.com/paritytech/wasmi/pull/635)
- Added `Value::{i32, i64, f32, f64, externref, funcref}` accessor methods to `Value`.

[`bulk-memory`]: https://github.com/WebAssembly/bulk-memory-operations
[`reference-types`]: https://github.com/WebAssembly/reference-types

### Fixed

- Fix a bug with `Table` and `Memory` imports not respecting the current size. (https://github.com/paritytech/wasmi/pull/635)
- This sometimes led to the problem that valid `Table` and `Memory` imports
could incorrectly be rejected for having an invalid size for the subtype check.
- This has been fixed as part of the [`reference-types`] Wasm proposal implementation.

### Changed

- Use more references in places to provide the compiler with more optimization opportunities. (https://github.com/paritytech/wasmi/pull/634)
- This led to a speed-up across the board for Wasm targets of about 15-20%.
- Move the `Value` type from `wasmi_core` to `wasmi`. (https://github.com/paritytech/wasmi/pull/636)
- This change was necessary in order to support the [`reference-types`] Wasm proposal.
- There has been some consequences from implementing the [`reference-types`] Wasm proposal which are listed below:
- The `Value` type no longer implements `Copy` and `PartialEq`.
- The `From<&Value> for UntypedValue` impl has been removed.
- Remove some `From` impls for `Value`.
- Moved some `Display` impls for types like `FuncType` and `Value` to the `wasmi_cli` crate.
- Remove the `try_into` API from the `Value` type.
- Users should use the new accessor methods as in the Wasmtime API.

### Internal

- Update `wast` dependency from version `0.44` to `0.52`. (https://github.com/paritytech/wasmi/pull/632)
- Update the Wasm spec testsuite to the most recent commit: `3a04b2cf9`
- Improve error reporting for the internal Wasm spec testsuite runner.
- It will now show proper span information in many more cases.

## [`0.23.0`] - 2023-01-19

> **Note:** This is the Wasmtime API Compatibility update.
Expand Down
14 changes: 8 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,12 +51,12 @@ The new `wasmi` engine supports a variety of WebAssembly proposals and will supp

| WebAssembly Proposal | Status | Comment |
|:--|:--:|:--|
| [`mutable-global`] || |
| [`saturating-float-to-int`] || |
| [`sign-extension`] || |
| [`multi-value`] || |
| [`bulk-memory`] | | Support is planned. [(#364)] |
| [`reference-types`] | | Support is planned. [(#496)] |
| [`mutable-global`] || Since version `0.14.0`. |
| [`saturating-float-to-int`] || Since version `0.14.0`. |
| [`sign-extension`] || Since version `0.14.0`. |
| [`multi-value`] || Since version `0.14.0`. |
| [`bulk-memory`] | | Since version `0.24.0`. [(#628)] |
| [`reference-types`] | | Since version `0.24.0`. [(#635)] |
| [`simd`] || Unlikely to be supported. |
| [`tail-calls`] || Support is planned. [(#363)] |
| | |
Expand All @@ -76,6 +76,8 @@ The new `wasmi` engine supports a variety of WebAssembly proposals and will supp
[(#363)]: https://github.com/paritytech/wasmi/issues/363
[(#364)]: https://github.com/paritytech/wasmi/issues/364
[(#496)]: https://github.com/paritytech/wasmi/issues/496
[(#628)]: https://github.com/paritytech/wasmi/pull/628
[(#635)]: https://github.com/paritytech/wasmi/pull/635

## Usage

Expand Down
2 changes: 1 addition & 1 deletion crates/arena/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "wasmi_arena"
version = "0.3.0"
version = "0.4.0"
documentation = "https://docs.rs/wasmi_arena/"
description = "Entity arena data structures for wasmi"
exclude = ["tests/*", "benches/*"]
Expand Down
4 changes: 2 additions & 2 deletions crates/cli/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "wasmi_cli"
version = "0.23.1"
version = "0.24.0"
documentation = "https://docs.rs/wasmi/"
description = "WebAssembly interpreter"
publish = true
Expand All @@ -14,7 +14,7 @@ categories.workspace = true

[dependencies]
clap = { version = "4", features = ["derive"] }
wasmi = { path = "../wasmi", version = "0.23.0" }
wasmi = { path = "../wasmi", version = "0.24.0" }
wat = "1"
anyhow = "1"

Expand Down
2 changes: 1 addition & 1 deletion crates/core/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "wasmi_core"
version = "0.8.0"
version = "0.9.0"
documentation = "https://docs.rs/wasmi_core"
description = "Core primitives for the wasmi WebAssembly interpreter"
authors.workspace = true
Expand Down
2 changes: 1 addition & 1 deletion crates/wasi/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ edition = "2021"
wasi-common = "2.0"
wasi-cap-std-sync = "2.0"
wiggle = { version = "2.0", default-features = false, features = ["wiggle_metadata"] }
wasmi = { version = "0.23.0", path = "../wasmi" }
wasmi = { version = "0.24.0", path = "../wasmi" }

[dev-dependencies]
wat = "1.0.50"
6 changes: 3 additions & 3 deletions crates/wasmi/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "wasmi"
version = "0.23.0"
version = "0.24.0"
documentation = "https://docs.rs/wasmi/"
description = "WebAssembly interpreter"
exclude = ["tests/*", "benches/*"]
Expand All @@ -14,8 +14,8 @@ categories.workspace = true

[dependencies]
wasmparser = { version = "0.91", package = "wasmparser-nostd", default-features = false }
wasmi_core = { version = "0.8", path = "../core", default-features = false }
wasmi_arena = { version = "0.3", path = "../arena", default-features = false }
wasmi_core = { version = "0.9", path = "../core", default-features = false }
wasmi_arena = { version = "0.4", path = "../arena", default-features = false }
spin = { version = "0.9", default-features = false, features = [
"mutex",
"spin_mutex",
Expand Down

0 comments on commit 044d726

Please sign in to comment.