Update to wasmtime version with exceptions support#880
Merged
chrisdickinson merged 1 commit intoextism:mainfrom Oct 9, 2025
Merged
Update to wasmtime version with exceptions support#880chrisdickinson merged 1 commit intoextism:mainfrom
chrisdickinson merged 1 commit intoextism:mainfrom
Conversation
The wasmtime v37 release[1] "now fully implements the WebAssembly exception-handling proposal." Support for exception-handling is disabled by default, but will be made default in the future (according to the release notes). To use this new wasmtime feature, we do two things at a high level: 1. Update wasmtime dependency to version 37 2. Add a "wasmtime-exceptions" Extism feature, disabled by default. Updating to the new wasmtime dependency required some semantical changes to how the cache is configured. There is also a new `ExternType` to match on when handling invalid imports. [1] https://github.com/bytecodealliance/wasmtime/releases/tag/v37.0.0
Member
|
Thanks, @bgmerrell! We'll get this reviewed ASAP. Looks like CI passed, so we'll just do a quick round of tests and check integration with some of our other products. Appreciate your help here 👍 |
Contributor
|
Going to merge to cut a dev build. As @nilslice mentioned, we'll test this in some of our services over the coming week, and once it looks good we can publish a new version. If you need the updates before we cut a new release on Crates, you can (temporarily) point at the git repo in the meantime! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The wasmtime v37 release "now fully implements the WebAssembly exception-handling proposal." Support for exception-handling is disabled by default, but will be made default in the future (according to the release notes).
To use this new wasmtime feature, we do two things at a high level:
Updating to the new wasmtime dependency required some semantical changes to how the cache is configured.
There is also a new
ExternTypeto match on when handling invalid imports.My use case for this feature is being able to execute Lua code from Extism. In actuality, I'm running a Rust plugin, which is using mlua to execute the Lua. I have it working locally with this change. Fwiw, mlua recently added support to compile to wasi, which should make this all work end-to-end with no special patches if we can get this merged.
This is my first time working on the Extism codebase, so please let me know if I missed anything.