Skip to content
Closed

Nixe #14287

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
144 changes: 72 additions & 72 deletions Cargo.lock

Large diffs are not rendered by default.

106 changes: 53 additions & 53 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -219,7 +219,7 @@ exclude = [
]

[workspace.package]
version = "48.0.0"
version = "48.0.1"
authors = ["The Wasmtime Project Developers"]
edition = "2024"
# Wasmtime's current policy is that this number can be no larger than the
Expand Down Expand Up @@ -280,17 +280,17 @@ extra_unused_type_parameters = 'warn'
# tooling but aren't intended to be widely depended on.
#
# All of these crates are supported though in the sense that
wasmtime = { path = "crates/wasmtime", version = "48.0.0", default-features = false }
wasmtime-cli-flags = { path = "crates/cli-flags", version = "=48.0.0" }
wasmtime-environ = { path = "crates/environ", version = "=48.0.0" }
wasmtime-wasi = { path = "crates/wasi", version = "48.0.0", default-features = false }
wasmtime-wasi-io = { path = "crates/wasi-io", version = "48.0.0", default-features = false }
wasmtime-wasi-http = { path = "crates/wasi-http", version = "48.0.0", default-features = false }
wasmtime-wasi-nn = { path = "crates/wasi-nn", version = "48.0.0" }
wasmtime-wasi-config = { path = "crates/wasi-config", version = "48.0.0" }
wasmtime-wasi-keyvalue = { path = "crates/wasi-keyvalue", version = "48.0.0" }
wasmtime-wasi-tls = { path = "crates/wasi-tls", version = "48.0.0" }
wasmtime-wast = { path = "crates/wast", version = "=48.0.0" }
wasmtime = { path = "crates/wasmtime", version = "48.0.1", default-features = false }
wasmtime-cli-flags = { path = "crates/cli-flags", version = "=48.0.1" }
wasmtime-environ = { path = "crates/environ", version = "=48.0.1" }
wasmtime-wasi = { path = "crates/wasi", version = "48.0.1", default-features = false }
wasmtime-wasi-io = { path = "crates/wasi-io", version = "48.0.1", default-features = false }
wasmtime-wasi-http = { path = "crates/wasi-http", version = "48.0.1", default-features = false }
wasmtime-wasi-nn = { path = "crates/wasi-nn", version = "48.0.1" }
wasmtime-wasi-config = { path = "crates/wasi-config", version = "48.0.1" }
wasmtime-wasi-keyvalue = { path = "crates/wasi-keyvalue", version = "48.0.1" }
wasmtime-wasi-tls = { path = "crates/wasi-tls", version = "48.0.1" }
wasmtime-wast = { path = "crates/wast", version = "=48.0.1" }

