Skip to content

Upgrade wasmtime from 24.0.6 -> 42.0.1#502

Draft
leonm1 wants to merge 12 commits intoproxy-wasm:mainfrom
leonm1:update/wasmtime
Draft

Upgrade wasmtime from 24.0.6 -> 42.0.1#502
leonm1 wants to merge 12 commits intoproxy-wasm:mainfrom
leonm1:update/wasmtime

Conversation

@leonm1
Copy link
Contributor

@leonm1 leonm1 commented Mar 2, 2026

Built off of #501.

@leonm1 leonm1 force-pushed the update/wasmtime branch 2 times, most recently from 40cda32 to 9caca77 Compare March 2, 2026 15:20
@leonm1 leonm1 force-pushed the update/wasmtime branch from 9caca77 to a5ec0f3 Compare March 2, 2026 15:52
wasmtime-c-api-macros = {git = "https://github.com/bytecodealliance/wasmtime", tag = "v24.0.0"}
# Fixes testdata build error due to missing crate_features = ["std"]
log = {version = "0.4.29", default-features = false, features = ['std']}
wasmtime-c-api-impl = {version = "42.0.1", default-features = false, features = ['cranelift', 'wasi', 'wat', 'gc-drc']}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What's the reason for enabling "gc-drc" here?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

After updating wasmtime, it fails to load any modules when the gc feature is enabled and neither gc-drc nor gc-null is enabled. It prints an error message saying one of those flags is required.

I believe gc-null was introduced in v27: https://bytecodealliance.org/articles/wasmtime-27.0

leonm1 added 12 commits March 2, 2026 14:22
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
This reverts commit c19e738.

Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Always uses prefixed wasmtime-c-api-impl, otherwise the prefixed
implementation bitrots. Prefixes the headers in the repo rule to allow
for globbing, which is not possible in a genrule.

The crates_vendor-provided wasmtime-c-api-impl provided build allows us
to upgrade wasmtime solely by changing the version number in the
Cargo.toml file (and the corresponding repo in bazel/repositories.bzl
for the C headers).

Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
@leonm1 leonm1 force-pushed the update/wasmtime branch from a5ec0f3 to 96e4f9d Compare March 2, 2026 19:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants