|
Revision tags: dev, v36.0.9, v44.0.1 |
|
| #
f302ebd6 |
| 30-Apr-2026 |
wasmtime-publish <[email protected]> |
Release Wasmtime 44.0.1 (#13241)
[automatically-tag-and-release-this-commit]
Co-authored-by: Wasmtime Publish <[email protected]>
|
|
Revision tags: v43.0.2, v36.0.8, v24.0.8, v44.0.0, v43.0.1, v42.0.2, v36.0.7, v24.0.7 |
|
| #
122ddc71 |
| 03-Apr-2026 |
Nick Fitzgerald <[email protected]> |
Handle OOM in `Func::call_async` and fiber creation (#12954)
* Handle OOM in `Func::call_async` and fiber creation
* fix clippy
* fix build
* really fix build
* address review feedback
* fix bu
Handle OOM in `Func::call_async` and fiber creation (#12954)
* Handle OOM in `Func::call_async` and fiber creation
* fix clippy
* fix build
* really fix build
* address review feedback
* fix build
* fix warnings
show more ...
|
| #
e4305755 |
| 03-Apr-2026 |
Chay Nabors <[email protected]> |
Add wasi:http support to the C API (#12950)
|
| #
e9e1665c |
| 03-Apr-2026 |
Nick Fitzgerald <[email protected]> |
Update `mutatis` dep to 0.4.0 (#12945)
|
| #
46780983 |
| 01-Apr-2026 |
Chris Fallin <[email protected]> |
Exceptions: add exception-specific (command-sequence) fuzzer. (#12923)
* Exceptions: add exception-specific (command-sequence) fuzzer.
This fuzzer uses a description of a set of "scenarios", arbitr
Exceptions: add exception-specific (command-sequence) fuzzer. (#12923)
* Exceptions: add exception-specific (command-sequence) fuzzer.
This fuzzer uses a description of a set of "scenarios", arbitrarily generated, to produce a specific kind of module that tests throw/catch behavior. The module contains a chain of functions that invoke each other; one will throw, and the rest may have catch clauses that do or do not catch.
* Review feedback.
show more ...
|
| #
da36d99d |
| 31-Mar-2026 |
Alex Crichton <[email protected]> |
Update wasm-tools dependencies (#12920)
Pull in the latest updates with some minor fixes, too.
|
| #
694e553b |
| 30-Mar-2026 |
Dave Bakker <[email protected]> |
feat(p3): implement wasi:tls (#12834)
* Split off p2-specific bits into submodule
* Vendor the 0.3.0-draft WIT files
* Host traits scaffolding
* Rename p2 test
* Work around bug in `tokio-native
feat(p3): implement wasi:tls (#12834)
* Split off p2-specific bits into submodule
* Vendor the 0.3.0-draft WIT files
* Host traits scaffolding
* Rename p2 test
* Work around bug in `tokio-native-tls`
* Create error type
* Implement p3
Co-authored-by: Roman Volosatovs <[email protected]>
* Fix test on Windows' SChannel
Same reason as described in https://github.com/bytecodealliance/wasmtime/pull/11064
* Satisfy clippy
* Fix typo
---------
Co-authored-by: Roman Volosatovs <[email protected]>
show more ...
|
| #
a2cc11f3 |
| 30-Mar-2026 |
Philip Craig <[email protected]> |
Update object to 0.39.0 (#12866)
* Update object to 0.39.0
* Add vets for `object`
---------
Co-authored-by: Alex Crichton <[email protected]>
|
| #
6ce71e92 |
| 26-Mar-2026 |
Tomáš Olvecký <[email protected]> |
Update `tokio-rustls` to 0.26.4, `rustls` to 0.23 (#12837)
* Update `tokio-rustls` to 0.26.4, `rustls` to 0.23
This updates `rustls-webpki` from 0.102.x, which is vulnerable to incorrect CRL distri
Update `tokio-rustls` to 0.26.4, `rustls` to 0.23 (#12837)
* Update `tokio-rustls` to 0.26.4, `rustls` to 0.23
This updates `rustls-webpki` from 0.102.x, which is vulnerable to incorrect CRL distribution point matching (RUSTSEC-2026-0049), to 0.103.10. Uses `ring` as the crypto backend to preserve existing dependencies.
* cargo vets for update to rustls
We had previously exempted rustls, rustls-webpki, and tokio-rustls from vetting. The exempted versions have been updated.
We were able to pull in a vet from mozilla for zeroize, which had previously been exempted. I audited the (small) diff from the imported audit version.
---------
Co-authored-by: Pat Hickey <[email protected]>
show more ...
|
| #
9ed377c0 |
| 24-Mar-2026 |
Pat Hickey <[email protected]> |
update `tar` dep (#12835)
* update tar
* cargo vet prunes these entries
|
| #
dbaaa92f |
| 24-Mar-2026 |
Chris Fallin <[email protected]> |
Debugging: add builtin gdbstub component. (#12771)
* Debugging: add builtin gdbstub component.
This adds a debug component that makes use of the debug-main world defined in #12756 and serves the gd
Debugging: add builtin gdbstub component. (#12771)
* Debugging: add builtin gdbstub component.
This adds a debug component that makes use of the debug-main world defined in #12756 and serves the gdbstub protocol, with Wasm extensions, compatible with LLDB.
This component is built and included inside the Wasmtime binary, and is loaded using the lower-level `-D debugger=...` debug-main option; the user doesn't need to specify the `.wasm` adapter component. Instead, the user simply runs `wasmtime run -g <PORT> program.wasm ...` and Wasmtime will load and prepare to run `program.wasm` as the debuggee, waiting for a gdbstub connection on the given TCP port before continuing.
The workflow is:
``` $ wasmtime run -g 1234 program.wasm [ wasmtime starts and waits for connection ]
$ /opt/wasi-sdk/bin/lldb # use LLDB from wasi-sdk release 32 or later (lldb) process connect --plugin wasm connect://localhost:1234 Process 1 stopped * thread #1, stop reason = signal SIGTRAP frame #0: 0x40000000000001cc -> 0x40000000000001cc: unreachable 0x40000000000001cd: end 0x40000000000001ce: local.get 0 0x40000000000001d0: call 13 (lldb) si Process 1 stopped * thread #1, stop reason = instruction step into frame #0: 0x4000000000000184 -> 0x4000000000000184: block 0x4000000000000186: block 0x4000000000000188: global.get 1 0x400000000000018e: i32.const 3664 [ ... ] ```
This makes use of the `gdbstub` third-party crate, into which I've upstreamed support for the Wasm extensions in daniel5151/gdbstub#188, daniel5151/gdbstub#189, daniel5151/gdbstub#190, and daniel5151/gdbstub#192. (I'll add vets as part of this PR.)
* cargo vets.
* Handle Trap events as well as breakpoints.
* Review feedback.
* Fix gdbstub artifact build to make it publishable (by disabling it when isolated crates are used).
* Review feedback.
* fix published-crates list
* For now, empty gdbstub data but no compile error when artifact crate is published.
* add some more Cargo metadata: version for artifact crate dep
show more ...
|
|
Revision tags: v43.0.0 |
|
| #
134d56e7 |
| 16-Mar-2026 |
Dave Bakker <[email protected]> |
Merge the wasi-tls crates into a single one with feature flags (#12780)
prtest:full
|
| #
133a0ef4 |
| 13-Mar-2026 |
Chris Fallin <[email protected]> |
Debugging: add the debug-main world. (#12756)
* Debugging: add the debug-main world.
This PR "draws the rest of the owl" for the debug-main world (bytecodealliance/rfcs#45). This includes a WIT wor
Debugging: add the debug-main world. (#12756)
* Debugging: add the debug-main world.
This PR "draws the rest of the owl" for the debug-main world (bytecodealliance/rfcs#45). This includes a WIT world that hosts debug components that have access to "host debug powers" via a debugging API, and the ability to load such a debug-component and give it control of the main program as a debuggee when using `wasmtime run`.
The WIT is namespaced to `bytecodealliance:wasmtime` and is slightly aspirational in places: for example, the host does not yet implement injection of early return values or exception-throws. I intend to fill out a series of TODO issues once this all lands to track followup ("post-MVP") work.
This PR does not include any debug components. I separately have a gdbstub component, with which I tested and co-developed this host-side implementation. My plan is to land it in a followup PR as a component that will be embedded in/shipped with the Wasmtime CLI and available under an easy-to-use CLI option. Once we have that gdbstub component, we can also implement end-to-end integration tests that boot up LLDB and run through an expected interaction. (Separately, those integration tests will require a release of wasi-sdk to ship an LLDB binary that we can use.) As such, there are no real tests in this PR: interesting behaviors only really occur with a full end-to-end flow.
The integration with the CLI is a little awkward (we internally build another `wasmtime run` command that invokes the debug component, and tie it together with the debuggee via a special `invoke_debugger` API; this seemed less bad than reworking all of the WASI setup to be more reusable). Happy to take more ideas here.
* Review feedback.
* Review feedback.
* Review feedback: update vendor-wit.sh.
* Review feedback: -Ddebugger-arg= -> -Darg=.
* Review feedback.
* Review feedback.
* Review feedback: factor host.rs into several submodules.
* Review feedback: rename Debugger to Debuggee on host side.
* Review feedback: split inherit_stdin_stdout, and add corresponding options for the debug component.
* Review feedback.
* Review feedback.
* Add simple debug-component tests.
* Add wasm32-wasip2 target in a few places in CI
* Cargo vets for wstd dependency.
* Add wasm32-wasip2 in more places
* fix debug-component test dependence on componentization byte offsets
* Review feedback.
* Fix cancel-safety of EventFuture.
* Fix: Interrupted events should only occur after interrupt(), not on every epoch yield.
* Review feedback.
* Review feedback: strip down WASI imports in debugger world.
* fold debugger test component back into wasip1 + adapter test artifact compilation flow
show more ...
|
| #
c5ab9e5a |
| 05-Mar-2026 |
wasmtime-publish <[email protected]> |
Bump Wasmtime to 44.0.0 (#12728)
Co-authored-by: Wasmtime Publish <[email protected]>
|
| #
bb3de558 |
| 04-Mar-2026 |
Nick Fitzgerald <[email protected]> |
Add an OOM-handling `BTreeMap` implementation (#12712)
* Add an OOM-handling `BTreeMap` implementation
* review feedback
* fix docs links
|
| #
550a07c3 |
| 02-Mar-2026 |
Nick Fitzgerald <[email protected]> |
Add insertion methods with fallible allocation to `cranelift_bforest::{Map,Set}` (#12685)
|
|
Revision tags: v42.0.1 |
|
| #
f85e4d09 |
| 25-Feb-2026 |
Nick Fitzgerald <[email protected]> |
Add a microbenchmark for compile-time builtins (#12660)
|
|
Revision tags: v41.0.4, v42.0.0, v40.0.4, v36.0.6, v24.0.6 |
|
| #
bbfcd588 |
| 18-Feb-2026 |
Nick Fitzgerald <[email protected]> |
deps: Update `bumpalo` to version 3.20.0 (#12614)
|
| #
b5d2ff5d |
| 18-Feb-2026 |
Chris Fallin <[email protected]> |
Cranelift: update regalloc2 to 0.15.0 to permit more VRegs. (#12611)
* Cranelift: update regalloc2 to 0.15.0 to permit more VRegs.
This pulls in bytecodealliance/regalloc2#257 to permit more VRegs
Cranelift: update regalloc2 to 0.15.0 to permit more VRegs. (#12611)
* Cranelift: update regalloc2 to 0.15.0 to permit more VRegs.
This pulls in bytecodealliance/regalloc2#257 to permit more VRegs to be used in a single function body, addressing #12229 and our followup discussions about supporting function body sizes up to the Wasm implementation limit standard.
In addition to the RA2 upgrade, this also includes a bit more explicit limit-checking on the Cranelift side: note that we don't directly use `regalloc2::VReg` but instead we further bitpack it into `Reg`, which is logically a sum type of `VReg`, `PReg` and `SpillSlot` (the last one needed to represent stack allocation locations on defs, e.g. on callsites with many returns). `PReg`s are packed into the beginning of the `VReg` index space but `SpillSlot`s are distinguished by stealing the upper bit of a `u32`. This was previously not a problem given the smaller `VReg` index space but now we need to check explicitly; hence `Reg::from_virtual_reg_checked` and its use in the lowering vreg allocator. Because the `VReg` index packs the class into the bottom two bits, and index into the upper 30, but we steal one bit at the top, the true limit for VReg count is thus actually 2^29, or 512M.
Fixes #12229.
* Drop `code_too_large` test.
show more ...
|
| #
df579907 |
| 15-Feb-2026 |
Chris Fallin <[email protected]> |
Cranelift: upgrade to regalloc2 0.14.0 and use static/constant `MachineEnv`s. (#12596)
* Update to new regalloc2 with constant MachineEnv.
* Re-bless Cranelift filetests.
* Re-bless Wasmtime disas
Cranelift: upgrade to regalloc2 0.14.0 and use static/constant `MachineEnv`s. (#12596)
* Update to new regalloc2 with constant MachineEnv.
* Re-bless Cranelift filetests.
* Re-bless Wasmtime disas tests.
* Update to RA2 0.14.0.
* Review feedback.
* cargo-vet update.
show more ...
|
| #
313640b5 |
| 14-Feb-2026 |
Alex Crichton <[email protected]> |
Update bytes dependency to 1.11.1 (#12594)
Closes #12592
|
| #
b298f375 |
| 13-Feb-2026 |
Arjun Ramesh <[email protected]> |
RR #2: Sha256 checksum for components (#12576)
* Add sha256 checksum for component for record/replay consistency
* Move sha2 crate as workspace dependency
* Run checksum digest only on recording c
RR #2: Sha256 checksum for components (#12576)
* Add sha256 checksum for component for record/replay consistency
* Move sha2 crate as workspace dependency
* Run checksum digest only on recording configs
* Fix CI error and restructure from_binary
show more ...
|
| #
d79844a7 |
| 12-Feb-2026 |
Alex Crichton <[email protected]> |
Update wit-bindgen dependency (#12578)
Needed to update the WASIp3 snapshot to the latest
|
| #
d2fbd2de |
| 12-Feb-2026 |
Alex Crichton <[email protected]> |
Update to wasm-tools 245 (#12571)
* Intrinsics updates
* Remove ds_store
* Update to wasm-tools 245
* Add vets
* Fixup tests
* Add missing feature for `indexmap`
---------
Co-authored-by: Sy
Update to wasm-tools 245 (#12571)
* Intrinsics updates
* Remove ds_store
* Update to wasm-tools 245
* Add vets
* Fixup tests
* Add missing feature for `indexmap`
---------
Co-authored-by: Sy Brand <[email protected]>
show more ...
|
| #
33a3a2dd |
| 09-Feb-2026 |
Nick Fitzgerald <[email protected]> |
Implement serialization and deserialization for our OOM-handling `String` (#12552)
|