# Internal Wasmtime-specific crates.
#
Expand All @@ -299,54 +299,54 @@ wasmtime-wast = { path = "crates/wast", version = "=48.0.0" }
# that these are internal unsupported crates for external use. These exist as
# part of the project organization of other public crates in Wasmtime and are
# otherwise not supported in terms of CVEs for example.
wasmtime-core = { path = "crates/core", version = "=48.0.0", package = 'wasmtime-internal-core' }
wasmtime-wmemcheck = { path = "crates/wmemcheck", version = "=48.0.0", package = 'wasmtime-internal-wmemcheck' }
wasmtime-c-api-macros = { path = "crates/c-api-macros", version = "=48.0.0", package = 'wasmtime-internal-c-api-macros' }
wasmtime-cache = { path = "crates/cache", version = "=48.0.0", package = 'wasmtime-internal-cache' }
wasmtime-cranelift = { path = "crates/cranelift", version = "=48.0.0", package = 'wasmtime-internal-cranelift' }
wasmtime-winch = { path = "crates/winch", version = "=48.0.0", package = 'wasmtime-internal-winch' }
wasmtime-explorer = { path = "crates/explorer", version = "=48.0.0", package = 'wasmtime-internal-explorer' }
wasmtime-fiber = { path = "crates/fiber", version = "=48.0.0", package = 'wasmtime-internal-fiber' }
wasmtime-jit-debug = { path = "crates/jit-debug", version = "=48.0.0", package = 'wasmtime-internal-jit-debug' }
wasmtime-component-util = { path = "crates/component-util", version = "=48.0.0", package = 'wasmtime-internal-component-util' }
wasmtime-component-macro = { path = "crates/component-macro", version = "=48.0.0", package = 'wasmtime-internal-component-macro' }
wasmtime-versioned-export-macros = { path = "crates/versioned-export-macros", version = "=48.0.0", package = 'wasmtime-internal-versioned-export-macros' }
wasmtime-jit-icache-coherence = { path = "crates/jit-icache-coherence", version = "=48.0.0", package = 'wasmtime-internal-jit-icache-coherence' }
wasmtime-wit-bindgen = { path = "crates/wit-bindgen", version = "=48.0.0", package = 'wasmtime-internal-wit-bindgen' }
wasmtime-unwinder = { path = "crates/unwinder", version = "=48.0.0", package = 'wasmtime-internal-unwinder' }
wasmtime-debugger = { path = "crates/debugger", version = "=48.0.0", package = "wasmtime-internal-debugger" }
gdbstub-component-artifact = { path = "crates/gdbstub-component/artifact", version = "=48.0.0", package = "wasmtime-internal-gdbstub-component-artifact" }
wasmtime-wizer = { path = "crates/wizer", version = "48.0.0" }
wasmtime-core = { path = "crates/core", version = "=48.0.1", package = 'wasmtime-internal-core' }
wasmtime-wmemcheck = { path = "crates/wmemcheck", version = "=48.0.1", package = 'wasmtime-internal-wmemcheck' }
wasmtime-c-api-macros = { path = "crates/c-api-macros", version = "=48.0.1", package = 'wasmtime-internal-c-api-macros' }
wasmtime-cache = { path = "crates/cache", version = "=48.0.1", package = 'wasmtime-internal-cache' }
wasmtime-cranelift = { path = "crates/cranelift", version = "=48.0.1", package = 'wasmtime-internal-cranelift' }
wasmtime-winch = { path = "crates/winch", version = "=48.0.1", package = 'wasmtime-internal-winch' }
wasmtime-explorer = { path = "crates/explorer", version = "=48.0.1", package = 'wasmtime-internal-explorer' }
wasmtime-fiber = { path = "crates/fiber", version = "=48.0.1", package = 'wasmtime-internal-fiber' }
wasmtime-jit-debug = { path = "crates/jit-debug", version = "=48.0.1", package = 'wasmtime-internal-jit-debug' }
wasmtime-component-util = { path = "crates/component-util", version = "=48.0.1", package = 'wasmtime-internal-component-util' }
wasmtime-component-macro = { path = "crates/component-macro", version = "=48.0.1", package = 'wasmtime-internal-component-macro' }
wasmtime-versioned-export-macros = { path = "crates/versioned-export-macros", version = "=48.0.1", package = 'wasmtime-internal-versioned-export-macros' }
wasmtime-jit-icache-coherence = { path = "crates/jit-icache-coherence", version = "=48.0.1", package = 'wasmtime-internal-jit-icache-coherence' }
wasmtime-wit-bindgen = { path = "crates/wit-bindgen", version = "=48.0.1", package = 'wasmtime-internal-wit-bindgen' }
wasmtime-unwinder = { path = "crates/unwinder", version = "=48.0.1", package = 'wasmtime-internal-unwinder' }
wasmtime-debugger = { path = "crates/debugger", version = "=48.0.1", package = "wasmtime-internal-debugger" }
gdbstub-component-artifact = { path = "crates/gdbstub-component/artifact", version = "=48.0.1", package = "wasmtime-internal-gdbstub-component-artifact" }
wasmtime-wizer = { path = "crates/wizer", version = "48.0.1" }

# Miscellaneous crates without a `wasmtime-*` prefix in their name but still
# used in the `wasmtime-*` family of crates depending on various features/etc.
wiggle = { path = "crates/wiggle", version = "=48.0.0", default-features = false }
wiggle-macro = { path = "crates/wiggle/macro", version = "=48.0.0" }
wiggle-generate = { path = "crates/wiggle/generate", version = "=48.0.0" }
pulley-interpreter = { path = 'pulley', version = "=48.0.0" }
pulley-macros = { path = 'pulley/macros', version = "=48.0.0" }
wiggle = { path = "crates/wiggle", version = "=48.0.1", default-features = false }
wiggle-macro = { path = "crates/wiggle/macro", version = "=48.0.1" }
wiggle-generate = { path = "crates/wiggle/generate", version = "=48.0.1" }
pulley-interpreter = { path = 'pulley', version = "=48.0.1" }
pulley-macros = { path = 'pulley/macros', version = "=48.0.1" }

