Skip to content

Commit

Permalink
Prepare for wasmi release version 0.26.0 (#667)
Browse files Browse the repository at this point in the history
* add release notes for version 0.26.0

* bump crate versions

* improve and update README
  • Loading branch information
Robbepop committed Feb 11, 2023
1 parent aaee244 commit ee67df9
Show file tree
Hide file tree
Showing 6 changed files with 36 additions and 15 deletions.
23 changes: 23 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,29 @@ 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.26.0`] - 2023-02-11

### Added

- `wasmi` CLI: Add WASI support. (https://github.com/paritytech/wasmi/pull/597)
- Big shoutout to [Onigbinde Oluwamuyiwa Elijah](https://github.com/OLUWAMUYIWA) for contributing this to `wasmi`!
- Add built-in support for fuel metering. (https://github.com/paritytech/wasmi/pull/653)
- This allows to control the runtime of Wasm executions in a deterministic fasion
effectively avoiding the halting problem by charging for executed instructions.
Not using the feature will not affect the execution efficiency of `wasmi` for users.
- Add `Pages::checked_sub` method. (https://github.com/paritytech/wasmi/pull/660)
- Add `Func::new` constructor. (https://github.com/paritytech/wasmi/pull/662)
- This allows to create `Func` instances from closures without statically known types.

### Changed

- Update to `wasmparser-nostd` version `0.100.1`. (https://github.com/paritytech/wasmi/pull/666)

### Internal

- Clean up and reorganization of the `wasmi_cli` crate. (https://github.com/paritytech/wasmi/pull/655)
- Refactoring of internal host call API. (https://github.com/paritytech/wasmi/pull/664)

## [`0.25.0`] - 2023-02-04

### Added
Expand Down
16 changes: 7 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,14 +36,13 @@ such as Wasmtime it is also a decent option for initial prototyping.

The following list states some of the distinct features of `wasmi`.

- Primarily concerned about
- correct and deterministic WebAssembly execution.
- WebAssembly specification compliance.
- Can itself be compiled to and executed via WebAssembly.
- Focus on simple, correct and deterministic WebAssembly execution.
- Can itself run inside of WebAssembly.
- Low-overhead and cross-platform WebAssembly runtime.
- Loosely mirrors the [Wasmtime API](https://docs.rs/wasmtime/)
to act as a drop-in solution.
- Supports resumable function calls.
- Loosely mirrors the [Wasmtime API](https://docs.rs/wasmtime/).
- Resumable function calls.
- Built-in support for fuel metering.
- 100% official WebAssembly spec testsuite compliance.

## WebAssembly Proposals

Expand All @@ -61,7 +60,7 @@ The new `wasmi` engine supports a variety of WebAssembly proposals and will supp
| [`tail-calls`] || Support is planned. [(#363)] |
| [`extended-const`] || Support is planned. [(#638)] |
| | |
| [WASI] | 🟡 | Experimental support via the [`wasmi_wasi` crate]. |
| [WASI] | 🟡 | Experimental support via the [`wasmi_wasi` crate] or the `wasmi` CLI application. |

[`mutable-global`]: https://github.com/WebAssembly/mutable-global
[`saturating-float-to-int`]: https://github.com/WebAssembly/nontrapping-float-to-int-conversions
Expand Down Expand Up @@ -95,7 +94,6 @@ Then run arbitrary `wasm32-unknown-unknown` Wasm blobs via:
```console
wasmi_cli <WASM_FILE> <FUNC_NAME> [<FUNC_ARGS>]*
```
**Note:** As of version `v0.23.1` the `wasmi_cli` application does not yet support WASI out of the box.

### As Rust Library

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.25.0"
version = "0.26.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.25.0" }
wasmi = { path = "../wasmi", version = "0.26.0" }
wat = "1"
anyhow = "1"
wasmi_wasi = { path = "../wasi" }
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.10.0"
version = "0.11.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.25.0", path = "../wasmi" }
wasmi = { version = "0.26.0", path = "../wasmi" }

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

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

0 comments on commit ee67df9

Please sign in to comment.