wasmex v0.2.0 Release Notes
Release Date: 2020-04-14 // about 4 years ago-
๐ This release brings is closer to a production-ready experience. Calls of WebAssembly functions are now handled asynchronously: Invoking a WASM function via
Instance.call_exported_function
calls our Rust NIF as before, but does not directly execute the function. Instead, a new OS thread is spawned for the actual execution. This allows us to spend only few time in the NIF code (as required by the Erlang VM). Once the WASM function in that thread returns, we send a message to the calling erlang process. ๐ To ease handling, we converted our main moduleWasmex
into aGenServer
so that a WASM function call can be used in a synchronous manner as before.โ Added
- The
Wasmex
module is now a GenServer. WASM function calls are now asynchronous.
๐ Changed
- โ Removed unused Rust dependencies
- ๐ Provide better error messages for
Wasmex.Instance.from_bytes
when the WASM instance could not be instantiated. - ๐ WASM function calls now return a list of return values instead of just one value (this is to prepare for WASM tu officially support multiple return values)
- โก๏ธ Updated elixir and rust dependencies including wasmer to version 0.16.2
โ Removed
Instance.call_exported_function/2
useInstance.call_exported_function/3
instead.
๐ Fixed
- โจ Enhanced documentation
- The