# Cranelift crates in this workspace
cranelift-assembler-x64 = { path = "cranelift/assembler-x64", version = "0.135.0" }
cranelift-codegen = { path = "cranelift/codegen", version = "0.135.0", default-features = false, features = ["unwind"] }
cranelift-frontend = { path = "cranelift/frontend", version = "0.135.0" }
cranelift-entity = { path = "cranelift/entity", version = "0.135.0" }
cranelift-native = { path = "cranelift/native", version = "0.135.0" }
cranelift-module = { path = "cranelift/module", version = "0.135.0" }
cranelift-interpreter = { path = "cranelift/interpreter", version = "0.135.0" }
cranelift-reader = { path = "cranelift/reader", version = "0.135.0" }
cranelift-assembler-x64 = { path = "cranelift/assembler-x64", version = "0.135.1" }
cranelift-codegen = { path = "cranelift/codegen", version = "0.135.1", default-features = false, features = ["unwind"] }
cranelift-frontend = { path = "cranelift/frontend", version = "0.135.1" }
cranelift-entity = { path = "cranelift/entity", version = "0.135.1" }
cranelift-native = { path = "cranelift/native", version = "0.135.1" }
cranelift-module = { path = "cranelift/module", version = "0.135.1" }
cranelift-interpreter = { path = "cranelift/interpreter", version = "0.135.1" }
cranelift-reader = { path = "cranelift/reader", version = "0.135.1" }
cranelift-filetests = { path = "cranelift/filetests" }
cranelift-object = { path = "cranelift/object", version = "0.135.0" }
cranelift-jit = { path = "cranelift/jit", version = "0.135.0" }
cranelift-object = { path = "cranelift/object", version = "0.135.1" }
cranelift-jit = { path = "cranelift/jit", version = "0.135.1" }
cranelift-fuzzgen = { path = "cranelift/fuzzgen" }
cranelift-bforest = { path = "cranelift/bforest", version = "0.135.0" }
cranelift-bitset = { path = "cranelift/bitset", version = "0.135.0" }
cranelift-control = { path = "cranelift/control", version = "0.135.0", default-features = false }
cranelift-srcgen = { path = "cranelift/srcgen", version = "0.135.0" }
cranelift = { path = "cranelift/umbrella", version = "0.135.0" }
cranelift-bforest = { path = "cranelift/bforest", version = "0.135.1" }
cranelift-bitset = { path = "cranelift/bitset", version = "0.135.1" }
cranelift-control = { path = "cranelift/control", version = "0.135.1", default-features = false }
cranelift-srcgen = { path = "cranelift/srcgen", version = "0.135.1" }
cranelift = { path = "cranelift/umbrella", version = "0.135.1" }

# Winch crates in this workspace.
winch-codegen = { path = "winch/codegen", version = "=48.0.0" }
winch-codegen = { path = "winch/codegen", version = "=48.0.1" }

# Internal crates not published to crates.io used in testing, builds, etc
wasi-preview1-component-adapter = { path = "crates/wasi-preview1-component-adapter" }
Expand All @@ -367,8 +367,8 @@ wasip1 = { version = "1.0.0", default-features = false }
# Note that `cap-fs-ext` should be avoided where possible to use
# `cap-primitives` instead.
target-lexicon = "0.13.5"
cap-primitives = "4.0.2"
cap-fs-ext-avoid-using-this = { version = "4.0.2", package = 'cap-fs-ext' }
cap-primitives = "4.0.3"
cap-fs-ext-avoid-using-this = { version = "4.0.3", package = 'cap-fs-ext' }
rustix = "1.1.4"
# wit-bindgen:
wit-bindgen = { version = "0.60.0", default-features = false }
Expand Down
144 changes: 143 additions & 1 deletion RELEASES.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,153 @@
## 48.0.1

Released 2026-08-24.

### Fixed

