Releases: wasmi-labs/wasmi
Releases · wasmi-labs/wasmi
v0.46.0 - 2025-05-08
v0.45.0 - 2025-05-06
Added
- Added support for Wasm function call resumption after running out of fuel. #1498
- This feature is very useful when using Wasmi inside a scheduler that works with
Wasmi's fuel metering to provide amount of compute units to different Wasm execution
threads for example.
- This feature is very useful when using Wasmi inside a scheduler that works with
- Added missing
wasmi_core::simdAPI functions forrelaxed-simd. #1447 - Added implementations for Rust's
Errortrait for allwasmierror types onno_std. #1462
Changed
- Avoid performing duplicate type and validation checks in
Linker::instantiate. #1476 - Updated
wasm-toolsdependencies to v228. #1463 - Removed most of
wasmi_core::TypedVal's API. #1457- The newer
wasmi_core::wasmAPI is to be preferred and provides the same functionality.
- The newer
Fixed
- Fixed a bug that Wasmi did not make
wasmparser's parser aware of enabled Wasm features. #1502- Making
wasmparseraware of the enabled Wasm features allows it to detect malformed Wasm
binaries during parsing.
- Making
Internal
- Make Wasmi's executor non-generic over the
Store'sT. #1449 - Changes to Wasmi's IR:
- Removed all conditional return instructions. #1486
- This allows Wasmi to apply its powerful cmp+branch fusion in more places.
- Remove most of the
bulk-memory(andbulk-table) instruction variants. #1489- Wasmi still has optimized variants for the most common cases.
- Add new logical-comparator instructions. #1494
- This further enhances Wasmi's powerful cmp+branch instruction fusion.
- Add negated
f{32,64}.{lt,le}instructions. #1496- This allows Wasmi to apply its cmp+nez fusion for
f{32,64}.{le,lt}instructions as well.
- This allows Wasmi to apply its cmp+nez fusion for
- Re-design Wasmi's
selectinstructions. #1497- This allows to use Wasmi's powerful cmp op-code fusion for
selectinstructions.
- This allows to use Wasmi's powerful cmp op-code fusion for
- Removed all conditional return instructions. #1486
- Moved many
wasmiinternals intowasmi_core:
v0.44.1 - 2025-05-04
Fixed
- Fixed a bug with executing SIMD
store_laneinstructions. #1450
v0.44.0 - 2023-03-29
Added
- Add support for the Wasm
relaxed-simdproposal. #1443- All
relaxed-simdoperators behave deterministically on all platforms supported by Wasmi. - Users have to enable the
simdcrate feature in order to userelaxed-simdcapabilities. - Note that enabling the
simdcrate 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
simdproposal. #1364- Users have to opt-in to use this feature by enabling Wasmi's
simdcrate feature. - Note: enabling
simdmay 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-arithmeticproposal. #1369- The
wide-arithmeticproposal is disabled by default inwasmi
library and enabled by default in the Wasmi CLI.
- The
Changed
- Optimized memory accesses with a constant
ptrvalue. #1381
Internal
- Update
wasm-toolsdependencies from v226 to v227. #1380
v0.41.1 - 2025-03-11
v0.41.0 - 2025-03-10
Added
- Added support for the Wasm
memory64proposal. #1371- The
memory64proposal is enabled by default inwasmiand the Wasmi CLI.
- The
- Added support for the Wasm
custom-page-sizesproposal. #1349- The
custom-page-sizesproposal is enabled by default inwasmiand the Wasmi CLI.
- The
- Added support to for Wat inputs in
Module::newandModule::new_unchecked. #1328- There deliberately is no Wat support in
Module::new_streamingsince 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_mangeandexport_namewhere used at the same time. #1337
Changed
- Bumped Minimum Support Rust Version to v1.82. #1375
- The
memory.growandtable.growinstructions now trap instead of panic when out of system memory.- This change was part of the changes introduced by the support
for the Wasmmemory64andcustom-page-sizesproposals.
- This change was part of the changes introduced by the support
Internal
- No longer use
libmdefault 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-sizesproposal implementation. #1354 - Allow fuzzing the Wasm
memory64proposal implementation. #1379
- Update the Wasm spec testsuite. #1361
- Update
wasm-toolsdependencies to v226. #1374 - Update to
string-internerv0.19. #1367