Releases: wasmi-labs/wasmi
Releases · wasmi-labs/wasmi
v0.39.1 - 2024-11-06
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
v0.36.5 - 2024-10-11
Fixed
- Fixed a bug with
table.get
translation whenindex
is a preserved register. [#commit-b4e78d]
v0.38.0 - 2024-10-06
v0.37.2 - 2024-10-04
Added
-
Added a new
extra-checks
crate feature to thewasmi
crate. #1217- This improves unreachability checks in when
debug-assertions
orextra-checks
are enabled. - If
extra-checks
are disabled, some technically unnecessary runtime checks are no longer performed. - Use
extra-checks
if your focus is on safety, disable if your focus is on performance.
- This improves unreachability checks in when
Fixed
- Fixed a bug in local preservation when translating Wasm
loop
control flow. #1218
v0.36.4 - 2024-10-03
Fixed
- Fixed a bug in local preservation when translating Wasm
loop
control flow. [#1218]
v0.37.1 - 2024-10-01
Fixed
- Fixed a bug in
select
translation constant propagation. #1213
v0.36.3 - 2024-10-01
Fixed
- Fixed a bug in
select
translation constant propagation. #1213
v0.37.0 - 2024-09-30
Added
- Added support for Wasm
multi-memory
proposal. #1191 - Added
Store::call_hook
API. #1144- Contributed by emiltayl.
Changed
- Updated WASI dependencies. #1140
- This fixes some long-standing bugs in the
wasmi_wasi
crate.
- This fixes some long-standing bugs in the
Fixed
- This release includes all fixes that have been backported to
v0.36.1
andv0.36.2
.
Internal
- Add new Wasmi bytecode. #1152
- This was a major undertaking with lots of sub-issues and PRs.
- The Wasmi bytecode definitions now reside in their own
wasmi_ir
crate. - Most of the definitions are sourced from a single Rust macro to reduce maintenance friction.
- Remove unnecessary
iextend
instructions. #1147 - Changed encoding for Wasmi
call_indirect
instructions. #1156- The new encoding improves performance and reduces the number of function local constants.
- Changed encoding for Wasmi
select
instructions. #1157- The new encoding is more straight-forward and aims to simplify the Wasmi executor and translator.
- Changed encoding for Wasmi
br_table
instruction. #1158- The new encoding improves performance and memory consumption for certain use cases.
- Minor improvements to Wasmi bytecode.
v0.36.2 - 2024-09-28
Fixed
- Fix miri reported UB in FuncRef and ExternRef conversions. #1201
- Fix bug in
table.init
from importedglobal.get
values. #1192
Changed
- Changed some
inline
annotations in the Wasmi executor. #commit-b4e78d- This change had minor positive effects on the performance of commonly executed Wasmi instructions.