* Context slots in component compositions are now correctly managed.
[#14139](https://github.com/bytecodealliance/wasmtime/pull/14139)

* The `Host` header is now set by default for HTTP requests sent with WASIp2.
[#14167](https://github.com/bytecodealliance/wasmtime/pull/14167)

--------------------------------------------------------------------------------

## 48.0.0

Unreleased.
Released 2026-08-20.

### Added

* Wasmtime has an initial implementation of the component model
fixed-length-lists feature.
[#12315](https://github.com/bytecodealliance/wasmtime/pull/12315)

* Wasmtime's reflection of component imports/exports now exposes `external-id`
information.
[#13874](https://github.com/bytecodealliance/wasmtime/pull/13874)

* Cranelift's alias analysis pass now eliminates dead stores.
[#13806](https://github.com/bytecodealliance/wasmtime/pull/13806)
[#13947](https://github.com/bytecodealliance/wasmtime/pull/13947)

* Winch now supports the wasm SIMD proposal on AArch64.
[#13911](https://github.com/bytecodealliance/wasmtime/pull/13911)
[#13921](https://github.com/bytecodealliance/wasmtime/pull/13921)
[#13928](https://github.com/bytecodealliance/wasmtime/pull/13928)
[#13937](https://github.com/bytecodealliance/wasmtime/pull/13937)
[#13945](https://github.com/bytecodealliance/wasmtime/pull/13945)
[#13938](https://github.com/bytecodealliance/wasmtime/pull/13938)
[#13946](https://github.com/bytecodealliance/wasmtime/pull/13946)
...

* Cranelift now supports an AVX512-VNNI lowering for the dot-product wasm
instruction and `usdot` on AArch64.
[#14006](https://github.com/bytecodealliance/wasmtime/pull/14006)
[#14054](https://github.com/bytecodealliance/wasmtime/pull/14054)

* Wasmtime's `bindgen!` macro now has an `include_component_type` option to
generate a `COMPONENT_TYPE` constant with the encoded type of the world being
bound.
[#14013](https://github.com/bytecodealliance/wasmtime/pull/14013)

* Wasmtime now supports configurable fuel costs for variable-length wasm
opcodes.
[#13931](https://github.com/bytecodealliance/wasmtime/pull/13931)

### Changed

* Host-implemented traits in `wasmtime-wasi-http` are now the same across
wasip2/wasip3 and no longer require separate implementations/structures.
[#13810](https://github.com/bytecodealliance/wasmtime/pull/13810)
[#13812](https://github.com/bytecodealliance/wasmtime/pull/13812)
[#13835](https://github.com/bytecodealliance/wasmtime/pull/13835)

* Wasmtime will now use the `process_madvise` syscall on Linux where available
which can improve the performance of the pooling allocator when the
deallocation batch size is configured to larger than 1.
[#13830](https://github.com/bytecodealliance/wasmtime/pull/13830)

* Synchronous cancellation of streams/futures/subtasks now traps if the waitable
was already in a waitable set.
[#13708](https://github.com/bytecodealliance/wasmtime/pull/13708)

* Winch is now flagged to be compatible with component-model-async.
[#13845](https://github.com/bytecodealliance/wasmtime/pull/13845)

* Wasmtime's pooling allocator now uses more sharding to reduce lock contention.
[#13840](https://github.com/bytecodealliance/wasmtime/pull/13840)

* Wasmtime now requires Rust 1.95.0 to build.
[#13853](https://github.com/bytecodealliance/wasmtime/pull/13853)

* Cranelift now has a uniform maximum size across all backends on the bounds of
a function's stack frame.
[#13783](https://github.com/bytecodealliance/wasmtime/pull/13783)

* Wasmtime's `LinkerInstance` for components now supports being reopened to
gradually add more items.
[#13908](https://github.com/bytecodealliance/wasmtime/pull/13908)

* The `wasmtime-wasi` crate's default configuration now denies creation of
TCP/UDP sockets by default.
[#13936](https://github.com/bytecodealliance/wasmtime/pull/13936)

* Wasmtime now configures async task context fields on `realloc` calls to zero.
[#13949](https://github.com/bytecodealliance/wasmtime/pull/13949)

* Work has continued on continuous verification of Cranelift's lowering rules
on AArch64.
[#13935](https://github.com/bytecodealliance/wasmtime/pull/13935)
[#13929](https://github.com/bytecodealliance/wasmtime/pull/13929)
[#13998](https://github.com/bytecodealliance/wasmtime/pull/13998)

* Codegen for loads on AArch64 has been optimized slightly to improve sharing
common sub-expressions.
[#13766](https://github.com/bytecodealliance/wasmtime/pull/13766)

* Work continues on implementing the stack-switching proposal.
[#11717](https://github.com/bytecodealliance/wasmtime/pull/11717)
[#13996](https://github.com/bytecodealliance/wasmtime/pull/13996)
[#14052](https://github.com/bytecodealliance/wasmtime/pull/14052)

* Permissions for `wasi-filesystem` in the implementation of the `wasmtime-wasi`
crate have been simplified to either read-write or read-only for a directory.
[#14010](https://github.com/bytecodealliance/wasmtime/pull/14010)

### Fixed

* A late-drop of host-defined stream producers/consumers has been fixed.
[#13891](https://github.com/bytecodealliance/wasmtime/pull/13891)

* Call hooks are now invoked around async yields when dealing with concurrent
execution.
[#13871](https://github.com/bytecodealliance/wasmtime/pull/13871)

* Extreme filesystem timestamps no longer cause panics.
[#13894](https://github.com/bytecodealliance/wasmtime/pull/13894)

* An erroneous trap was fixed where an async-delivered write-closed event was
sent to a future.
[#13914](https://github.com/bytecodealliance/wasmtime/pull/13914)

* An erroneous trap where Wasmtime internally used the wrong thread id has been
fixed.
[#13926](https://github.com/bytecodealliance/wasmtime/pull/13926)

* Cross-component instance streams are no longer erroneously flagged as being
intra-instance.
[#14018](https://github.com/bytecodealliance/wasmtime/pull/14018)

* A panic in the `wasmtime` CLI with non-utf8 environment variables has been
fixed.
[#14017](https://github.com/bytecodealliance/wasmtime/pull/14017)

* Atomic waits on big-endian hosts have been fixed.
[#14027](https://github.com/bytecodealliance/wasmtime/pull/14027)

* Enabling MPK with CoW images has been fixed.
[#14076](https://github.com/bytecodealliance/wasmtime/pull/14076)

--------------------------------------------------------------------------------

Release notes for previous releases of Wasmtime can be found on the respective
Expand Down
4 changes: 2 additions & 2 deletions cranelift/assembler-x64/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[package]
name = "cranelift-assembler-x64"
description = "A Cranelift-specific x64 assembler"
version = "0.135.0"
version = "0.135.1"
license = "Apache-2.0 WITH LLVM-exception"
edition.workspace = true
rust-version.workspace = true
Expand All @@ -25,7 +25,7 @@ arbtest = { workspace = true }
capstone = { workspace = true }

[build-dependencies]
cranelift-assembler-x64-meta = { path = "meta", version = "0.135.0" }
cranelift-assembler-x64-meta = { path = "meta", version = "0.135.1" }

[lints]
workspace = true
Expand Down
2 changes: 1 addition & 1 deletion cranelift/assembler-x64/meta/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[package]
name = "cranelift-assembler-x64-meta"
description = "Generate a Cranelift-specific assembler for x64 instructions"
version = "0.135.0"
version = "0.135.1"
license = "Apache-2.0 WITH LLVM-exception"
edition.workspace = true
rust-version.workspace = true
Expand Down
2 changes: 1 addition & 1 deletion cranelift/bforest/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[package]
authors = ["The Cranelift Project Developers"]
name = "cranelift-bforest"
version = "0.135.0"
version = "0.135.1"
description = "A forest of B+-trees"
license = "Apache-2.0 WITH LLVM-exception"
documentation = "https://docs.rs/cranelift-bforest"
Expand Down
2 changes: 1 addition & 1 deletion cranelift/bitset/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[package]
authors = ["The Cranelift Project Developers"]
name = "cranelift-bitset"
version = "0.135.0"
version = "0.135.1"
description = "Various bitset stuff for use inside Cranelift"
license = "Apache-2.0 WITH LLVM-exception"
documentation = "https://docs.rs/cranelift-bitset"
Expand Down
8 changes: 4 additions & 4 deletions cranelift/codegen/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[package]
authors = ["The Cranelift Project Developers"]
name = "cranelift-codegen"
version = "0.135.0"
version = "0.135.1"
description = "Low-level code generator library"
license = "Apache-2.0 WITH LLVM-exception"
documentation = "https://docs.rs/cranelift-codegen"
Expand All @@ -25,7 +25,7 @@ anyhow = { workspace = true, optional = true, features = ['std'] }
bumpalo = { workspace = true }
capstone = { workspace = true, optional = true }
cranelift-assembler-x64 = { workspace = true }
cranelift-codegen-shared = { path = "./shared", version = "0.135.0" }
cranelift-codegen-shared = { path = "./shared", version = "0.135.1" }
cranelift-entity = { workspace = true }
cranelift-bforest = { workspace = true }
cranelift-bitset = { workspace = true }
Expand Down Expand Up @@ -58,8 +58,8 @@ proptest = { workspace = true }
mutatis = { workspace = true }

[build-dependencies]
cranelift-codegen-meta = { path = "meta", version = "0.135.0" }
cranelift-isle = { path = "../isle/isle", version = "=0.135.0" }
cranelift-codegen-meta = { path = "meta", version = "0.135.1" }
cranelift-isle = { path = "../isle/isle", version = "=0.135.1" }

[features]
default = ["std", "unwind", "host-arch", "timing"]
Expand Down
Loading