v0.9.0
Wasmtime rewrote their fuel-related API and simplified it. To remain consistent with Wasmtime, we follow this change in this release. A Wasmex Store
now only implements set_fuel/2
and get_fuel/1
. All other methods are removed with this release.
The underlying implementation of the fuel system got rewritten as well. If you are using fuel in your app,
please check your fuel consumption values.
Added
- official support for Elixir 1.15 and 1.16
- fuel-related API got rewritten, because the underlying Wasm library (wasmtime) changed their API and we want to be consistent. Added
Store.get_fuel/1
andStore.set_fuel/2
which is a much simpler API than before. - read and write a global’s value with
Instance.get_global_value/3
andInstance.set_global_value/4
(#540) - ability to dynamically link wasm modules (#596) thanks @munjalpatel
- ability to use 128 bit unsigned integers (wasm type
V128
) - added support for multi-value returns from WASM and elixir callbacks. This enables passing string return values safely by pointer and length, for example.
Removed
- removed support for Elixir 1.12
- with the fuel-related API changed, the existing methods on
Store
(consume_fuel
,fuel_remaining
,add_fuel
) were removed. Please callset_fuel/2
andget_fuel/1
instead.
Changed
- Dependency updates (most notably wasmtime and rustler) - thanks @RoyalIcing and @scrogson
- removed dialyzer