Hi folks - preview2 support will be available in the wasmtime-wasi crate as part of the 10.0 release, which was cut a few days ago and will be released on the 20th. however, there are known bugs in the implementation, and it is not ready for production use. So, despite being "on by default" in the cargo features, we are treating it like an off-by-default feature in that we wont be doing patch releases for bugs.
same for the component adapter (though there are no known bugs in there at the moment)
in general, since the preview2 definition is still a moving target (and wasmtime's use of preview2 doesn't have perfect fidelity with upstream in the standards repos yet) it will be difficult to treat preview2 support as stable, and provide api-compatible patches, until we finalize those definitions. we are hoping to settle those by the fall of this year.
it relies on component support right? which is off by default, so preview2 would also be off by default, right?
but, please do start using it in non-production contexts and report bugs!
it does, but the wasmtime-wasi crate will turn on the wasmtime crate's (off by default) component-model feature. components are still off by default in wasmtime::Config.
@Pat Hickey is there a "Hello World" of the latest config and versions we could use as a starting point? One with both a Component and a Host using that component? Would go a long way as I know a bunch of us are still having trouble getting something up and running with all the changes. Thanks!
the closest thing to a hello world at the moment is the contents of test-programs/tests/command.rs
and building your guests according to test-programs/build.rs
not really related but does wasmtime 10.0. have wasm exception support?
No, we haven't built that yet; it's quite a complex feature and relies on underlying support in the compiler (which, last I had heard, @bjorn3 was working on) as well
I have the cranelift side working for aarch64. I won't be working on implementing it in wasmtime though. Adding support for working with exception tags and handling lowering of new control flow instructions in cranelift-wasm turned out to be a lot more involved than I thought. It is probably best if someone with more experience with wasmtime implements those things. I have implemented it in both cg_clif and cranelift-jit-demo and plan to work on them and then do the experiments for my thesis and after I'm done with my thesis I'm going to open a couple of PRs.
very excited to see your work @bjorn3 !
Last updated: Nov 22 2024 at 16:03 UTC