Skip to content

Commit

Permalink
Prepare Wasmi v0.32.0-beta.3 release (#886)
Browse files Browse the repository at this point in the history
* update changelog for notable changes since v0.32.0-beta.2

* bump crate versions
  • Loading branch information
Robbepop authored Jan 12, 2024
1 parent bd6f740 commit 9594504
Show file tree
Hide file tree
Showing 4 changed files with 18 additions and 7 deletions.
13 changes: 12 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ 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.32.0-beta.1`] - 2023-12-18
## [`0.32.0-beta.3`] - 2024-01-12

**Note:**

Expand Down Expand Up @@ -50,6 +50,9 @@ Dates in this file are formattes as `YYYY-MM-DD`.
let mut config = wasmi::Config::default();
config.compilation_mode(wasmi::CompilationMode::Lazy);
```
- When `CompilationMode::Lazy` or `CompilationMode::LazyTranslation` and fuel metering is enabled
the first function access that triggers compilation (and validation) will charge fuel respective
to the number of bytes of the Wasm function body. (https://github.com/paritytech/wasmi/pull/876)
- Added `Module::validate` API. (https://github.com/paritytech/wasmi/pull/840)
- This allows to quickly check if a Wasm binary is valid according to a Wasmi `Engine` config.
- Note that this does not translate the Wasm and thus `Module::new` or `Module::new_unchecked`
Expand All @@ -62,12 +65,20 @@ Dates in this file are formattes as `YYYY-MM-DD`.
- We expect those Wasm proposals to be stabilized very soon so we feel safe to enable them by default already.
- Improve `Debug` and `Display` impls for NaNs of Wasm `f32` and `f64` values.
- They now show `nan:0x{bytes}` where `{bytes}` is their respective raw bytes.
- Implement `Sync` for `ResumableInvocation` and `TypedResumableInvocation`. (https://github.com/paritytech/wasmi/pull/870)

### Removed

- Removed the stack-machine bytecode based Wasmi `Engine` backend. (https://github.com/paritytech/wasmi/pull/818)
- The new register-machine bytecode based Wasmi `Engine` is more promising
and the Wasmi team does not want to maintain two different engine backends.
- Remove `FuelConsumptionMode` from `Config`. (https://github.com/paritytech/wasmi/pull/877)
- `FuelConsumptionMode` was required to differentiate between lazy and eager fuel consumption.
This was necessary due to how lazy fuel consumption was implemented in that it would pre-charge
for instruction execution were the exact amount of required fuel was not possible to determine
at compilation time. Examples are `memory.grow` and `table.copy` instructions. The linked PR
improved lazy fuel consumption to no longer pre-charge and instead pre-check if the operation
is going to succeed and only charge fuel in that case.

### Dev. Note

Expand Down
6 changes: 3 additions & 3 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.32.0-beta.2"
version = "0.32.0-beta.3"
documentation = "https://docs.rs/wasmi/"
description = "WebAssembly interpreter"
authors.workspace = true
Expand All @@ -14,8 +14,8 @@ categories.workspace = true
[dependencies]
anyhow = "1"
clap = { version = "4", features = ["derive"] }
wasmi = { version = "0.32.0-beta.2", path = "../wasmi" }
wasmi_wasi = { version = "0.32.0-beta.2", path = "../wasi" }
wasmi = { version = "0.32.0-beta.3", path = "../wasmi" }
wasmi_wasi = { version = "0.32.0-beta.3", path = "../wasi" }
wat = "1"

[dev-dependencies]
Expand Down
4 changes: 2 additions & 2 deletions crates/wasi/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "wasmi_wasi"
version = "0.32.0-beta.2"
version = "0.32.0-beta.3"
documentation = "https://docs.rs/wasmi_wasi"
description = "WASI library support for the wasmi interpreter"
authors.workspace = true
Expand All @@ -15,7 +15,7 @@ categories.workspace = true
wasi-common = "2.0"
wasi-cap-std-sync = "2.0"
wiggle = { version = "2.0", default-features = false, features = ["wiggle_metadata"] }
wasmi = { version = "0.32.0-beta.2", path = "../wasmi" }
wasmi = { version = "0.32.0-beta.3", path = "../wasmi" }

[dev-dependencies]
wat = "1.0.50"
Expand Down
2 changes: 1 addition & 1 deletion crates/wasmi/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "wasmi"
version = "0.32.0-beta.2"
version = "0.32.0-beta.3"
documentation = "https://docs.rs/wasmi/"
description = "WebAssembly interpreter"
exclude = ["tests/*", "benches/*"]
Expand Down

0 comments on commit 9594504

Please sign in to comment.