Repository: bytecodealliance/wasmtime
Pull request #4377 (2022-07-04 22:16:07)

Add rerun-if-changed to fiber/build.rs
Not having rerun-if-changed leads to including nanosecond-precision
mtimes in fingerprints and unnecessary rebuilds in docker [1].

[1] https://github.com/rust-lang/cargo/blob/0.63.1/src/cargo/core/compiler/fingerprint.rs#L1491



- [ ] This has been discussed in issue #..., or if not, please tell us why
  here.

This is a trivial fix.

- [x] A short description of what this does, why it is needed; if the
  description becomes long, the matter should probably be discussed in an issue
  first.

- [ ] This PR contains test cases, if meaningful.

This is a build issue.

- [ ] A reviewer from the core maintainer team has been assigned for this PR.
  If you don't know who could review this, please indicate so. The list of
  suggested reviewers on the right can help you.

The list of suggested reviewers is empty.
`git log build.rs` points to @alexcrichton.


Patch:
diff --git a/Cargo.lock b/Cargo.lock
index f3e125def..04c2b74f1 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -491,7 +491,7 @@ dependencies = [
 
 [[package]]
 name = "cranelift"
-version = "0.86.0"
+version = "0.87.0"
 dependencies = [
  "cranelift-codegen",
  "cranelift-frontend",
@@ -499,14 +499,14 @@ dependencies = [
 
 [[package]]
 name = "cranelift-bforest"
-version = "0.86.0"
+version = "0.87.0"
 dependencies = [
  "cranelift-entity",
 ]
 
 [[package]]
 name = "cranelift-codegen"
-version = "0.86.0"
+version = "0.87.0"
 dependencies = [
  "bincode",
  "cranelift-bforest",
@@ -528,18 +528,18 @@ dependencies = [
 
 [[package]]
 name = "cranelift-codegen-meta"
-version = "0.86.0"
+version = "0.87.0"
 dependencies = [
  "cranelift-codegen-shared",
 ]
 
 [[package]]
 name = "cranelift-codegen-shared"
-version = "0.86.0"
+version = "0.87.0"
 
 [[package]]
 name = "cranelift-entity"
-version = "0.86.0"
+version = "0.87.0"
 dependencies = [
  "serde",
 ]
@@ -568,7 +568,7 @@ dependencies = [
 
 [[package]]
 name = "cranelift-frontend"
-version = "0.86.0"
+version = "0.87.0"
 dependencies = [
  "cranelift-codegen",
  "hashbrown",
@@ -588,7 +588,7 @@ dependencies = [
 
 [[package]]
 name = "cranelift-interpreter"
-version = "0.86.0"
+version = "0.87.0"
 dependencies = [
  "cranelift-codegen",
  "cranelift-entity",
@@ -601,7 +601,7 @@ dependencies = [
 
 [[package]]
 name = "cranelift-isle"
-version = "0.86.0"
+version = "0.87.0"
 dependencies = [
  "log",
  "miette",
@@ -610,7 +610,7 @@ dependencies = [
 
 [[package]]
 name = "cranelift-jit"
-version = "0.86.0"
+version = "0.87.0"
 dependencies = [
  "anyhow",
  "cranelift",
@@ -629,7 +629,7 @@ dependencies = [
 
 [[package]]
 name = "cranelift-module"
-version = "0.86.0"
+version = "0.87.0"
 dependencies = [
  "anyhow",
  "cranelift-codegen",
@@ -638,7 +638,7 @@ dependencies = [
 
 [[package]]
 name = "cranelift-native"
-version = "0.86.0"
+version = "0.87.0"
 dependencies = [
  "cranelift-codegen",
  "libc",
@@ -647,7 +647,7 @@ dependencies = [
 
 [[package]]
 name = "cranelift-object"
-version = "0.86.0"
+version = "0.87.0"
 dependencies = [
  "anyhow",
  "cranelift-codegen",
@@ -661,14 +661,14 @@ dependencies = [
 
 [[package]]
 name = "cranelift-preopt"
-version = "0.86.0"
+version = "0.87.0"
 dependencies = [
  "cranelift-codegen",
 ]
 
 [[package]]
 name = "cranelift-reader"
-version = "0.86.0"
+version = "0.87.0"
 dependencies = [
  "cranelift-codegen",
  "smallvec",
@@ -677,7 +677,7 @@ dependencies = [
 
 [[package]]
 name = "cranelift-serde"
-version = "0.86.0"
+version = "0.87.0"
 dependencies = [
  "clap 3.1.15",
  "cranelift-codegen",
@@ -721,7 +721,7 @@ dependencies = [
 
 [[package]]
 name = "cranelift-wasm"
-version = "0.86.0"
+version = "0.87.0"
 dependencies = [
  "cranelift-codegen",
  "cranelift-entity",
@@ -3080,7 +3080,7 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
 
 [[package]]
 name = "wasi-cap-std-sync"
-version = "0.39.0"
+version = "0.40.0"
 dependencies = [
  "anyhow",
  "async-trait",
@@ -3103,7 +3103,7 @@ dependencies = [
 
 [[package]]
 name = "wasi-common"
-version = "0.39.0"
+version = "0.40.0"
 dependencies = [
  "anyhow",
  "bitflags",
@@ -3148,7 +3148,7 @@ dependencies = [
 
 [[package]]
 name = "wasi-tokio"
-version = "0.39.0"
+version = "0.40.0"
 dependencies = [
  "anyhow",
  "cap-std",
@@ -3309,7 +3309,7 @@ dependencies = [
 
 [[package]]
 name = "wasmtime"
-version = "0.39.0"
+version = "0.40.0"
 dependencies = [
  "anyhow",
  "async-trait",
@@ -3385,7 +3385,7 @@ dependencies = [
 
 [[package]]
 name = "wasmtime-cache"
-version = "0.39.0"
+version = "0.40.0"
 dependencies = [
  "anyhow",
  "base64",
@@ -3408,7 +3408,7 @@ dependencies = [
 
 [[package]]
 name = "wasmtime-cli"
-version = "0.39.0"
+version = "0.40.0"
 dependencies = [
  "anyhow",
  "async-trait",
@@ -3448,7 +3448,7 @@ dependencies = [
 
 [[package]]
 name = "wasmtime-cli-flags"
-version = "0.39.0"
+version = "0.40.0"
 dependencies = [
  "anyhow",
  "clap 3.1.15",
@@ -3460,7 +3460,7 @@ dependencies = [
 
 [[package]]
 name = "wasmtime-component-macro"
-version = "0.39.0"
+version = "0.40.0"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -3469,7 +3469,7 @@ dependencies = [
 
 [[package]]
 name = "wasmtime-cranelift"
-version = "0.39.0"
+version = "0.40.0"
 dependencies = [
  "anyhow",
  "cranelift-codegen",
@@ -3489,7 +3489,7 @@ dependencies = [
 
 [[package]]
 name = "wasmtime-environ"
-version = "0.39.0"
+version = "0.40.0"
 dependencies = [
  "anyhow",
  "cranelift-entity",
@@ -3507,7 +3507,7 @@ dependencies = [
 
 [[package]]
 name = "wasmtime-fiber"
-version = "0.39.0"
+version = "0.40.0"
 dependencies = [
  "backtrace",
  "cc",
@@ -3559,7 +3559,7 @@ dependencies = [
 
 [[package]]
 name = "wasmtime-jit"
-version = "0.39.0"
+version = "0.40.0"
 dependencies = [
  "addr2line",
  "anyhow",
@@ -3584,7 +3584,7 @@ dependencies = [
 
 [[package]]
 name = "wasmtime-jit-debug"
-version = "0.39.0"
+version = "0.40.0"
 dependencies = [
  "lazy_static",
  "object",
@@ -3593,7 +3593,7 @@ dependencies = [
 
 [[package]]
 name = "wasmtime-runtime"
-version = "0.39.0"
+version = "0.40.0"
 dependencies = [
  "anyhow",
  "backtrace",
@@ -3618,7 +3618,7 @@ dependencies = [
 
 [[package]]
 name = "wasmtime-types"
-version = "0.39.0"
+version = "0.40.0"
 dependencies = [
  "cranelift-entity",
  "serde",
@@ -3628,7 +3628,7 @@ dependencies = [
 
 [[package]]
 name = "wasmtime-wasi"
-version = "0.39.0"
+version = "0.40.0"
 dependencies = [
  "anyhow",
  "wasi-cap-std-sync",
@@ -3640,7 +3640,7 @@ dependencies = [
 
 [[package]]
 name = "wasmtime-wasi-crypto"
-version = "0.39.0"
+version = "0.40.0"
 dependencies = [
  "anyhow",
  "wasi-crypto",
@@ -3650,7 +3650,7 @@ dependencies = [
 
 [[package]]
 name = "wasmtime-wasi-nn"
-version = "0.39.0"
+version = "0.40.0"
 dependencies = [
  "anyhow",
  "openvino",
@@ -3661,7 +3661,7 @@ dependencies = [
 
 [[package]]
 name = "wasmtime-wast"
-version = "0.39.0"
+version = "0.40.0"
 dependencies = [
  "anyhow",
  "wasmtime",
@@ -3721,7 +3721,7 @@ dependencies = [
 
 [[package]]
 name = "wiggle"
-version = "0.39.0"
+version = "0.40.0"
 dependencies = [
  "anyhow",
  "async-trait",
@@ -3738,7 +3738,7 @@ dependencies = [
 
 [[package]]
 name = "wiggle-generate"
-version = "0.39.0"
+version = "0.40.0"
 dependencies = [
  "anyhow",
  "heck",
@@ -3751,7 +3751,7 @@ dependencies = [
 
 [[package]]
 name = "wiggle-macro"
-version = "0.39.0"
+version = "0.40.0"
 dependencies = [
  "proc-macro2",
  "quote",
diff --git a/Cargo.toml b/Cargo.toml
index 706b3aeb9..eb1281ddf 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "wasmtime-cli"
-version = "0.39.0"
+version = "0.40.0"
 authors = ["The Wasmtime Project Developers"]
 description = "Command-line interface for Wasmtime"
 license = "Apache-2.0 WITH LLVM-exception"
@@ -21,15 +21,15 @@ path = "src/bin/wasmtime.rs"
 doc = false
 
 [dependencies]
-wasmtime = { path = "crates/wasmtime", version = "0.39.0", default-features = false, features = ['cache', 'cranelift'] }
-wasmtime-cache = { path = "crates/cache", version = "=0.39.0" }
-wasmtime-cli-flags = { path = "crates/cli-flags", version = "=0.39.0" }
-wasmtime-cranelift = { path = "crates/cranelift", version = "=0.39.0" }
-wasmtime-environ = { path = "crates/environ", version = "=0.39.0" }
-wasmtime-wast = { path = "crates/wast", version = "=0.39.0" }
-wasmtime-wasi = { path = "crates/wasi", version = "0.39.0" }
-wasmtime-wasi-crypto = { path = "crates/wasi-crypto", version = "0.39.0", optional = true }
-wasmtime-wasi-nn = { path = "crates/wasi-nn", version = "0.39.0", optional = true }
+wasmtime = { path = "crates/wasmtime", version = "0.40.0", default-features = false, features = ['cache', 'cranelift'] }
+wasmtime-cache = { path = "crates/cache", version = "=0.40.0" }
+wasmtime-cli-flags = { path = "crates/cli-flags", version = "=0.40.0" }
+wasmtime-cranelift = { path = "crates/cranelift", version = "=0.40.0" }
+wasmtime-environ = { path = "crates/environ", version = "=0.40.0" }
+wasmtime-wast = { path = "crates/wast", version = "=0.40.0" }
+wasmtime-wasi = { path = "crates/wasi", version = "0.40.0" }
+wasmtime-wasi-crypto = { path = "crates/wasi-crypto", version = "0.40.0", optional = true }
+wasmtime-wasi-nn = { path = "crates/wasi-nn", version = "0.40.0", optional = true }
 clap = { version = "3.1.12", features = ["color", "suggestions", "derive"] }
 anyhow = "1.0.19"
 target-lexicon = { version = "0.12.0", default-features = false }
@@ -43,7 +43,7 @@ rustix = { version = "0.35.6", features = ["mm", "param"] }
 
 [dev-dependencies]
 # depend again on wasmtime to activate its default features for tests
-wasmtime = { path = "crates/wasmtime", version = "0.39.0" }
+wasmtime = { path = "crates/wasmtime", version = "0.40.0" }
 env_logger = "0.9.0"
 filecheck = "0.5.0"
 more-asserts = "0.2.1"
diff --git a/RELEASES.md b/RELEASES.md
index d2620d21a..7349857e6 100644
--- a/RELEASES.md
+++ b/RELEASES.md
@@ -1,5 +1,15 @@
 --------------------------------------------------------------------------------
 
+## 0.40.0
+
+Unreleased.
+
+### Added
+
+### Changed
+
+--------------------------------------------------------------------------------
+
 ## 0.39.0
 
 Unreleased.
@@ -37,6 +47,10 @@ Unreleased.
   It's recommended to only used the set of named `[features]` for Wasmtime.
   [#4293](https://github.com/bytecodealliance/wasmtime/pull/4293)
 
+* Register allocation has fixed a few issues related to excessive memory usage
+  at compile time.
+  [#4324](https://github.com/bytecodealliance/wasmtime/pull/4324)
+
 ### Fixed
 
 * A refactor of `Config` was made to fix an issue that the order of calls to `Config`
@@ -48,6 +62,10 @@ Unreleased.
   `simd` feature is disabled in `Config`.
   [#4231](https://github.com/bytecodealliance/wasmtime/pull/4231)
 
+* Generation of platform-specific unwinding information is disabled if
+  `wasm_backtrace` and `wasm_reference_types` are both disabled.
+  [#4351](https://github.com/bytecodealliance/wasmtime/pull/4351)
+
 --------------------------------------------------------------------------------
 
 ## 0.38.1
diff --git a/cranelift/Cargo.toml b/cranelift/Cargo.toml
index 04999a53a..9f15c8796 100644
--- a/cranelift/Cargo.toml
+++ b/cranelift/Cargo.toml
@@ -15,19 +15,19 @@ path = "src/clif-util.rs"
 
 [dependencies]
 cfg-if = "1.0"
-cranelift-codegen = { path = "codegen", version = "0.86.0" }
-cranelift-entity = { path = "entity", version = "0.86.0" }
-cranelift-interpreter = { path = "interpreter", version = "0.86.0" }
-cranelift-reader = { path = "reader", version = "0.86.0" }
-cranelift-frontend = { path = "frontend", version = "0.86.0" }
-cranelift-wasm = { path = "wasm", version = "0.86.0", optional = true }
-cranelift-native = { path = "native", version = "0.86.0" }
+cranelift-codegen = { path = "codegen", version = "0.87.0" }
+cranelift-entity = { path = "entity", version = "0.87.0" }
+cranelift-interpreter = { path = "interpreter", version = "0.87.0" }
+cranelift-reader = { path = "reader", version = "0.87.0" }
+cranelift-frontend = { path = "frontend", version = "0.87.0" }
+cranelift-wasm = { path = "wasm", version = "0.87.0", optional = true }
+cranelift-native = { path = "native", version = "0.87.0" }
 cranelift-filetests = { path = "filetests", version = "0.73.0" }
-cranelift-module = { path = "module", version = "0.86.0" }
-cranelift-object = { path = "object", version = "0.86.0" }
-cranelift-jit = { path = "jit", version = "0.86.0" }
-cranelift-preopt = { path = "preopt", version = "0.86.0" }
-cranelift = { path = "umbrella", version = "0.86.0" }
+cranelift-module = { path = "module", version = "0.87.0" }
+cranelift-object = { path = "object", version = "0.87.0" }
+cranelift-jit = { path = "jit", version = "0.87.0" }
+cranelift-preopt = { path = "preopt", version = "0.87.0" }
+cranelift = { path = "umbrella", version = "0.87.0" }
 filecheck = "0.5.0"
 log = "0.4.8"
 termcolor = "1.1.2"
diff --git a/cranelift/bforest/Cargo.toml b/cranelift/bforest/Cargo.toml
index 006d87bae..870607a86 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.86.0"
+version = "0.87.0"
 description = "A forest of B+-trees"
 license = "Apache-2.0 WITH LLVM-exception"
 documentation = "https://docs.rs/cranelift-bforest"
@@ -12,7 +12,7 @@ keywords = ["btree", "forest", "set", "map"]
 edition = "2021"
 
 [dependencies]
-cranelift-entity = { path = "../entity", version = "0.86.0", default-features = false }
+cranelift-entity = { path = "../entity", version = "0.87.0", default-features = false }
 
 [badges]
 maintenance = { status = "experimental" }
diff --git a/cranelift/codegen/Cargo.toml b/cranelift/codegen/Cargo.toml
index 5cfdb07e8..23e631cc7 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.86.0"
+version = "0.87.0"
 description = "Low-level code generator library"
 license = "Apache-2.0 WITH LLVM-exception"
 documentation = "https://docs.rs/cranelift-codegen"
@@ -13,9 +13,9 @@ build = "build.rs"
 edition = "2021"
 
 [dependencies]
-cranelift-codegen-shared = { path = "./shared", version = "0.86.0" }
-cranelift-entity = { path = "../entity", version = "0.86.0" }
-cranelift-bforest = { path = "../bforest", version = "0.86.0" }
+cranelift-codegen-shared = { path = "./shared", version = "0.87.0" }
+cranelift-entity = { path = "../entity", version = "0.87.0" }
+cranelift-bforest = { path = "../bforest", version = "0.87.0" }
 hashbrown = { version = "0.11", optional = true }
 target-lexicon = "0.12"
 log = { version = "0.4.6", default-features = false }
@@ -34,8 +34,8 @@ souper-ir = { version = "2.1.0", optional = true }
 criterion = "0.3"
 
 [build-dependencies]
-cranelift-codegen-meta = { path = "meta", version = "0.86.0" }
-cranelift-isle = { path = "../isle/isle", version = "=0.86.0" }
+cranelift-codegen-meta = { path = "meta", version = "0.87.0" }
+cranelift-isle = { path = "../isle/isle", version = "=0.87.0" }
 miette = { version = "4.7.0", features = ["fancy"], optional = true }
 
 [features]
diff --git a/cranelift/codegen/meta/Cargo.toml b/cranelift/codegen/meta/Cargo.toml
index af0268f91..5716637b7 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.86.0"
+version = "0.87.0"
 description = "Metaprogram for cranelift-codegen code generator library"
 license = "Apache-2.0 WITH LLVM-exception"
 repository = "https://github.com/bytecodealliance/wasmtime"
@@ -13,7 +13,7 @@ edition = "2021"
 # rustdoc-args = [ "--document-private-items" ]
 
 [dependencies]
-cranelift-codegen-shared = { path = "../shared", version = "0.86.0" }
+cranelift-codegen-shared = { path = "../shared", version = "0.87.0" }
 
 [badges]
 maintenance = { status = "experimental" }
diff --git a/cranelift/codegen/shared/Cargo.toml b/cranelift/codegen/shared/Cargo.toml
index 0626daa85..40cb546f9 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.86.0"
+version = "0.87.0"
 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/entity/Cargo.toml b/cranelift/entity/Cargo.toml
index c931136c8..10c88dd7a 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.86.0"
+version = "0.87.0"
 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 82e04fc9d..20bd91e5d 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.86.0"
+version = "0.87.0"
 description = "Cranelift IR builder helper"
 license = "Apache-2.0 WITH LLVM-exception"
 documentation = "https://docs.rs/cranelift-frontend"
@@ -11,7 +11,7 @@ readme = "README.md"
 edition = "2021"
 
 [dependencies]
-cranelift-codegen = { path = "../codegen", version = "0.86.0", default-features = false }
+cranelift-codegen = { path = "../codegen", version = "0.87.0", default-features = false }
 target-lexicon = "0.12"
 log = { version = "0.4.6", default-features = false }
 hashbrown = { version = "0.11", optional = true }
diff --git a/cranelift/fuzzgen/Cargo.toml b/cranelift/fuzzgen/Cargo.toml
index c39ad48fd..139fed1b3 100644
--- a/cranelift/fuzzgen/Cargo.toml
+++ b/cranelift/fuzzgen/Cargo.toml
@@ -11,7 +11,7 @@ publish = false
 
 
 [dependencies]
-cranelift = { path = "../umbrella", version = "0.86.0" }
+cranelift = { path = "../umbrella", version = "0.87.0" }
 
 anyhow = "1.0.19"
 arbitrary = "1.0.0"
diff --git a/cranelift/interpreter/Cargo.toml b/cranelift/interpreter/Cargo.toml
index b97f9c9ed..4003495cb 100644
--- a/cranelift/interpreter/Cargo.toml
+++ b/cranelift/interpreter/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "cranelift-interpreter"
-version = "0.86.0"
+version = "0.87.0"
 authors = ["The Cranelift Project Developers"]
 description = "Interpret Cranelift IR"
 repository = "https://github.com/bytecodealliance/wasmtime"
@@ -11,15 +11,15 @@ readme = "README.md"
 edition = "2021"
 
 [dependencies]
-cranelift-codegen = { path = "../codegen", version = "0.86.0" }
-cranelift-entity = { path = "../entity", version = "0.86.0" }
+cranelift-codegen = { path = "../codegen", version = "0.87.0" }
+cranelift-entity = { path = "../entity", version = "0.87.0" }
 log = { version = "0.4.8", default-features = false }
 smallvec = "1.6.1"
 thiserror = "1.0.15"
 
 [dev-dependencies]
-cranelift-frontend = { path = "../frontend", version = "0.86.0" }
-cranelift-reader = { path = "../reader", version = "0.86.0" }
+cranelift-frontend = { path = "../frontend", version = "0.87.0" }
+cranelift-reader = { path = "../reader", version = "0.87.0" }
 
 [badges]
 maintenance = { status = "experimental" }
diff --git a/cranelift/isle/isle/Cargo.toml b/cranelift/isle/isle/Cargo.toml
index e6c5b192c..91ee21908 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.86.0"
+version = "0.87.0"
 
 [dependencies]
 log = { version = "0.4", optional = true }
diff --git a/cranelift/jit/Cargo.toml b/cranelift/jit/Cargo.toml
index 8936cf926..594bd784a 100644
--- a/cranelift/jit/Cargo.toml
+++ b/cranelift/jit/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "cranelift-jit"
-version = "0.86.0"
+version = "0.87.0"
 authors = ["The Cranelift Project Developers"]
 description = "A JIT library backed by Cranelift"
 repository = "https://github.com/bytecodealliance/wasmtime"
@@ -10,10 +10,10 @@ readme = "README.md"
 edition = "2021"
 
 [dependencies]
-cranelift-module = { path = "../module", version = "0.86.0" }
-cranelift-native = { path = "../native", version = "0.86.0" }
-cranelift-codegen = { path = "../codegen", version = "0.86.0", default-features = false, features = ["std"] }
-cranelift-entity = { path = "../entity", version = "0.86.0" }
+cranelift-module = { path = "../module", version = "0.87.0" }
+cranelift-native = { path = "../native", version = "0.87.0" }
+cranelift-codegen = { path = "../codegen", version = "0.87.0", default-features = false, features = ["std"] }
+cranelift-entity = { path = "../entity", version = "0.87.0" }
 anyhow = "1.0"
 region = "2.2.0"
 libc = { version = "0.2.42" }
@@ -34,9 +34,9 @@ selinux-fix = ['memmap2']
 default = []
 
 [dev-dependencies]
-cranelift = { path = "../umbrella", version = "0.86.0" }
-cranelift-frontend = { path = "../frontend", version = "0.86.0" }
-cranelift-entity = { path = "../entity", version = "0.86.0" }
+cranelift = { path = "../umbrella", version = "0.87.0" }
+cranelift-frontend = { path = "../frontend", version = "0.87.0" }
+cranelift-entity = { path = "../entity", version = "0.87.0" }
 
 [badges]
 maintenance = { status = "experimental" }
diff --git a/cranelift/module/Cargo.toml b/cranelift/module/Cargo.toml
index 2b560eec4..20f150e47 100644
--- a/cranelift/module/Cargo.toml
+++ b/cranelift/module/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "cranelift-module"
-version = "0.86.0"
+version = "0.87.0"
 authors = ["The Cranelift Project Developers"]
 description = "Support for linking functions and data with Cranelift"
 repository = "https://github.com/bytecodealliance/wasmtime"
@@ -11,7 +11,7 @@ readme = "README.md"
 edition = "2021"
 
 [dependencies]
-cranelift-codegen = { path = "../codegen", version = "0.86.0", default-features = false }
+cranelift-codegen = { path = "../codegen", version = "0.87.0", default-features = false }
 hashbrown = { version = "0.11", optional = true }
 anyhow = "1.0"
 
diff --git a/cranelift/native/Cargo.toml b/cranelift/native/Cargo.toml
index 0c613a895..d0038fc9c 100644
--- a/cranelift/native/Cargo.toml
+++ b/cranelift/native/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "cranelift-native"
-version = "0.86.0"
+version = "0.87.0"
 authors = ["The Cranelift Project Developers"]
 description = "Support for targeting the host with Cranelift"
 documentation = "https://docs.rs/cranelift-native"
@@ -11,7 +11,7 @@ readme = "README.md"
 edition = "2021"
 
 [dependencies]
-cranelift-codegen = { path = "../codegen", version = "0.86.0", default-features = false }
+cranelift-codegen = { path = "../codegen", version = "0.87.0", default-features = false }
 target-lexicon = "0.12"
 
 [target.'cfg(target_arch = "s390x")'.dependencies]
diff --git a/cranelift/object/Cargo.toml b/cranelift/object/Cargo.toml
index 8a492563d..7d0951acf 100644
--- a/cranelift/object/Cargo.toml
+++ b/cranelift/object/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "cranelift-object"
-version = "0.86.0"
+version = "0.87.0"
 authors = ["The Cranelift Project Developers"]
 description = "Emit Cranelift output to native object files with `object`"
 repository = "https://github.com/bytecodealliance/wasmtime"
@@ -10,16 +10,16 @@ readme = "README.md"
 edition = "2021"
 
 [dependencies]
-cranelift-module = { path = "../module", version = "0.86.0" }
-cranelift-codegen = { path = "../codegen", version = "0.86.0", default-features = false, features = ["std"] }
+cranelift-module = { path = "../module", version = "0.87.0" }
+cranelift-codegen = { path = "../codegen", version = "0.87.0", default-features = false, features = ["std"] }
 object = { version = "0.28.0", default-features = false, features = ["write"] }
 target-lexicon = "0.12"
 anyhow = "1.0"
 log = { version = "0.4.6", default-features = false }
 
 [dev-dependencies]
-cranelift-frontend = { path = "../frontend", version = "0.86.0" }
-cranelift-entity = { path = "../entity", version = "0.86.0" }
+cranelift-frontend = { path = "../frontend", version = "0.87.0" }
+cranelift-entity = { path = "../entity", version = "0.87.0" }
 
 [badges]
 maintenance = { status = "experimental" }
diff --git a/cranelift/preopt/Cargo.toml b/cranelift/preopt/Cargo.toml
index e2d9658e8..ea05b775d 100644
--- a/cranelift/preopt/Cargo.toml
+++ b/cranelift/preopt/Cargo.toml
@@ -1,7 +1,7 @@
 [package]
 authors = ["The Cranelift Project Developers"]
 name = "cranelift-preopt"
-version = "0.86.0"
+version = "0.87.0"
 description = "Support for optimizations in Cranelift"
 license = "Apache-2.0 WITH LLVM-exception"
 documentation = "https://docs.rs/cranelift-preopt"
@@ -12,7 +12,7 @@ keywords = ["optimize", "compile", "compiler", "jit"]
 edition = "2021"
 
 [dependencies]
-cranelift-codegen = { path = "../codegen", version = "0.86.0", default-features = false }
+cranelift-codegen = { path = "../codegen", version = "0.87.0", default-features = false }
 # This is commented out because it doesn't build on Rust 1.25.0, which
 # cranelift currently supports.
 # rustc_apfloat = { version = "0.1.2", default-features = false }
diff --git a/cranelift/reader/Cargo.toml b/cranelift/reader/Cargo.toml
index 8a205363d..be876aa66 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.86.0"
+version = "0.87.0"
 description = "Cranelift textual IR reader"
 license = "Apache-2.0 WITH LLVM-exception"
 documentation = "https://docs.rs/cranelift-reader"
@@ -10,7 +10,7 @@ readme = "README.md"
 edition = "2021"
 
 [dependencies]
-cranelift-codegen = { path = "../codegen", version = "0.86.0" }
+cranelift-codegen = { path = "../codegen", version = "0.87.0" }
 smallvec = "1.6.1"
 target-lexicon = "0.12"
 
diff --git a/cranelift/serde/Cargo.toml b/cranelift/serde/Cargo.toml
index 7994ca028..f51d42174 100644
--- a/cranelift/serde/Cargo.toml
+++ b/cranelift/serde/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "cranelift-serde"
-version = "0.86.0"
+version = "0.87.0"
 authors = ["The Cranelift Project Developers"]
 description = "Serializer/Deserializer for Cranelift IR"
 repository = "https://github.com/bytecodealliance/wasmtime"
@@ -16,8 +16,8 @@ path = "src/clif-json.rs"
 [dependencies]
 clap = { version = "3.1.12", features = ["derive"] }
 serde_json = "1.0.26"
-cranelift-codegen = { path = "../codegen", version = "0.86.0", features = ["enable-serde"] }
-cranelift-reader = { path = "../reader", version = "0.86.0" }
+cranelift-codegen = { path = "../codegen", version = "0.87.0", features = ["enable-serde"] }
+cranelift-reader = { path = "../reader", version = "0.87.0" }
 
 [badges]
 maintenance = { status = "experimental" }
diff --git a/cranelift/umbrella/Cargo.toml b/cranelift/umbrella/Cargo.toml
index 7f3152139..a7b8f0106 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.86.0"
+version = "0.87.0"
 description = "Umbrella for commonly-used cranelift crates"
 license = "Apache-2.0 WITH LLVM-exception"
 documentation = "https://docs.rs/cranelift"
@@ -12,8 +12,8 @@ keywords = ["compile", "compiler", "jit"]
 edition = "2021"
 
 [dependencies]
-cranelift-codegen = { path = "../codegen", version = "0.86.0", default-features = false }
-cranelift-frontend = { path = "../frontend", version = "0.86.0", default-features = false }
+cranelift-codegen = { path = "../codegen", version = "0.87.0", default-features = false }
+cranelift-frontend = { path = "../frontend", version = "0.87.0", default-features = false }
 
 [features]
 default = ["std"]
diff --git a/cranelift/wasm/Cargo.toml b/cranelift/wasm/Cargo.toml
index 59d15a311..443de0a9a 100644
--- a/cranelift/wasm/Cargo.toml
+++ b/cranelift/wasm/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "cranelift-wasm"
-version = "0.86.0"
+version = "0.87.0"
 authors = ["The Cranelift Project Developers"]
 description = "Translator from WebAssembly to Cranelift IR"
 documentation = "https://docs.rs/cranelift-wasm"
@@ -13,10 +13,10 @@ edition = "2021"
 
 [dependencies]
 wasmparser = { version = "0.86.0", default-features = false }
-cranelift-codegen = { path = "../codegen", version = "0.86.0", default-features = false }
-cranelift-entity = { path = "../entity", version = "0.86.0" }
-cranelift-frontend = { path = "../frontend", version = "0.86.0", default-features = false }
-wasmtime-types = { path = "../../crates/types", version = "0.39.0" }
+cranelift-codegen = { path = "../codegen", version = "0.87.0", default-features = false }
+cranelift-entity = { path = "../entity", version = "0.87.0" }
+cranelift-frontend = { path = "../frontend", version = "0.87.0", default-features = false }
+wasmtime-types = { path = "../../crates/types", version = "0.40.0" }
 hashbrown = { version = "0.11", optional = true }
 itertools = "0.10.0"
 log = { version = "0.4.6", default-features = false }
@@ -26,7 +26,7 @@ smallvec = "1.6.1"
 [dev-dependencies]
 wat = "1.0.37"
 target-lexicon = "0.12"
-cranelift-codegen = { path = "../codegen", version = "0.86.0", default-features = false }
+cranelift-codegen = { path = "../codegen", version = "0.87.0", default-features = false }
 
 [features]
 default = ["std"]
diff --git a/crates/cache/Cargo.toml b/crates/cache/Cargo.toml
index fc129f6b1..efcb4ac27 100644
--- a/crates/cache/Cargo.toml
+++ b/crates/cache/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "wasmtime-cache"
-version = "0.39.0"
+version = "0.40.0"
 authors = ["The Wasmtime Project Developers"]
 description = "Support for automatic module caching with Wasmtime"
 license = "Apache-2.0 WITH LLVM-exception"
diff --git a/crates/cli-flags/Cargo.toml b/crates/cli-flags/Cargo.toml
index 2c0be98ff..dbfbe4a8a 100644
--- a/crates/cli-flags/Cargo.toml
+++ b/crates/cli-flags/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "wasmtime-cli-flags"
-version = "0.39.0"
+version = "0.40.0"
 authors = ["The Wasmtime Project Developers"]
 description = "Exposes common CLI flags used for running Wasmtime"
 license = "Apache-2.0 WITH LLVM-exception"
@@ -14,7 +14,7 @@ clap = { version = "3.1.12", features = ["color", "suggestions", "derive"] }
 file-per-thread-logger = "0.1.1"
 pretty_env_logger = "0.4.0"
 rayon = "1.5.0"
-wasmtime = { path = "../wasmtime", version = "0.39.0", default-features = false }
+wasmtime = { path = "../wasmtime", version = "0.40.0", default-features = false }
 
 [features]
 default = [
diff --git a/crates/component-macro/Cargo.toml b/crates/component-macro/Cargo.toml
index 4e924ec97..6fadf5e65 100644
--- a/crates/component-macro/Cargo.toml
+++ b/crates/component-macro/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "wasmtime-component-macro"
-version = "0.39.0"
+version = "0.40.0"
 authors = ["The Wasmtime Project Developers"]
 description = "Macros for deriving component interface types from Rust types"
 license = "Apache-2.0 WITH LLVM-exception"
diff --git a/crates/cranelift/Cargo.toml b/crates/cranelift/Cargo.toml
index e8ec94f37..fe167d8a4 100644
--- a/crates/cranelift/Cargo.toml
+++ b/crates/cranelift/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "wasmtime-cranelift"
-version = "0.39.0"
+version = "0.40.0"
 authors = ["The Wasmtime Project Developers"]
 description = "Integration between Cranelift and Wasmtime"
 license = "Apache-2.0 WITH LLVM-exception"
@@ -13,12 +13,12 @@ edition = "2021"
 [dependencies]
 anyhow = "1.0"
 log = "0.4"
-wasmtime-environ = { path = "../environ", version = "=0.39.0" }
-cranelift-wasm = { path = "../../cranelift/wasm", version = "0.86.0" }
-cranelift-codegen = { path = "../../cranelift/codegen", version = "0.86.0" }
-cranelift-frontend = { path = "../../cranelift/frontend", version = "0.86.0" }
-cranelift-entity = { path = "../../cranelift/entity", version = "0.86.0" }
-cranelift-native = { path = "../../cranelift/native", version = "0.86.0" }
+wasmtime-environ = { path = "../environ", version = "=0.40.0" }
+cranelift-wasm = { path = "../../cranelift/wasm", version = "0.87.0" }
+cranelift-codegen = { path = "../../cranelift/codegen", version = "0.87.0" }
+cranelift-frontend = { path = "../../cranelift/frontend", version = "0.87.0" }
+cranelift-entity = { path = "../../cranelift/entity", version = "0.87.0" }
+cranelift-native = { path = "../../cranelift/native", version = "0.87.0" }
 wasmparser = "0.86.0"
 target-lexicon = "0.12"
 gimli = { version = "0.26.0", default-features = false, features = ['read', 'std'] }
diff --git a/crates/environ/Cargo.toml b/crates/environ/Cargo.toml
index dac7e4c0a..7572476a9 100644
--- a/crates/environ/Cargo.toml
+++ b/crates/environ/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "wasmtime-environ"
-version = "0.39.0"
+version = "0.40.0"
 authors = ["The Wasmtime Project Developers"]
 description = "Standalone environment support for WebAsssembly code in Cranelift"
 license = "Apache-2.0 WITH LLVM-exception"
@@ -12,8 +12,8 @@ edition = "2021"
 
 [dependencies]
 anyhow = "1.0"
-cranelift-entity = { path = "../../cranelift/entity", version = "0.86.0" }
-wasmtime-types = { path = "../types", version = "0.39.0" }
+cranelift-entity = { path = "../../cranelift/entity", version = "0.87.0" }
+wasmtime-types = { path = "../types", version = "0.40.0" }
 wasmparser = "0.86.0"
 indexmap = { version = "1.0.2", features = ["serde-1"] }
 thiserror = "1.0.4"
diff --git a/crates/fiber/Cargo.toml b/crates/fiber/Cargo.toml
index 77a750ed9..f224489cf 100644
--- a/crates/fiber/Cargo.toml
+++ b/crates/fiber/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "wasmtime-fiber"
-version = "0.39.0"
+version = "0.40.0"
 authors = ["The Wasmtime Project Developers"]
 description = "Fiber support for Wasmtime"
 license = "Apache-2.0 WITH LLVM-exception"
diff --git a/crates/fiber/build.rs b/crates/fiber/build.rs
index 9e7b8b5a3..6bfc5c4b9 100644
--- a/crates/fiber/build.rs
+++ b/crates/fiber/build.rs
@@ -5,13 +5,16 @@ fn main() {
     let arch = env::var("CARGO_CFG_TARGET_ARCH").unwrap();
     let os = env::var("CARGO_CFG_TARGET_OS").unwrap();
     if os == "windows" {
+        println!("cargo:rerun-if-changed=src/windows.c");
         build.file("src/windows.c");
     } else if arch == "s390x" {
+        println!("cargo:rerun-if-changed=src/unix/s390x.S");
         build.file("src/unix/s390x.S");
     } else {
         // assume that this is included via inline assembly in the crate itself,
         // and the crate will otherwise have a `compile_error!` for unsupported
         // platforms.
+        println!("cargo:rerun-if-changed=build.rs");
         return;
     }
     build.define(&format!("CFG_TARGET_OS_{}", os), None);
diff --git a/crates/jit-debug/Cargo.toml b/crates/jit-debug/Cargo.toml
index 0af9aa5c2..a28d108a5 100644
--- a/crates/jit-debug/Cargo.toml
+++ b/crates/jit-debug/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "wasmtime-jit-debug"
-version = "0.39.0"
+version = "0.40.0"
 authors = ["The Wasmtime Project Developers"]
 description = "JIT debug interfaces support for Wasmtime"
 license = "Apache-2.0 WITH LLVM-exception"
diff --git a/crates/jit/Cargo.toml b/crates/jit/Cargo.toml
index 11372ae2d..c35896e53 100644
--- a/crates/jit/Cargo.toml
+++ b/crates/jit/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "wasmtime-jit"
-version = "0.39.0"
+version = "0.40.0"
 authors = ["The Wasmtime Project Developers"]
 description = "JIT-style execution for WebAsssembly code in Cranelift"
 documentation = "https://docs.rs/wasmtime-jit"
@@ -11,9 +11,9 @@ repository = "https://github.com/bytecodealliance/wasmtime"
 edition = "2021"
 
 [dependencies]
-wasmtime-environ = { path = "../environ", version = "=0.39.0" }
-wasmtime-jit-debug = { path = "../jit-debug", version = "=0.39.0", features = ["perf_jitdump"], optional = true }
-wasmtime-runtime = { path = "../runtime", version = "=0.39.0" }
+wasmtime-environ = { path = "../environ", version = "=0.40.0" }
+wasmtime-jit-debug = { path = "../jit-debug", version = "=0.40.0", features = ["perf_jitdump"], optional = true }
+wasmtime-runtime = { path = "../runtime", version = "=0.40.0" }
 region = "2.2.0"
 thiserror = "1.0.4"
 target-lexicon = { version = "0.12.0", default-features = false }
diff --git a/crates/runtime/Cargo.toml b/crates/runtime/Cargo.toml
index dd664d7d2..fc5886eef 100644
--- a/crates/runtime/Cargo.toml
+++ b/crates/runtime/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "wasmtime-runtime"
-version = "0.39.0"
+version = "0.40.0"
 authors = ["The Wasmtime Project Developers"]
 description = "Runtime library support for Wasmtime"
 documentation = "https://docs.rs/wasmtime-runtime"
@@ -11,9 +11,9 @@ repository = "https://github.com/bytecodealliance/wasmtime"
 edition = "2021"
 
 [dependencies]
-wasmtime-environ = { path = "../environ", version = "=0.39.0" }
-wasmtime-fiber = { path = "../fiber", version = "=0.39.0", optional = true }
-wasmtime-jit-debug = { path = "../jit-debug", version = "=0.39.0", features = ["gdb_jit_int"] }
+wasmtime-environ = { path = "../environ", version = "=0.40.0" }
+wasmtime-fiber = { path = "../fiber", version = "=0.40.0", optional = true }
+wasmtime-jit-debug = { path = "../jit-debug", version = "=0.40.0", features = ["gdb_jit_int"] }
 region = "2.1.0"
 libc = { version = "0.2.112", default-features = false }
 log = "0.4.8"
diff --git a/crates/types/Cargo.toml b/crates/types/Cargo.toml
index 94569eb74..bd6369520 100644
--- a/crates/types/Cargo.toml
+++ b/crates/types/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "wasmtime-types"
-version = "0.39.0"
+version = "0.40.0"
 authors = ["The Wasmtime Project Developers"]
 description = "WebAssembly type definitions for Cranelift"
 license = "Apache-2.0 WITH LLVM-exception"
@@ -9,7 +9,7 @@ documentation = "https://docs.rs/wasmtime-types"
 edition = "2021"
 
 [dependencies]
-cranelift-entity = { path = "../../cranelift/entity", version = "0.86.0", features = ['enable-serde'] }
+cranelift-entity = { path = "../../cranelift/entity", version = "0.87.0", features = ['enable-serde'] }
 serde = { version = "1.0.94", features = ["derive"] }
 thiserror = "1.0.4"
 wasmparser = { version = "0.86.0", default-features = false }
diff --git a/crates/wasi-common/Cargo.toml b/crates/wasi-common/Cargo.toml
index 280456f7e..28a428c1e 100644
--- a/crates/wasi-common/Cargo.toml
+++ b/crates/wasi-common/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "wasi-common"
-version = "0.39.0"
+version = "0.40.0"
 authors = ["The Wasmtime Project Developers"]
 description = "WASI implementation in Rust"
 license = "Apache-2.0 WITH LLVM-exception"
@@ -20,7 +20,7 @@ links = "wasi-common-19"
 [dependencies]
 anyhow = "1.0"
 thiserror = "1.0"
-wiggle = { path = "../wiggle", default-features = false, version = "=0.39.0" }
+wiggle = { path = "../wiggle", default-features = false, version = "=0.40.0" }
 tracing = "0.1.19"
 cap-std = "0.25.0"
 cap-rand = "0.25.0"
diff --git a/crates/wasi-common/cap-std-sync/Cargo.toml b/crates/wasi-common/cap-std-sync/Cargo.toml
index 1fd5efd55..1f667b556 100644
--- a/crates/wasi-common/cap-std-sync/Cargo.toml
+++ b/crates/wasi-common/cap-std-sync/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "wasi-cap-std-sync"
-version = "0.39.0"
+version = "0.40.0"
 authors = ["The Wasmtime Project Developers"]
 description = "WASI implementation in Rust"
 license = "Apache-2.0 WITH LLVM-exception"
@@ -12,7 +12,7 @@ edition = "2021"
 include = ["src/**/*", "README.md", "LICENSE" ]
 
 [dependencies]
-wasi-common = { path = "../", version = "=0.39.0" }
+wasi-common = { path = "../", version = "=0.40.0" }
 async-trait = "0.1"
 anyhow = "1.0"
 cap-std = "0.25.0"
diff --git a/crates/wasi-common/tokio/Cargo.toml b/crates/wasi-common/tokio/Cargo.toml
index fb9012c1e..14224a4ec 100644
--- a/crates/wasi-common/tokio/Cargo.toml
+++ b/crates/wasi-common/tokio/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "wasi-tokio"
-version = "0.39.0"
+version = "0.40.0"
 authors = ["The Wasmtime Project Developers"]
 description = "WASI implementation in Rust"
 license = "Apache-2.0 WITH LLVM-exception"
@@ -11,9 +11,9 @@ edition = "2021"
 include = ["src/**/*", "LICENSE" ]
 
 [dependencies]
-wasi-common = { path = "../", version = "=0.39.0" }
-wasi-cap-std-sync = { path = "../cap-std-sync", version = "=0.39.0" }
-wiggle = { path = "../../wiggle", version = "=0.39.0" }
+wasi-common = { path = "../", version = "=0.40.0" }
+wasi-cap-std-sync = { path = "../cap-std-sync", version = "=0.40.0" }
+wiggle = { path = "../../wiggle", version = "=0.40.0" }
 tokio = { version = "1.8.0", features = [ "rt", "fs", "time", "io-util", "net", "io-std", "rt-multi-thread"] }
 cap-std = "0.25.0"
 anyhow = "1"
diff --git a/crates/wasi-crypto/Cargo.toml b/crates/wasi-crypto/Cargo.toml
index 6d6be3179..e392ea410 100644
--- a/crates/wasi-crypto/Cargo.toml
+++ b/crates/wasi-crypto/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "wasmtime-wasi-crypto"
-version = "0.39.0"
+version = "0.40.0"
 authors = ["The Wasmtime Project Developers"]
 description = "Wasmtime implementation of the wasi-crypto API"
 documentation = "https://docs.rs/wasmtime-wasi-crypto"
@@ -14,8 +14,8 @@ edition = "2021"
 [dependencies]
 anyhow = "1.0"
 wasi-crypto = { path = "spec/implementations/hostcalls/rust", version = "0.1.5" }
-wasmtime = { path = "../wasmtime", version = "0.39.0", default-features = false }
-wiggle = { path = "../wiggle", version = "=0.39.0" }
+wasmtime = { path = "../wasmtime", version = "0.40.0", default-features = false }
+wiggle = { path = "../wiggle", version = "=0.40.0" }
 
 [badges]
 maintenance = { status = "experimental" }
diff --git a/crates/wasi-nn/Cargo.toml b/crates/wasi-nn/Cargo.toml
index 613494bca..f922d49bb 100644
--- a/crates/wasi-nn/Cargo.toml
+++ b/crates/wasi-nn/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "wasmtime-wasi-nn"
-version = "0.39.0"
+version = "0.40.0"
 authors = ["The Wasmtime Project Developers"]
 description = "Wasmtime implementation of the wasi-nn API"
 documentation = "https://docs.rs/wasmtime-wasi-nn"
@@ -14,7 +14,7 @@ edition = "2021"
 [dependencies]
 # These dependencies are necessary for the witx-generation macros to work:
 anyhow = "1.0"
-wiggle = { path = "../wiggle", version = "=0.39.0" }
+wiggle = { path = "../wiggle", version = "=0.40.0" }
 
 # These dependencies are necessary for the wasi-nn implementation:
 openvino = { version = "0.3.3", features = ["runtime-linking"] }
diff --git a/crates/wasi/Cargo.toml b/crates/wasi/Cargo.toml
index d0bafdd39..ba3a298e8 100644
--- a/crates/wasi/Cargo.toml
+++ b/crates/wasi/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "wasmtime-wasi"
-version = "0.39.0"
+version = "0.40.0"
 authors = ["The Wasmtime Project Developers"]
 description = "WASI implementation in Rust"
 license = "Apache-2.0 WITH LLVM-exception"
@@ -13,11 +13,11 @@ include = ["src/**/*", "README.md", "LICENSE", "build.rs"]
 build = "build.rs"
 
 [dependencies]
-wasi-common = { path = "../wasi-common", version = "=0.39.0" }
-wasi-cap-std-sync = { path = "../wasi-common/cap-std-sync", version = "=0.39.0", optional = true }
-wasi-tokio = { path = "../wasi-common/tokio", version = "=0.39.0", optional = true }
-wiggle = { path = "../wiggle", default-features = false, version = "=0.39.0", features = ["wasmtime_integration"] }
-wasmtime = { path = "../wasmtime", default-features = false, version = "0.39.0" }
+wasi-common = { path = "../wasi-common", version = "=0.40.0" }
+wasi-cap-std-sync = { path = "../wasi-common/cap-std-sync", version = "=0.40.0", optional = true }
+wasi-tokio = { path = "../wasi-common/tokio", version = "=0.40.0", optional = true }
+wiggle = { path = "../wiggle", default-features = false, version = "=0.40.0", features = ["wasmtime_integration"] }
+wasmtime = { path = "../wasmtime", default-features = false, version = "0.40.0" }
 anyhow = "1.0"
 
 [features]
diff --git a/crates/wasmtime/Cargo.toml b/crates/wasmtime/Cargo.toml
index 21329348f..733878d5a 100644
--- a/crates/wasmtime/Cargo.toml
+++ b/crates/wasmtime/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "wasmtime"
-version = "0.39.0"
+version = "0.40.0"
 authors = ["The Wasmtime Project Developers"]
 description = "High-level API to expose the Wasmtime runtime"
 documentation = "https://docs.rs/wasmtime"
@@ -13,13 +13,13 @@ edition = "2021"
 rustdoc-args = ["--cfg", "nightlydoc"]
 
 [dependencies]
-wasmtime-runtime = { path = "../runtime", version = "=0.39.0" }
-wasmtime-environ = { path = "../environ", version = "=0.39.0" }
-wasmtime-jit = { path = "../jit", version = "=0.39.0" }
-wasmtime-cache = { path = "../cache", version = "=0.39.0", optional = true }
-wasmtime-fiber = { path = "../fiber", version = "=0.39.0", optional = true }
-wasmtime-cranelift = { path = "../cranelift", version = "=0.39.0", optional = true }
-wasmtime-component-macro = { path = "../component-macro", version = "=0.39.0", optional = true }
+wasmtime-runtime = { path = "../runtime", version = "=0.40.0" }
+wasmtime-environ = { path = "../environ", version = "=0.40.0" }
+wasmtime-jit = { path = "../jit", version = "=0.40.0" }
+wasmtime-cache = { path = "../cache", version = "=0.40.0", optional = true }
+wasmtime-fiber = { path = "../fiber", version = "=0.40.0", optional = true }
+wasmtime-cranelift = { path = "../cranelift", version = "=0.40.0", optional = true }
+wasmtime-component-macro = { path = "../component-macro", version = "=0.40.0", optional = true }
 target-lexicon = { version = "0.12.0", default-features = false }
 wasmparser = "0.86.0"
 anyhow = "1.0.19"
diff --git a/crates/wast/Cargo.toml b/crates/wast/Cargo.toml
index 85e473992..24c475142 100644
--- a/crates/wast/Cargo.toml
+++ b/crates/wast/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "wasmtime-wast"
-version = "0.39.0"
+version = "0.40.0"
 authors = ["The Wasmtime Project Developers"]
 description = "wast testing support for wasmtime"
 license = "Apache-2.0 WITH LLVM-exception"
@@ -11,7 +11,7 @@ edition = "2021"
 
 [dependencies]
 anyhow = "1.0.19"
-wasmtime = { path = "../wasmtime", version = "0.39.0", default-features = false, features = ['cranelift'] }
+wasmtime = { path = "../wasmtime", version = "0.40.0", default-features = false, features = ['cranelift'] }
 wast = "42.0.0"
 
 [badges]
diff --git a/crates/wiggle/Cargo.toml b/crates/wiggle/Cargo.toml
index 492f74f64..c7e2d9056 100644
--- a/crates/wiggle/Cargo.toml
+++ b/crates/wiggle/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "wiggle"
-version = "0.39.0"
+version = "0.40.0"
 authors = ["Pat Hickey <phickey@fastly.com>", "Jakub Konka <kubkonk@jakubkonka.com>", "Alex Crichton <alex@alexcrichton.com>"]
 edition = "2021"
 license = "Apache-2.0 WITH LLVM-exception"
@@ -13,11 +13,11 @@ include = ["src/**/*", "README.md", "LICENSE"]
 [dependencies]
 thiserror = "1"
 witx = { path = "../wasi-common/WASI/tools/witx", version = "0.9.1", optional = true }
-wiggle-macro = { path = "macro", version = "=0.39.0" }
+wiggle-macro = { path = "macro", version = "=0.40.0" }
 tracing = "0.1.26"
 bitflags = "1.2"
 async-trait = "0.1.42"
-wasmtime = { path = "../wasmtime", version = "0.39.0", optional = true, default-features = false }
+wasmtime = { path = "../wasmtime", version = "0.40.0", optional = true, default-features = false }
 anyhow = "1.0"
 
 [badges]
diff --git a/crates/wiggle/generate/Cargo.toml b/crates/wiggle/generate/Cargo.toml
index 3e1eb6285..af3ac56af 100644
--- a/crates/wiggle/generate/Cargo.toml
+++ b/crates/wiggle/generate/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "wiggle-generate"
-version = "0.39.0"
+version = "0.40.0"
 authors = ["Pat Hickey <phickey@fastly.com>", "Jakub Konka <kubkon@jakubkonka.com>", "Alex Crichton <alex@alexcrichton.com>"]
 license = "Apache-2.0 WITH LLVM-exception"
 edition = "2021"
diff --git a/crates/wiggle/macro/Cargo.toml b/crates/wiggle/macro/Cargo.toml
index 81f3bfee3..f2b6df1d6 100644
--- a/crates/wiggle/macro/Cargo.toml
+++ b/crates/wiggle/macro/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "wiggle-macro"
-version = "0.39.0"
+version = "0.40.0"
 authors = ["Pat Hickey <phickey@fastly.com>", "Jakub Konka <kubkon@jakubkonka.com>", "Alex Crichton <alex@alexcrichton.com>"]
 edition = "2021"
 license = "Apache-2.0 WITH LLVM-exception"
@@ -21,7 +21,7 @@ test = false
 doctest = false
 
 [dependencies]
-wiggle-generate = { path = "../generate", version = "=0.39.0" }
+wiggle-generate = { path = "../generate", version = "=0.40.0" }
 quote = "1.0"
 syn = { version = "1.0", features = ["full"] }
 proc-macro2 = "1.0"


Test patch:
diff --git a/cranelift/filetests/Cargo.toml b/cranelift/filetests/Cargo.toml
index cf659222c..7f87f195e 100644
--- a/cranelift/filetests/Cargo.toml
+++ b/cranelift/filetests/Cargo.toml
@@ -10,12 +10,12 @@ publish = false
 edition = "2021"
 
 [dependencies]
-cranelift-codegen = { path = "../codegen", version = "0.86.0", features = ["testing_hooks"] }
-cranelift-frontend = { path = "../frontend", version = "0.86.0" }
-cranelift-interpreter = { path = "../interpreter", version = "0.86.0" }
-cranelift-native = { path = "../native", version = "0.86.0" }
-cranelift-reader = { path = "../reader", version = "0.86.0" }
-cranelift-preopt = { path = "../preopt", version = "0.86.0" }
+cranelift-codegen = { path = "../codegen", version = "0.87.0", features = ["testing_hooks"] }
+cranelift-frontend = { path = "../frontend", version = "0.87.0" }
+cranelift-interpreter = { path = "../interpreter", version = "0.87.0" }
+cranelift-native = { path = "../native", version = "0.87.0" }
+cranelift-reader = { path = "../reader", version = "0.87.0" }
+cranelift-preopt = { path = "../preopt", version = "0.87.0" }
 file-per-thread-logger = "0.1.2"
 filecheck = "0.5.0"
 gimli = { version = "0.26.0", default-features = false, features = ["read"] }
diff --git a/crates/test-programs/Cargo.toml b/crates/test-programs/Cargo.toml
index 694eeb71b..a4781940c 100644
--- a/crates/test-programs/Cargo.toml
+++ b/crates/test-programs/Cargo.toml
@@ -11,10 +11,10 @@ license = "Apache-2.0 WITH LLVM-exception"
 cfg-if = "1.0"
 
 [dev-dependencies]
-wasi-common = { path = "../wasi-common", version = "0.39.0" }
-wasi-cap-std-sync = { path = "../wasi-common/cap-std-sync", version = "0.39.0" }
-wasmtime = { path = "../wasmtime", version = "0.39.0" }
-wasmtime-wasi = { path = "../wasi", version = "0.39.0", features = ["tokio"] }
+wasi-common = { path = "../wasi-common", version = "0.40.0" }
+wasi-cap-std-sync = { path = "../wasi-common/cap-std-sync", version = "0.40.0" }
+wasmtime = { path = "../wasmtime", version = "0.40.0" }
+wasmtime-wasi = { path = "../wasi", version = "0.40.0", features = ["tokio"] }
 target-lexicon = "0.12.0"
 pretty_env_logger = "0.4.0"
 tempfile = "3.1.0"