Repository: bytecodealliance/wasmtime
Pull request #8328 (2024-04-11 14:28:38)

Release Wasmtime 18.0.4
This is an [automated pull request][process] from CI to create a patch
release for Wasmtime 18.0.4, requested by @alexcrichton.

It's recommended that maintainers double-check that [RELEASES.md]
is up-to-date and that there are no known issues before merging this
PR. When this PR is merged a release tag will automatically be
created, crates will be published, and CI artifacts will be produced.

[RELEASES.md]: https://github.com/bytecodealliance/wasmtime/blob/main/RELEASES.md
[process]: https://docs.wasmtime.dev/contributing-release-process.html


github-actions[bot]: #### Subscribe to Label Action

cc @cfallin, @fitzgen, @peterhuene, @saulecabrera

<details>
This issue or pull request has been labeled: "cranelift", "cranelift:meta", "cranelift:module", "cranelift:wasm", "isle", "wasmtime:c-api", "wasmtime:docs", "winch"

Thus the following users have been cc'd because of the following labels:

* cfallin: isle
* fitzgen: isle
* peterhuene: wasmtime:c-api
* saulecabrera: winch

To subscribe or unsubscribe from this label, edit the <code>.github/subscribe-to-label.json</code> configuration file.

[Learn more.](https://github.com/bytecodealliance/subscribe-to-label-action)
</details>

Patch:
diff --git a/Cargo.lock b/Cargo.lock
index b78ba5f01..a8a9c8198 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -224,7 +224,7 @@ checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec"
 
 [[package]]
 name = "byte-array-literals"
-version = "18.0.3"
+version = "18.0.4"
 
 [[package]]
 name = "byteorder"
@@ -558,7 +558,7 @@ dependencies = [
 
 [[package]]
 name = "cranelift"
-version = "0.105.3"
+version = "0.105.4"
 dependencies = [
  "cranelift-codegen",
  "cranelift-frontend",
@@ -566,14 +566,14 @@ dependencies = [
 
 [[package]]
 name = "cranelift-bforest"
-version = "0.105.3"
+version = "0.105.4"
 dependencies = [
  "cranelift-entity",
 ]
 
 [[package]]
 name = "cranelift-codegen"
-version = "0.105.3"
+version = "0.105.4"
 dependencies = [
  "anyhow",
  "bincode",
@@ -601,25 +601,25 @@ dependencies = [
 
 [[package]]
 name = "cranelift-codegen-meta"
-version = "0.105.3"
+version = "0.105.4"
 dependencies = [
  "cranelift-codegen-shared",
 ]
 
 [[package]]
 name = "cranelift-codegen-shared"
-version = "0.105.3"
+version = "0.105.4"
 
 [[package]]
 name = "cranelift-control"
-version = "0.105.3"
+version = "0.105.4"
 dependencies = [
  "arbitrary",
 ]
 
 [[package]]
 name = "cranelift-entity"
-version = "0.105.3"
+version = "0.105.4"
 dependencies = [
  "serde",
  "serde_derive",
@@ -658,7 +658,7 @@ dependencies = [
 
 [[package]]
 name = "cranelift-frontend"
-version = "0.105.3"
+version = "0.105.4"
 dependencies = [
  "cranelift-codegen",
  "hashbrown 0.14.0",
@@ -682,7 +682,7 @@ dependencies = [
 
 [[package]]
 name = "cranelift-interpreter"
-version = "0.105.3"
+version = "0.105.4"
 dependencies = [
  "cranelift-codegen",
  "cranelift-entity",
@@ -696,7 +696,7 @@ dependencies = [
 
 [[package]]
 name = "cranelift-isle"
-version = "0.105.3"
+version = "0.105.4"
 dependencies = [
  "codespan-reporting",
  "log",
@@ -705,7 +705,7 @@ dependencies = [
 
 [[package]]
 name = "cranelift-jit"
-version = "0.105.3"
+version = "0.105.4"
 dependencies = [
  "anyhow",
  "cranelift",
@@ -726,7 +726,7 @@ dependencies = [
 
 [[package]]
 name = "cranelift-module"
-version = "0.105.3"
+version = "0.105.4"
 dependencies = [
  "anyhow",
  "cranelift-codegen",
@@ -738,7 +738,7 @@ dependencies = [
 
 [[package]]
 name = "cranelift-native"
-version = "0.105.3"
+version = "0.105.4"
 dependencies = [
  "cranelift-codegen",
  "libc",
@@ -747,7 +747,7 @@ dependencies = [
 
 [[package]]
 name = "cranelift-object"
-version = "0.105.3"
+version = "0.105.4"
 dependencies = [
  "anyhow",
  "cranelift-codegen",
@@ -762,7 +762,7 @@ dependencies = [
 
 [[package]]
 name = "cranelift-reader"
-version = "0.105.3"
+version = "0.105.4"
 dependencies = [
  "anyhow",
  "cranelift-codegen",
@@ -772,7 +772,7 @@ dependencies = [
 
 [[package]]
 name = "cranelift-serde"
-version = "0.105.3"
+version = "0.105.4"
 dependencies = [
  "clap",
  "cranelift-codegen",
@@ -819,7 +819,7 @@ dependencies = [
 
 [[package]]
 name = "cranelift-wasm"
-version = "0.105.3"
+version = "0.105.4"
 dependencies = [
  "cranelift-codegen",
  "cranelift-entity",
@@ -2877,7 +2877,7 @@ checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d"
 
 [[package]]
 name = "verify-component-adapter"
-version = "18.0.3"
+version = "18.0.4"
 dependencies = [
  "anyhow",
  "wasmparser 0.121.0",
@@ -2927,7 +2927,7 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
 
 [[package]]
 name = "wasi-common"
-version = "18.0.3"
+version = "18.0.4"
 dependencies = [
  "anyhow",
  "bitflags 2.4.1",
@@ -2966,7 +2966,7 @@ dependencies = [
 
 [[package]]
 name = "wasi-preview1-component-adapter"
-version = "18.0.3"
+version = "18.0.4"
 dependencies = [
  "byte-array-literals",
  "object",
@@ -3172,7 +3172,7 @@ dependencies = [
 
 [[package]]
 name = "wasmtime"
-version = "18.0.3"
+version = "18.0.4"
 dependencies = [
  "addr2line",
  "anyhow",
@@ -3216,14 +3216,14 @@ dependencies = [
 
 [[package]]
 name = "wasmtime-asm-macros"
-version = "18.0.3"
+version = "18.0.4"
 dependencies = [
  "cfg-if",
 ]
 
 [[package]]
 name = "wasmtime-bench-api"
-version = "18.0.3"
+version = "18.0.4"
 dependencies = [
  "anyhow",
  "cap-std",
@@ -3239,14 +3239,14 @@ dependencies = [
 
 [[package]]
 name = "wasmtime-c-api"
-version = "18.0.3"
+version = "18.0.4"
 dependencies = [
  "wasmtime-c-api-impl",
 ]
 
 [[package]]
 name = "wasmtime-c-api-impl"
-version = "18.0.3"
+version = "18.0.4"
 dependencies = [
  "anyhow",
  "cap-std",
@@ -3264,7 +3264,7 @@ dependencies = [
 
 [[package]]
 name = "wasmtime-c-api-macros"
-version = "18.0.3"
+version = "18.0.4"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -3272,7 +3272,7 @@ dependencies = [
 
 [[package]]
 name = "wasmtime-cache"
-version = "18.0.3"
+version = "18.0.4"
 dependencies = [
  "anyhow",
  "base64",
@@ -3294,7 +3294,7 @@ dependencies = [
 
 [[package]]
 name = "wasmtime-cli"
-version = "18.0.3"
+version = "18.0.4"
 dependencies = [
  "anyhow",
  "async-trait",
@@ -3352,7 +3352,7 @@ dependencies = [
 
 [[package]]
 name = "wasmtime-cli-flags"
-version = "18.0.3"
+version = "18.0.4"
 dependencies = [
  "anyhow",
  "clap",
@@ -3365,7 +3365,7 @@ dependencies = [
 
 [[package]]
 name = "wasmtime-component-macro"
-version = "18.0.3"
+version = "18.0.4"
 dependencies = [
  "anyhow",
  "component-macro-test-helpers",
@@ -3381,11 +3381,11 @@ dependencies = [
 
 [[package]]
 name = "wasmtime-component-util"
-version = "18.0.3"
+version = "18.0.4"
 
 [[package]]
 name = "wasmtime-cranelift"
-version = "18.0.3"
+version = "18.0.4"
 dependencies = [
  "anyhow",
  "cfg-if",
@@ -3408,7 +3408,7 @@ dependencies = [
 
 [[package]]
 name = "wasmtime-cranelift-shared"
-version = "18.0.3"
+version = "18.0.4"
 dependencies = [
  "anyhow",
  "cranelift-codegen",
@@ -3422,7 +3422,7 @@ dependencies = [
 
 [[package]]
 name = "wasmtime-environ"
-version = "18.0.3"
+version = "18.0.4"
 dependencies = [
  "anyhow",
  "bincode",
@@ -3463,7 +3463,7 @@ dependencies = [
 
 [[package]]
 name = "wasmtime-explorer"
-version = "18.0.3"
+version = "18.0.4"
 dependencies = [
  "anyhow",
  "capstone",
@@ -3477,7 +3477,7 @@ dependencies = [
 
 [[package]]
 name = "wasmtime-fiber"
-version = "18.0.3"
+version = "18.0.4"
 dependencies = [
  "anyhow",
  "backtrace",
@@ -3546,7 +3546,7 @@ dependencies = [
 
 [[package]]
 name = "wasmtime-jit-debug"
-version = "18.0.3"
+version = "18.0.4"
 dependencies = [
  "object",
  "once_cell",
@@ -3556,7 +3556,7 @@ dependencies = [
 
 [[package]]
 name = "wasmtime-jit-icache-coherence"
-version = "18.0.3"
+version = "18.0.4"
 dependencies = [
  "cfg-if",
  "libc",
@@ -3565,7 +3565,7 @@ dependencies = [
 
 [[package]]
 name = "wasmtime-runtime"
-version = "18.0.3"
+version = "18.0.4"
 dependencies = [
  "anyhow",
  "cc",
@@ -3596,7 +3596,7 @@ dependencies = [
 
 [[package]]
 name = "wasmtime-types"
-version = "18.0.3"
+version = "18.0.4"
 dependencies = [
  "cranelift-entity",
  "serde",
@@ -3607,7 +3607,7 @@ dependencies = [
 
 [[package]]
 name = "wasmtime-versioned-export-macros"
-version = "18.0.3"
+version = "18.0.4"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -3616,7 +3616,7 @@ dependencies = [
 
 [[package]]
 name = "wasmtime-wasi"
-version = "18.0.3"
+version = "18.0.4"
 dependencies = [
  "anyhow",
  "async-trait",
@@ -3652,7 +3652,7 @@ dependencies = [
 
 [[package]]
 name = "wasmtime-wasi-http"
-version = "18.0.3"
+version = "18.0.4"
 dependencies = [
  "anyhow",
  "async-trait",
@@ -3678,7 +3678,7 @@ dependencies = [
 
 [[package]]
 name = "wasmtime-wasi-nn"
-version = "18.0.3"
+version = "18.0.4"
 dependencies = [
  "anyhow",
  "cap-std",
@@ -3694,7 +3694,7 @@ dependencies = [
 
 [[package]]
 name = "wasmtime-wasi-threads"
-version = "18.0.3"
+version = "18.0.4"
 dependencies = [
  "anyhow",
  "log",
@@ -3705,7 +3705,7 @@ dependencies = [
 
 [[package]]
 name = "wasmtime-wast"
-version = "18.0.3"
+version = "18.0.4"
 dependencies = [
  "anyhow",
  "log",
@@ -3715,7 +3715,7 @@ dependencies = [
 
 [[package]]
 name = "wasmtime-winch"
-version = "18.0.3"
+version = "18.0.4"
 dependencies = [
  "anyhow",
  "cranelift-codegen",
@@ -3730,7 +3730,7 @@ dependencies = [
 
 [[package]]
 name = "wasmtime-wit-bindgen"
-version = "18.0.3"
+version = "18.0.4"
 dependencies = [
  "anyhow",
  "heck",
@@ -3740,7 +3740,7 @@ dependencies = [
 
 [[package]]
 name = "wasmtime-wmemcheck"
-version = "18.0.3"
+version = "18.0.4"
 
 [[package]]
 name = "wast"
@@ -3802,7 +3802,7 @@ dependencies = [
 
 [[package]]
 name = "wiggle"
-version = "18.0.3"
+version = "18.0.4"
 dependencies = [
  "anyhow",
  "async-trait",
@@ -3819,7 +3819,7 @@ dependencies = [
 
 [[package]]
 name = "wiggle-generate"
-version = "18.0.3"
+version = "18.0.4"
 dependencies = [
  "anyhow",
  "heck",
@@ -3832,7 +3832,7 @@ dependencies = [
 
 [[package]]
 name = "wiggle-macro"
-version = "18.0.3"
+version = "18.0.4"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -3887,7 +3887,7 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
 
 [[package]]
 name = "winch-codegen"
-version = "0.16.3"
+version = "0.16.4"
 dependencies = [
  "anyhow",
  "cranelift-codegen",
diff --git a/Cargo.toml b/Cargo.toml
index e1d95eb8c..6c30a2bea 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -134,7 +134,7 @@ exclude = [
 ]
 
 [workspace.package]
-version = "18.0.3"
+version = "18.0.4"
 authors = ["The Wasmtime Project Developers"]
 edition = "2021"
 # Wasmtime's current policy is that this number can be no larger than the
@@ -156,57 +156,57 @@ all = 'allow'
 
 [workspace.dependencies]
 arbitrary = { version = "1.3.1" }
-wasmtime-wmemcheck = { path = "crates/wmemcheck", version = "=18.0.3" }
-wasmtime = { path = "crates/wasmtime", version = "18.0.3", default-features = false }
-wasmtime-c-api-macros = { path = "crates/c-api-macros", version = "=18.0.3" }
-wasmtime-cache = { path = "crates/cache", version = "=18.0.3" }
-wasmtime-cli-flags = { path = "crates/cli-flags", version = "=18.0.3" }
-wasmtime-cranelift = { path = "crates/cranelift", version = "=18.0.3" }
-wasmtime-cranelift-shared = { path = "crates/cranelift-shared", version = "=18.0.3" }
-wasmtime-winch = { path = "crates/winch", version = "=18.0.3" }
-wasmtime-environ = { path = "crates/environ", version = "=18.0.3" }
-wasmtime-explorer = { path = "crates/explorer", version = "=18.0.3" }
-wasmtime-fiber = { path = "crates/fiber", version = "=18.0.3" }
-wasmtime-types = { path = "crates/types", version = "18.0.3" }
-wasmtime-jit-debug = { path = "crates/jit-debug", version = "=18.0.3" }
-wasmtime-runtime = { path = "crates/runtime", version = "=18.0.3" }
-wasmtime-wast = { path = "crates/wast", version = "=18.0.3" }
-wasmtime-wasi = { path = "crates/wasi", version = "18.0.3", default-features = false }
-wasmtime-wasi-http = { path = "crates/wasi-http", version = "=18.0.3", default-features = false }
-wasmtime-wasi-nn = { path = "crates/wasi-nn", version = "18.0.3" }
-wasmtime-wasi-threads = { path = "crates/wasi-threads", version = "18.0.3" }
-wasmtime-component-util = { path = "crates/component-util", version = "=18.0.3" }
-wasmtime-component-macro = { path = "crates/component-macro", version = "=18.0.3" }
-wasmtime-asm-macros = { path = "crates/asm-macros", version = "=18.0.3" }
-wasmtime-versioned-export-macros = { path = "crates/versioned-export-macros", version = "=18.0.3" }
+wasmtime-wmemcheck = { path = "crates/wmemcheck", version = "=18.0.4" }
+wasmtime = { path = "crates/wasmtime", version = "18.0.4", default-features = false }
+wasmtime-c-api-macros = { path = "crates/c-api-macros", version = "=18.0.4" }
+wasmtime-cache = { path = "crates/cache", version = "=18.0.4" }
+wasmtime-cli-flags = { path = "crates/cli-flags", version = "=18.0.4" }
+wasmtime-cranelift = { path = "crates/cranelift", version = "=18.0.4" }
+wasmtime-cranelift-shared = { path = "crates/cranelift-shared", version = "=18.0.4" }
+wasmtime-winch = { path = "crates/winch", version = "=18.0.4" }
+wasmtime-environ = { path = "crates/environ", version = "=18.0.4" }
+wasmtime-explorer = { path = "crates/explorer", version = "=18.0.4" }
+wasmtime-fiber = { path = "crates/fiber", version = "=18.0.4" }
+wasmtime-types = { path = "crates/types", version = "18.0.4" }
+wasmtime-jit-debug = { path = "crates/jit-debug", version = "=18.0.4" }
+wasmtime-runtime = { path = "crates/runtime", version = "=18.0.4" }
+wasmtime-wast = { path = "crates/wast", version = "=18.0.4" }
+wasmtime-wasi = { path = "crates/wasi", version = "18.0.4", default-features = false }
+wasmtime-wasi-http = { path = "crates/wasi-http", version = "=18.0.4", default-features = false }
+wasmtime-wasi-nn = { path = "crates/wasi-nn", version = "18.0.4" }
+wasmtime-wasi-threads = { path = "crates/wasi-threads", version = "18.0.4" }
+wasmtime-component-util = { path = "crates/component-util", version = "=18.0.4" }
+wasmtime-component-macro = { path = "crates/component-macro", version = "=18.0.4" }
+wasmtime-asm-macros = { path = "crates/asm-macros", version = "=18.0.4" }
+wasmtime-versioned-export-macros = { path = "crates/versioned-export-macros", version = "=18.0.4" }
 component-test-util = { path = "crates/misc/component-test-util" }
 component-fuzz-util = { path = "crates/misc/component-fuzz-util" }
-wiggle = { path = "crates/wiggle", version = "=18.0.3", default-features = false }
-wiggle-macro = { path = "crates/wiggle/macro", version = "=18.0.3" }
-wiggle-generate = { path = "crates/wiggle/generate", version = "=18.0.3" }
-wasi-common = { path = "crates/wasi-common", version = "=18.0.3", default-features = false }
+wiggle = { path = "crates/wiggle", version = "=18.0.4", default-features = false }
+wiggle-macro = { path = "crates/wiggle/macro", version = "=18.0.4" }
+wiggle-generate = { path = "crates/wiggle/generate", version = "=18.0.4" }
+wasi-common = { path = "crates/wasi-common", version = "=18.0.4", default-features = false }
 wasmtime-fuzzing = { path = "crates/fuzzing" }
-wasmtime-jit-icache-coherence = { path = "crates/jit-icache-coherence", version = "=18.0.3" }
-wasmtime-wit-bindgen = { path = "crates/wit-bindgen", version = "=18.0.3" }
+wasmtime-jit-icache-coherence = { path = "crates/jit-icache-coherence", version = "=18.0.4" }
+wasmtime-wit-bindgen = { path = "crates/wit-bindgen", version = "=18.0.4" }
 test-programs-artifacts = { path = 'crates/test-programs/artifacts' }
 
-cranelift-wasm = { path = "cranelift/wasm", version = "0.105.3" }
-cranelift-codegen = { path = "cranelift/codegen", version = "0.105.3", default-features = false, features = ["std", "unwind"] }
-cranelift-frontend = { path = "cranelift/frontend", version = "0.105.3" }
-cranelift-entity = { path = "cranelift/entity", version = "0.105.3" }
-cranelift-native = { path = "cranelift/native", version = "0.105.3" }
-cranelift-module = { path = "cranelift/module", version = "0.105.3" }
-cranelift-interpreter = { path = "cranelift/interpreter", version = "0.105.3" }
-cranelift-reader = { path = "cranelift/reader", version = "0.105.3" }
+cranelift-wasm = { path = "cranelift/wasm", version = "0.105.4" }
+cranelift-codegen = { path = "cranelift/codegen", version = "0.105.4", default-features = false, features = ["std", "unwind"] }
+cranelift-frontend = { path = "cranelift/frontend", version = "0.105.4" }
+cranelift-entity = { path = "cranelift/entity", version = "0.105.4" }
+cranelift-native = { path = "cranelift/native", version = "0.105.4" }
+cranelift-module = { path = "cranelift/module", version = "0.105.4" }
+cranelift-interpreter = { path = "cranelift/interpreter", version = "0.105.4" }
+cranelift-reader = { path = "cranelift/reader", version = "0.105.4" }
 cranelift-filetests = { path = "cranelift/filetests" }
-cranelift-object = { path = "cranelift/object", version = "0.105.3" }
-cranelift-jit = { path = "cranelift/jit", version = "0.105.3" }
+cranelift-object = { path = "cranelift/object", version = "0.105.4" }
+cranelift-jit = { path = "cranelift/jit", version = "0.105.4" }
 cranelift-fuzzgen = { path = "cranelift/fuzzgen" }
-cranelift-bforest = { path = "cranelift/bforest", version = "0.105.3" }
-cranelift-control = { path = "cranelift/control", version = "0.105.3" }
-cranelift = { path = "cranelift/umbrella", version = "0.105.3" }
+cranelift-bforest = { path = "cranelift/bforest", version = "0.105.4" }
+cranelift-control = { path = "cranelift/control", version = "0.105.4" }
+cranelift = { path = "cranelift/umbrella", version = "0.105.4" }
 
-winch-codegen = { path = "winch/codegen", version = "=0.16.3" }
+winch-codegen = { path = "winch/codegen", version = "=0.16.4" }
 winch-filetests = { path = "winch/filetests" }
 winch-test-macros = { path = "winch/test-macros" }
 
diff --git a/RELEASES.md b/RELEASES.md
index 01bf2d32f..efdc8cf00 100644
--- a/RELEASES.md
+++ b/RELEASES.md
@@ -1,5 +1,23 @@
 --------------------------------------------------------------------------------
 
+## 18.0.4
+
+Released 2024-04-11
+
+### Fixed
+
+* Fix `bindgen!` with `trappable_error_type` using unversioned/versioned
+  packages.
+  [#8305](https://github.com/bytecodealliance/wasmtime/pull/8305)
+
+* cranelift: Include clobbers and outgoing args in stack limit.
+  [#8334](https://github.com/bytecodealliance/wasmtime/pull/8334)
+
+* Fix a panic when compiling invalid components.
+  [#8322](https://github.com/bytecodealliance/wasmtime/issues/8322)
+
+--------------------------------------------------------------------------------
+
 ## 18.0.3
 
 Released 2024-03-12
diff --git a/cranelift/bforest/Cargo.toml b/cranelift/bforest/Cargo.toml
index 0e5c30bba..be336c10e 100644
--- a/cranelift/bforest/Cargo.toml
+++ b/cranelift/bforest/Cargo.toml
@@ -1,7 +1,7 @@
 [package]
 authors = ["The Cranelift Project Developers"]
 name = "cranelift-bforest"
-version = "0.105.3"
+version = "0.105.4"
 description = "A forest of B+-trees"
 license = "Apache-2.0 WITH LLVM-exception"
 documentation = "https://docs.rs/cranelift-bforest"
diff --git a/cranelift/codegen/Cargo.toml b/cranelift/codegen/Cargo.toml
index 4fc0b2013..3aa3f505c 100644
--- a/cranelift/codegen/Cargo.toml
+++ b/cranelift/codegen/Cargo.toml
@@ -1,7 +1,7 @@
 [package]
 authors = ["The Cranelift Project Developers"]
 name = "cranelift-codegen"
-version = "0.105.3"
+version = "0.105.4"
 description = "Low-level code generator library"
 license = "Apache-2.0 WITH LLVM-exception"
 documentation = "https://docs.rs/cranelift-codegen"
@@ -19,7 +19,7 @@ workspace = true
 anyhow = { workspace = true, optional = true }
 bumpalo = "3"
 capstone = { workspace = true, optional = true }
-cranelift-codegen-shared = { path = "./shared", version = "0.105.3" }
+cranelift-codegen-shared = { path = "./shared", version = "0.105.4" }
 cranelift-entity = { workspace = true }
 cranelift-bforest = { workspace = true }
 cranelift-control = { workspace = true }
@@ -44,8 +44,8 @@ criterion = { version = "0.5.0", features = ["html_reports"] }
 similar = "2.1.0"
 
 [build-dependencies]
-cranelift-codegen-meta = { path = "meta", version = "0.105.3" }
-cranelift-isle = { path = "../isle/isle", version = "=0.105.3" }
+cranelift-codegen-meta = { path = "meta", version = "0.105.4" }
+cranelift-isle = { path = "../isle/isle", version = "=0.105.4" }
 
 [features]
 default = ["std", "unwind", "host-arch", "timing"]
diff --git a/cranelift/codegen/meta/Cargo.toml b/cranelift/codegen/meta/Cargo.toml
index bd7b37850..93c2a4b8c 100644
--- a/cranelift/codegen/meta/Cargo.toml
+++ b/cranelift/codegen/meta/Cargo.toml
@@ -1,7 +1,7 @@
 [package]
 name = "cranelift-codegen-meta"
 authors = ["The Cranelift Project Developers"]
-version = "0.105.3"
+version = "0.105.4"
 description = "Metaprogram for cranelift-codegen code generator library"
 license = "Apache-2.0 WITH LLVM-exception"
 repository = "https://github.com/bytecodealliance/wasmtime"
@@ -15,4 +15,4 @@ workspace = true
 rustdoc-args = [ "--document-private-items" ]
 
 [dependencies]
-cranelift-codegen-shared = { path = "../shared", version = "0.105.3" }
+cranelift-codegen-shared = { path = "../shared", version = "0.105.4" }
diff --git a/cranelift/codegen/shared/Cargo.toml b/cranelift/codegen/shared/Cargo.toml
index e3ee2f648..1374138a2 100644
--- a/cranelift/codegen/shared/Cargo.toml
+++ b/cranelift/codegen/shared/Cargo.toml
@@ -1,7 +1,7 @@
 [package]
 authors = ["The Cranelift Project Developers"]
 name = "cranelift-codegen-shared"
-version = "0.105.3"
+version = "0.105.4"
 description = "For code shared between cranelift-codegen-meta and cranelift-codegen"
 license = "Apache-2.0 WITH LLVM-exception"
 repository = "https://github.com/bytecodealliance/wasmtime"
diff --git a/cranelift/codegen/src/isa/aarch64/abi.rs b/cranelift/codegen/src/isa/aarch64/abi.rs
index d1279921d..c7f4c8450 100644
--- a/cranelift/codegen/src/isa/aarch64/abi.rs
+++ b/cranelift/codegen/src/isa/aarch64/abi.rs
@@ -1164,7 +1164,6 @@ impl ABIMachineSpec for AArch64MachineDeps {
         };
 
         // Return FrameLayout structure.
-        debug_assert!(outgoing_args_size == 0);
         FrameLayout {
             stack_args_size,
             setup_area_size,
diff --git a/cranelift/codegen/src/isa/riscv64/abi.rs b/cranelift/codegen/src/isa/riscv64/abi.rs
index c4e16fcd4..3d50a443a 100644
--- a/cranelift/codegen/src/isa/riscv64/abi.rs
+++ b/cranelift/codegen/src/isa/riscv64/abi.rs
@@ -696,7 +696,6 @@ impl ABIMachineSpec for Riscv64MachineDeps {
         };
 
         // Return FrameLayout structure.
-        debug_assert!(outgoing_args_size == 0);
         FrameLayout {
             stack_args_size,
             setup_area_size,
diff --git a/cranelift/codegen/src/isa/x64/abi.rs b/cranelift/codegen/src/isa/x64/abi.rs
index d7df15c61..1d9f72a83 100644
--- a/cranelift/codegen/src/isa/x64/abi.rs
+++ b/cranelift/codegen/src/isa/x64/abi.rs
@@ -858,7 +858,6 @@ impl ABIMachineSpec for X64ABIMachineSpec {
         let setup_area_size = 16; // RBP, return address
 
         // Return FrameLayout structure.
-        debug_assert!(outgoing_args_size == 0);
         FrameLayout {
             stack_args_size,
             setup_area_size,
diff --git a/cranelift/codegen/src/machinst/abi.rs b/cranelift/codegen/src/machinst/abi.rs
index afeedec7d..5a9259a0e 100644
--- a/cranelift/codegen/src/machinst/abi.rs
+++ b/cranelift/codegen/src/machinst/abi.rs
@@ -1883,9 +1883,25 @@ impl<M: ABIMachineSpec> Callee<M> {
             &frame_layout,
         ));
 
+        // The stack limit check needs to cover all the stack adjustments we
+        // might make, up to the next stack limit check in any function we
+        // call. Since this happens after frame setup, the current function's
+        // setup area needs to be accounted for in the caller's stack limit
+        // check, but we need to account for any setup area that our callees
+        // might need. Note that s390x may also use the outgoing args area for
+        // backtrace support even in leaf functions, so that should be accounted
+        // for unconditionally.
+        let total_stacksize = frame_layout.clobber_size
+            + frame_layout.fixed_frame_storage_size
+            + frame_layout.outgoing_args_size
+            + if self.is_leaf {
+                0
+            } else {
+                frame_layout.setup_area_size
+            };
+
         // Leaf functions with zero stack don't need a stack check if one's
         // specified, otherwise always insert the stack check.
-        let total_stacksize = frame_layout.fixed_frame_storage_size;
         if total_stacksize > 0 || !self.is_leaf {
             if let Some((reg, stack_limit_load)) = &self.stack_limit {
                 insts.extend(stack_limit_load.clone());
diff --git a/cranelift/codegen/src/machinst/isle.rs b/cranelift/codegen/src/machinst/isle.rs
index c1f543b9e..9ec201b8e 100644
--- a/cranelift/codegen/src/machinst/isle.rs
+++ b/cranelift/codegen/src/machinst/isle.rs
@@ -838,6 +838,12 @@ macro_rules! isle_prelude_method_helpers {
             mut caller: $abicaller,
             args: ValueSlice,
         ) -> InstOutput {
+            let off = self.lower_ctx.sigs()[abi].sized_stack_arg_space()
+                + self.lower_ctx.sigs()[abi].sized_stack_ret_space();
+            self.lower_ctx
+                .abi_mut()
+                .accumulate_outgoing_args_size(off as u32);
+
             caller.emit_stack_pre_adjust(self.lower_ctx);
 
             self.gen_call_common_args(&mut caller, args);
diff --git a/cranelift/control/Cargo.toml b/cranelift/control/Cargo.toml
index 3ffb11250..fa783d8e9 100644
--- a/cranelift/control/Cargo.toml
+++ b/cranelift/control/Cargo.toml
@@ -1,7 +1,7 @@
 [package]
 authors = ["The Cranelift Project Developers"]
 name = "cranelift-control"
-version = "0.105.3"
+version = "0.105.4"
 description = "White-box fuzz testing framework"
 license = "Apache-2.0 WITH LLVM-exception"
 repository = "https://github.com/bytecodealliance/wasmtime"
diff --git a/cranelift/entity/Cargo.toml b/cranelift/entity/Cargo.toml
index 0a2e83232..58659a747 100644
--- a/cranelift/entity/Cargo.toml
+++ b/cranelift/entity/Cargo.toml
@@ -1,7 +1,7 @@
 [package]
 authors = ["The Cranelift Project Developers"]
 name = "cranelift-entity"
-version = "0.105.3"
+version = "0.105.4"
 description = "Data structures using entity references as mapping keys"
 license = "Apache-2.0 WITH LLVM-exception"
 documentation = "https://docs.rs/cranelift-entity"
diff --git a/cranelift/frontend/Cargo.toml b/cranelift/frontend/Cargo.toml
index 5a0a14f62..c63d5b131 100644
--- a/cranelift/frontend/Cargo.toml
+++ b/cranelift/frontend/Cargo.toml
@@ -1,7 +1,7 @@
 [package]
 authors = ["The Cranelift Project Developers"]
 name = "cranelift-frontend"
-version = "0.105.3"
+version = "0.105.4"
 description = "Cranelift IR builder helper"
 license = "Apache-2.0 WITH LLVM-exception"
 documentation = "https://docs.rs/cranelift-frontend"
diff --git a/cranelift/interpreter/Cargo.toml b/cranelift/interpreter/Cargo.toml
index cc279afc6..4344d4c4c 100644
--- a/cranelift/interpreter/Cargo.toml
+++ b/cranelift/interpreter/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "cranelift-interpreter"
-version = "0.105.3"
+version = "0.105.4"
 authors = ["The Cranelift Project Developers"]
 description = "Interpret Cranelift IR"
 repository = "https://github.com/bytecodealliance/wasmtime"
diff --git a/cranelift/isle/isle/Cargo.toml b/cranelift/isle/isle/Cargo.toml
index e47550ae7..5fd29535c 100644
--- a/cranelift/isle/isle/Cargo.toml
+++ b/cranelift/isle/isle/Cargo.toml
@@ -6,7 +6,7 @@ license = "Apache-2.0 WITH LLVM-exception"
 name = "cranelift-isle"
 readme = "../README.md"
 repository = "https://github.com/bytecodealliance/wasmtime/tree/main/cranelift/isle"
-version = "0.105.3"
+version = "0.105.4"
 
 [lints]
 workspace = true
diff --git a/cranelift/jit/Cargo.toml b/cranelift/jit/Cargo.toml
index 58ecf8e1d..0ea347725 100644
--- a/cranelift/jit/Cargo.toml
+++ b/cranelift/jit/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "cranelift-jit"
-version = "0.105.3"
+version = "0.105.4"
 authors = ["The Cranelift Project Developers"]
 description = "A JIT library backed by Cranelift"
 repository = "https://github.com/bytecodealliance/wasmtime"
diff --git a/cranelift/module/Cargo.toml b/cranelift/module/Cargo.toml
index 6051f1850..61c702220 100644
--- a/cranelift/module/Cargo.toml
+++ b/cranelift/module/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "cranelift-module"
-version = "0.105.3"
+version = "0.105.4"
 authors = ["The Cranelift Project Developers"]
 description = "Support for linking functions and data with Cranelift"
 repository = "https://github.com/bytecodealliance/wasmtime"
diff --git a/cranelift/native/Cargo.toml b/cranelift/native/Cargo.toml
index ec5bf1e34..5e8ef6162 100644
--- a/cranelift/native/Cargo.toml
+++ b/cranelift/native/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "cranelift-native"
-version = "0.105.3"
+version = "0.105.4"
 authors = ["The Cranelift Project Developers"]
 description = "Support for targeting the host with Cranelift"
 documentation = "https://docs.rs/cranelift-native"
diff --git a/cranelift/object/Cargo.toml b/cranelift/object/Cargo.toml
index b3a0658a0..eacaab166 100644
--- a/cranelift/object/Cargo.toml
+++ b/cranelift/object/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "cranelift-object"
-version = "0.105.3"
+version = "0.105.4"
 authors = ["The Cranelift Project Developers"]
 description = "Emit Cranelift output to native object files with `object`"
 repository = "https://github.com/bytecodealliance/wasmtime"
diff --git a/cranelift/reader/Cargo.toml b/cranelift/reader/Cargo.toml
index c6293e5f4..bc6f6e23d 100644
--- a/cranelift/reader/Cargo.toml
+++ b/cranelift/reader/Cargo.toml
@@ -1,7 +1,7 @@
 [package]
 authors = ["The Cranelift Project Developers"]
 name = "cranelift-reader"
-version = "0.105.3"
+version = "0.105.4"
 description = "Cranelift textual IR reader"
 license = "Apache-2.0 WITH LLVM-exception"
 documentation = "https://docs.rs/cranelift-reader"
diff --git a/cranelift/serde/Cargo.toml b/cranelift/serde/Cargo.toml
index 4f47f9ae9..5b1890a36 100644
--- a/cranelift/serde/Cargo.toml
+++ b/cranelift/serde/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "cranelift-serde"
-version = "0.105.3"
+version = "0.105.4"
 authors = ["The Cranelift Project Developers"]
 description = "Serializer/Deserializer for Cranelift IR"
 repository = "https://github.com/bytecodealliance/wasmtime"
diff --git a/cranelift/umbrella/Cargo.toml b/cranelift/umbrella/Cargo.toml
index a54d948b5..a0e0cb587 100644
--- a/cranelift/umbrella/Cargo.toml
+++ b/cranelift/umbrella/Cargo.toml
@@ -1,7 +1,7 @@
 [package]
 authors = ["The Cranelift Project Developers"]
 name = "cranelift"
-version = "0.105.3"
+version = "0.105.4"
 description = "Umbrella for commonly-used cranelift crates"
 license = "Apache-2.0 WITH LLVM-exception"
 documentation = "https://docs.rs/cranelift"
diff --git a/cranelift/wasm/Cargo.toml b/cranelift/wasm/Cargo.toml
index 77b4fd396..864bd445c 100644
--- a/cranelift/wasm/Cargo.toml
+++ b/cranelift/wasm/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "cranelift-wasm"
-version = "0.105.3"
+version = "0.105.4"
 authors = ["The Cranelift Project Developers"]
 description = "Translator from WebAssembly to Cranelift IR"
 documentation = "https://docs.rs/cranelift-wasm"
diff --git a/crates/c-api/include/wasmtime.h b/crates/c-api/include/wasmtime.h
index a0fcfe3da..d62fa72fe 100644
--- a/crates/c-api/include/wasmtime.h
+++ b/crates/c-api/include/wasmtime.h
@@ -205,7 +205,7 @@
 /**
  * \brief Wasmtime version string.
  */
-#define WASMTIME_VERSION "18.0.3"
+#define WASMTIME_VERSION "18.0.4"
 /**
  * \brief Wasmtime major version number.
  */
@@ -217,7 +217,7 @@
 /**
  * \brief Wasmtime patch version number.
  */
-#define WASMTIME_VERSION_PATCH 3
+#define WASMTIME_VERSION_PATCH 4
 
 #ifdef __cplusplus
 extern "C" {
diff --git a/crates/environ/src/component/translate.rs b/crates/environ/src/component/translate.rs
index 3334b1736..873105b34 100644
--- a/crates/environ/src/component/translate.rs
+++ b/crates/environ/src/component/translate.rs
@@ -4,6 +4,7 @@ use crate::{
     EntityIndex, ModuleEnvironment, ModuleTranslation, ModuleTypesBuilder, PrimaryMap, Tunables,
     TypeConvert, WasmHeapType, WasmValType,
 };
+use anyhow::anyhow;
 use anyhow::{bail, Result};
 use indexmap::IndexMap;
 use std::collections::HashMap;
@@ -534,7 +535,18 @@ impl<'a, 'data> Translator<'a, 'data> {
                     self.validator,
                     self.types.module_types_builder(),
                 )
-                .translate(parser, &component[range.start..range.end])?;
+                .translate(
+                    parser,
+                    component.get(range.start..range.end).ok_or_else(|| {
+                        anyhow!(
+                            "section range {}..{} is out of bounds (bound = {})",
+                            range.start,
+                            range.end,
+                            component.len()
+                        )
+                        .context("wasm component contains an invalid module section")
+                    })?,
+                )?;
                 let static_idx = self.static_modules.push(translation);
                 self.result
                     .initializers
diff --git a/supply-chain/imports.lock b/supply-chain/imports.lock
index 80c0b7bcb..bb2553504 100644
--- a/supply-chain/imports.lock
+++ b/supply-chain/imports.lock
@@ -17,6 +17,10 @@ audited_as = "0.105.1"
 version = "0.105.3"
 audited_as = "0.105.2"
 
+[[unpublished.cranelift]]
+version = "0.105.4"
+audited_as = "0.105.3"
+
 [[unpublished.cranelift-bforest]]
 version = "0.105.0"
 audited_as = "0.104.0"
@@ -33,6 +37,10 @@ audited_as = "0.105.1"
 version = "0.105.3"
 audited_as = "0.105.2"
 
+[[unpublished.cranelift-bforest]]
+version = "0.105.4"
+audited_as = "0.105.3"
+
 [[unpublished.cranelift-codegen]]
 version = "0.105.0"
 audited_as = "0.104.0"
@@ -49,6 +57,10 @@ audited_as = "0.105.1"
 version = "0.105.3"
 audited_as = "0.105.2"
 
+[[unpublished.cranelift-codegen]]
+version = "0.105.4"
+audited_as = "0.105.3"
+
 [[unpublished.cranelift-codegen-meta]]
 version = "0.105.0"
 audited_as = "0.104.0"
@@ -65,6 +77,10 @@ audited_as = "0.105.1"
 version = "0.105.3"
 audited_as = "0.105.2"
 
+[[unpublished.cranelift-codegen-meta]]
+version = "0.105.4"
+audited_as = "0.105.3"
+
 [[unpublished.cranelift-codegen-shared]]
 version = "0.105.0"
 audited_as = "0.104.0"
@@ -81,6 +97,10 @@ audited_as = "0.105.1"
 version = "0.105.3"
 audited_as = "0.105.2"
 
+[[unpublished.cranelift-codegen-shared]]
+version = "0.105.4"
+audited_as = "0.105.3"
+
 [[unpublished.cranelift-control]]
 version = "0.105.0"
 audited_as = "0.104.0"
@@ -97,6 +117,10 @@ audited_as = "0.105.1"
 version = "0.105.3"
 audited_as = "0.105.2"
 
+[[unpublished.cranelift-control]]
+version = "0.105.4"
+audited_as = "0.105.3"
+
 [[unpublished.cranelift-entity]]
 version = "0.105.0"
 audited_as = "0.104.0"
@@ -113,6 +137,10 @@ audited_as = "0.105.1"
 version = "0.105.3"
 audited_as = "0.105.2"
 
+[[unpublished.cranelift-entity]]
+version = "0.105.4"
+audited_as = "0.105.3"
+
 [[unpublished.cranelift-frontend]]
 version = "0.105.0"
 audited_as = "0.104.0"
@@ -129,6 +157,10 @@ audited_as = "0.105.1"
 version = "0.105.3"
 audited_as = "0.105.2"
 
+[[unpublished.cranelift-frontend]]
+version = "0.105.4"
+audited_as = "0.105.3"
+
 [[unpublished.cranelift-interpreter]]
 version = "0.105.0"
 audited_as = "0.104.0"
@@ -145,6 +177,10 @@ audited_as = "0.105.1"
 version = "0.105.3"
 audited_as = "0.105.2"
 
+[[unpublished.cranelift-interpreter]]
+version = "0.105.4"
+audited_as = "0.105.3"
+
 [[unpublished.cranelift-isle]]
 version = "0.105.0"
 audited_as = "0.104.0"
@@ -161,6 +197,10 @@ audited_as = "0.105.1"
 version = "0.105.3"
 audited_as = "0.105.2"
 
+[[unpublished.cranelift-isle]]
+version = "0.105.4"
+audited_as = "0.105.3"
+
 [[unpublished.cranelift-jit]]
 version = "0.105.0"
 audited_as = "0.104.0"
@@ -177,6 +217,10 @@ audited_as = "0.105.1"
 version = "0.105.3"
 audited_as = "0.105.2"
 
+[[unpublished.cranelift-jit]]
+version = "0.105.4"
+audited_as = "0.105.3"
+
 [[unpublished.cranelift-module]]
 version = "0.105.0"
 audited_as = "0.104.0"
@@ -193,6 +237,10 @@ audited_as = "0.105.1"
 version = "0.105.3"
 audited_as = "0.105.2"
 
+[[unpublished.cranelift-module]]
+version = "0.105.4"
+audited_as = "0.105.3"
+
 [[unpublished.cranelift-native]]
 version = "0.105.0"
 audited_as = "0.104.0"
@@ -209,6 +257,10 @@ audited_as = "0.105.1"
 version = "0.105.3"
 audited_as = "0.105.2"
 
+[[unpublished.cranelift-native]]
+version = "0.105.4"
+audited_as = "0.105.3"
+
 [[unpublished.cranelift-object]]
 version = "0.105.0"
 audited_as = "0.104.0"
@@ -225,6 +277,10 @@ audited_as = "0.105.1"
 version = "0.105.3"
 audited_as = "0.105.2"
 
+[[unpublished.cranelift-object]]
+version = "0.105.4"
+audited_as = "0.105.3"
+
 [[unpublished.cranelift-reader]]
 version = "0.105.0"
 audited_as = "0.104.0"
@@ -241,6 +297,10 @@ audited_as = "0.105.1"
 version = "0.105.3"
 audited_as = "0.105.2"
 
+[[unpublished.cranelift-reader]]
+version = "0.105.4"
+audited_as = "0.105.3"
+
 [[unpublished.cranelift-serde]]
 version = "0.105.0"
 audited_as = "0.104.0"
@@ -257,6 +317,10 @@ audited_as = "0.105.1"
 version = "0.105.3"
 audited_as = "0.105.2"
 
+[[unpublished.cranelift-serde]]
+version = "0.105.4"
+audited_as = "0.105.3"
+
 [[unpublished.cranelift-wasm]]
 version = "0.105.0"
 audited_as = "0.104.0"
@@ -273,6 +337,10 @@ audited_as = "0.105.1"
 version = "0.105.3"
 audited_as = "0.105.2"
 
+[[unpublished.cranelift-wasm]]
+version = "0.105.4"
+audited_as = "0.105.3"
+
 [[unpublished.wasi-cap-std-sync]]
 version = "18.0.0"
 audited_as = "17.0.0"
@@ -293,6 +361,10 @@ audited_as = "18.0.1"
 version = "18.0.3"
 audited_as = "18.0.2"
 
+[[unpublished.wasi-common]]
+version = "18.0.4"
+audited_as = "18.0.3"
+
 [[unpublished.wasi-tokio]]
 version = "18.0.0"
 audited_as = "17.0.0"
@@ -313,6 +385,10 @@ audited_as = "18.0.1"
 version = "18.0.3"
 audited_as = "18.0.2"
 
+[[unpublished.wasmtime]]
+version = "18.0.4"
+audited_as = "18.0.3"
+
 [[unpublished.wasmtime-asm-macros]]
 version = "18.0.0"
 audited_as = "17.0.0"
@@ -329,6 +405,10 @@ audited_as = "18.0.1"
 version = "18.0.3"
 audited_as = "18.0.2"
 
+[[unpublished.wasmtime-asm-macros]]
+version = "18.0.4"
+audited_as = "18.0.3"
+
 [[unpublished.wasmtime-c-api-impl]]
 version = "18.0.2"
 audited_as = "18.0.1"
@@ -337,6 +417,10 @@ audited_as = "18.0.1"
 version = "18.0.3"
 audited_as = "18.0.2"
 
+[[unpublished.wasmtime-c-api-impl]]
+version = "18.0.4"
+audited_as = "18.0.3"
+
 [[unpublished.wasmtime-c-api-impl]]
 version = "19.0.0"
 audited_as = "18.0.1"
@@ -349,6 +433,10 @@ audited_as = "18.0.1"
 version = "18.0.3"
 audited_as = "18.0.2"
 
+[[unpublished.wasmtime-c-api-macros]]
+version = "18.0.4"
+audited_as = "18.0.3"
+
 [[unpublished.wasmtime-c-api-macros]]
 version = "19.0.0"
 audited_as = "18.0.1"
@@ -369,6 +457,10 @@ audited_as = "18.0.1"
 version = "18.0.3"
 audited_as = "18.0.2"
 
+[[unpublished.wasmtime-cache]]
+version = "18.0.4"
+audited_as = "18.0.3"
+
 [[unpublished.wasmtime-cli]]
 version = "18.0.0"
 audited_as = "17.0.0"
@@ -385,6 +477,10 @@ audited_as = "18.0.1"
 version = "18.0.3"
 audited_as = "18.0.2"
 
+[[unpublished.wasmtime-cli]]
+version = "18.0.4"
+audited_as = "18.0.3"
+
 [[unpublished.wasmtime-cli-flags]]
 version = "18.0.0"
 audited_as = "17.0.0"
@@ -401,6 +497,10 @@ audited_as = "18.0.1"
 version = "18.0.3"
 audited_as = "18.0.2"
 
+[[unpublished.wasmtime-cli-flags]]
+version = "18.0.4"
+audited_as = "18.0.3"
+
 [[unpublished.wasmtime-component-macro]]
 version = "18.0.0"
 audited_as = "17.0.0"
@@ -417,6 +517,10 @@ audited_as = "18.0.1"
 version = "18.0.3"
 audited_as = "18.0.2"
 
+[[unpublished.wasmtime-component-macro]]
+version = "18.0.4"
+audited_as = "18.0.3"
+
 [[unpublished.wasmtime-component-util]]
 version = "18.0.0"
 audited_as = "17.0.0"
@@ -433,6 +537,10 @@ audited_as = "18.0.1"
 version = "18.0.3"
 audited_as = "18.0.2"
 
+[[unpublished.wasmtime-component-util]]
+version = "18.0.4"
+audited_as = "18.0.3"
+
 [[unpublished.wasmtime-cranelift]]
 version = "18.0.0"
 audited_as = "17.0.0"
@@ -449,6 +557,10 @@ audited_as = "18.0.1"
 version = "18.0.3"
 audited_as = "18.0.2"
 
+[[unpublished.wasmtime-cranelift]]
+version = "18.0.4"
+audited_as = "18.0.3"
+
 [[unpublished.wasmtime-cranelift-shared]]
 version = "18.0.0"
 audited_as = "17.0.0"
@@ -465,6 +577,10 @@ audited_as = "18.0.1"
 version = "18.0.3"
 audited_as = "18.0.2"
 
+[[unpublished.wasmtime-cranelift-shared]]
+version = "18.0.4"
+audited_as = "18.0.3"
+
 [[unpublished.wasmtime-environ]]
 version = "18.0.0"
 audited_as = "17.0.0"
@@ -481,6 +597,10 @@ audited_as = "18.0.1"
 version = "18.0.3"
 audited_as = "18.0.2"
 
+[[unpublished.wasmtime-environ]]
+version = "18.0.4"
+audited_as = "18.0.3"
+
 [[unpublished.wasmtime-explorer]]
 version = "18.0.0"
 audited_as = "17.0.0"
@@ -497,6 +617,10 @@ audited_as = "18.0.1"
 version = "18.0.3"
 audited_as = "18.0.2"
 
+[[unpublished.wasmtime-explorer]]
+version = "18.0.4"
+audited_as = "18.0.3"
+
 [[unpublished.wasmtime-fiber]]
 version = "18.0.0"
 audited_as = "17.0.0"
@@ -513,6 +637,10 @@ audited_as = "18.0.1"
 version = "18.0.3"
 audited_as = "18.0.2"
 
+[[unpublished.wasmtime-fiber]]
+version = "18.0.4"
+audited_as = "18.0.3"
+
 [[unpublished.wasmtime-jit-debug]]
 version = "18.0.0"
 audited_as = "17.0.0"
@@ -529,6 +657,10 @@ audited_as = "18.0.1"
 version = "18.0.3"
 audited_as = "18.0.2"
 
+[[unpublished.wasmtime-jit-debug]]
+version = "18.0.4"
+audited_as = "18.0.3"
+
 [[unpublished.wasmtime-jit-icache-coherence]]
 version = "18.0.0"
 audited_as = "17.0.0"
@@ -545,6 +677,10 @@ audited_as = "18.0.1"
 version = "18.0.3"
 audited_as = "18.0.2"
 
+[[unpublished.wasmtime-jit-icache-coherence]]
+version = "18.0.4"
+audited_as = "18.0.3"
+
 [[unpublished.wasmtime-runtime]]
 version = "18.0.0"
 audited_as = "17.0.0"
@@ -561,6 +697,10 @@ audited_as = "18.0.1"
 version = "18.0.3"
 audited_as = "18.0.2"
 
+[[unpublished.wasmtime-runtime]]
+version = "18.0.4"
+audited_as = "18.0.3"
+
 [[unpublished.wasmtime-types]]
 version = "18.0.0"
 audited_as = "17.0.0"
@@ -577,6 +717,10 @@ audited_as = "18.0.1"
 version = "18.0.3"
 audited_as = "18.0.2"
 
+[[unpublished.wasmtime-types]]
+version = "18.0.4"
+audited_as = "18.0.3"
+
 [[unpublished.wasmtime-wasi]]
 version = "18.0.0"
 audited_as = "17.0.0"
@@ -593,6 +737,10 @@ audited_as = "18.0.1"
 version = "18.0.3"
 audited_as = "18.0.2"
 
+[[unpublished.wasmtime-wasi]]
+version = "18.0.4"
+audited_as = "18.0.3"
+
 [[unpublished.wasmtime-wasi-http]]
 version = "18.0.0"
 audited_as = "17.0.0"
@@ -609,6 +757,10 @@ audited_as = "18.0.1"
 version = "18.0.3"
 audited_as = "18.0.2"
 
+[[unpublished.wasmtime-wasi-http]]
+version = "18.0.4"
+audited_as = "18.0.3"
+
 [[unpublished.wasmtime-wasi-nn]]
 version = "18.0.0"
 audited_as = "17.0.0"
@@ -625,6 +777,10 @@ audited_as = "18.0.1"
 version = "18.0.3"
 audited_as = "18.0.2"
 
+[[unpublished.wasmtime-wasi-nn]]
+version = "18.0.4"
+audited_as = "18.0.3"
+
 [[unpublished.wasmtime-wasi-threads]]
 version = "18.0.0"
 audited_as = "17.0.0"
@@ -641,6 +797,10 @@ audited_as = "18.0.1"
 version = "18.0.3"
 audited_as = "18.0.2"
 
+[[unpublished.wasmtime-wasi-threads]]
+version = "18.0.4"
+audited_as = "18.0.3"
+
 [[unpublished.wasmtime-wast]]
 version = "18.0.0"
 audited_as = "17.0.0"
@@ -657,6 +817,10 @@ audited_as = "18.0.1"
 version = "18.0.3"
 audited_as = "18.0.2"
 
+[[unpublished.wasmtime-wast]]
+version = "18.0.4"
+audited_as = "18.0.3"
+
 [[unpublished.wasmtime-winch]]
 version = "18.0.0"
 audited_as = "17.0.0"
@@ -673,6 +837,10 @@ audited_as = "18.0.1"
 version = "18.0.3"
 audited_as = "18.0.2"
 
+[[unpublished.wasmtime-winch]]
+version = "18.0.4"
+audited_as = "18.0.3"
+
 [[unpublished.wasmtime-wit-bindgen]]
 version = "18.0.0"
 audited_as = "17.0.0"
@@ -689,6 +857,10 @@ audited_as = "18.0.1"
 version = "18.0.3"
 audited_as = "18.0.2"
 
+[[unpublished.wasmtime-wit-bindgen]]
+version = "18.0.4"
+audited_as = "18.0.3"
+
 [[unpublished.wasmtime-wmemcheck]]
 version = "18.0.0"
 audited_as = "17.0.0"
@@ -705,6 +877,10 @@ audited_as = "18.0.1"
 version = "18.0.3"
 audited_as = "18.0.2"
 
+[[unpublished.wasmtime-wmemcheck]]
+version = "18.0.4"
+audited_as = "18.0.3"
+
 [[unpublished.wiggle]]
 version = "18.0.0"
 audited_as = "17.0.0"
@@ -721,6 +897,10 @@ audited_as = "18.0.1"
 version = "18.0.3"
 audited_as = "18.0.2"
 
+[[unpublished.wiggle]]
+version = "18.0.4"
+audited_as = "18.0.3"
+
 [[unpublished.wiggle-generate]]
 version = "18.0.0"
 audited_as = "17.0.0"
@@ -737,6 +917,10 @@ audited_as = "18.0.1"
 version = "18.0.3"
 audited_as = "18.0.2"
 
+[[unpublished.wiggle-generate]]
+version = "18.0.4"
+audited_as = "18.0.3"
+
 [[unpublished.wiggle-macro]]
 version = "18.0.0"
 audited_as = "17.0.0"
@@ -753,6 +937,10 @@ audited_as = "18.0.1"
 version = "18.0.3"
 audited_as = "18.0.2"
 
+[[unpublished.wiggle-macro]]
+version = "18.0.4"
+audited_as = "18.0.3"
+
 [[unpublished.wiggle-test]]
 version = "0.0.0"
 audited_as = "0.1.0"
@@ -773,6 +961,10 @@ audited_as = "0.16.1"
 version = "0.16.3"
 audited_as = "0.16.2"
 
+[[unpublished.winch-codegen]]
+version = "0.16.4"
+audited_as = "0.16.3"
+
 [[publisher.aho-corasick]]
 version = "1.0.2"
 when = "2023-06-04"
@@ -965,6 +1157,12 @@ when = "2024-02-28"
 user-id = 73222
 user-login = "wasmtime-publish"
 
+[[publisher.cranelift]]
+version = "0.105.3"
+when = "2024-03-12"
+user-id = 73222
+user-login = "wasmtime-publish"
+
 [[publisher.cranelift-bforest]]
 version = "0.104.0"
 when = "2024-01-25"
@@ -989,6 +1187,12 @@ when = "2024-02-28"
 user-id = 73222
 user-login = "wasmtime-publish"
 
+[[publisher.cranelift-bforest]]
+version = "0.105.3"
+when = "2024-03-12"
+user-id = 73222
+user-login = "wasmtime-publish"
+
 [[publisher.cranelift-codegen]]
 version = "0.104.0"
 when = "2024-01-25"
@@ -1013,6 +1217,12 @@ when = "2024-02-28"
 user-id = 73222
 user-login = "wasmtime-publish"
 
+[[publisher.cranelift-codegen]]
+version = "0.105.3"
+when = "2024-03-12"
+user-id = 73222
+user-login = "wasmtime-publish"
+
 [[publisher.cranelift-codegen-meta]]
 version = "0.104.0"
 when = "2024-01-25"
@@ -1037,6 +1247,12 @@ when = "2024-02-28"
 user-id = 73222
 user-login = "wasmtime-publish"
 
+[[publisher.cranelift-codegen-meta]]
+version = "0.105.3"
+when = "2024-03-12"
+user-id = 73222
+user-login = "wasmtime-publish"
+
 [[publisher.cranelift-codegen-shared]]
 version = "0.104.0"
 when = "2024-01-25"
@@ -1061,6 +1277,12 @@ when = "2024-02-28"
 user-id = 73222
 user-login = "wasmtime-publish"
 
+[[publisher.cranelift-codegen-shared]]
+version = "0.105.3"
+when = "2024-03-12"
+user-id = 73222
+user-login = "wasmtime-publish"
+
 [[publisher.cranelift-control]]
 version = "0.104.0"
 when = "2024-01-25"
@@ -1085,6 +1307,12 @@ when = "2024-02-28"
 user-id = 73222
 user-login = "wasmtime-publish"
 
+[[publisher.cranelift-control]]
+version = "0.105.3"
+when = "2024-03-12"
+user-id = 73222
+user-login = "wasmtime-publish"
+
 [[publisher.cranelift-entity]]
 version = "0.104.0"
 when = "2024-01-25"
@@ -1109,6 +1337,12 @@ when = "2024-02-28"
 user-id = 73222
 user-login = "wasmtime-publish"
 
+[[publisher.cranelift-entity]]
+version = "0.105.3"
+when = "2024-03-12"
+user-id = 73222
+user-login = "wasmtime-publish"
+
 [[publisher.cranelift-frontend]]
 version = "0.104.0"
 when = "2024-01-25"
@@ -1133,6 +1367,12 @@ when = "2024-02-28"
 user-id = 73222
 user-login = "wasmtime-publish"
 
+[[publisher.cranelift-frontend]]
+version = "0.105.3"
+when = "2024-03-12"
+user-id = 73222
+user-login = "wasmtime-publish"
+
 [[publisher.cranelift-interpreter]]
 version = "0.104.0"
 when = "2024-01-25"
@@ -1157,6 +1397,12 @@ when = "2024-02-28"
 user-id = 73222
 user-login = "wasmtime-publish"
 
+[[publisher.cranelift-interpreter]]
+version = "0.105.3"
+when = "2024-03-12"
+user-id = 73222
+user-login = "wasmtime-publish"
+
 [[publisher.cranelift-isle]]
 version = "0.104.0"
 when = "2024-01-25"
@@ -1181,6 +1427,12 @@ when = "2024-02-28"
 user-id = 73222
 user-login = "wasmtime-publish"
 
+[[publisher.cranelift-isle]]
+version = "0.105.3"
+when = "2024-03-12"
+user-id = 73222
+user-login = "wasmtime-publish"
+
 [[publisher.cranelift-jit]]
 version = "0.104.0"
 when = "2024-01-25"
@@ -1205,6 +1457,12 @@ when = "2024-02-28"
 user-id = 73222
 user-login = "wasmtime-publish"
 
+[[publisher.cranelift-jit]]
+version = "0.105.3"
+when = "2024-03-12"
+user-id = 73222
+user-login = "wasmtime-publish"
+
 [[publisher.cranelift-module]]
 version = "0.104.0"
 when = "2024-01-25"
@@ -1229,6 +1487,12 @@ when = "2024-02-28"
 user-id = 73222
 user-login = "wasmtime-publish"
 
+[[publisher.cranelift-module]]
+version = "0.105.3"
+when = "2024-03-12"
+user-id = 73222
+user-login = "wasmtime-publish"
+
 [[publisher.cranelift-native]]
 version = "0.104.0"
 when = "2024-01-25"
@@ -1253,6 +1517,12 @@ when = "2024-02-28"
 user-id = 73222
 user-login = "wasmtime-publish"
 
+[[publisher.cranelift-native]]
+version = "0.105.3"
+when = "2024-03-12"
+user-id = 73222
+user-login = "wasmtime-publish"
+
 [[publisher.cranelift-object]]
 version = "0.104.0"
 when = "2024-01-25"
@@ -1277,6 +1547,12 @@ when = "2024-02-28"
 user-id = 73222
 user-login = "wasmtime-publish"
 
+[[publisher.cranelift-object]]
+version = "0.105.3"
+when = "2024-03-12"
+user-id = 73222
+user-login = "wasmtime-publish"
+
 [[publisher.cranelift-reader]]
 version = "0.104.0"
 when = "2024-01-25"
@@ -1301,6 +1577,12 @@ when = "2024-02-28"
 user-id = 73222
 user-login = "wasmtime-publish"
 
+[[publisher.cranelift-reader]]
+version = "0.105.3"
+when = "2024-03-12"
+user-id = 73222
+user-login = "wasmtime-publish"
+
 [[publisher.cranelift-serde]]
 version = "0.104.0"
 when = "2024-01-25"
@@ -1325,6 +1607,12 @@ when = "2024-02-28"
 user-id = 73222
 user-login = "wasmtime-publish"
 
+[[publisher.cranelift-serde]]
+version = "0.105.3"
+when = "2024-03-12"
+user-id = 73222
+user-login = "wasmtime-publish"
+
 [[publisher.cranelift-wasm]]
 version = "0.104.0"
 when = "2024-01-25"
@@ -1349,6 +1637,12 @@ when = "2024-02-28"
 user-id = 73222
 user-login = "wasmtime-publish"
 
+[[publisher.cranelift-wasm]]
+version = "0.105.3"
+when = "2024-03-12"
+user-id = 73222
+user-login = "wasmtime-publish"
+
 [[publisher.derive_arbitrary]]
 version = "1.3.0"
 when = "2023-03-13"
@@ -1687,6 +1981,12 @@ when = "2024-02-28"
 user-id = 73222
 user-login = "wasmtime-publish"
 
+[[publisher.wasi-common]]
+version = "18.0.3"
+when = "2024-03-12"
+user-id = 73222
+user-login = "wasmtime-publish"
+
 [[publisher.wasm-bindgen]]
 version = "0.2.87"
 when = "2023-06-12"
@@ -1802,6 +2102,12 @@ when = "2024-02-28"
 user-id = 73222
 user-login = "wasmtime-publish"
 
+[[publisher.wasmtime]]
+version = "18.0.3"
+when = "2024-03-12"
+user-id = 73222
+user-login = "wasmtime-publish"
+
 [[publisher.wasmtime-asm-macros]]
 version = "17.0.0"
 when = "2024-01-25"
@@ -1826,6 +2132,12 @@ when = "2024-02-28"
 user-id = 73222
 user-login = "wasmtime-publish"
 
+[[publisher.wasmtime-asm-macros]]
+version = "18.0.3"
+when = "2024-03-12"
+user-id = 73222
+user-login = "wasmtime-publish"
+
 [[publisher.wasmtime-c-api-impl]]
 version = "18.0.1"
 when = "2024-02-20"
@@ -1838,6 +2150,12 @@ when = "2024-02-28"
 user-id = 73222
 user-login = "wasmtime-publish"
 
+[[publisher.wasmtime-c-api-impl]]
+version = "18.0.3"
+when = "2024-03-12"
+user-id = 73222
+user-login = "wasmtime-publish"
+
 [[publisher.wasmtime-c-api-macros]]
 version = "18.0.1"
 when = "2024-02-20"
@@ -1850,6 +2168,12 @@ when = "2024-02-28"
 user-id = 73222
 user-login = "wasmtime-publish"
 
+[[publisher.wasmtime-c-api-macros]]
+version = "18.0.3"
+when = "2024-03-12"
+user-id = 73222
+user-login = "wasmtime-publish"
+
 [[publisher.wasmtime-cache]]
 version = "17.0.0"
 when = "2024-01-25"
@@ -1874,6 +2198,12 @@ when = "2024-02-28"
 user-id = 73222
 user-login = "wasmtime-publish"
 
+[[publisher.wasmtime-cache]]
+version = "18.0.3"
+when = "2024-03-12"
+user-id = 73222
+user-login = "wasmtime-publish"
+
 [[publisher.wasmtime-cli]]
 version = "17.0.0"
 when = "2024-01-25"
@@ -1898,6 +2228,12 @@ when = "2024-02-28"
 user-id = 73222
 user-login = "wasmtime-publish"
 
+[[publisher.wasmtime-cli]]
+version = "18.0.3"
+when = "2024-03-12"
+user-id = 73222
+user-login = "wasmtime-publish"
+
 [[publisher.wasmtime-cli-flags]]
 version = "17.0.0"
 when = "2024-01-25"
@@ -1922,6 +2258,12 @@ when = "2024-02-28"
 user-id = 73222
 user-login = "wasmtime-publish"
 
+[[publisher.wasmtime-cli-flags]]
+version = "18.0.3"
+when = "2024-03-12"
+user-id = 73222
+user-login = "wasmtime-publish"
+
 [[publisher.wasmtime-component-macro]]
 version = "17.0.0"
 when = "2024-01-25"
@@ -1946,6 +2288,12 @@ when = "2024-02-28"
 user-id = 73222
 user-login = "wasmtime-publish"
 
+[[publisher.wasmtime-component-macro]]
+version = "18.0.3"
+when = "2024-03-12"
+user-id = 73222
+user-login = "wasmtime-publish"
+
 [[publisher.wasmtime-component-util]]
 version = "17.0.0"
 when = "2024-01-25"
@@ -1970,6 +2318,12 @@ when = "2024-02-28"
 user-id = 73222
 user-login = "wasmtime-publish"
 
+[[publisher.wasmtime-component-util]]
+version = "18.0.3"
+when = "2024-03-12"
+user-id = 73222
+user-login = "wasmtime-publish"
+
 [[publisher.wasmtime-cranelift]]
 version = "17.0.0"
 when = "2024-01-25"
@@ -1994,6 +2348,12 @@ when = "2024-02-28"
 user-id = 73222
 user-login = "wasmtime-publish"
 
+[[publisher.wasmtime-cranelift]]
+version = "18.0.3"
+when = "2024-03-12"
+user-id = 73222
+user-login = "wasmtime-publish"
+
 [[publisher.wasmtime-cranelift-shared]]
 version = "17.0.0"
 when = "2024-01-25"
@@ -2018,6 +2378,12 @@ when = "2024-02-28"
 user-id = 73222
 user-login = "wasmtime-publish"
 
+[[publisher.wasmtime-cranelift-shared]]
+version = "18.0.3"
+when = "2024-03-12"
+user-id = 73222
+user-login = "wasmtime-publish"
+
 [[publisher.wasmtime-environ]]
 version = "17.0.0"
 when = "2024-01-25"
@@ -2042,6 +2408,12 @@ when = "2024-02-28"
 user-id = 73222
 user-login = "wasmtime-publish"
 
+[[publisher.wasmtime-environ]]
+version = "18.0.3"
+when = "2024-03-12"
+user-id = 73222
+user-login = "wasmtime-publish"
+
 [[publisher.wasmtime-explorer]]
 version = "17.0.0"
 when = "2024-01-25"
@@ -2066,6 +2438,12 @@ when = "2024-02-28"
 user-id = 73222
 user-login = "wasmtime-publish"
 
+[[publisher.wasmtime-explorer]]
+version = "18.0.3"
+when = "2024-03-12"
+user-id = 73222
+user-login = "wasmtime-publish"
+
 [[publisher.wasmtime-fiber]]
 version = "17.0.0"
 when = "2024-01-25"
@@ -2090,6 +2468,12 @@ when = "2024-02-28"
 user-id = 73222
 user-login = "wasmtime-publish"
 
+[[publisher.wasmtime-fiber]]
+version = "18.0.3"
+when = "2024-03-12"
+user-id = 73222
+user-login = "wasmtime-publish"
+
 [[publisher.wasmtime-jit-debug]]
 version = "17.0.0"
 when = "2024-01-25"
@@ -2114,6 +2498,12 @@ when = "2024-02-28"
 user-id = 73222
 user-login = "wasmtime-publish"
 
+[[publisher.wasmtime-jit-debug]]
+version = "18.0.3"
+when = "2024-03-12"
+user-id = 73222
+user-login = "wasmtime-publish"
+
 [[publisher.wasmtime-jit-icache-coherence]]
 version = "17.0.0"
 when = "2024-01-25"
@@ -2138,6 +2528,12 @@ when = "2024-02-28"
 user-id = 73222
 user-login = "wasmtime-publish"
 
+[[publisher.wasmtime-jit-icache-coherence]]
+version = "18.0.3"
+when = "2024-03-12"
+user-id = 73222
+user-login = "wasmtime-publish"
+
 [[publisher.wasmtime-runtime]]
 version = "17.0.0"
 when = "2024-01-25"
@@ -2162,6 +2558,12 @@ when = "2024-02-28"
 user-id = 73222
 user-login = "wasmtime-publish"
 
+[[publisher.wasmtime-runtime]]
+version = "18.0.3"
+when = "2024-03-12"
+user-id = 73222
+user-login = "wasmtime-publish"
+
 [[publisher.wasmtime-types]]
 version = "17.0.0"
 when = "2024-01-25"
@@ -2186,6 +2588,12 @@ when = "2024-02-28"
 user-id = 73222
 user-login = "wasmtime-publish"
 
+[[publisher.wasmtime-types]]
+version = "18.0.3"
+when = "2024-03-12"
+user-id = 73222
+user-login = "wasmtime-publish"
+
 [[publisher.wasmtime-wasi]]
 version = "17.0.0"
 when = "2024-01-25"
@@ -2210,6 +2618,12 @@ when = "2024-02-28"
 user-id = 73222
 user-login = "wasmtime-publish"
 
+[[publisher.wasmtime-wasi]]
+version = "18.0.3"
+when = "2024-03-12"
+user-id = 73222
+user-login = "wasmtime-publish"
+
 [[publisher.wasmtime-wasi-http]]
 version = "17.0.0"
 when = "2024-01-25"
@@ -2234,6 +2648,12 @@ when = "2024-02-28"
 user-id = 73222
 user-login = "wasmtime-publish"
 
+[[publisher.wasmtime-wasi-http]]
+version = "18.0.3"
+when = "2024-03-12"
+user-id = 73222
+user-login = "wasmtime-publish"
+
 [[publisher.wasmtime-wasi-nn]]
 version = "17.0.0"
 when = "2024-01-25"
@@ -2258,6 +2678,12 @@ when = "2024-02-28"
 user-id = 73222
 user-login = "wasmtime-publish"
 
+[[publisher.wasmtime-wasi-nn]]
+version = "18.0.3"
+when = "2024-03-12"
+user-id = 73222
+user-login = "wasmtime-publish"
+
 [[publisher.wasmtime-wasi-threads]]
 version = "17.0.0"
 when = "2024-01-25"
@@ -2282,6 +2708,12 @@ when = "2024-02-28"
 user-id = 73222
 user-login = "wasmtime-publish"
 
+[[publisher.wasmtime-wasi-threads]]
+version = "18.0.3"
+when = "2024-03-12"
+user-id = 73222
+user-login = "wasmtime-publish"
+
 [[publisher.wasmtime-wast]]
 version = "17.0.0"
 when = "2024-01-25"
@@ -2306,6 +2738,12 @@ when = "2024-02-28"
 user-id = 73222
 user-login = "wasmtime-publish"
 
+[[publisher.wasmtime-wast]]
+version = "18.0.3"
+when = "2024-03-12"
+user-id = 73222
+user-login = "wasmtime-publish"
+
 [[publisher.wasmtime-winch]]
 version = "17.0.0"
 when = "2024-01-25"
@@ -2330,6 +2768,12 @@ when = "2024-02-28"
 user-id = 73222
 user-login = "wasmtime-publish"
 
+[[publisher.wasmtime-winch]]
+version = "18.0.3"
+when = "2024-03-12"
+user-id = 73222
+user-login = "wasmtime-publish"
+
 [[publisher.wasmtime-wit-bindgen]]
 version = "17.0.0"
 when = "2024-01-25"
@@ -2354,6 +2798,12 @@ when = "2024-02-28"
 user-id = 73222
 user-login = "wasmtime-publish"
 
+[[publisher.wasmtime-wit-bindgen]]
+version = "18.0.3"
+when = "2024-03-12"
+user-id = 73222
+user-login = "wasmtime-publish"
+
 [[publisher.wasmtime-wmemcheck]]
 version = "17.0.0"
 when = "2024-01-25"
@@ -2378,6 +2828,12 @@ when = "2024-02-28"
 user-id = 73222
 user-login = "wasmtime-publish"
 
+[[publisher.wasmtime-wmemcheck]]
+version = "18.0.3"
+when = "2024-03-12"
+user-id = 73222
+user-login = "wasmtime-publish"
+
 [[publisher.wast]]
 version = "70.0.2"
 when = "2024-01-29"
@@ -2416,6 +2872,12 @@ when = "2024-02-28"
 user-id = 73222
 user-login = "wasmtime-publish"
 
+[[publisher.wiggle]]
+version = "18.0.3"
+when = "2024-03-12"
+user-id = 73222
+user-login = "wasmtime-publish"
+
 [[publisher.wiggle-generate]]
 version = "17.0.0"
 when = "2024-01-25"
@@ -2440,6 +2902,12 @@ when = "2024-02-28"
 user-id = 73222
 user-login = "wasmtime-publish"
 
+[[publisher.wiggle-generate]]
+version = "18.0.3"
+when = "2024-03-12"
+user-id = 73222
+user-login = "wasmtime-publish"
+
 [[publisher.wiggle-macro]]
 version = "17.0.0"
 when = "2024-01-25"
@@ -2464,6 +2932,12 @@ when = "2024-02-28"
 user-id = 73222
 user-login = "wasmtime-publish"
 
+[[publisher.wiggle-macro]]
+version = "18.0.3"
+when = "2024-03-12"
+user-id = 73222
+user-login = "wasmtime-publish"
+
 [[publisher.wiggle-test]]
 version = "0.1.0"
 when = "2020-03-12"
@@ -2502,6 +2976,12 @@ when = "2024-02-28"
 user-id = 73222
 user-login = "wasmtime-publish"
 
+[[publisher.winch-codegen]]
+version = "0.16.3"
+when = "2024-03-12"
+user-id = 73222
+user-login = "wasmtime-publish"
+
 [[publisher.windows-core]]
 version = "0.52.0"
 when = "2023-11-15"
diff --git a/winch/codegen/Cargo.toml b/winch/codegen/Cargo.toml
index df6b7d150..df328f6ac 100644
--- a/winch/codegen/Cargo.toml
+++ b/winch/codegen/Cargo.toml
@@ -4,7 +4,7 @@ name = "winch-codegen"
 description = "Winch code generation library"
 license = "Apache-2.0 WITH LLVM-exception"
 repository = "https://github.com/bytecodealliance/wasmtime"
-version = "0.16.3"
+version = "0.16.4"
 edition.workspace = true
 
 [lints]


Test patch:
diff --git a/cranelift/filetests/filetests/isa/aarch64/stack-limit.clif b/cranelift/filetests/filetests/isa/aarch64/stack-limit.clif
index 6bd7520ba..e30a32152 100644
--- a/cranelift/filetests/filetests/isa/aarch64/stack-limit.clif
+++ b/cranelift/filetests/filetests/isa/aarch64/stack-limit.clif
@@ -55,7 +55,8 @@ block0(v0: i64):
 ; VCode:
 ;   stp fp, lr, [sp, #-16]!
 ;   mov fp, sp
-;   subs xzr, sp, x0, UXTX
+;   add x16, x0, #16
+;   subs xzr, sp, x16, UXTX
 ;   b.lo #trap=stk_ovf
 ; block0:
 ;   load_ext_name x2, TestCase(%foo)+0
@@ -67,11 +68,12 @@ block0(v0: i64):
 ; block0: ; offset 0x0
 ;   stp x29, x30, [sp, #-0x10]!
 ;   mov x29, sp
-;   cmp sp, x0
-;   b.lo #0x2c
-; block1: ; offset 0x10
-;   ldr x2, #0x18
-;   b #0x20
+;   add x16, x0, #0x10
+;   cmp sp, x16
+;   b.lo #0x30
+; block1: ; offset 0x14
+;   ldr x2, #0x1c
+;   b #0x24
 ;   .byte 0x00, 0x00, 0x00, 0x00 ; reloc_external Abs8 %foo 0
 ;   .byte 0x00, 0x00, 0x00, 0x00
 ;   blr x2
@@ -95,6 +97,7 @@ block0(v0: i64):
 ;   mov fp, sp
 ;   ldr x16, [x0]
 ;   ldr x16, [x16, #4]
+;   add x16, x16, #16
 ;   subs xzr, sp, x16, UXTX
 ;   b.lo #trap=stk_ovf
 ; block0:
@@ -109,11 +112,12 @@ block0(v0: i64):
 ;   mov x29, sp
 ;   ldur x16, [x0]
 ;   ldur x16, [x16, #4]
+;   add x16, x16, #0x10
 ;   cmp sp, x16
-;   b.lo #0x34
-; block1: ; offset 0x18
-;   ldr x2, #0x20
-;   b #0x28
+;   b.lo #0x38
+; block1: ; offset 0x1c
+;   ldr x2, #0x24
+;   b #0x2c
 ;   .byte 0x00, 0x00, 0x00, 0x00 ; reloc_external Abs8 %foo 0
 ;   .byte 0x00, 0x00, 0x00, 0x00
 ;   blr x2
diff --git a/cranelift/filetests/filetests/isa/riscv64/stack-limit.clif b/cranelift/filetests/filetests/isa/riscv64/stack-limit.clif
index be0c64af3..6dd424c2a 100644
--- a/cranelift/filetests/filetests/isa/riscv64/stack-limit.clif
+++ b/cranelift/filetests/filetests/isa/riscv64/stack-limit.clif
@@ -58,7 +58,8 @@ block0(v0: i64):
 ;   sd ra,8(sp)
 ;   sd fp,0(sp)
 ;   mv fp,sp
-;   trap_if stk_ovf##(sp ult a0)
+;   addi t6,a0,16
+;   trap_if stk_ovf##(sp ult t6)
 ; block0:
 ;   load_sym a2,%foo+0
 ;   callind a2
@@ -73,9 +74,10 @@ block0(v0: i64):
 ;   sd ra, 8(sp)
 ;   sd s0, 0(sp)
 ;   mv s0, sp
-;   bgeu sp, a0, 8
+;   addi t6, a0, 0x10
+;   bgeu sp, t6, 8
 ;   .byte 0x00, 0x00, 0x00, 0x00 ; trap: stk_ovf
-; block1: ; offset 0x18
+; block1: ; offset 0x1c
 ;   auipc a2, 0
 ;   ld a2, 0xc(a2)
 ;   j 0xc
@@ -105,6 +107,7 @@ block0(v0: i64):
 ;   mv fp,sp
 ;   ld t6,0(a0)
 ;   ld t6,4(t6)
+;   addi t6,t6,16
 ;   trap_if stk_ovf##(sp ult t6)
 ; block0:
 ;   load_sym a2,%foo+0
@@ -122,9 +125,10 @@ block0(v0: i64):
 ;   mv s0, sp
 ;   ld t6, 0(a0)
 ;   ld t6, 4(t6)
+;   addi t6, t6, 0x10
 ;   bgeu sp, t6, 8
 ;   .byte 0x00, 0x00, 0x00, 0x00 ; trap: stk_ovf
-; block1: ; offset 0x20
+; block1: ; offset 0x24
 ;   auipc a2, 0
 ;   ld a2, 0xc(a2)
 ;   j 0xc
diff --git a/cranelift/filetests/filetests/isa/s390x/stack-limit.clif b/cranelift/filetests/filetests/isa/s390x/stack-limit.clif
index 0a2387b2f..9f69853de 100644
--- a/cranelift/filetests/filetests/isa/s390x/stack-limit.clif
+++ b/cranelift/filetests/filetests/isa/s390x/stack-limit.clif
@@ -52,7 +52,8 @@ block0(v0: i64):
 }
 
 ; VCode:
-;   clgrtle %r15, %r2
+;   la %r1, 160(%r2)
+;   clgrtle %r15, %r1
 ;   stmg %r14, %r15, 112(%r15)
 ;   aghi %r15, -160
 ;   virtual_sp_offset_adjust 160
@@ -64,11 +65,12 @@ block0(v0: i64):
 ;
 ; Disassembled:
 ; block0: ; offset 0x0
-;   clgrtle %r15, %r2 ; trap: stk_ovf
+;   la %r1, 0xa0(%r2)
+;   clgrtle %r15, %r1 ; trap: stk_ovf
 ;   stmg %r14, %r15, 0x70(%r15)
 ;   aghi %r15, -0xa0
-; block1: ; offset 0xe
-;   bras %r1, 0x1a
+; block1: ; offset 0x12
+;   bras %r1, 0x1e
 ;   .byte 0x00, 0x00 ; reloc_external Abs8 %foo 0
 ;   .byte 0x00, 0x00
 ;   .byte 0x00, 0x00
@@ -92,6 +94,7 @@ block0(v0: i64):
 ; VCode:
 ;   lg %r1, 0(%r2)
 ;   lg %r1, 4(%r1)
+;   la %r1, 160(%r1)
 ;   clgrtle %r15, %r1
 ;   stmg %r14, %r15, 112(%r15)
 ;   aghi %r15, -160
@@ -106,11 +109,12 @@ block0(v0: i64):
 ; block0: ; offset 0x0
 ;   lg %r1, 0(%r2)
 ;   lg %r1, 4(%r1)
+;   la %r1, 0xa0(%r1)
 ;   clgrtle %r15, %r1 ; trap: stk_ovf
 ;   stmg %r14, %r15, 0x70(%r15)
 ;   aghi %r15, -0xa0
-; block1: ; offset 0x1a
-;   bras %r1, 0x26
+; block1: ; offset 0x1e
+;   bras %r1, 0x2a
 ;   .byte 0x00, 0x00 ; reloc_external Abs8 %foo 0
 ;   .byte 0x00, 0x00
 ;   .byte 0x00, 0x00
diff --git a/tests/all/component_model/aot.rs b/tests/all/component_model/aot.rs
index 5fc5c8890..8b38ae151 100644
--- a/tests/all/component_model/aot.rs
+++ b/tests/all/component_model/aot.rs
@@ -133,3 +133,46 @@ fn detect_precompiled() -> Result<()> {
     );
     Ok(())
 }
+
+#[test]
+#[cfg_attr(miri, ignore)]
+fn truncated_component_binaries_dont_panic() -> Result<()> {
+    let engine = super::engine();
+
+    let binary = wat::parse_str(
+        r#"
+        (component
+            (import "a" (core module $m0
+                (import "" "" (func))
+            ))
+
+            (core module $m1
+                (func (export ""))
+            )
+            (core instance $i1 (instantiate (module $m1)))
+            (func $f (canon lift (core func $i1 "f")))
+
+            (component $c1
+                (import "f" (func))
+                (core module $m2
+                    (func (export "g"))
+                )
+                (core instance $i2 (instantiate $m2))
+                (func (export "g")
+                    (canon lift (core func $i2 "g"))
+                )
+            )
+            (instance $i3 (instantiate $c1 (with "f" (func $f))))
+            (func (export "g") (alias export $i3 "g"))
+        )
+        "#,
+    )?;
+
+    // Check that if we feed each truncation of the component binary into
+    // `Component::new` we don't get any panics.
+    for i in 1..binary.len() - 1 {
+        let _ = Component::from_binary(&engine, &binary[0..i]);
+    }
+
+    Ok(())
+}