History log of /wasmtime-44.0.1/.github/workflows/main.yml (Results 1 – 25 of 487)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: dev, v36.0.9, v44.0.1, v43.0.2, v36.0.8, v24.0.8, v44.0.0, v43.0.1, v42.0.2, v36.0.7, v24.0.7
# b7c30d11 01-Apr-2026 Nick Fitzgerald <[email protected]>

Add "GC Zeal" infrastructure for additional, aggressive GC assertions (#12921)

* Add "GC Zeal" infrastructure for additional, aggressive GC assertions

This initial commit just sets up the initial G

Add "GC Zeal" infrastructure for additional, aggressive GC assertions (#12921)

* Add "GC Zeal" infrastructure for additional, aggressive GC assertions

This initial commit just sets up the initial GC Zeal infrastructure, it doesn't
actually start using it anywhere yet.

* Adds support for `cfg(gc_zeal)` to `crates/wasmtime/build.rs` and
`crates/cranelift/build.rs`
* Defines `gc_assert!` macro
* Defines `wasmtime_environ::gc::POISON` constant for GC heap poisoning
* Adds debug assert that `POISON` doesn't overlap any valid `VMGcKind`
discriminant
* Adds CI job to run GC-related tests with `cfg(gc_zeal)`

* Review feedback

show more ...


# bc6585e8 30-Mar-2026 Alex Crichton <[email protected]>

Fix logic and double-drop UB in `WriteBuffer` impls (#12870)

For component-model-async this fixes logic and undefined behavior issues
in the implementation of the `WriteBuffer` trait for various typ

Fix logic and double-drop UB in `WriteBuffer` impls (#12870)

For component-model-async this fixes logic and undefined behavior issues
in the implementation of the `WriteBuffer` trait for various types.
Notably all types didn't respect the `unsafe` contract of the
`WriteBuffer::take` method by limiting the number of results to what was
requested. This flawed detail, when coupled with other implementation
details, led to both incorrect results and UB in the case that
`VecBuffer<T>` was used where `T` had a `Drop` implementation. This is
not a security issue because component-model-async is not yet Tier 1 and
thus is exempt from the security issue process, but this is nonetheless
something needed to be fixed.

show more ...


# 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 ...


# 856fb272 27-Mar-2026 Chris Fallin <[email protected]>

Debugging: add integration test with LLDB and some minor tweaks. (#12856)

This PR adds:

- An integration-test that runs LLDB against the Wasmtime CLI to
verify basic debugging functionality, simi

Debugging: add integration test with LLDB and some minor tweaks. (#12856)

This PR adds:

- An integration-test that runs LLDB against the Wasmtime CLI to
verify basic debugging functionality, similar to the existing
native-debug tests.

- A CI job that runs the above in CI.

- Some minor tweaks to the gdbstub debugger design:
- Rather than the initial single-step to get to the first Wasm
instruction where module(s) will be instantiated into the store
and visible to the debugger, we pre-register modules with the
store eagerly. This avoids the slightly hacky flow and also is a
preparation step for `wasmtime serve` debugging, where we can't
single-step into execution eagerly (because execution doesn't
start at all until an HTTP request arrives).
- Add a separate message-printing path for "debugger info messages",
allowing us to print the "debugger is listening on <PORT>" message
without inheriting stderr for the whole debugger component
environment. This message is necessary for the above integration
test (it parses the message to determine when the debuggee is ready).

show more ...


# 0e51666b 24-Mar-2026 SSD <[email protected]>

CI: Add a check for cranelift-codegen (only x86 and aarch64) on no_std tagets (#12812)

* CI: Add a check for cranelift-codegen (only x86 and aarch64) on no_std tagets

* Change -F to --features

* F

CI: Add a check for cranelift-codegen (only x86 and aarch64) on no_std tagets (#12812)

* CI: Add a check for cranelift-codegen (only x86 and aarch64) on no_std tagets

* Change -F to --features

* Fix CI: remove unused imports when building without unwind

* Cargo fmt

show more ...


# 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 ...


# 819391b9 13-Mar-2026 Alex Crichton <[email protected]>

Update more github actions (#12775)

Missed in the prior update...


# 7cca98e5 11-Mar-2026 Alex Crichton <[email protected]>

Update some github actions versions (#12762)

CI is warning us about these, so try updating.


# 365e2d89 10-Mar-2026 Alex Crichton <[email protected]>

Refactor WASIp2 `wasi:http` implementation (#12748)

* Sequester WASIp2 in `wasmtime-wasi-http` to a module

This mirrors the `wasmtime-wasi` crate's organization where there's a
`p2` module and a `

Refactor WASIp2 `wasi:http` implementation (#12748)

* Sequester WASIp2 in `wasmtime-wasi-http` to a module

This mirrors the `wasmtime-wasi` crate's organization where there's a
`p2` module and a `p3` module at the top level.

* Refactor WASIp2 `wasi:http` implementation

This commit reorganizes and refactors the WASIp2 implementation of
`wasi:http` to look more like other `wasmtime-wasi`-style interfaces.
Specifically the old `WasiHttpImpl<T>` structure is removed in favor of
as `WasiHttpCtxView<'_>` type that is used to implement
bindgen-generated `Host` traits. This necessitated reorganizing the
methods of the previous `WasiHttpView` trait like so:

* The `WasiHttpView` trait is renamed to `WasiHttpHooks` to make space
for a new `WasiHttpView` which behaves like `WasiView`, for example.

* The `ctx` and `table` methods of `WasiHttpHooks` were removed since
they'll be fields in `WasiHttpCtxView`.

* Helper methods for WASIp2 were moved to methods on `WasiHttpCtxView`
instead of default methods on `WasiHttpHooks`.

With these changes in place the WASIp3 organization was also updated
slightly as well. Notably WASIp3 now contains a reference to the crate's
`WasiHttpCtx` structure (which has field limits for example). WASIp3's
previous `WasiHttpCtx` trait is now renamed to `WasiHttpHooks` as well.
This means that there are two `WasiHttpHooks` traits right now, one for
WASIp2 and one for WASIp3. In the future I would like to unify these two
but that will require some more work around the default `send_request`.

A final note here is that the `WasiHttpHooks` trait previously, and
continues to be, optional for embedders to implement. Default functions
are provided as `wasmtime_wasi_http::{p2, p3}::default_hooks`.
Additionally there's a `Default for &mut dyn WasiHttpHooks`
implementation, too.

With all that outlined: the motivation for this change is to bring the
WASIp2 and WASIp3 implementations of `wasi:http` closer together. This
is inspired by refactorings I was doing for #12674 to apply the same
header limitations for WASIp3 as is done for WASIp2. Prior to this
change there were a number of differences such as WASIp3 not having
`crate::WasiHttpCtx` around, WASIp2 having a different organization of
structures/borrows, etc. The goal is to bring the two implementations
closer in line with each other to make refactoring across them more
consistent and easier.

* Make `WasiHttp` in WASIp2 public

* Fix some conditional build

* Fix some doctests

* Fix configured build

* Fixup documentation

show more ...


# 7746998d 09-Mar-2026 Piotr Sikora <[email protected]>

Allow using `demangle` feature in `no_std` builds. (#12740)

While there, add `async`, `debug`, `debug-builtins` and `anyhow` to
the list of features supporting `#![no_std]`, and update the CI job
to

Allow using `demangle` feature in `no_std` builds. (#12740)

While there, add `async`, `debug`, `debug-builtins` and `anyhow` to
the list of features supporting `#![no_std]`, and update the CI job
to include those features.

Signed-off-by: Piotr Sikora <[email protected]>

show more ...


Revision tags: v42.0.1, v41.0.4, v42.0.0, v40.0.4, v36.0.6, v24.0.6
# bda02c19 13-Feb-2026 Bailey Hayes <[email protected]>

chore: bump to wasi 0.3.0-rc-2026-02-09 (#12557)


Revision tags: v41.0.3
# 232fd3cf 04-Feb-2026 Alex Crichton <[email protected]>

Update to wasi-sdk-30 in CI (#12495)

Testing it out and keeping it up-to-date

prtest:full


Revision tags: v41.0.2
# 621d7ebb 03-Feb-2026 Alex Crichton <[email protected]>

Switch back to emulation of s390x tests (#12491)

* Switch back to emulation of s390x tests

Recent changes looks like it's triggering some sort of bug to cancel all
our workflows without actually ru

Switch back to emulation of s390x tests (#12491)

* Switch back to emulation of s390x tests

Recent changes looks like it's triggering some sort of bug to cancel all
our workflows without actually running anything. Avoid the s390x runners
for now.

* Pin wkg used in CI

show more ...


# 47e1cd59 30-Jan-2026 Ho Kim <[email protected]>

fix: skip importing `std::path::Path` regardless of `cache` feature (#12479)

Signed-off-by: Ho Kim <[email protected]>


# d0f49441 28-Jan-2026 Alex Crichton <[email protected]>

Pin fuzz build in CI to oss-fuzz's Rust version (#12459)

We updated our MSRV recently and that broke the build on OSS-Fuzz. To
avoid this happening again set things up in CI to ensure that this
does

Pin fuzz build in CI to oss-fuzz's Rust version (#12459)

We updated our MSRV recently and that broke the build on OSS-Fuzz. To
avoid this happening again set things up in CI to ensure that this
doesn't happen again without informing us we should update OSS-Fuzz
first.

show more ...


# bc4582c3 27-Jan-2026 Alex Crichton <[email protected]>

Forbid rustdoc warnings in CI (#12420)

* Forbid rustdoc warnings in CI

This commit corrects our handling of rustdoc flags in CI to ensure that
warnings indeed fire. Additionally this changes our fl

Forbid rustdoc warnings in CI (#12420)

* Forbid rustdoc warnings in CI

This commit corrects our handling of rustdoc flags in CI to ensure that
warnings indeed fire. Additionally this changes our flags to pass
`-Dwarnings` to ensure that we have warning-free doc builds when all
features are enabled at least.

There were quite a lot of preexisting issues to fix, so this
additionally goes through and fixes all the warnings that cropped up.

* Update nightly toolchain again

prtest:full

* Update another nightly

* Fix a warning in generated code

show more ...


Revision tags: v41.0.1, v36.0.5, v40.0.3
# 8325e1ec 23-Jan-2026 Alex Crichton <[email protected]>

Fold the `wasmtime-error` crate into `wasmtime-core` (#12418)

Similar to #12398 and #12407 the idea is that all our dependency-free
(mostly) data structures and foundational data-types are in one lo

Fold the `wasmtime-error` crate into `wasmtime-core` (#12418)

Similar to #12398 and #12407 the idea is that all our dependency-free
(mostly) data structures and foundational data-types are in one location
to centralize testing, ergonomics, documentation, idioms, etc.

show more ...


# 9acefdfe 23-Jan-2026 Alex Crichton <[email protected]>

Merge `wasmtime-math` into `wasmtime-core` (#12398)

* Merge `wasmtime-math` into `wasmtime-core`

No real need to have two "core" crates, let's just have one.

* Fix warnings


# daee7fda 21-Jan-2026 Nick Fitzgerald <[email protected]>

Introduce `wasmtime_environ::collections::{OomArc, OomBox}` (#12361)

* Introduce `wasmtime_environ::collections::{OomArc, OomBox}`

These types mirror their `std`/`alloc` counterparts, but only prov

Introduce `wasmtime_environ::collections::{OomArc, OomBox}` (#12361)

* Introduce `wasmtime_environ::collections::{OomArc, OomBox}`

These types mirror their `std`/`alloc` counterparts, but only provide fallible
constructors and properly handle OOM by returning `Err(OutOfMemory)`.

Note that stable Rust doesn't actually give us any method to build fallible
allocation for `Arc<T>`, and we do not wish to fork `Arc<T>` since it is full of
very subtle unsafe code, so `OomArc::new` is only actually fallible in practice
when using nightly Rust and setting `RUSTFLAGS="--cfg arc_try_new"` during the
build. We use a custom `cfg`, rather than a cargo feature, so that `cargo test
--all-features --workspace` (which is morally what CI does) continues to Just
Work in the workspace, same as we do for e.g. Pulley's usage of the nightly Rust
tail calls feature.

Part of https://github.com/bytecodealliance/wasmtime/issues/12069

* Avoid unused import warning in certain build configs

* Remove `out_of_line_slow_path!` macro

* Use extension traits for fallible `Arc<T>` and `Box<T>` allocation

Instead of defining new wrapper types around them.

* Fix example in docs

show more ...


# 4d755770 21-Jan-2026 Joel Dice <[email protected]>

fix `cargo test wasmtime-wasi-http --no-default-features --features p3` (#12380)

Recently, the above stopped building. This fixes the damage and adds CI
coverage.


Revision tags: v41.0.0, v36.0.4, v39.0.2, v40.0.2
# 89adcf35 13-Jan-2026 Alex Crichton <[email protected]>

Switch to using `wkg` for most WIT vendoring (#12327)

* feat(p3)!: vendor 0.3.0-rc-2026-01-06

Update wasmtime's WASI implementation from version
0.3.0-rc-2025-09-16 to 0.3.0-rc-2026-01-06, using wk

Switch to using `wkg` for most WIT vendoring (#12327)

* feat(p3)!: vendor 0.3.0-rc-2026-01-06

Update wasmtime's WASI implementation from version
0.3.0-rc-2025-09-16 to 0.3.0-rc-2026-01-06, using wkg for WIT vendoring.

This involves API changes in clocks and HTTP.

* ci: install wkg in monolith_checks

* Revert back to original WIT versions

Also refactor the script a bit to avoid too bash-isms and hopefully make
it a bit more straightforward what's happening.

---------

Co-authored-by: Bailey Hayes <[email protected]>

show more ...


# 7981473f 12-Jan-2026 Gentle <[email protected]>

wasmtime-wizer: make rayon optional (#12313)

* wasmtime-wizer: make rayon optional

when compiling wasmtime-wizer to wasm32, rayon detects that and tries to
use wasm-bindgen APIs

the new rayon feat

wasmtime-wizer: make rayon optional (#12313)

* wasmtime-wizer: make rayon optional

when compiling wasmtime-wizer to wasm32, rayon detects that and tries to
use wasm-bindgen APIs

the new rayon feature flag allows users to choose if snapshotting should
be parallel or sequential

* add the new wasmtime-wizer rayon feature flag to CI micro_checks

show more ...


# 67ce1ef2 09-Jan-2026 Dave Bakker <[email protected]>

wasi-tls: Add OpenSSL backend (#12228)

* Create an OpenSSL backend for wasi-tls

* vet wasmtime-wasi-tls-openssl

* Add more vets

---------

Co-authored-by: Alex Crichton <[email protected]>


12345678910>>...20