Releases: wasmi-labs/wasmi
Releases · wasmi-labs/wasmi
v0.44.0 - 2023-03-29
Added
- Add support for the Wasm
relaxed-simd
proposal. #1443- All
relaxed-simd
operators behave deterministically on all platforms supported by Wasmi. - Users have to enable the
simd
crate feature in order to userelaxed-simd
capabilities. - Note that enabling the
simd
crate feature may regress Wasm execution and memory consumption
performance.
- All
Changed
- Wasmi's CLI now prints multiple results on a new line each. #1438
- With this change Wasmi's CLI and Wasmtime's CLI have the same behavior.
v0.43.1 - 2025-03-29
v0.43.0 - 2025-03-27
- Added support for the Wasm
simd
proposal. #1364- Users have to opt-in to use this feature by enabling Wasmi's
simd
crate feature. - Note: enabling
simd
may introduce Wasm execution overhead, increase memory consumption
increase compiled artifact size and compile times for Wasmi crates. So usesimd
only if your use case needs it.
- Users have to opt-in to use this feature by enabling Wasmi's
Changed
- Wasmi's minimum supported Rust version is now Rust 1.83. #1405
Internal
v0.42.1 - 2025-03-20
Fixed
- Fixed a bug in
i64.mul_wide_{s,u}
instruction constant evaluation. #1397
v0.42.0 - 2025-03-11
Added
- Added support for the Wasm
wide-arithmetic
proposal. #1369- The
wide-arithmetic
proposal is disabled by default inwasmi
library and enabled by default in the Wasmi CLI.
- The
Changed
- Optimized memory accesses with a constant
ptr
value. #1381
Internal
- Update
wasm-tools
dependencies from v226 to v227. #1380
v0.41.1 - 2025-03-11
v0.41.0 - 2025-03-10
Added
- Added support for the Wasm
memory64
proposal. #1371- The
memory64
proposal is enabled by default inwasmi
and the Wasmi CLI.
- The
- Added support for the Wasm
custom-page-sizes
proposal. #1349- The
custom-page-sizes
proposal is enabled by default inwasmi
and the Wasmi CLI.
- The
- Added support to for Wat inputs in
Module::new
andModule::new_unchecked
. #1328- There deliberately is no Wat support in
Module::new_streaming
since Wat cannot be stream compiled.
- There deliberately is no Wat support in
Fixed
- Fixed a bug that could lead to crashes when tail calling host functions. #1329
- Fixed a bug that
no_mange
andexport_name
where used at the same time. #1337
Changed
- Bumped Minimum Support Rust Version to v1.82. #1375
- The
memory.grow
andtable.grow
instructions now trap instead of panic when out of system memory.- This change was part of the changes introduced by the support
for the Wasmmemory64
andcustom-page-sizes
proposals.
- This change was part of the changes introduced by the support
Internal
- No longer use
libm
default features. #1322 - Implemented several improvements to our fuzzing infrastructure:
- Significantly improved Wasmtime translation (JIT) times. #1339
- Improve debug output of fuzzers. #1344
- Differential fuzzer now uses fuzz input to randomize function parameters. #1348
- Allow fuzzing the Wasm
custom-page-sizes
proposal implementation. #1354 - Allow fuzzing the Wasm
memory64
proposal implementation. #1379
- Update the Wasm spec testsuite. #1361
- Update
wasm-tools
dependencies to v226. #1374 - Update to
string-interner
v0.19. #1367
v0.40.0 - 2024-11-28
This release focuses on compile time improvements for Wasmi,
significantly reducing the time it takes to compile Wasmi and
decrease its compiled artifact size.
Added
- Added optimization for
load
andstore
lowering. #1303- This reduces the total number of Wasmi instructions.
- Added
prefix-symbols
crate feature towasmi_c_api_impl
crate. #1315- This allows to prefix all exported symbols with
wasmi_
in order to
avoid duplicate symbols when linking multiple Wasm runtimes implementing
the Wasm C-API.
- This allows to prefix all exported symbols with
Fixed
- C-API
- Conditionally forward the
string-interner/std
crate feature. #1304 - Fix Wasmtime fuzzer oracle config usage. #1314
Changed
- Bumped minimum supported Rust version from v1.79 -> v1.80. #1318
- Replace the
wasmparser-nostd
fork with upstreamwasmparser
. #1141- This allows Wasmi to implement new Wasm proposals.
- Unfortunately this update also regresses Wasmi translation performance
by roughly 5-15% depending on the exact Wasm blob and translation mode.
- Update the
string-interner
andhashbrown
dependencies. #1305
Internal
v0.39.1 - 2024-11-06
Fixed
- Fixed a bug when translating double negations in expression contexts. #1293
v0.39.0 - 2024-11-04
Added
- Add new
Linker
APIs. #1281Linker::instance
: conveniently add exports from an instance to a linker.Linker::alias_module
: alias module definitions via another name.Linker::allow_shadowing
: enable to shadow previous definitions without errors.
- Add
hash-collections
andprefer-btree-collections
crate features to thewasmi
crate. #1265- This allows for more fine grained control over Wasmi
dependencies to further decrease compile times.
- This allows for more fine grained control over Wasmi
- Add lowering of compare instructions and fused branch+compare instructions. #1243
- This improved performance for certain workloads and
reduced the total Wasmi instruction count significantly. - Wasm coremark results improved to 1830 (v0.39) from 1701 (v0.38).
- This improved performance for certain workloads and
Fixed
- Fixed a bug in translation of fused
cmp+branch
instructions with huge offsets.- This was fixed as a side product in #1243.
Removed
- Removed the
no-hash-maps
crate feature. #1265 - Removed some minor
wasmi
crate dependencies. #1266 #1267- This should improve compile times of the
wasmi
crate slightly.
- This should improve compile times of the
Internal
- Modernize fuzzer and significantly improve fuzzing test coverage.
- Modernize Wasmi
.wast
directives runner. #1279- Overall this significantly improved readability and maintainability
of the Wasmi.wast
directives runner.
- Overall this significantly improved readability and maintainability