Skip to content

v0.9.0

Compare
Choose a tag to compare
@github-actions github-actions released this 25 Jul 09:56
· 22 commits to main since this release
4bf8bfd

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 and Store.set_fuel/2 which is a much simpler API than before.
  • read and write a global’s value with Instance.get_global_value/3 and Instance.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 call set_fuel/2 and get_fuel/1 instead.

Changed

  • Dependency updates (most notably wasmtime and rustler) - thanks @RoyalIcing and @scrogson
  • removed dialyzer