From 5aa9631766dfa9f609567903e3d631c88f42740c Mon Sep 17 00:00:00 2001 From: Robin Freyler Date: Mon, 21 Jul 2025 18:03:46 +0200 Subject: [PATCH 1/3] bump Wasmi crate versions --- Cargo.lock | 38 +++++++++++++++++++------------------- Cargo.toml | 20 ++++++++++---------- 2 files changed, 29 insertions(+), 29 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 1cb13c575d..3e4495ac88 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -691,7 +691,7 @@ dependencies = [ "arbitrary", "libfuzzer-sys", "wasm-smith", - "wasmi 0.47.0", + "wasmi 0.48.0", "wasmi_fuzz", "wasmprinter 0.228.0", ] @@ -1699,7 +1699,7 @@ dependencies = [ [[package]] name = "wasmi" -version = "0.47.0" +version = "0.48.0" dependencies = [ "arrayvec", "assert_matches", @@ -1708,7 +1708,7 @@ dependencies = [ "smallvec", "spin", "wasmi_collections", - "wasmi_core 0.47.0", + "wasmi_core 0.48.0", "wasmi_ir", "wasmparser 0.228.0", "wat", @@ -1722,22 +1722,22 @@ checksum = "104a7f73be44570cac297b3035d76b169d6599637631cf37a1703326a0727073" [[package]] name = "wasmi_c_api" -version = "0.47.0" +version = "0.48.0" dependencies = [ "wasmi_c_api_impl", ] [[package]] name = "wasmi_c_api_impl" -version = "0.47.0" +version = "0.48.0" dependencies = [ - "wasmi 0.47.0", + "wasmi 0.48.0", "wasmi_c_api_macros", ] [[package]] name = "wasmi_c_api_macros" -version = "0.47.0" +version = "0.48.0" dependencies = [ "proc-macro2", "quote", @@ -1745,18 +1745,18 @@ dependencies = [ [[package]] name = "wasmi_cli" -version = "0.47.0" +version = "0.48.0" dependencies = [ "anyhow", "assert_cmd", "clap", - "wasmi 0.47.0", + "wasmi 0.48.0", "wasmi_wasi", ] [[package]] name = "wasmi_collections" -version = "0.47.0" +version = "0.48.0" dependencies = [ "hashbrown", "string-interner", @@ -1776,47 +1776,47 @@ dependencies = [ [[package]] name = "wasmi_core" -version = "0.47.0" +version = "0.48.0" dependencies = [ "libm", ] [[package]] name = "wasmi_fuzz" -version = "0.47.0" +version = "0.48.0" dependencies = [ "anyhow", "arbitrary", "sha2", "wasm-smith", "wasmi 0.31.2", - "wasmi 0.47.0", + "wasmi 0.48.0", "wasmprinter 0.228.0", "wasmtime", ] [[package]] name = "wasmi_ir" -version = "0.47.0" +version = "0.48.0" dependencies = [ - "wasmi_core 0.47.0", + "wasmi_core 0.48.0", ] [[package]] name = "wasmi_wasi" -version = "0.47.0" +version = "0.48.0" dependencies = [ "wasi-common", - "wasmi 0.47.0", + "wasmi 0.48.0", "wiggle", ] [[package]] name = "wasmi_wast" -version = "0.47.0" +version = "0.48.0" dependencies = [ "anyhow", - "wasmi 0.47.0", + "wasmi 0.48.0", "wast 228.0.0", ] diff --git a/Cargo.toml b/Cargo.toml index f3c34c3646..6614f0cd7b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -18,7 +18,7 @@ resolver = "2" [workspace.package] authors = ["Robin Freyler "] repository = "https://github.com/wasmi-labs/wasmi" -version = "0.47.0" +version = "0.48.0" rust-version = "1.86" edition = "2021" readme = "README.md" @@ -30,15 +30,15 @@ exclude = ["tests"] [workspace.dependencies] # Wasmi crates -wasmi = { version = "0.47.0", path = "crates/wasmi", default-features = false } -wasmi_wasi = { version = "0.47.0", path = "crates/wasi", default-features = false } -wasmi_core = { version = "0.47.0", path = "crates/core", default-features = false } -wasmi_ir = { version = "0.47.0", path = "crates/ir", default-features = false } -wasmi_collections = { version = "0.47.0", path = "crates/collections", default-features = false } -wasmi_c_api_impl = { version = "0.47.0", path = "crates/c_api" } -wasmi_c_api_macros = { version = "0.47.0", path = "crates/c_api/macro" } -wasmi_fuzz = { version = "0.47.0", path = "crates/fuzz" } -wasmi_wast = { version = "0.47.0", path = "crates/wast" } +wasmi = { version = "0.48.0", path = "crates/wasmi", default-features = false } +wasmi_wasi = { version = "0.48.0", path = "crates/wasi", default-features = false } +wasmi_core = { version = "0.48.0", path = "crates/core", default-features = false } +wasmi_ir = { version = "0.48.0", path = "crates/ir", default-features = false } +wasmi_collections = { version = "0.48.0", path = "crates/collections", default-features = false } +wasmi_c_api_impl = { version = "0.48.0", path = "crates/c_api" } +wasmi_c_api_macros = { version = "0.48.0", path = "crates/c_api/macro" } +wasmi_fuzz = { version = "0.48.0", path = "crates/fuzz" } +wasmi_wast = { version = "0.48.0", path = "crates/wast" } # wasm-tools dependencies wat = { version = "1.228.0", default-features = false } From 9738a676a088e2d23d0ef615749b257c212c178f Mon Sep 17 00:00:00 2001 From: Robin Freyler Date: Mon, 21 Jul 2025 18:20:41 +0200 Subject: [PATCH 2/3] add outline of v0.48.0 changelog --- CHANGELOG.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 676e407b90..9bc5d14238 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,16 @@ 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.48.0` - 2025-07-21 + +### Added + +### Changed + +### Fixed + +### Internal + ## `0.47.0` - 2025-05-30 ### Changed From 73203abf21d6d2a3c11fff450b48b7232ee55222 Mon Sep 17 00:00:00 2001 From: Robin Freyler Date: Mon, 21 Jul 2025 20:00:14 +0200 Subject: [PATCH 3/3] add changelog for Wasmi v0.48.0 --- CHANGELOG.md | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9bc5d14238..689faa1f31 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,12 +12,57 @@ Dates in this file are formattes as `YYYY-MM-DD`. ### Added +- Added Wasm `reinterpret` operators to `wasmi_core::wasm` API. + ### Changed +- Marked `Module::new_streaming[_unchecked]` API deprecated. [#1540] + - Reason for the deprecation: + - The streaming Wasm module creation is not a great fit for Wasmi's target usage. + - No users are known that depend on this functionality - please inform us if you do! + - Streaming Wasm module creating has a performance overhead when not needed. +- Changed `CompilationMode` default to `CompilationMode::LazyTranslation`. [#1530] + - With this default Wasm is still validated eagerly but tranlated to Wasmi IR lazily. + This gives the best of both worlds: fast startup times while avoiding partial validation. +- Update Wasmtime dependencies to v34. [#1563] + ### Fixed +- Fixed a bug that `f{32,64}.copysign` with immediate `rhs` operands won't bump fuel. [#1539] +- Fixed incorrect optimization application for `i64.mul_wide_s`. [#1545] [#1546] +- Fixed an `integer-overflow` that could happen when reading or writing memory. [#1554] + ### Internal +- Optimize `ControlFrame` memory footprint slightly. [#1534] +- Slightly optimize `fuse_nez` and `fuse_eqz` routines. [#1559] +- Simplified lots of `FuncTranslator` logic. E.g. [#1542] [#1550] [#1552] +- Add some new Wasmi specific `.wast` test cases. [#1561] [#1562] +- Prepare for new Wasmi translator implementation. + - [#1532] [#1537] [#1541] [#1553] [#1558] [#1560] + +[#1530]: https://github.com/wasmi-labs/wasmi/pull/1530 +[#1534]: https://github.com/wasmi-labs/wasmi/pull/1534 +[#1539]: https://github.com/wasmi-labs/wasmi/pull/1539 +[#1540]: https://github.com/wasmi-labs/wasmi/pull/1540 +[#1542]: https://github.com/wasmi-labs/wasmi/pull/1542 +[#1545]: https://github.com/wasmi-labs/wasmi/pull/1545 +[#1546]: https://github.com/wasmi-labs/wasmi/pull/1546 +[#1550]: https://github.com/wasmi-labs/wasmi/pull/1550 +[#1552]: https://github.com/wasmi-labs/wasmi/pull/1552 +[#1554]: https://github.com/wasmi-labs/wasmi/pull/1554 +[#1555]: https://github.com/wasmi-labs/wasmi/pull/1555 +[#1559]: https://github.com/wasmi-labs/wasmi/pull/1559 +[#1561]: https://github.com/wasmi-labs/wasmi/pull/1561 +[#1562]: https://github.com/wasmi-labs/wasmi/pull/1562 +[#1563]: https://github.com/wasmi-labs/wasmi/pull/1563 +[#1532]: https://github.com/wasmi-labs/wasmi/pull/1532 +[#1537]: https://github.com/wasmi-labs/wasmi/pull/1537 +[#1541]: https://github.com/wasmi-labs/wasmi/pull/1541 +[#1553]: https://github.com/wasmi-labs/wasmi/pull/1553 +[#1558]: https://github.com/wasmi-labs/wasmi/pull/1558 +[#1560]: https://github.com/wasmi-labs/wasmi/pull/1560 + ## `0.47.0` - 2025-05-30 ### Changed