Skip to content

Bump wasmex from 0.7.0 to 0.8.0 #51

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 1 commit into from

Conversation

dependabot[bot]
Copy link

@dependabot dependabot bot commented on behalf of github Jan 3, 2023

Bumps wasmex from 0.7.0 to 0.8.0.

Release notes

Sourced from wasmex's releases.

v0.8.0

This release brings some changes to our API because of the change of the underlying WASM engine to wasmtime.

It brings a new abstraction, the Wasmex.Store, which holds all internal structures. Thus, the store (or a "caller" in function-call contexts) needs to be provided in most Wasmex APIs in the form of a Wasmex.StoreOrCaller struct.

The WASM engine change requires us to do further changes, most notably a change in how Wasmex.Memory is accessed. We dropped support for different data types and simplified the memory model to be just an array of bytes. The concept of memory offsets was dropped.

Special thanks goes to @​hamptokr for his help in getting the wasmtime/Rust side working 💜

Please see the list of changes below for more details.

Added

  • Added support for OTP 25
  • Added support for Elixir 1.14

Removed

  • Removed official support for OTP 22 and 23
  • Removed official support for Elixir 1.12
  • Removed Wasmex.Module.set_name() without replacement as this is not supported by Wasmtime
  • Removed Wasmex.Memory.bytes_per_element() without replacement because we dropped support for different data types and now only handle bytes
  • Removed Wasmex.Pipe.set_len() without replacement
  • WASI directory/file preopens can not configure read/write/create permissions anymore because wasmtime does not support this feature well. We very much plan to add support back once wasmtime allows.

Changed

  • Changed the underlying WASM engine from wasmer to wasmtime
  • Removed Wasmex.Instance.new() and Wasmex.Instance.new_wasi() in favor of Wasmex.Store.new() and Wasmex.Store.new_wasi().
  • WASI-options to Wasmex.Store.new_wasi() are now a proper struct Wasmex.Wasi.WasiOptions to improve typespecs, docs, and compile-time warnings.
  • Wasmex.Pipe went through an internal rewrite. It is now a positioned read/write stream. You may change the read/write position with Wasmex.Pipe.seek()
  • Renamed Wasmex.Pipe.create() to Wasmex.Pipe.new() to be consistent with other struct-creation calls
  • Renamed Wasmex.Memory.length() to Wasmex.Memory.size() for consistenct with other size methods
  • Renamed Wasmex.Memory.set() to Wasmex.Memory.set_byte()
  • Renamed Wasmex.Memory.get() to Wasmex.Memory.get_byte()
  • Updated and rewrote most of the docs - all examples are now doctests and tested on CI
  • Updated all Elixir/Rust dependencies

v0.7.1

Added

  • Added an optional fourth parameter to call_function, timeout, which accepts a value in milliseconds that will cap the execution time of the function. The default behavior if not supplied is preserved, which is a 5 second timeout. Thanks @​brooksmtownsend for this contribution
  • several dependency updates
Changelog

Sourced from wasmex's changelog.

[0.8.0] - 2023-01-03

This release brings some changes to our API because of the change of the underlying WASM engine to wasmtime.

It brings a new abstraction, the Wasmex.Store, which holds all internal structures. Thus, the store (or a "caller" in function-call contexts) needs to be provided in most Wasmex APIs in the form of a Wasmex.StoreOrCaller struct.

The WASM engine change requires us to do further changes, most notably a change in how Wasmex.Memory is accessed. We dropped support for different data types and simplified the memory model to be just an array of bytes. The concept of memory offsets was dropped.

Please visit the list of changes below for more details.

Added

  • Added support for OTP 25
  • Added support for Elixir 1.14

Removed

  • Removed official support for OTP 22 and 23
  • Removed official support for Elixir 1.12
  • Removed Wasmex.Module.set_name() without replacement as this is not supported by Wasmtime
  • Removed Wasmex.Memory.bytes_per_element() without replacement because we dropped support for different data types and now only handle bytes
  • Removed Wasmex.Pipe.set_len() without replacement
  • WASI directory/file preopens can not configure read/write/create permissions anymore because wasmtime does not support this feature well. We very much plan to add support back once wasmtime allows.

Changed

  • Changed the underlying WASM engine from wasmer to wasmtime
  • Removed Wasmex.Instance.new() and Wasmex.Instance.new_wasi() in favor of Wasmex.Store.new() and Wasmex.Store.new_wasi().
  • WASI-options to Wasmex.Store.new_wasi() are now a proper struct Wasmex.Wasi.WasiOptions to improve typespecs, docs, and compile-time warnings.
  • Wasmex.Pipe went through an internal rewrite. It is now a positioned read/write stream. You may change the read/write position with Wasmex.Pipe.seek()
  • Renamed Wasmex.Pipe.create() to Wasmex.Pipe.new() to be consistent with other struct-creation calls
  • Renamed Wasmex.Memory.length() to Wasmex.Memory.size() for consistenct with other size methods
  • Renamed Wasmex.Memory.set() to Wasmex.Memory.set_byte()
  • Renamed Wasmex.Memory.get() to Wasmex.Memory.get_byte()
  • Updated and rewrote most of the docs - all examples are now doctests and tested on CI
  • Updated all Elixir/Rust dependencies

[0.7.1] - 2022-05-25

Added

  • Added an optional fourth parameter to call_function, timeout, which accepts a value in milliseconds that will cap the execution time of the function. The default behavior if not supplied is preserved, which is a 5 second timeout. Thanks @​brooksmtownsend for this contribution
Commits

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [wasmex](https://github.com/tessi/wasmex) from 0.7.0 to 0.8.0.
- [Release notes](https://github.com/tessi/wasmex/releases)
- [Changelog](https://github.com/tessi/wasmex/blob/main/CHANGELOG.md)
- [Commits](tessi/wasmex@v0.7.0...v0.8.0)

---
updated-dependencies:
- dependency-name: wasmex
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot bot added the dependencies Pull requests that update a dependency file label Jan 3, 2023
@dependabot @github
Copy link
Author

dependabot bot commented on behalf of github Jan 9, 2023

Superseded by #53.

@dependabot dependabot bot closed this Jan 9, 2023
@dependabot dependabot bot deleted the dependabot/hex/wasmex-0.8.0 branch January 9, 2023 19:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants