From badc3b103da619c8b084f8d3d24943ce792f1e17 Mon Sep 17 00:00:00 2001 From: Alex Crichton Date: Tue, 4 Feb 2025 12:14:11 -0800 Subject: [PATCH] Update Wasmtime to 29.0.1 This commit updates Wasmtime from 25.0.3 to 29.0.1, the latest release of Wasmtime. This update is accompanied with few minor changes around bindings generation such as traits no longer needing `#[async_trait]`. Otherwise one of the main features is that the WITs included with Wasmtime's WASI implementation have been updated to 0.2.3 as well. This should continue to still work with guests using 0.2.2 and prior, though. Signed-off-by: Alex Crichton --- Cargo.lock | 447 ++++++------ Cargo.toml | 6 +- .../src/abi_conformance/test_config.rs | 6 +- .../src/abi_conformance/test_http.rs | 2 - .../src/abi_conformance/test_key_value.rs | 2 - .../src/abi_conformance/test_llm.rs | 2 - .../src/abi_conformance/test_mysql.rs | 2 - .../src/abi_conformance/test_postgres.rs | 2 - .../src/abi_conformance/test_redis.rs | 2 - crates/core/src/lib.rs | 4 +- crates/core/src/limits.rs | 10 +- crates/factor-key-value/src/host.rs | 9 +- crates/factor-llm/src/host.rs | 3 - crates/factor-outbound-http/src/spin.rs | 10 +- .../src/wasi_2023_10_18.rs | 4 +- .../src/wasi_2023_11_10.rs | 4 +- crates/factor-outbound-mqtt/src/host.rs | 1 - crates/factor-outbound-mysql/src/host.rs | 14 +- crates/factor-outbound-pg/src/host.rs | 16 +- crates/factor-outbound-redis/src/host.rs | 4 +- crates/factor-sqlite/src/host.rs | 4 - crates/factor-variables/src/host.rs | 5 +- crates/factor-wasi/src/lib.rs | 4 +- crates/factor-wasi/src/wasi_2023_10_18.rs | 15 +- crates/factor-wasi/src/wasi_2023_11_10.rs | 17 +- examples/spin-timer/Cargo.lock | 672 ++++++++++-------- examples/spin-timer/Cargo.toml | 2 +- tests/integration.rs | 2 +- tests/testcases/mod.rs | 2 +- wit/deps/spin-postgres@3.0.0/postgres.wit | 8 +- wit/deps/spin@2.0.0/llm.wit | 8 +- wit/deps/spin@2.0.0/rdbms-types.wit | 8 +- wit/deps/spin@2.0.0/sqlite.wit | 2 +- wit/deps/spin@unversioned/llm.wit | 8 +- wit/deps/spin@unversioned/rdbms-types.wit | 8 +- wit/deps/spin@unversioned/sqlite.wit | 2 +- 36 files changed, 698 insertions(+), 619 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 81f17bd739..c6c293574a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2,22 +2,13 @@ # It is not intended for manual editing. version = 3 -[[package]] -name = "addr2line" -version = "0.22.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e4503c46a5c0c7844e948c9a4d6acd9f50cccb4de1c48eb9e291ea17470c678" -dependencies = [ - "gimli 0.29.0", -] - [[package]] name = "addr2line" version = "0.24.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1" dependencies = [ - "gimli 0.31.1", + "gimli", ] [[package]] @@ -983,7 +974,7 @@ version = "0.3.74" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a" dependencies = [ - "addr2line 0.24.2", + "addr2line", "cfg-if", "libc", "miniz_oxide", @@ -1177,6 +1168,9 @@ name = "bumpalo" version = "3.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" +dependencies = [ + "allocator-api2", +] [[package]] name = "bytemuck" @@ -1828,18 +1822,18 @@ dependencies = [ [[package]] name = "cranelift-bforest" -version = "0.112.3" +version = "0.116.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69792bd40d21be8059f7c709f44200ded3bbd073df7eb3fa3c282b387c7ffa5b" +checksum = "e15d04a0ce86cb36ead88ad68cf693ffd6cda47052b9e0ac114bc47fd9cd23c4" dependencies = [ "cranelift-entity", ] [[package]] name = "cranelift-bitset" -version = "0.112.3" +version = "0.116.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38da1eb6f7d8cdfa92f05acfae63c9a1d7a337e49ce7a2d0769c7fa03a2613a5" +checksum = "7c6e3969a7ce267259ce244b7867c5d3bc9e65b0a87e81039588dfdeaede9f34" dependencies = [ "serde", "serde_derive", @@ -1847,9 +1841,9 @@ dependencies = [ [[package]] name = "cranelift-codegen" -version = "0.112.3" +version = "0.116.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "709f5567a2bff9f06edf911a7cb5ebb091e4c81701714dc6ab574d08b4a69a0d" +checksum = "2c22032c4cb42558371cf516bb47f26cdad1819d3475c133e93c49f50ebf304e" dependencies = [ "bumpalo", "cranelift-bforest", @@ -1859,44 +1853,45 @@ dependencies = [ "cranelift-control", "cranelift-entity", "cranelift-isle", - "gimli 0.29.0", + "gimli", "hashbrown 0.14.5", "log", "regalloc2", "rustc-hash 2.0.0", + "serde", "smallvec", "target-lexicon", ] [[package]] name = "cranelift-codegen-meta" -version = "0.112.3" +version = "0.116.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72d39a6b194c069fd091ca1f17b9d86ff1a4627ccad8806095828f61989a691f" +checksum = "c904bc71c61b27fc57827f4a1379f29de64fe95653b620a3db77d59655eee0b8" dependencies = [ "cranelift-codegen-shared", ] [[package]] name = "cranelift-codegen-shared" -version = "0.112.3" +version = "0.116.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18f81aefad1f80ed4132ae33f40b92779eeb57edeb1e28bb24424a4098c963a2" +checksum = "40180f5497572f644ce88c255480981ae2ec1d7bb4d8e0c0136a13b87a2f2ceb" [[package]] name = "cranelift-control" -version = "0.112.3" +version = "0.116.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6adbaac785ad4683c4f199686f9e15c1471f52ae2f4c013a3be039b4719db754" +checksum = "26d132c6d0bd8a489563472afc171759da0707804a65ece7ceb15a8c6d7dd5ef" dependencies = [ "arbitrary", ] [[package]] name = "cranelift-entity" -version = "0.112.3" +version = "0.116.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70b85ed43567e13782cd1b25baf42a8167ee57169a60dfd3d7307c6ca3839da0" +checksum = "4b2d0d9618275474fbf679dd018ac6e009acbd6ae6850f6a67be33fb3b00b323" dependencies = [ "cranelift-bitset", "serde", @@ -1905,9 +1900,9 @@ dependencies = [ [[package]] name = "cranelift-frontend" -version = "0.112.3" +version = "0.116.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8349f71373bb69c6f73992c6c1606236a66c8134e7a60e04e03fbd64b1aa7dcf" +checksum = "4fac41e16729107393174b0c9e3730fb072866100e1e64e80a1a963b2e484d57" dependencies = [ "cranelift-codegen", "log", @@ -1917,37 +1912,21 @@ dependencies = [ [[package]] name = "cranelift-isle" -version = "0.112.3" +version = "0.116.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "464a6b958ce05e0c237c8b25508012b6c644e8c37348213a8c786ba29e28cfdb" +checksum = "1ca20d576e5070044d0a72a9effc2deacf4d6aa650403189d8ea50126483944d" [[package]] name = "cranelift-native" -version = "0.112.3" +version = "0.116.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffc4acaf6894ee323ff4e9ce786bec09f0ebbe49941e8012f1c1052f1d965034" +checksum = "b8dee82f3f1f2c4cba9177f1cc5e350fe98764379bcd29340caa7b01f85076c7" dependencies = [ "cranelift-codegen", "libc", "target-lexicon", ] -[[package]] -name = "cranelift-wasm" -version = "0.112.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b878860895cca97454ef8d8b12bfda9d0889dd49efee175dba78d54ff8363ec2" -dependencies = [ - "cranelift-codegen", - "cranelift-entity", - "cranelift-frontend", - "itertools 0.12.1", - "log", - "smallvec", - "wasmparser 0.217.0", - "wasmtime-types", -] - [[package]] name = "crc32fast" version = "1.4.2" @@ -3185,21 +3164,15 @@ dependencies = [ [[package]] name = "gimli" -version = "0.29.0" +version = "0.31.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40ecd4077b5ae9fd2e9e169b102c6c330d0605168eb0e8bf79952b256dbefffd" +checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" dependencies = [ "fallible-iterator 0.3.0", - "indexmap 2.6.0", + "indexmap 2.7.1", "stable_deref_trait", ] -[[package]] -name = "gimli" -version = "0.31.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" - [[package]] name = "gix-actor" version = "0.19.0" @@ -3480,7 +3453,7 @@ dependencies = [ "futures-sink", "futures-util", "http 0.2.12", - "indexmap 2.6.0", + "indexmap 2.7.1", "slab", "tokio", "tokio-util", @@ -3499,7 +3472,7 @@ dependencies = [ "futures-core", "futures-sink", "http 1.1.0", - "indexmap 2.6.0", + "indexmap 2.7.1", "slab", "tokio", "tokio-util", @@ -3546,6 +3519,7 @@ dependencies = [ "allocator-api2", "equivalent", "foldhash", + "serde", ] [[package]] @@ -4134,9 +4108,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.6.0" +version = "2.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "707907fe3c25f5424cce2cb7e1cbcafee6bdbe735ca90ef77c29e84591e5b9da" +checksum = "8c9c992b02b5b4c94ea26e32fe5bccb7aa7d9f390ab5c1221ff895bc7ea8b652" dependencies = [ "equivalent", "hashbrown 0.15.1", @@ -4374,7 +4348,7 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ee7893dab2e44ae5f9d0173f26ff4aa327c10b01b06a72b52dd9405b628640d" dependencies = [ - "indexmap 2.6.0", + "indexmap 2.7.1", ] [[package]] @@ -4555,7 +4529,7 @@ dependencies = [ "bitflags 2.6.0", "cc", "fallible-iterator 0.3.0", - "indexmap 2.6.0", + "indexmap 2.7.1", "log", "memchr", "phf", @@ -5321,7 +5295,7 @@ checksum = "aedf0a2d09c573ed1d8d85b30c119153926a2b36dce0ab28322c09a117a4683e" dependencies = [ "crc32fast", "hashbrown 0.15.1", - "indexmap 2.6.0", + "indexmap 2.7.1", "memchr", ] @@ -5823,7 +5797,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" dependencies = [ "fixedbitset", - "indexmap 2.6.0", + "indexmap 2.7.1", ] [[package]] @@ -6275,6 +6249,18 @@ dependencies = [ "tint", ] +[[package]] +name = "pulley-interpreter" +version = "29.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62d95f8575df49a2708398182f49a888cf9dc30210fb1fd2df87c889edcee75d" +dependencies = [ + "cranelift-bitset", + "log", + "sptr", + "wasmtime-math", +] + [[package]] name = "pulp" version = "0.18.22" @@ -6585,14 +6571,15 @@ dependencies = [ [[package]] name = "regalloc2" -version = "0.10.2" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12908dbeb234370af84d0579b9f68258a0f67e201412dd9a2814e6f45b2fc0f0" +checksum = "145c1c267e14f20fb0f88aa76a1c5ffec42d592c1d28b3cd9148ae35916158d3" dependencies = [ - "hashbrown 0.14.5", + "allocator-api2", + "bumpalo", + "hashbrown 0.15.1", "log", "rustc-hash 2.0.0", - "slice-group-by", "smallvec", ] @@ -7347,7 +7334,7 @@ dependencies = [ "chrono", "hex", "indexmap 1.9.3", - "indexmap 2.6.0", + "indexmap 2.7.1", "serde", "serde_derive", "serde_json", @@ -7373,7 +7360,7 @@ version = "0.9.34+deprecated" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47" dependencies = [ - "indexmap 2.6.0", + "indexmap 2.7.1", "itoa", "ryu", "serde", @@ -7501,12 +7488,6 @@ dependencies = [ "autocfg", ] -[[package]] -name = "slice-group-by" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "826167069c09b99d56f31e9ae5c99049e932a98c9dc2dac47645b08dbbf76ba7" - [[package]] name = "smallvec" version = "1.13.2" @@ -7739,7 +7720,7 @@ version = "3.2.0-pre0" dependencies = [ "anyhow", "async-trait", - "indexmap 2.6.0", + "indexmap 2.7.1", "semver", "spin-app", "spin-serde", @@ -8062,7 +8043,7 @@ dependencies = [ "http 1.1.0", "http-body-util", "hyper 1.5.0", - "indexmap 2.6.0", + "indexmap 2.7.1", "percent-encoding", "routefinder", "serde", @@ -8205,7 +8186,7 @@ version = "3.2.0-pre0" dependencies = [ "anyhow", "glob", - "indexmap 2.6.0", + "indexmap 2.7.1", "semver", "serde", "serde_json", @@ -8407,7 +8388,7 @@ dependencies = [ "flate2", "fs_extra", "heck 0.5.0", - "indexmap 2.6.0", + "indexmap 2.7.1", "itertools 0.13.0", "lazy_static 1.5.0", "liquid", @@ -8797,9 +8778,9 @@ dependencies = [ [[package]] name = "target-lexicon" -version = "0.12.16" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1" +checksum = "dc12939a1c9b9d391e0b7135f72fd30508b73450753e28341fed159317582a77" [[package]] name = "temp-dir" @@ -9214,7 +9195,7 @@ version = "0.8.19" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1ed1f98e3fdc28d6d910e6737ae6ab1a93bf1985935a1193e68f93eeb68d24e" dependencies = [ - "indexmap 2.6.0", + "indexmap 2.7.1", "serde", "serde_spanned", "toml_datetime", @@ -9236,7 +9217,7 @@ version = "0.19.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" dependencies = [ - "indexmap 2.6.0", + "indexmap 2.7.1", "toml_datetime", "winnow 0.5.40", ] @@ -9247,7 +9228,7 @@ version = "0.22.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ae48d6208a266e853d946088ed816055e556cc6028c5e8e2b84d9fa5dd7c7f5" dependencies = [ - "indexmap 2.6.0", + "indexmap 2.7.1", "serde", "serde_spanned", "toml_datetime", @@ -9423,6 +9404,17 @@ dependencies = [ "tracing-serde", ] +[[package]] +name = "trait-variant" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70977707304198400eb4835a78f6a9f928bf41bba420deb8fdb175cd965d77a7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", +] + [[package]] name = "try-lock" version = "0.2.5" @@ -9699,7 +9691,7 @@ checksum = "d94268a683b67ae20210565b5f91e106fe05034c36b931e739fe90377ed80b98" dependencies = [ "anyhow", "id-arena", - "indexmap 2.6.0", + "indexmap 2.7.1", "log", "petgraph", "semver", @@ -9718,7 +9710,7 @@ checksum = "f5028a15e266f4c8fed48beb95aebb76af5232dcd554fd849a305a4e5cce1563" dependencies = [ "anyhow", "id-arena", - "indexmap 2.6.0", + "indexmap 2.7.1", "semver", "wasm-encoder 0.202.0", "wasmparser 0.202.0", @@ -9755,7 +9747,7 @@ version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "51cb70a7a94a8ac0e1d846495ad5391d998713b4949a04dcc8b75efc0b693554" dependencies = [ - "indexmap 2.6.0", + "indexmap 2.7.1", "itertools 0.12.1", "serde", "serde_with", @@ -9778,7 +9770,7 @@ dependencies = [ "dialoguer", "dirs 5.0.1", "futures-util", - "indexmap 2.6.0", + "indexmap 2.7.1", "itertools 0.12.1", "keyring", "libc", @@ -9859,7 +9851,7 @@ dependencies = [ "anyhow", "base64 0.21.7", "hex", - "indexmap 2.6.0", + "indexmap 2.7.1", "pbjson-types", "prost 0.12.6", "prost-types", @@ -9880,7 +9872,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f6b5ce0d43d043e084016b2814ae3a5e165e993d65be99be6afad0b74c2f9231" dependencies = [ "anyhow", - "indexmap 2.6.0", + "indexmap 2.7.1", "prost 0.12.6", "thiserror 1.0.69", "warg-crypto", @@ -9981,7 +9973,7 @@ dependencies = [ "anyhow", "heck 0.4.1", "im-rc", - "indexmap 2.6.0", + "indexmap 2.7.1", "log", "petgraph", "serde", @@ -10032,6 +10024,26 @@ dependencies = [ "wasmparser 0.219.1", ] +[[package]] +name = "wasm-encoder" +version = "0.221.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c17a3bd88f2155da63a1f2fcb8a56377a24f0b6dfed12733bb5f544e86f690c5" +dependencies = [ + "leb128", + "wasmparser 0.221.2", +] + +[[package]] +name = "wasm-encoder" +version = "0.224.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7249cf8cb0c6b9cb42bce90c0a5feb276fbf963fa385ff3d818ab3d90818ed6" +dependencies = [ + "leb128", + "wasmparser 0.224.0", +] + [[package]] name = "wasm-metadata" version = "0.202.0" @@ -10039,7 +10051,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "094aea3cb90e09f16ee25a4c0e324b3e8c934e7fd838bfa039aef5352f44a917" dependencies = [ "anyhow", - "indexmap 2.6.0", + "indexmap 2.7.1", "serde", "serde_derive", "serde_json", @@ -10055,7 +10067,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "65a146bf9a60e9264f0548a2599aa9656dba9a641eff9ab88299dc2a637e483c" dependencies = [ "anyhow", - "indexmap 2.6.0", + "indexmap 2.7.1", "serde", "serde_derive", "serde_json", @@ -10071,7 +10083,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2af5a8e37a5e996861e1813f8de30911c47609c9ff51a7284f7dbd754dc3a9f3" dependencies = [ "anyhow", - "indexmap 2.6.0", + "indexmap 2.7.1", "serde", "serde_derive", "serde_json", @@ -10156,7 +10168,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9dbe55c8f9d0dbd25d9447a5a889ff90c0cc3feaa7395310d3d826b2c703eaab" dependencies = [ "bitflags 2.6.0", - "indexmap 2.6.0", + "indexmap 2.7.1", "semver", ] @@ -10167,7 +10179,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d6998515d3cf3f8b980ef7c11b29a9b1017d4cf86b99ae93b546992df9931413" dependencies = [ "bitflags 2.6.0", - "indexmap 2.6.0", + "indexmap 2.7.1", "semver", ] @@ -10180,7 +10192,7 @@ dependencies = [ "ahash", "bitflags 2.6.0", "hashbrown 0.14.5", - "indexmap 2.6.0", + "indexmap 2.7.1", "semver", "serde", ] @@ -10194,7 +10206,31 @@ dependencies = [ "ahash", "bitflags 2.6.0", "hashbrown 0.14.5", - "indexmap 2.6.0", + "indexmap 2.7.1", + "semver", +] + +[[package]] +name = "wasmparser" +version = "0.221.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9845c470a2e10b61dd42c385839cdd6496363ed63b5c9e420b5488b77bd22083" +dependencies = [ + "bitflags 2.6.0", + "hashbrown 0.15.1", + "indexmap 2.7.1", + "semver", + "serde", +] + +[[package]] +name = "wasmparser" +version = "0.224.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "65881a664fdd43646b647bb27bf186ab09c05bf56779d40aed4c6dce47d423f5" +dependencies = [ + "bitflags 2.6.0", + "indexmap 2.7.1", "semver", ] @@ -10210,22 +10246,22 @@ dependencies = [ [[package]] name = "wasmprinter" -version = "0.217.0" +version = "0.221.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50dc568b3e0d47e8f96ea547c90790cfa783f0205160c40de894a427114185ce" +checksum = "a80742ff1b9e6d8c231ac7c7247782c6fc5bce503af760bca071811e5fc9ee56" dependencies = [ "anyhow", "termcolor", - "wasmparser 0.217.0", + "wasmparser 0.221.2", ] [[package]] name = "wasmtime" -version = "25.0.3" +version = "29.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f38dbf42dc56a6fe41ccd77211ea8ec90855de05e52cd00df5a0a3bca87d6147" +checksum = "11976a250672556d1c4c04c6d5d7656ac9192ac9edc42a4587d6c21460010e69" dependencies = [ - "addr2line 0.22.0", + "addr2line", "anyhow", "async-trait", "bitflags 2.6.0", @@ -10234,12 +10270,11 @@ dependencies = [ "cfg-if", "encoding_rs", "fxprof-processed-profile", - "gimli 0.29.0", + "gimli", "hashbrown 0.14.5", - "indexmap 2.6.0", + "indexmap 2.7.1", "ittapi", "libc", - "libm", "log", "mach2", "memfd", @@ -10248,6 +10283,7 @@ dependencies = [ "paste", "postcard", "psm", + "pulley-interpreter", "rayon", "rustix 0.38.40", "semver", @@ -10257,8 +10293,9 @@ dependencies = [ "smallvec", "sptr", "target-lexicon", - "wasm-encoder 0.217.0", - "wasmparser 0.217.0", + "trait-variant", + "wasm-encoder 0.221.2", + "wasmparser 0.221.2", "wasmtime-asm-macros", "wasmtime-cache", "wasmtime-component-macro", @@ -10268,27 +10305,28 @@ dependencies = [ "wasmtime-fiber", "wasmtime-jit-debug", "wasmtime-jit-icache-coherence", + "wasmtime-math", "wasmtime-slab", "wasmtime-versioned-export-macros", "wasmtime-winch", "wat", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] name = "wasmtime-asm-macros" -version = "25.0.3" +version = "29.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30e0c7f9983c2d60109a939d9ab0e0df301901085c3608e1c22c27c98390a027" +checksum = "1f178b0d125201fbe9f75beaf849bd3e511891f9e45ba216a5b620802ccf64f2" dependencies = [ "cfg-if", ] [[package]] name = "wasmtime-cache" -version = "25.0.3" +version = "29.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e52eaa50abc14a9a2550d05e99e5e72d43ba75ea99cac1a440b61f1b9b87cd11" +checksum = "8b1161c8f62880deea07358bc40cceddc019f1c81d46007bc390710b2fe24ffc" dependencies = [ "anyhow", "base64 0.21.7", @@ -10300,15 +10338,15 @@ dependencies = [ "serde_derive", "sha2", "toml", - "windows-sys 0.52.0", + "windows-sys 0.59.0", "zstd", ] [[package]] name = "wasmtime-component-macro" -version = "25.0.3" +version = "29.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0929ffffaca32dd8770b56848c94056036963ca05de25fb47cac644e20262168" +checksum = "d74de6592ed945d0a602f71243982a304d5d02f1e501b638addf57f42d57dfaf" dependencies = [ "anyhow", "proc-macro2", @@ -10316,20 +10354,20 @@ dependencies = [ "syn 2.0.87", "wasmtime-component-util", "wasmtime-wit-bindgen", - "wit-parser 0.217.0", + "wit-parser 0.221.2", ] [[package]] name = "wasmtime-component-util" -version = "25.0.3" +version = "29.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdc29d2b56629d66d2fd791d1b46471d0016e0d684ed2dc299e870d127082268" +checksum = "707dc7b3c112ab5a366b30cfe2fb5b2f8e6a0f682f16df96a5ec582bfe6f056e" [[package]] name = "wasmtime-cranelift" -version = "25.0.3" +version = "29.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8c8af1197703f4de556a274384adf5db36a146f9892bc9607bad16881e75c80" +checksum = "366be722674d4bf153290fbcbc4d7d16895cc82fb3e869f8d550ff768f9e9e87" dependencies = [ "anyhow", "cfg-if", @@ -10338,30 +10376,30 @@ dependencies = [ "cranelift-entity", "cranelift-frontend", "cranelift-native", - "cranelift-wasm", - "gimli 0.29.0", + "gimli", + "itertools 0.12.1", "log", "object", "smallvec", "target-lexicon", "thiserror 1.0.69", - "wasmparser 0.217.0", + "wasmparser 0.221.2", "wasmtime-environ", "wasmtime-versioned-export-macros", ] [[package]] name = "wasmtime-environ" -version = "25.0.3" +version = "29.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f1b5af7bac868c5bce3b78a366a10677caacf6e6467c156301297e36ed31f3e" +checksum = "cdadc1af7097347aa276a4f008929810f726b5b46946971c660b6d421e9994ad" dependencies = [ "anyhow", "cpp_demangle", "cranelift-bitset", "cranelift-entity", - "gimli 0.29.0", - "indexmap 2.6.0", + "gimli", + "indexmap 2.7.1", "log", "object", "postcard", @@ -10369,19 +10407,19 @@ dependencies = [ "semver", "serde", "serde_derive", + "smallvec", "target-lexicon", - "wasm-encoder 0.217.0", - "wasmparser 0.217.0", - "wasmprinter 0.217.0", + "wasm-encoder 0.221.2", + "wasmparser 0.221.2", + "wasmprinter 0.221.2", "wasmtime-component-util", - "wasmtime-types", ] [[package]] name = "wasmtime-fiber" -version = "25.0.3" +version = "29.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "665ccc1bb0f28496e6fa02e94c575ee9ad6e3202c7df8591e5dda78106d5aa4a" +checksum = "ccba90d4119f081bca91190485650730a617be1fff5228f8c4757ce133d21117" dependencies = [ "anyhow", "cc", @@ -10389,58 +10427,52 @@ dependencies = [ "rustix 0.38.40", "wasmtime-asm-macros", "wasmtime-versioned-export-macros", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] name = "wasmtime-jit-debug" -version = "25.0.3" +version = "29.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "106731c6ebe1d551362ee8c876d450bdc2d517988b20eb3653dc4837b1949437" +checksum = "3e7b61488a5ee00c35c8c22de707c36c0aecacf419a3be803a6a2ba5e860f56a" dependencies = [ "object", - "once_cell", "rustix 0.38.40", "wasmtime-versioned-export-macros", ] [[package]] name = "wasmtime-jit-icache-coherence" -version = "25.0.3" +version = "29.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d7314e32c624f645ad7d6b9fc3ac89eb7d2b9aa06695d6445cec087958ec27d" +checksum = "ec5e8552e01692e6c2e5293171704fed8abdec79d1a6995a0870ab190e5747d1" dependencies = [ "anyhow", "cfg-if", "libc", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] -name = "wasmtime-slab" -version = "25.0.3" +name = "wasmtime-math" +version = "29.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f75cba1a8cc327839f493cfc3036c9de3d077d59ab76296bc710ee5f95be5391" +checksum = "29210ec2aa25e00f4d54605cedaf080f39ec01a872c5bd520ad04c67af1dde17" +dependencies = [ + "libm", +] [[package]] -name = "wasmtime-types" -version = "25.0.3" +name = "wasmtime-slab" +version = "29.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6d83a7816947a4974e2380c311eacb1db009b8bad86081dc726b705603c93c7" -dependencies = [ - "anyhow", - "cranelift-entity", - "serde", - "serde_derive", - "smallvec", - "wasmparser 0.217.0", -] +checksum = "fcb5821a96fa04ac14bc7b158bb3d5cd7729a053db5a74dad396cd513a5e5ccf" [[package]] name = "wasmtime-versioned-export-macros" -version = "25.0.3" +version = "29.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6879a8e168aef3fe07335343b7fbede12fa494215e83322e173d4018e124a846" +checksum = "86ff86db216dc0240462de40c8290887a613dddf9685508eb39479037ba97b5b" dependencies = [ "proc-macro2", "quote", @@ -10449,9 +10481,9 @@ dependencies = [ [[package]] name = "wasmtime-wasi" -version = "25.0.3" +version = "29.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d042ea66b2834fb03b8a6968ef1a99a4b537211b00f7502a4d6a37f4eb2049b2" +checksum = "8d1be69bfcab1bdac74daa7a1f9695ab992b9c8e21b9b061e7d66434097e0ca4" dependencies = [ "anyhow", "async-trait", @@ -10466,23 +10498,23 @@ dependencies = [ "futures", "io-extras", "io-lifetimes 2.0.3", - "once_cell", "rustix 0.38.40", "system-interface", "thiserror 1.0.69", "tokio", "tracing", + "trait-variant", "url", "wasmtime", "wiggle", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] name = "wasmtime-wasi-http" -version = "25.0.3" +version = "29.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c05413b3d301555af887e3e21f5ab4c52a1590946035066f80622b257977e69" +checksum = "6ab36725582dce3cb191e70ef0b6b10d375df83e61c579ee6798b860ce73d94c" dependencies = [ "anyhow", "async-trait", @@ -10503,16 +10535,16 @@ dependencies = [ [[package]] name = "wasmtime-winch" -version = "25.0.3" +version = "29.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6baca2a919a288df653246069868b4de80f07e9679a8ef9b78ad79fc658ffd12" +checksum = "fdbabfb8f20502d5e1d81092b9ead3682ae59988487aafcd7567387b7a43cf8f" dependencies = [ "anyhow", "cranelift-codegen", - "gimli 0.29.0", + "gimli", "object", "target-lexicon", - "wasmparser 0.217.0", + "wasmparser 0.221.2", "wasmtime-cranelift", "wasmtime-environ", "winch-codegen", @@ -10520,14 +10552,14 @@ dependencies = [ [[package]] name = "wasmtime-wit-bindgen" -version = "25.0.3" +version = "29.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f571f63ac1d532e986eb3973bbef3a45e4ae83de521a8d573b0fe0594dc9608" +checksum = "8358319c2dd1e4db79e3c1c5d3a5af84956615343f9f89f4e4996a36816e06e6" dependencies = [ "anyhow", - "heck 0.4.1", - "indexmap 2.6.0", - "wit-parser 0.217.0", + "heck 0.5.0", + "indexmap 2.7.1", + "wit-parser 0.221.2", ] [[package]] @@ -10541,24 +10573,24 @@ dependencies = [ [[package]] name = "wast" -version = "219.0.1" +version = "224.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f79a9d9df79986a68689a6b40bcc8d5d40d807487b235bebc2ac69a242b54a1" +checksum = "d722a51e62b669d17e5a9f6bc8ec210178b37d869114355aa46989686c5c6391" dependencies = [ "bumpalo", "leb128", "memchr", - "unicode-width 0.1.14", - "wasm-encoder 0.219.1", + "unicode-width 0.2.0", + "wasm-encoder 0.224.0", ] [[package]] name = "wat" -version = "1.219.1" +version = "1.224.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bc3cf014fb336883a411cd662f987abf6a1d2a27f2f0008616a0070bbf6bd0d" +checksum = "71dece6a7dd5bcbcf8d256606c7fb3faa36286d46bf3f98185407719a5ceede2" dependencies = [ - "wast 219.0.1", + "wast 224.0.0", ] [[package]] @@ -10696,9 +10728,9 @@ dependencies = [ [[package]] name = "wiggle" -version = "25.0.3" +version = "29.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c8fdcd81702e0f46a8ab2ed28a5bf824aabf4a1af1673af496a020aacd0b6f9" +checksum = "4b9af35bc9629c52c261465320a9a07959164928b4241980ba1cf923b9e6751d" dependencies = [ "anyhow", "async-trait", @@ -10711,12 +10743,12 @@ dependencies = [ [[package]] name = "wiggle-generate" -version = "25.0.3" +version = "29.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14f745361f0a9071aaabd05de1bb2b782d9f0597f30d9c0f20326224902e64d5" +checksum = "2cf267dd05673912c8138f4b54acabe6bd53407d9d1536f0fadb6520dd16e101" dependencies = [ "anyhow", - "heck 0.4.1", + "heck 0.5.0", "proc-macro2", "quote", "shellexpand", @@ -10726,9 +10758,9 @@ dependencies = [ [[package]] name = "wiggle-macro" -version = "25.0.3" +version = "29.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfbdae3574621921ed3c13325edc910388487759d10fb330f656cfc69bee38db" +checksum = "08c5c473d4198e6c2d377f3809f713ff0c110cab88a0805ae099a82119ee250c" dependencies = [ "proc-macro2", "quote", @@ -10769,17 +10801,18 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "winch-codegen" -version = "0.23.3" +version = "29.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01cd1dc56c5a45d509ff06e7ca8817eaa9ec3240096f07e71915d5d528658e8a" +checksum = "2f849ef2c5f46cb0a20af4b4487aaa239846e52e2c03f13fa3c784684552859c" dependencies = [ "anyhow", "cranelift-codegen", - "gimli 0.29.0", + "gimli", "regalloc2", "smallvec", "target-lexicon", - "wasmparser 0.217.0", + "thiserror 1.0.69", + "wasmparser 0.221.2", "wasmtime-cranelift", "wasmtime-environ", ] @@ -11104,7 +11137,7 @@ checksum = "d7117809905e49db716d81e794f79590c052bf2fdbbcda1731ca0fb28f6f3ddf" dependencies = [ "anyhow", "bitflags 2.6.0", - "indexmap 2.6.0", + "indexmap 2.7.1", "log", "serde", "serde_derive", @@ -11123,7 +11156,7 @@ checksum = "ad1673163c0cb14a6a19ddbf44dd4efe6f015ec1ebb8156710ac32501f19fba2" dependencies = [ "anyhow", "bitflags 2.6.0", - "indexmap 2.6.0", + "indexmap 2.7.1", "log", "serde", "serde_derive", @@ -11142,7 +11175,7 @@ checksum = "fb893dcd6d370cfdf19a0d9adfcd403efb8e544e1a0ea3a8b81a21fe392eaa78" dependencies = [ "anyhow", "id-arena", - "indexmap 2.6.0", + "indexmap 2.7.1", "log", "semver", "serde", @@ -11160,7 +11193,7 @@ checksum = "4a86f669283257e8e424b9a4fc3518e3ade0b95deb9fbc0f93a1876be3eda598" dependencies = [ "anyhow", "id-arena", - "indexmap 2.6.0", + "indexmap 2.7.1", "log", "semver", "serde", @@ -11170,6 +11203,24 @@ dependencies = [ "wasmparser 0.219.1", ] +[[package]] +name = "wit-parser" +version = "0.221.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbe1538eea6ea5ddbe5defd0dc82539ad7ba751e1631e9185d24a931f0a5adc8" +dependencies = [ + "anyhow", + "id-arena", + "indexmap 2.7.1", + "log", + "semver", + "serde", + "serde_derive", + "serde_json", + "unicode-xid", + "wasmparser 0.221.2", +] + [[package]] name = "witx" version = "0.9.1" @@ -11411,7 +11462,7 @@ dependencies = [ "crc32fast", "crossbeam-utils", "displaydoc", - "indexmap 2.6.0", + "indexmap 2.7.1", "num_enum", "thiserror 1.0.69", ] diff --git a/Cargo.toml b/Cargo.toml index f110d9d73b..fc8156de74 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -151,9 +151,9 @@ wasi-common-preview1 = { version = "25.0.0", package = "wasi-common", features = ] } wasm-pkg-common = "0.8" wasm-pkg-client = "0.8" -wasmtime = "25.0.3" -wasmtime-wasi = "25.0.0" -wasmtime-wasi-http = "25.0.0" +wasmtime = "29.0.1" +wasmtime-wasi = "29.0.1" +wasmtime-wasi-http = "29.0.1" spin-componentize = { path = "crates/componentize" } diff --git a/crates/componentize/src/abi_conformance/test_config.rs b/crates/componentize/src/abi_conformance/test_config.rs index 9baf7cd14f..a5bb3a3260 100644 --- a/crates/componentize/src/abi_conformance/test_config.rs +++ b/crates/componentize/src/abi_conformance/test_config.rs @@ -1,17 +1,13 @@ use super::{config, Context, TestConfig}; use anyhow::{ensure, Result}; use std::collections::HashMap; -use wasmtime::{ - component::{InstancePre, __internal::async_trait}, - Engine, -}; +use wasmtime::{component::InstancePre, Engine}; #[derive(Default)] pub(super) struct Config { map: HashMap, } -#[async_trait] impl config::Host for Config { async fn get_config(&mut self, key: String) -> Result> { Ok(self diff --git a/crates/componentize/src/abi_conformance/test_http.rs b/crates/componentize/src/abi_conformance/test_http.rs index 0d43a1f8d8..5cd519634c 100644 --- a/crates/componentize/src/abi_conformance/test_http.rs +++ b/crates/componentize/src/abi_conformance/test_http.rs @@ -4,7 +4,6 @@ use super::{ Context, TestConfig, }; use anyhow::{ensure, Result}; -use async_trait::async_trait; use std::collections::HashMap; use wasmtime::{component::InstancePre, Engine}; @@ -13,7 +12,6 @@ pub(crate) struct Http { map: HashMap, } -#[async_trait] impl http::Host for Http { async fn send_request(&mut self, req: Request) -> Result> { Ok(self diff --git a/crates/componentize/src/abi_conformance/test_key_value.rs b/crates/componentize/src/abi_conformance/test_key_value.rs index b57dcea278..f51ed7e313 100644 --- a/crates/componentize/src/abi_conformance/test_key_value.rs +++ b/crates/componentize/src/abi_conformance/test_key_value.rs @@ -3,7 +3,6 @@ use super::{ Context, TestConfig, }; use anyhow::{anyhow, ensure, Result}; -use async_trait::async_trait; use serde::Serialize; use std::{ collections::{HashMap, HashSet}, @@ -34,7 +33,6 @@ pub(crate) struct KeyValue { close_set: HashSet, } -#[async_trait] impl key_value::Host for KeyValue { async fn open(&mut self, name: String) -> Result> { Ok(self.open_map.remove(&name).ok_or_else(|| { diff --git a/crates/componentize/src/abi_conformance/test_llm.rs b/crates/componentize/src/abi_conformance/test_llm.rs index 639781bec3..6858a904df 100644 --- a/crates/componentize/src/abi_conformance/test_llm.rs +++ b/crates/componentize/src/abi_conformance/test_llm.rs @@ -1,7 +1,6 @@ use std::collections::HashMap; use anyhow::{ensure, Result}; -use async_trait::async_trait; use serde::Serialize; use super::llm; @@ -18,7 +17,6 @@ pub struct Llm { embeddings: HashMap<(String, Vec), Vec>>, } -#[async_trait] impl llm::Host for Llm { async fn infer( &mut self, diff --git a/crates/componentize/src/abi_conformance/test_mysql.rs b/crates/componentize/src/abi_conformance/test_mysql.rs index 5633c734d3..c38d05e7ef 100644 --- a/crates/componentize/src/abi_conformance/test_mysql.rs +++ b/crates/componentize/src/abi_conformance/test_mysql.rs @@ -4,7 +4,6 @@ use super::{ Context, TestConfig, }; use anyhow::{ensure, Result}; -use async_trait::async_trait; use serde::Serialize; use std::{ collections::{HashMap, HashSet}, @@ -40,7 +39,6 @@ pub(crate) struct Mysql { query_map: HashMap<(String, String, String), RowSet>, } -#[async_trait] impl mysql::Host for Mysql { async fn execute( &mut self, diff --git a/crates/componentize/src/abi_conformance/test_postgres.rs b/crates/componentize/src/abi_conformance/test_postgres.rs index 4c743dc022..3f3a38c46e 100644 --- a/crates/componentize/src/abi_conformance/test_postgres.rs +++ b/crates/componentize/src/abi_conformance/test_postgres.rs @@ -4,7 +4,6 @@ use super::{ Context, TestConfig, }; use anyhow::{ensure, Result}; -use async_trait::async_trait; use serde::Serialize; use std::{collections::HashMap, iter}; use wasmtime::{component::InstancePre, Engine}; @@ -37,7 +36,6 @@ pub(crate) struct Postgres { query_map: HashMap<(String, String, String), RowSet>, } -#[async_trait] impl postgres::Host for Postgres { async fn execute( &mut self, diff --git a/crates/componentize/src/abi_conformance/test_redis.rs b/crates/componentize/src/abi_conformance/test_redis.rs index 7d1228b3d4..21249439f6 100644 --- a/crates/componentize/src/abi_conformance/test_redis.rs +++ b/crates/componentize/src/abi_conformance/test_redis.rs @@ -3,7 +3,6 @@ use super::{ Context, TestConfig, }; use anyhow::{ensure, Result}; -use async_trait::async_trait; use serde::Serialize; use std::collections::{HashMap, HashSet}; use wasmtime::{component::InstancePre, Engine}; @@ -103,7 +102,6 @@ pub(crate) struct Redis { execute_map: HashMap<(String, String, Vec>), Vec>, } -#[async_trait] impl redis::Host for Redis { async fn publish( &mut self, diff --git a/crates/core/src/lib.rs b/crates/core/src/lib.rs index 351a973f3f..16c54afa08 100644 --- a/crates/core/src/lib.rs +++ b/crates/core/src/lib.rs @@ -108,7 +108,7 @@ impl Default for Config { ) .max_core_instances_per_component(env("SPIN_WASMTIME_CORE_INSTANCE_COUNT", 200)) .max_tables_per_component(env("SPIN_WASMTIME_INSTANCE_TABLES", 20)) - .table_elements(env("SPIN_WASMTIME_INSTANCE_TABLE_ELEMENTS", 100_000)) + .table_elements(env("SPIN_WASMTIME_INSTANCE_TABLE_ELEMENTS", 100_000) as usize) // The number of memories an instance can have effectively limits the number of inner components // a composed component can have (since each inner component has its own memory). We default to 32 for now, and // we'll see how often this limit gets reached. @@ -175,7 +175,7 @@ fn use_pooling_allocator_by_default() -> bool { // If the env var isn't set then perform the dynamic runtime probe let mut config = wasmtime::Config::new(); config.wasm_memory64(true); - config.static_memory_maximum_size(1 << BITS_TO_TEST); + config.memory_reservation(1 << BITS_TO_TEST); match wasmtime::Engine::new(&config) { Ok(engine) => { diff --git a/crates/core/src/limits.rs b/crates/core/src/limits.rs index 3d85c2c752..11e94fb66a 100644 --- a/crates/core/src/limits.rs +++ b/crates/core/src/limits.rs @@ -7,7 +7,7 @@ use wasmtime::ResourceLimiterAsync; #[derive(Default)] pub struct StoreLimitsAsync { max_memory_size: Option, - max_table_elements: Option, + max_table_elements: Option, memory_consumed: u64, } @@ -33,9 +33,9 @@ impl ResourceLimiterAsync for StoreLimitsAsync { async fn table_growing( &mut self, - _current: u32, - desired: u32, - _maximum: Option, + _current: usize, + desired: usize, + _maximum: Option, ) -> Result { let can_grow = if let Some(limit) = self.max_table_elements { desired <= limit @@ -47,7 +47,7 @@ impl ResourceLimiterAsync for StoreLimitsAsync { } impl StoreLimitsAsync { - pub fn new(max_memory_size: Option, max_table_elements: Option) -> Self { + pub fn new(max_memory_size: Option, max_table_elements: Option) -> Self { Self { max_memory_size, max_table_elements, diff --git a/crates/factor-key-value/src/host.rs b/crates/factor-key-value/src/host.rs index 98fda701d8..08e2df2a0e 100644 --- a/crates/factor-key-value/src/host.rs +++ b/crates/factor-key-value/src/host.rs @@ -103,10 +103,8 @@ impl KeyValueDispatch { } } -#[async_trait] impl key_value::Host for KeyValueDispatch {} -#[async_trait] impl key_value::HostStore for KeyValueDispatch { #[instrument(name = "spin_key_value.open", skip(self), err(level = Level::INFO), fields(otel.kind = "client", kv.backend=self.manager.summary(&name).unwrap_or("unknown".to_string())))] async fn open(&mut self, name: String) -> Result, Error>> { @@ -191,7 +189,6 @@ fn to_wasi_err(e: Error) -> wasi_keyvalue::store::Error { } } -#[async_trait] impl wasi_keyvalue::store::Host for KeyValueDispatch { async fn open( &mut self, @@ -219,7 +216,6 @@ impl wasi_keyvalue::store::Host for KeyValueDispatch { } use wasi_keyvalue::store::Bucket; -#[async_trait] impl wasi_keyvalue::store::HostBucket for KeyValueDispatch { async fn get( &mut self, @@ -281,9 +277,9 @@ impl wasi_keyvalue::store::HostBucket for KeyValueDispatch { } } -#[async_trait] impl wasi_keyvalue::batch::Host for KeyValueDispatch { #[instrument(name = "spin_key_value.get_many", skip(self, bucket, keys), err(level = Level::INFO), fields(otel.kind = "client"))] + #[allow(clippy::type_complexity)] async fn get_many( &mut self, bucket: Resource, @@ -323,7 +319,6 @@ impl wasi_keyvalue::batch::Host for KeyValueDispatch { } } -#[async_trait] impl wasi_keyvalue::atomics::HostCas for KeyValueDispatch { async fn new( &mut self, @@ -363,7 +358,6 @@ impl wasi_keyvalue::atomics::HostCas for KeyValueDispatch { } } -#[async_trait] impl wasi_keyvalue::atomics::Host for KeyValueDispatch { fn convert_cas_error( &mut self, @@ -439,7 +433,6 @@ fn to_legacy_error(value: key_value::Error) -> LegacyError { } } -#[async_trait] impl spin_world::v1::key_value::Host for KeyValueDispatch { async fn open(&mut self, name: String) -> Result> { let result = ::open(self, name).await?; diff --git a/crates/factor-llm/src/host.rs b/crates/factor-llm/src/host.rs index 7f5e077464..63a5525146 100644 --- a/crates/factor-llm/src/host.rs +++ b/crates/factor-llm/src/host.rs @@ -1,4 +1,3 @@ -use async_trait::async_trait; use spin_world::v1::llm::{self as v1}; use spin_world::v2::llm::{self as v2}; use tracing::field::Empty; @@ -6,7 +5,6 @@ use tracing::{instrument, Level}; use crate::InstanceState; -#[async_trait] impl v2::Host for InstanceState { #[instrument(name = "spin_llm.infer", skip(self, prompt), err(level = Level::INFO), fields(otel.kind = "client", llm.backend = Empty))] async fn infer( @@ -55,7 +53,6 @@ impl v2::Host for InstanceState { } } -#[async_trait] impl v1::Host for InstanceState { async fn infer( &mut self, diff --git a/crates/factor-outbound-http/src/spin.rs b/crates/factor-outbound-http/src/spin.rs index 51d173e1a7..85f5384db1 100644 --- a/crates/factor-outbound-http/src/spin.rs +++ b/crates/factor-outbound-http/src/spin.rs @@ -1,16 +1,12 @@ use http_body_util::BodyExt; -use spin_world::{ - async_trait, - v1::{ - http as spin_http, - http_types::{self, HttpError, Method, Request, Response}, - }, +use spin_world::v1::{ + http as spin_http, + http_types::{self, HttpError, Method, Request, Response}, }; use tracing::{field::Empty, instrument, Level, Span}; use crate::intercept::InterceptOutcome; -#[async_trait] impl spin_http::Host for crate::InstanceState { #[instrument(name = "spin_outbound_http.send_request", skip_all, err(level = Level::INFO), fields(otel.kind = "client", url.full = Empty, http.request.method = Empty, diff --git a/crates/factor-outbound-http/src/wasi_2023_10_18.rs b/crates/factor-outbound-http/src/wasi_2023_10_18.rs index d4b6a9bdb3..6a82d8775e 100644 --- a/crates/factor-outbound-http/src/wasi_2023_10_18.rs +++ b/crates/factor-outbound-http/src/wasi_2023_10_18.rs @@ -8,9 +8,7 @@ mod bindings { wasmtime::component::bindgen!({ path: "../../wit", - interfaces: r#" - include wasi:http/proxy@0.2.0-rc-2023-10-18; - "#, + world: "wasi:http/proxy@0.2.0-rc-2023-10-18", async: { // Only need async exports only_imports: [], diff --git a/crates/factor-outbound-http/src/wasi_2023_11_10.rs b/crates/factor-outbound-http/src/wasi_2023_11_10.rs index 56c85fb259..1944c35fe4 100644 --- a/crates/factor-outbound-http/src/wasi_2023_11_10.rs +++ b/crates/factor-outbound-http/src/wasi_2023_11_10.rs @@ -11,9 +11,7 @@ mod bindings { wasmtime::component::bindgen!({ path: "../../wit", - interfaces: r#" - include wasi:http/proxy@0.2.0-rc-2023-11-10; - "#, + world: "wasi:http/proxy@0.2.0-rc-2023-11-10", async: { // Only need async exports only_imports: [], diff --git a/crates/factor-outbound-mqtt/src/host.rs b/crates/factor-outbound-mqtt/src/host.rs index 688f3f7d4e..1546c23472 100644 --- a/crates/factor-outbound-mqtt/src/host.rs +++ b/crates/factor-outbound-mqtt/src/host.rs @@ -63,7 +63,6 @@ impl v2::Host for InstanceState { } } -#[async_trait] impl v2::HostConnection for InstanceState { #[instrument(name = "spin_outbound_mqtt.open_connection", skip(self, password), err(level = Level::INFO), fields(otel.kind = "client"))] async fn open( diff --git a/crates/factor-outbound-mysql/src/host.rs b/crates/factor-outbound-mysql/src/host.rs index 6eeae547dc..e562d4d741 100644 --- a/crates/factor-outbound-mysql/src/host.rs +++ b/crates/factor-outbound-mysql/src/host.rs @@ -1,5 +1,4 @@ use anyhow::Result; -use spin_core::async_trait; use spin_core::wasmtime::component::Resource; use spin_world::v1::mysql as v1; use spin_world::v2::mysql::{self as v2, Connection}; @@ -34,10 +33,8 @@ impl InstanceState { } } -#[async_trait] impl v2::Host for InstanceState {} -#[async_trait] impl v2::HostConnection for InstanceState { #[instrument(name = "spin_outbound_mysql.open", skip(self, address), err(level = Level::INFO), fields(otel.kind = "client", db.system = "mysql", db.address = Empty, server.port = Empty, db.namespace = Empty))] async fn open(&mut self, address: String) -> Result, v2::Error> { @@ -62,11 +59,10 @@ impl v2::HostConnection for InstanceState { statement: String, params: Vec, ) -> Result<(), v2::Error> { - Ok(self - .get_client(connection) + self.get_client(connection) .await? .execute(statement, params) - .await?) + .await } #[instrument(name = "spin_outbound_mysql.query", skip(self, connection, params), err(level = Level::INFO), fields(otel.kind = "client", db.system = "mysql", otel.name = statement))] @@ -76,11 +72,10 @@ impl v2::HostConnection for InstanceState { statement: String, params: Vec, ) -> Result { - Ok(self - .get_client(connection) + self.get_client(connection) .await? .query(statement, params) - .await?) + .await } async fn drop(&mut self, connection: Resource) -> Result<()> { @@ -113,7 +108,6 @@ macro_rules! delegate { }}; } -#[async_trait] impl v1::Host for InstanceState { async fn execute( &mut self, diff --git a/crates/factor-outbound-pg/src/host.rs b/crates/factor-outbound-pg/src/host.rs index 78dff49e25..289934446f 100644 --- a/crates/factor-outbound-pg/src/host.rs +++ b/crates/factor-outbound-pg/src/host.rs @@ -1,5 +1,5 @@ use anyhow::Result; -use spin_core::{async_trait, wasmtime::component::Resource}; +use spin_core::wasmtime::component::Resource; use spin_world::spin::postgres::postgres::{self as v3}; use spin_world::v1::postgres as v1; use spin_world::v1::rdbms_types as v1_types; @@ -71,7 +71,6 @@ fn v2_params_to_v3( params.into_iter().map(|p| p.try_into()).collect() } -#[async_trait] impl spin_world::spin::postgres::postgres::HostConnection for InstanceState { @@ -98,11 +97,10 @@ impl spin_world::spin::postgres::postgres::HostConnecti statement: String, params: Vec, ) -> Result { - Ok(self - .get_client(connection) + self.get_client(connection) .await? .execute(statement, params) - .await?) + .await } #[instrument(name = "spin_outbound_pg.query", skip(self, connection, params), err(level = Level::INFO), fields(otel.kind = "client", db.system = "postgresql", otel.name = statement))] @@ -112,11 +110,10 @@ impl spin_world::spin::postgres::postgres::HostConnecti statement: String, params: Vec, ) -> Result { - Ok(self - .get_client(connection) + self.get_client(connection) .await? .query(statement, params) - .await?) + .await } async fn drop(&mut self, connection: Resource) -> anyhow::Result<()> { @@ -155,10 +152,8 @@ macro_rules! delegate { }}; } -#[async_trait] impl v2::Host for InstanceState {} -#[async_trait] impl v2::HostConnection for InstanceState { #[instrument(name = "spin_outbound_pg.open", skip(self, address), err(level = Level::INFO), fields(otel.kind = "client", db.system = "postgresql", db.address = Empty, server.port = Empty, db.namespace = Empty))] async fn open(&mut self, address: String) -> Result, v2::Error> { @@ -211,7 +206,6 @@ impl v2::HostConnection for InstanceState { } } -#[async_trait] impl v1::Host for InstanceState { async fn execute( &mut self, diff --git a/crates/factor-outbound-redis/src/host.rs b/crates/factor-outbound-redis/src/host.rs index a6476370b4..d0beca4b82 100644 --- a/crates/factor-outbound-redis/src/host.rs +++ b/crates/factor-outbound-redis/src/host.rs @@ -1,6 +1,6 @@ use anyhow::Result; use redis::{aio::MultiplexedConnection, AsyncCommands, FromRedisValue, Value}; -use spin_core::{async_trait, wasmtime::component::Resource}; +use spin_core::wasmtime::component::Resource; use spin_factor_outbound_networking::OutboundAllowedHosts; use spin_world::v1::{redis as v1, redis_types}; use spin_world::v2::redis::{ @@ -52,7 +52,6 @@ impl v2::Host for crate::InstanceState { } } -#[async_trait] impl v2::HostConnection for crate::InstanceState { #[instrument(name = "spin_outbound_redis.open_connection", skip(self, address), err(level = Level::INFO), fields(otel.kind = "client", db.system = "redis", db.address = Empty, server.port = Empty, db.namespace = Empty))] async fn open(&mut self, address: String) -> Result, Error> { @@ -224,7 +223,6 @@ macro_rules! delegate { }}; } -#[async_trait] impl v1::Host for crate::InstanceState { async fn publish( &mut self, diff --git a/crates/factor-sqlite/src/host.rs b/crates/factor-sqlite/src/host.rs index 05c8146db0..ee39f9d2a9 100644 --- a/crates/factor-sqlite/src/host.rs +++ b/crates/factor-sqlite/src/host.rs @@ -1,8 +1,6 @@ use std::collections::{HashMap, HashSet}; use std::sync::Arc; -use async_trait::async_trait; - use spin_factors::wasmtime::component::Resource; use spin_factors::{anyhow, SelfInstanceBuilder}; use spin_world::v1::sqlite as v1; @@ -60,7 +58,6 @@ impl v2::Host for InstanceState { } } -#[async_trait] impl v2::HostConnection for InstanceState { #[instrument(name = "spin_sqlite.open", skip(self), err(level = Level::INFO), fields(otel.kind = "client", db.system = "sqlite", sqlite.backend = Empty))] async fn open(&mut self, database: String) -> Result, v2::Error> { @@ -107,7 +104,6 @@ impl v2::HostConnection for InstanceState { } } -#[async_trait] impl v1::Host for InstanceState { async fn open(&mut self, database: String) -> Result { let result = ::open(self, database).await; diff --git a/crates/factor-variables/src/host.rs b/crates/factor-variables/src/host.rs index 5ab38b50bc..4b562f4808 100644 --- a/crates/factor-variables/src/host.rs +++ b/crates/factor-variables/src/host.rs @@ -1,10 +1,9 @@ use spin_factors::anyhow; -use spin_world::{async_trait, v1, v2::variables, wasi::config as wasi_config}; +use spin_world::{v1, v2::variables, wasi::config as wasi_config}; use tracing::{instrument, Level}; use crate::InstanceState; -#[async_trait] impl variables::Host for InstanceState { #[instrument(name = "spin_variables.get", skip(self), err(level = Level::INFO), fields(otel.kind = "client"))] async fn get(&mut self, key: String) -> Result { @@ -20,7 +19,6 @@ impl variables::Host for InstanceState { } } -#[async_trait] impl v1::config::Host for InstanceState { async fn get_config(&mut self, key: String) -> Result { ::get(self, key) @@ -37,7 +35,6 @@ impl v1::config::Host for InstanceState { } } -#[async_trait] impl wasi_config::store::Host for InstanceState { async fn get(&mut self, key: String) -> Result, wasi_config::store::Error> { match ::get(self, key).await { diff --git a/crates/factor-wasi/src/lib.rs b/crates/factor-wasi/src/lib.rs index 353691a7c0..6ae626d258 100644 --- a/crates/factor-wasi/src/lib.rs +++ b/crates/factor-wasi/src/lib.rs @@ -76,7 +76,7 @@ impl Factor for WasiFactor { bindings::random::random::add_to_linker_get_host(linker, closure)?; bindings::random::insecure::add_to_linker_get_host(linker, closure)?; bindings::random::insecure_seed::add_to_linker_get_host(linker, closure)?; - bindings::cli::exit::add_to_linker_get_host(linker, closure)?; + bindings::cli::exit::add_to_linker_get_host(linker, &Default::default(), closure)?; bindings::cli::environment::add_to_linker_get_host(linker, closure)?; bindings::cli::stdin::add_to_linker_get_host(linker, closure)?; bindings::cli::stdout::add_to_linker_get_host(linker, closure)?; @@ -91,7 +91,7 @@ impl Factor for WasiFactor { bindings::sockets::udp::add_to_linker_get_host(linker, closure)?; bindings::sockets::udp_create_socket::add_to_linker_get_host(linker, closure)?; bindings::sockets::instance_network::add_to_linker_get_host(linker, closure)?; - bindings::sockets::network::add_to_linker_get_host(linker, closure)?; + bindings::sockets::network::add_to_linker_get_host(linker, &Default::default(), closure)?; bindings::sockets::ip_name_lookup::add_to_linker_get_host(linker, closure)?; wasi_2023_10_18::add_to_linker(linker, closure)?; diff --git a/crates/factor-wasi/src/wasi_2023_10_18.rs b/crates/factor-wasi/src/wasi_2023_10_18.rs index a3f9ac67a7..ddafa8e27b 100644 --- a/crates/factor-wasi/src/wasi_2023_10_18.rs +++ b/crates/factor-wasi/src/wasi_2023_10_18.rs @@ -1,4 +1,3 @@ -use async_trait::async_trait; use spin_factors::anyhow::{self, Result}; use std::mem; use wasmtime::component::{Linker, Resource}; @@ -14,12 +13,7 @@ mod bindings { wasmtime::component::bindgen!({ path: "../../wit", - interfaces: r#" - // NB: this is handling the historical behavior where Spin supported - // more than "just" this snaphsot of the proxy world but additionally - // other CLI-related interfaces. - include wasi:cli/reactor@0.2.0-rc-2023-10-18; - "#, + world: "wasi:cli/reactor@0.2.0-rc-2023-10-18", async: { only_imports: [ "[drop]output-stream", @@ -204,7 +198,6 @@ where } } -#[async_trait] impl wasi::filesystem::types::HostDescriptor for WasiImpl where T: WasiView, @@ -602,7 +595,6 @@ where } } -#[async_trait] impl wasi::filesystem::types::HostDirectoryEntryStream for WasiImpl where T: WasiView, @@ -632,7 +624,6 @@ where } } -#[async_trait] impl wasi::io::poll::Host for WasiImpl where T: WasiView, @@ -670,7 +661,6 @@ where } } -#[async_trait] impl wasi::io::streams::HostInputStream for WasiImpl where T: WasiView, @@ -720,7 +710,6 @@ where } } -#[async_trait] impl wasi::io::streams::HostOutputStream for WasiImpl where T: WasiView, @@ -967,7 +956,6 @@ where impl wasi::sockets::tcp::Host for WasiImpl where T: WasiView {} -#[async_trait] impl wasi::sockets::tcp::HostTcpSocket for WasiImpl where T: WasiView, @@ -1295,7 +1283,6 @@ impl UdpSocket { } } -#[async_trait] impl wasi::sockets::udp::HostUdpSocket for WasiImpl where T: WasiView, diff --git a/crates/factor-wasi/src/wasi_2023_11_10.rs b/crates/factor-wasi/src/wasi_2023_11_10.rs index 9eb8ca980d..bea12a0bf9 100644 --- a/crates/factor-wasi/src/wasi_2023_11_10.rs +++ b/crates/factor-wasi/src/wasi_2023_11_10.rs @@ -1,5 +1,4 @@ use super::wasi_2023_10_18::{convert, convert_result}; -use async_trait::async_trait; use spin_factors::anyhow::{self, Result}; use wasmtime::component::{Linker, Resource}; use wasmtime_wasi::{WasiImpl, WasiView}; @@ -13,12 +12,7 @@ mod bindings { wasmtime::component::bindgen!({ path: "../../wit", - interfaces: r#" - // NB: this is handling the historical behavior where Spin supported - // more than "just" this snapshot of the proxy world but additionally - // other CLI-related interfaces. - include wasi:cli/reactor@0.2.0-rc-2023-11-10; - "#, + world: "wasi:cli/reactor@0.2.0-rc-2023-11-10", async: { only_imports: [ "[drop]input-stream", @@ -198,7 +192,6 @@ where } } -#[async_trait] impl wasi::filesystem::types::HostDescriptor for WasiImpl where T: WasiView, @@ -526,7 +519,6 @@ where } } -#[async_trait] impl wasi::filesystem::types::HostDirectoryEntryStream for WasiImpl where T: WasiView, @@ -556,7 +548,6 @@ where } } -#[async_trait] impl wasi::io::poll::Host for WasiImpl where T: WasiView, @@ -566,7 +557,6 @@ where } } -#[async_trait] impl wasi::io::poll::HostPollable for WasiImpl where T: WasiView, @@ -619,7 +609,6 @@ where impl wasi::io::streams::Host for WasiImpl where T: WasiView {} -#[async_trait] impl wasi::io::streams::HostInputStream for WasiImpl where T: WasiView, @@ -669,7 +658,6 @@ where } } -#[async_trait] impl wasi::io::streams::HostOutputStream for WasiImpl where T: WasiView, @@ -908,7 +896,6 @@ where impl wasi::sockets::tcp::Host for WasiImpl where T: WasiView {} -#[async_trait] impl wasi::sockets::tcp::HostTcpSocket for WasiImpl where T: WasiView, @@ -1220,7 +1207,6 @@ where impl wasi::sockets::udp::Host for WasiImpl where T: WasiView {} -#[async_trait] impl wasi::sockets::udp::HostUdpSocket for WasiImpl where T: WasiView, @@ -1377,7 +1363,6 @@ where } } -#[async_trait] impl wasi::sockets::udp::HostOutgoingDatagramStream for WasiImpl where T: WasiView, diff --git a/examples/spin-timer/Cargo.lock b/examples/spin-timer/Cargo.lock index 126ceed14c..e88e4a8da9 100644 --- a/examples/spin-timer/Cargo.lock +++ b/examples/spin-timer/Cargo.lock @@ -13,11 +13,11 @@ dependencies = [ [[package]] name = "addr2line" -version = "0.22.0" +version = "0.24.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e4503c46a5c0c7844e948c9a4d6acd9f50cccb4de1c48eb9e291ea17470c678" +checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1" dependencies = [ - "gimli 0.29.0", + "gimli 0.31.1", ] [[package]] @@ -82,15 +82,15 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.86" +version = "1.0.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" +checksum = "34ac096ce696dc2fcabef30516bb13c0a68a11d30131d3df6f04711467681b04" [[package]] name = "arbitrary" -version = "1.3.2" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d5a26814d8dcb93b0e5a0ff3c6d80a8843bafb21b39e8e18a6f05471870e110" +checksum = "dde20b3d026af13f561bdd0f15edf01fc734f0dafcedbaf42bba506a9517f223" [[package]] name = "arc-swap" @@ -226,7 +226,7 @@ checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" dependencies = [ "proc-macro2", "quote", - "syn 2.0.76", + "syn 2.0.87", ] [[package]] @@ -243,7 +243,7 @@ checksum = "6e0c28dcc82d7c8ead5cb13beb15405b57b8546e93215673ff8ca0349a028107" dependencies = [ "proc-macro2", "quote", - "syn 2.0.76", + "syn 2.0.87", ] [[package]] @@ -718,6 +718,15 @@ dependencies = [ "time", ] +[[package]] +name = "backon" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba5289ec98f68f28dd809fd601059e6aa908bb8f6108620930828283d4ee23d7" +dependencies = [ + "fastrand 2.1.1", +] + [[package]] name = "backtrace" version = "0.3.71" @@ -776,7 +785,7 @@ dependencies = [ "regex", "rustc-hash 1.1.0", "shlex", - "syn 2.0.76", + "syn 2.0.87", ] [[package]] @@ -824,9 +833,12 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.14.0" +version = "3.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec" +checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf" +dependencies = [ + "allocator-api2", +] [[package]] name = "byteorder" @@ -855,9 +867,9 @@ dependencies = [ [[package]] name = "cap-fs-ext" -version = "3.2.0" +version = "3.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb23061fc1c4ead4e45ca713080fe768e6234e959f5a5c399c39eb41aa34e56e" +checksum = "7f78efdd7378980d79c0f36b519e51191742d2c9f91ffa5e228fba9f3806d2e1" dependencies = [ "cap-primitives", "cap-std", @@ -867,9 +879,9 @@ dependencies = [ [[package]] name = "cap-net-ext" -version = "3.2.0" +version = "3.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f83ae11f116bcbafc5327c6af250341db96b5930046732e1905f7dc65887e0e1" +checksum = "4ac68674a6042af2bcee1adad9f6abd432642cf03444ce3a5b36c3f39f23baf8" dependencies = [ "cap-primitives", "cap-std", @@ -879,9 +891,9 @@ dependencies = [ [[package]] name = "cap-primitives" -version = "3.2.0" +version = "3.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d00bd8d26c4270d950eaaa837387964a2089a1c3c349a690a1fa03221d29531" +checksum = "8fc15faeed2223d8b8e8cc1857f5861935a06d06713c4ac106b722ae9ce3c369" dependencies = [ "ambient-authority", "fs-set-times", @@ -896,9 +908,9 @@ dependencies = [ [[package]] name = "cap-rand" -version = "3.2.0" +version = "3.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbcb16a619d8b8211ed61f42bd290d2a1ac71277a69cf8417ec0996fa92f5211" +checksum = "dea13372b49df066d1ae654e5c6e41799c1efd9f6b36794b921e877ea4037977" dependencies = [ "ambient-authority", "rand 0.8.5", @@ -906,9 +918,9 @@ dependencies = [ [[package]] name = "cap-std" -version = "3.2.0" +version = "3.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19eb8e3d71996828751c1ed3908a439639752ac6bdc874e41469ef7fc15fbd7f" +checksum = "c3dbd3e8e8d093d6ccb4b512264869e1281cdb032f7940bd50b2894f96f25609" dependencies = [ "cap-primitives", "io-extras", @@ -918,9 +930,9 @@ dependencies = [ [[package]] name = "cap-time-ext" -version = "3.2.0" +version = "3.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61142dc51e25b7acc970ca578ce2c3695eac22bbba46c1073f5f583e78957725" +checksum = "bd736b20fc033f564a1995fb82fc349146de43aabba19c7368b4cb17d8f9ea53" dependencies = [ "ambient-authority", "cap-primitives", @@ -974,7 +986,7 @@ dependencies = [ "num-traits", "serde", "wasm-bindgen", - "windows-targets 0.52.4", + "windows-targets 0.52.6", ] [[package]] @@ -1011,7 +1023,7 @@ version = "3.2.25" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ae6371b8bdc8b7d3959e9cf7b22d4435ef3e79e138688421ec654acf8c81b008" dependencies = [ - "heck", + "heck 0.4.1", "proc-macro-error", "proc-macro2", "quote", @@ -1107,18 +1119,18 @@ dependencies = [ [[package]] name = "cranelift-bforest" -version = "0.112.3" +version = "0.116.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69792bd40d21be8059f7c709f44200ded3bbd073df7eb3fa3c282b387c7ffa5b" +checksum = "e15d04a0ce86cb36ead88ad68cf693ffd6cda47052b9e0ac114bc47fd9cd23c4" dependencies = [ "cranelift-entity", ] [[package]] name = "cranelift-bitset" -version = "0.112.3" +version = "0.116.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38da1eb6f7d8cdfa92f05acfae63c9a1d7a337e49ce7a2d0769c7fa03a2613a5" +checksum = "7c6e3969a7ce267259ce244b7867c5d3bc9e65b0a87e81039588dfdeaede9f34" dependencies = [ "serde", "serde_derive", @@ -1126,9 +1138,9 @@ dependencies = [ [[package]] name = "cranelift-codegen" -version = "0.112.3" +version = "0.116.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "709f5567a2bff9f06edf911a7cb5ebb091e4c81701714dc6ab574d08b4a69a0d" +checksum = "2c22032c4cb42558371cf516bb47f26cdad1819d3475c133e93c49f50ebf304e" dependencies = [ "bumpalo", "cranelift-bforest", @@ -1138,44 +1150,45 @@ dependencies = [ "cranelift-control", "cranelift-entity", "cranelift-isle", - "gimli 0.29.0", + "gimli 0.31.1", "hashbrown 0.14.3", "log", "regalloc2", "rustc-hash 2.0.0", + "serde", "smallvec", "target-lexicon", ] [[package]] name = "cranelift-codegen-meta" -version = "0.112.3" +version = "0.116.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72d39a6b194c069fd091ca1f17b9d86ff1a4627ccad8806095828f61989a691f" +checksum = "c904bc71c61b27fc57827f4a1379f29de64fe95653b620a3db77d59655eee0b8" dependencies = [ "cranelift-codegen-shared", ] [[package]] name = "cranelift-codegen-shared" -version = "0.112.3" +version = "0.116.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18f81aefad1f80ed4132ae33f40b92779eeb57edeb1e28bb24424a4098c963a2" +checksum = "40180f5497572f644ce88c255480981ae2ec1d7bb4d8e0c0136a13b87a2f2ceb" [[package]] name = "cranelift-control" -version = "0.112.3" +version = "0.116.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6adbaac785ad4683c4f199686f9e15c1471f52ae2f4c013a3be039b4719db754" +checksum = "26d132c6d0bd8a489563472afc171759da0707804a65ece7ceb15a8c6d7dd5ef" dependencies = [ "arbitrary", ] [[package]] name = "cranelift-entity" -version = "0.112.3" +version = "0.116.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70b85ed43567e13782cd1b25baf42a8167ee57169a60dfd3d7307c6ca3839da0" +checksum = "4b2d0d9618275474fbf679dd018ac6e009acbd6ae6850f6a67be33fb3b00b323" dependencies = [ "cranelift-bitset", "serde", @@ -1184,9 +1197,9 @@ dependencies = [ [[package]] name = "cranelift-frontend" -version = "0.112.3" +version = "0.116.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8349f71373bb69c6f73992c6c1606236a66c8134e7a60e04e03fbd64b1aa7dcf" +checksum = "4fac41e16729107393174b0c9e3730fb072866100e1e64e80a1a963b2e484d57" dependencies = [ "cranelift-codegen", "log", @@ -1196,37 +1209,21 @@ dependencies = [ [[package]] name = "cranelift-isle" -version = "0.112.3" +version = "0.116.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "464a6b958ce05e0c237c8b25508012b6c644e8c37348213a8c786ba29e28cfdb" +checksum = "1ca20d576e5070044d0a72a9effc2deacf4d6aa650403189d8ea50126483944d" [[package]] name = "cranelift-native" -version = "0.112.3" +version = "0.116.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffc4acaf6894ee323ff4e9ce786bec09f0ebbe49941e8012f1c1052f1d965034" +checksum = "b8dee82f3f1f2c4cba9177f1cc5e350fe98764379bcd29340caa7b01f85076c7" dependencies = [ "cranelift-codegen", "libc", "target-lexicon", ] -[[package]] -name = "cranelift-wasm" -version = "0.112.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b878860895cca97454ef8d8b12bfda9d0889dd49efee175dba78d54ff8363ec2" -dependencies = [ - "cranelift-codegen", - "cranelift-entity", - "cranelift-frontend", - "itertools", - "log", - "smallvec", - "wasmparser 0.217.0", - "wasmtime-types", -] - [[package]] name = "crc32fast" version = "1.4.0" @@ -1511,9 +1508,9 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" [[package]] name = "errno" -version = "0.3.8" +version = "0.3.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245" +checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d" dependencies = [ "libc", "windows-sys 0.52.0", @@ -1634,6 +1631,12 @@ version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" +[[package]] +name = "foldhash" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0d2fde1f7b3d48b8395d5f2de76c18a528bd6a9cdde438df747bfcba3e05d6f" + [[package]] name = "foreign-types" version = "0.3.2" @@ -1686,9 +1689,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" +checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" dependencies = [ "futures-core", "futures-sink", @@ -1696,9 +1699,9 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" +checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" [[package]] name = "futures-executor" @@ -1713,9 +1716,9 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" +checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" [[package]] name = "futures-lite" @@ -1747,32 +1750,32 @@ dependencies = [ [[package]] name = "futures-macro" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" +checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.76", + "syn 2.0.87", ] [[package]] name = "futures-sink" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" +checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" [[package]] name = "futures-task" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" +checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" [[package]] name = "futures-util" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" +checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" dependencies = [ "futures-channel", "futures-core", @@ -1850,12 +1853,12 @@ checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" [[package]] name = "gimli" -version = "0.29.0" +version = "0.31.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40ecd4077b5ae9fd2e9e169b102c6c330d0605168eb0e8bf79952b256dbefffd" +checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" dependencies = [ "fallible-iterator 0.3.0", - "indexmap 2.2.6", + "indexmap 2.7.1", "stable_deref_trait", ] @@ -1877,7 +1880,7 @@ dependencies = [ "futures-sink", "futures-util", "http 0.2.12", - "indexmap 2.2.6", + "indexmap 2.7.1", "slab", "tokio", "tokio-util", @@ -1896,7 +1899,7 @@ dependencies = [ "futures-core", "futures-sink", "http 1.1.0", - "indexmap 2.2.6", + "indexmap 2.7.1", "slab", "tokio", "tokio-util", @@ -1920,6 +1923,16 @@ dependencies = [ "serde", ] +[[package]] +name = "hashbrown" +version = "0.15.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" +dependencies = [ + "foldhash", + "serde", +] + [[package]] name = "hashlink" version = "0.9.1" @@ -1935,6 +1948,12 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + [[package]] name = "hermit-abi" version = "0.1.19" @@ -2270,12 +2289,12 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.2.6" +version = "2.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" +checksum = "8c9c992b02b5b4c94ea26e32fe5bccb7aa7d9f390ab5c1221ff895bc7ea8b652" dependencies = [ "equivalent", - "hashbrown 0.14.3", + "hashbrown 0.15.2", "serde", ] @@ -2296,9 +2315,9 @@ dependencies = [ [[package]] name = "io-extras" -version = "0.18.2" +version = "0.18.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9f046b9af244f13b3bd939f55d16830ac3a201e8a9ba9661bfcb03e2be72b9b" +checksum = "2285ddfe3054097ef4b2fe909ef8c3bcd1ea52a8f0d274416caebeef39f04a65" dependencies = [ "io-lifetimes", "windows-sys 0.52.0", @@ -2333,9 +2352,9 @@ dependencies = [ [[package]] name = "itoa" -version = "1.0.10" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c" +checksum = "d75a2a4b1b190afb6f5425f10f6a8f959d2ea0b9c2b1d79553551850539e4674" [[package]] name = "ittapi" @@ -2381,7 +2400,7 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ee7893dab2e44ae5f9d0173f26ff4aa327c10b01b06a72b52dd9405b628640d" dependencies = [ - "indexmap 2.2.6", + "indexmap 2.7.1", ] [[package]] @@ -2398,9 +2417,9 @@ checksum = "884e2677b40cc8c339eaefcb701c32ef1fd2493d71118dc0ca4b6a736c93bd67" [[package]] name = "libc" -version = "0.2.158" +version = "0.2.169" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8adc4bb1803a324070e64a98ae98f38934d91957a99cfb3a43dcbc01bc56439" +checksum = "b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a" [[package]] name = "libloading" @@ -2409,7 +2428,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4979f22fdb869068da03c9f7528f8297c6fd2606bc3a4affe42e6a823fdb8da4" dependencies = [ "cfg-if", - "windows-targets 0.52.4", + "windows-targets 0.48.5", ] [[package]] @@ -2476,7 +2495,7 @@ dependencies = [ "bitflags 2.6.0", "cc", "fallible-iterator 0.3.0", - "indexmap 2.2.6", + "indexmap 2.7.1", "log", "memchr", "phf", @@ -2819,13 +2838,13 @@ dependencies = [ [[package]] name = "object" -version = "0.36.0" +version = "0.36.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "576dfe1fc8f9df304abb159d767a29d0476f7750fbf8aa7ad07816004a207434" +checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87" dependencies = [ "crc32fast", - "hashbrown 0.14.3", - "indexmap 2.2.6", + "hashbrown 0.15.2", + "indexmap 2.7.1", "memchr", ] @@ -2858,7 +2877,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.76", + "syn 2.0.87", ] [[package]] @@ -3055,7 +3074,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" dependencies = [ "fixedbitset", - "indexmap 2.2.6", + "indexmap 2.7.1", ] [[package]] @@ -3114,7 +3133,7 @@ checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" dependencies = [ "proc-macro2", "quote", - "syn 2.0.76", + "syn 2.0.87", ] [[package]] @@ -3293,7 +3312,7 @@ dependencies = [ "itertools", "proc-macro2", "quote", - "syn 2.0.76", + "syn 2.0.87", ] [[package]] @@ -3306,7 +3325,7 @@ dependencies = [ "itertools", "proc-macro2", "quote", - "syn 2.0.76", + "syn 2.0.87", ] [[package]] @@ -3318,6 +3337,18 @@ dependencies = [ "cc", ] +[[package]] +name = "pulley-interpreter" +version = "29.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62d95f8575df49a2708398182f49a888cf9dc30210fb1fd2df87c889edcee75d" +dependencies = [ + "cranelift-bitset", + "log", + "sptr", + "wasmtime-math", +] + [[package]] name = "quote" version = "1.0.35" @@ -3443,14 +3474,15 @@ dependencies = [ [[package]] name = "redis" -version = "0.27.2" +version = "0.28.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7e86f5670bd8b028edfb240f0616cad620705b31ec389d55e4f3da2c38dcd48" +checksum = "e37ec3fd44bea2ec947ba6cc7634d7999a6590aca7c35827c250bc0de502bda6" dependencies = [ "arc-swap", - "async-trait", + "backon", "bytes", "combine", + "futures-channel", "futures-util", "itoa", "native-tls", @@ -3488,14 +3520,15 @@ dependencies = [ [[package]] name = "regalloc2" -version = "0.10.2" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12908dbeb234370af84d0579b9f68258a0f67e201412dd9a2814e6f45b2fc0f0" +checksum = "145c1c267e14f20fb0f88aa76a1c5ffec42d592c1d28b3cd9148ae35916158d3" dependencies = [ - "hashbrown 0.14.3", + "allocator-api2", + "bumpalo", + "hashbrown 0.15.2", "log", "rustc-hash 2.0.0", - "slice-group-by", "smallvec", ] @@ -3748,9 +3781,9 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.35" +version = "0.38.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a85d50532239da68e9addb745ba38ff4612a242c1c7ceea689c4bc7c2f43c36f" +checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" dependencies = [ "bitflags 2.6.0", "errno", @@ -3960,22 +3993,22 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.203" +version = "1.0.217" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7253ab4de971e72fb7be983802300c30b5a7f0c2e56fab8abfc6a214307c0094" +checksum = "02fc4265df13d6fa1d00ecff087228cc0a2b5f3c0e87e258d8b94a156e984c70" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.203" +version = "1.0.217" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba" +checksum = "5a9bf7cf98d04a2b28aead066b7496853d4779c9cc183c440dbac457641e19a0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.76", + "syn 2.0.87", ] [[package]] @@ -4107,12 +4140,6 @@ dependencies = [ "autocfg", ] -[[package]] -name = "slice-group-by" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "826167069c09b99d56f31e9ae5c99049e932a98c9dc2dac47645b08dbbf76ba7" - [[package]] name = "smallvec" version = "1.13.1" @@ -4182,7 +4209,7 @@ dependencies = [ "wasm-metadata 0.217.0", "wasmparser 0.217.0", "wit-component", - "wit-parser", + "wit-parser 0.217.0", ] [[package]] @@ -4191,7 +4218,7 @@ version = "3.2.0-pre0" dependencies = [ "anyhow", "async-trait", - "indexmap 2.2.6", + "indexmap 2.7.1", "semver", "spin-app", "spin-serde", @@ -4225,7 +4252,6 @@ name = "spin-factor-key-value" version = "3.2.0-pre0" dependencies = [ "anyhow", - "lru", "serde", "spin-core", "spin-factors", @@ -4422,7 +4448,7 @@ version = "3.2.0-pre0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.76", + "syn 2.0.87", ] [[package]] @@ -4468,7 +4494,7 @@ name = "spin-key-value-redis" version = "3.2.0-pre0" dependencies = [ "anyhow", - "redis 0.27.2", + "redis 0.28.2", "serde", "spin-core", "spin-factor-key-value", @@ -4519,7 +4545,7 @@ name = "spin-manifest" version = "3.2.0-pre0" dependencies = [ "anyhow", - "indexmap 2.2.6", + "indexmap 2.7.1", "semver", "serde", "spin-serde", @@ -4768,9 +4794,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.76" +version = "2.0.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578e081a14e0cefc3279b0472138c513f37b41a08d5a3cca9b6e4e8ceb6cd525" +checksum = "25aa4ce346d03a6dcd68dd8b4010bcb74e54e62c90c573f394c46eae99aba32d" dependencies = [ "proc-macro2", "quote", @@ -4840,9 +4866,9 @@ dependencies = [ [[package]] name = "target-lexicon" -version = "0.12.16" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1" +checksum = "dc12939a1c9b9d391e0b7135f72fd30508b73450753e28341fed159317582a77" [[package]] name = "tempfile" @@ -4896,7 +4922,7 @@ checksum = "a4558b58466b9ad7ca0f102865eccc95938dca1a74a856f2b57b6629050da261" dependencies = [ "proc-macro2", "quote", - "syn 2.0.76", + "syn 2.0.87", ] [[package]] @@ -4985,7 +5011,7 @@ checksum = "5f5ae998a069d4b5aba8ee9dad856af7d520c3699e6159b185c2acd48155d39a" dependencies = [ "proc-macro2", "quote", - "syn 2.0.76", + "syn 2.0.87", ] [[package]] @@ -5096,7 +5122,7 @@ version = "0.8.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6f49eb2ab21d2f26bd6db7bf383edc527a7ebaee412d17af4d40fdccd442f335" dependencies = [ - "indexmap 2.2.6", + "indexmap 2.7.1", "serde", "serde_spanned", "toml_datetime", @@ -5118,7 +5144,7 @@ version = "0.22.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f21c7aaf97f1bd9ca9d4f9e73b0a6c74bd5afef56f2bc931943a6e1c37e04e38" dependencies = [ - "indexmap 2.2.6", + "indexmap 2.7.1", "serde", "serde_spanned", "toml_datetime", @@ -5207,7 +5233,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.76", + "syn 2.0.87", ] [[package]] @@ -5267,6 +5293,17 @@ dependencies = [ "tracing-serde", ] +[[package]] +name = "trait-variant" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70977707304198400eb4835a78f6a9f928bf41bba420deb8fdb175cd965d77a7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", +] + [[package]] name = "trigger-timer" version = "0.1.0" @@ -5352,9 +5389,9 @@ checksum = "52ea75f83c0137a9b98608359a5f1af8144876eb67bcb1ce837368e906a9f524" [[package]] name = "unicode-width" -version = "0.1.11" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85" +checksum = "1fc81956842c57dac11422a97c3b8195a1ff727f06e85c84ed2e8aa277c9a0fd" [[package]] name = "unicode-xid" @@ -5447,7 +5484,7 @@ checksum = "86f708c892ce0ebc06de9915f3da2da9b4e482a8b7d417fa447263b110d0a244" dependencies = [ "anyhow", "id-arena", - "indexmap 2.2.6", + "indexmap 2.7.1", "log", "petgraph", "semver", @@ -5466,7 +5503,7 @@ checksum = "b96fe715180f72ab776d90e8c4f47f8e4297e0e61ab263567a31f73c77d45d8d" dependencies = [ "anyhow", "id-arena", - "indexmap 2.2.6", + "indexmap 2.7.1", "semver", "wasm-encoder 0.202.0", "wasmparser 0.202.0", @@ -5526,7 +5563,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.76", + "syn 2.0.87", "wasm-bindgen-shared", ] @@ -5560,7 +5597,7 @@ checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.76", + "syn 2.0.87", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -5590,6 +5627,26 @@ dependencies = [ "wasmparser 0.217.0", ] +[[package]] +name = "wasm-encoder" +version = "0.221.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c17a3bd88f2155da63a1f2fcb8a56377a24f0b6dfed12733bb5f544e86f690c5" +dependencies = [ + "leb128", + "wasmparser 0.221.2", +] + +[[package]] +name = "wasm-encoder" +version = "0.224.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7249cf8cb0c6b9cb42bce90c0a5feb276fbf963fa385ff3d818ab3d90818ed6" +dependencies = [ + "leb128", + "wasmparser 0.224.0", +] + [[package]] name = "wasm-metadata" version = "0.202.0" @@ -5597,7 +5654,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "094aea3cb90e09f16ee25a4c0e324b3e8c934e7fd838bfa039aef5352f44a917" dependencies = [ "anyhow", - "indexmap 2.2.6", + "indexmap 2.7.1", "serde", "serde_derive", "serde_json", @@ -5613,7 +5670,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "65a146bf9a60e9264f0548a2599aa9656dba9a641eff9ab88299dc2a637e483c" dependencies = [ "anyhow", - "indexmap 2.2.6", + "indexmap 2.7.1", "serde", "serde_derive", "serde_json", @@ -5663,7 +5720,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d6998515d3cf3f8b980ef7c11b29a9b1017d4cf86b99ae93b546992df9931413" dependencies = [ "bitflags 2.6.0", - "indexmap 2.2.6", + "indexmap 2.7.1", "semver", ] @@ -5676,29 +5733,53 @@ dependencies = [ "ahash", "bitflags 2.6.0", "hashbrown 0.14.3", - "indexmap 2.2.6", + "indexmap 2.7.1", "semver", "serde", ] +[[package]] +name = "wasmparser" +version = "0.221.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9845c470a2e10b61dd42c385839cdd6496363ed63b5c9e420b5488b77bd22083" +dependencies = [ + "bitflags 2.6.0", + "hashbrown 0.15.2", + "indexmap 2.7.1", + "semver", + "serde", +] + +[[package]] +name = "wasmparser" +version = "0.224.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "65881a664fdd43646b647bb27bf186ab09c05bf56779d40aed4c6dce47d423f5" +dependencies = [ + "bitflags 2.6.0", + "indexmap 2.7.1", + "semver", +] + [[package]] name = "wasmprinter" -version = "0.217.0" +version = "0.221.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50dc568b3e0d47e8f96ea547c90790cfa783f0205160c40de894a427114185ce" +checksum = "a80742ff1b9e6d8c231ac7c7247782c6fc5bce503af760bca071811e5fc9ee56" dependencies = [ "anyhow", "termcolor", - "wasmparser 0.217.0", + "wasmparser 0.221.2", ] [[package]] name = "wasmtime" -version = "25.0.3" +version = "29.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f38dbf42dc56a6fe41ccd77211ea8ec90855de05e52cd00df5a0a3bca87d6147" +checksum = "11976a250672556d1c4c04c6d5d7656ac9192ac9edc42a4587d6c21460010e69" dependencies = [ - "addr2line 0.22.0", + "addr2line 0.24.2", "anyhow", "async-trait", "bitflags 2.6.0", @@ -5707,20 +5788,20 @@ dependencies = [ "cfg-if", "encoding_rs", "fxprof-processed-profile", - "gimli 0.29.0", + "gimli 0.31.1", "hashbrown 0.14.3", - "indexmap 2.2.6", + "indexmap 2.7.1", "ittapi", "libc", - "libm", "log", "mach2", "memfd", - "object 0.36.0", + "object 0.36.7", "once_cell", "paste", "postcard", "psm", + "pulley-interpreter", "rayon", "rustix", "semver", @@ -5730,8 +5811,9 @@ dependencies = [ "smallvec", "sptr", "target-lexicon", - "wasm-encoder 0.217.0", - "wasmparser 0.217.0", + "trait-variant", + "wasm-encoder 0.221.2", + "wasmparser 0.221.2", "wasmtime-asm-macros", "wasmtime-cache", "wasmtime-component-macro", @@ -5741,27 +5823,28 @@ dependencies = [ "wasmtime-fiber", "wasmtime-jit-debug", "wasmtime-jit-icache-coherence", + "wasmtime-math", "wasmtime-slab", "wasmtime-versioned-export-macros", "wasmtime-winch", "wat", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] name = "wasmtime-asm-macros" -version = "25.0.3" +version = "29.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30e0c7f9983c2d60109a939d9ab0e0df301901085c3608e1c22c27c98390a027" +checksum = "1f178b0d125201fbe9f75beaf849bd3e511891f9e45ba216a5b620802ccf64f2" dependencies = [ "cfg-if", ] [[package]] name = "wasmtime-cache" -version = "25.0.3" +version = "29.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e52eaa50abc14a9a2550d05e99e5e72d43ba75ea99cac1a440b61f1b9b87cd11" +checksum = "8b1161c8f62880deea07358bc40cceddc019f1c81d46007bc390710b2fe24ffc" dependencies = [ "anyhow", "base64 0.21.7", @@ -5773,36 +5856,36 @@ dependencies = [ "serde_derive", "sha2", "toml", - "windows-sys 0.52.0", + "windows-sys 0.59.0", "zstd", ] [[package]] name = "wasmtime-component-macro" -version = "25.0.3" +version = "29.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0929ffffaca32dd8770b56848c94056036963ca05de25fb47cac644e20262168" +checksum = "d74de6592ed945d0a602f71243982a304d5d02f1e501b638addf57f42d57dfaf" dependencies = [ "anyhow", "proc-macro2", "quote", - "syn 2.0.76", + "syn 2.0.87", "wasmtime-component-util", "wasmtime-wit-bindgen", - "wit-parser", + "wit-parser 0.221.2", ] [[package]] name = "wasmtime-component-util" -version = "25.0.3" +version = "29.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdc29d2b56629d66d2fd791d1b46471d0016e0d684ed2dc299e870d127082268" +checksum = "707dc7b3c112ab5a366b30cfe2fb5b2f8e6a0f682f16df96a5ec582bfe6f056e" [[package]] name = "wasmtime-cranelift" -version = "25.0.3" +version = "29.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8c8af1197703f4de556a274384adf5db36a146f9892bc9607bad16881e75c80" +checksum = "366be722674d4bf153290fbcbc4d7d16895cc82fb3e869f8d550ff768f9e9e87" dependencies = [ "anyhow", "cfg-if", @@ -5811,50 +5894,50 @@ dependencies = [ "cranelift-entity", "cranelift-frontend", "cranelift-native", - "cranelift-wasm", - "gimli 0.29.0", + "gimli 0.31.1", + "itertools", "log", - "object 0.36.0", + "object 0.36.7", "smallvec", "target-lexicon", "thiserror", - "wasmparser 0.217.0", + "wasmparser 0.221.2", "wasmtime-environ", "wasmtime-versioned-export-macros", ] [[package]] name = "wasmtime-environ" -version = "25.0.3" +version = "29.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f1b5af7bac868c5bce3b78a366a10677caacf6e6467c156301297e36ed31f3e" +checksum = "cdadc1af7097347aa276a4f008929810f726b5b46946971c660b6d421e9994ad" dependencies = [ "anyhow", "cpp_demangle", "cranelift-bitset", "cranelift-entity", - "gimli 0.29.0", - "indexmap 2.2.6", + "gimli 0.31.1", + "indexmap 2.7.1", "log", - "object 0.36.0", + "object 0.36.7", "postcard", "rustc-demangle", "semver", "serde", "serde_derive", + "smallvec", "target-lexicon", - "wasm-encoder 0.217.0", - "wasmparser 0.217.0", + "wasm-encoder 0.221.2", + "wasmparser 0.221.2", "wasmprinter", "wasmtime-component-util", - "wasmtime-types", ] [[package]] name = "wasmtime-fiber" -version = "25.0.3" +version = "29.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "665ccc1bb0f28496e6fa02e94c575ee9ad6e3202c7df8591e5dda78106d5aa4a" +checksum = "ccba90d4119f081bca91190485650730a617be1fff5228f8c4757ce133d21117" dependencies = [ "anyhow", "cc", @@ -5862,69 +5945,63 @@ dependencies = [ "rustix", "wasmtime-asm-macros", "wasmtime-versioned-export-macros", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] name = "wasmtime-jit-debug" -version = "25.0.3" +version = "29.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "106731c6ebe1d551362ee8c876d450bdc2d517988b20eb3653dc4837b1949437" +checksum = "3e7b61488a5ee00c35c8c22de707c36c0aecacf419a3be803a6a2ba5e860f56a" dependencies = [ - "object 0.36.0", - "once_cell", + "object 0.36.7", "rustix", "wasmtime-versioned-export-macros", ] [[package]] name = "wasmtime-jit-icache-coherence" -version = "25.0.3" +version = "29.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d7314e32c624f645ad7d6b9fc3ac89eb7d2b9aa06695d6445cec087958ec27d" +checksum = "ec5e8552e01692e6c2e5293171704fed8abdec79d1a6995a0870ab190e5747d1" dependencies = [ "anyhow", "cfg-if", "libc", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] -name = "wasmtime-slab" -version = "25.0.3" +name = "wasmtime-math" +version = "29.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f75cba1a8cc327839f493cfc3036c9de3d077d59ab76296bc710ee5f95be5391" +checksum = "29210ec2aa25e00f4d54605cedaf080f39ec01a872c5bd520ad04c67af1dde17" +dependencies = [ + "libm", +] [[package]] -name = "wasmtime-types" -version = "25.0.3" +name = "wasmtime-slab" +version = "29.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6d83a7816947a4974e2380c311eacb1db009b8bad86081dc726b705603c93c7" -dependencies = [ - "anyhow", - "cranelift-entity", - "serde", - "serde_derive", - "smallvec", - "wasmparser 0.217.0", -] +checksum = "fcb5821a96fa04ac14bc7b158bb3d5cd7729a053db5a74dad396cd513a5e5ccf" [[package]] name = "wasmtime-versioned-export-macros" -version = "25.0.3" +version = "29.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6879a8e168aef3fe07335343b7fbede12fa494215e83322e173d4018e124a846" +checksum = "86ff86db216dc0240462de40c8290887a613dddf9685508eb39479037ba97b5b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.76", + "syn 2.0.87", ] [[package]] name = "wasmtime-wasi" -version = "25.0.0" +version = "29.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f7155aadce49095eeced1a18634a443c8d8fdd2a23bb61f933774393a2c4acf" +checksum = "8d1be69bfcab1bdac74daa7a1f9695ab992b9c8e21b9b061e7d66434097e0ca4" dependencies = [ "anyhow", "async-trait", @@ -5939,23 +6016,23 @@ dependencies = [ "futures", "io-extras", "io-lifetimes", - "once_cell", "rustix", "system-interface", "thiserror", "tokio", "tracing", + "trait-variant", "url", "wasmtime", "wiggle", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] name = "wasmtime-wasi-http" -version = "25.0.0" +version = "29.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "859b1d684902af4c5f5a6da6f2e576b666ffcd94fd5350b1a4e216e4fbbe6f0b" +checksum = "6ab36725582dce3cb191e70ef0b6b10d375df83e61c579ee6798b860ce73d94c" dependencies = [ "anyhow", "async-trait", @@ -5976,16 +6053,16 @@ dependencies = [ [[package]] name = "wasmtime-winch" -version = "25.0.3" +version = "29.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6baca2a919a288df653246069868b4de80f07e9679a8ef9b78ad79fc658ffd12" +checksum = "fdbabfb8f20502d5e1d81092b9ead3682ae59988487aafcd7567387b7a43cf8f" dependencies = [ "anyhow", "cranelift-codegen", - "gimli 0.29.0", - "object 0.36.0", + "gimli 0.31.1", + "object 0.36.7", "target-lexicon", - "wasmparser 0.217.0", + "wasmparser 0.221.2", "wasmtime-cranelift", "wasmtime-environ", "winch-codegen", @@ -5993,14 +6070,14 @@ dependencies = [ [[package]] name = "wasmtime-wit-bindgen" -version = "25.0.3" +version = "29.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f571f63ac1d532e986eb3973bbef3a45e4ae83de521a8d573b0fe0594dc9608" +checksum = "8358319c2dd1e4db79e3c1c5d3a5af84956615343f9f89f4e4996a36816e06e6" dependencies = [ "anyhow", - "heck", - "indexmap 2.2.6", - "wit-parser", + "heck 0.5.0", + "indexmap 2.7.1", + "wit-parser 0.221.2", ] [[package]] @@ -6014,24 +6091,24 @@ dependencies = [ [[package]] name = "wast" -version = "217.0.0" +version = "224.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79004ecebded92d3c710d4841383368c7f04b63d0992ddd6b0c7d5029b7629b7" +checksum = "d722a51e62b669d17e5a9f6bc8ec210178b37d869114355aa46989686c5c6391" dependencies = [ "bumpalo", "leb128", "memchr", "unicode-width", - "wasm-encoder 0.217.0", + "wasm-encoder 0.224.0", ] [[package]] name = "wat" -version = "1.217.0" +version = "1.224.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c126271c3d92ca0f7c63e4e462e40c69cca52fd4245fcda730d1cf558fb55088" +checksum = "71dece6a7dd5bcbcf8d256606c7fb3faa36286d46bf3f98185407719a5ceede2" dependencies = [ - "wast 217.0.0", + "wast 224.0.0", ] [[package]] @@ -6082,9 +6159,9 @@ dependencies = [ [[package]] name = "wiggle" -version = "25.0.0" +version = "29.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc109a53e5475bae50294fecf9eec366ba9725d7fac0a4528f6c1d84d3e2583e" +checksum = "4b9af35bc9629c52c261465320a9a07959164928b4241980ba1cf923b9e6751d" dependencies = [ "anyhow", "async-trait", @@ -6097,28 +6174,28 @@ dependencies = [ [[package]] name = "wiggle-generate" -version = "25.0.0" +version = "29.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1b1cfa1fca4076eed01a9e505351dce62f0a5b8b23385b2e0daf7d9b02abeeb" +checksum = "2cf267dd05673912c8138f4b54acabe6bd53407d9d1536f0fadb6520dd16e101" dependencies = [ "anyhow", - "heck", + "heck 0.5.0", "proc-macro2", "quote", "shellexpand", - "syn 2.0.76", + "syn 2.0.87", "witx", ] [[package]] name = "wiggle-macro" -version = "25.0.0" +version = "29.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d8565ac65a40335305bce35a2cf48bd3bddc244637008d493f63d6a6685be26" +checksum = "08c5c473d4198e6c2d377f3809f713ff0c110cab88a0805ae099a82119ee250c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.76", + "syn 2.0.87", "wiggle-generate", ] @@ -6155,17 +6232,18 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "winch-codegen" -version = "0.23.3" +version = "29.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01cd1dc56c5a45d509ff06e7ca8817eaa9ec3240096f07e71915d5d528658e8a" +checksum = "2f849ef2c5f46cb0a20af4b4487aaa239846e52e2c03f13fa3c784684552859c" dependencies = [ "anyhow", "cranelift-codegen", - "gimli 0.29.0", + "gimli 0.31.1", "regalloc2", "smallvec", "target-lexicon", - "wasmparser 0.217.0", + "thiserror", + "wasmparser 0.221.2", "wasmtime-cranelift", "wasmtime-environ", ] @@ -6176,7 +6254,7 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" dependencies = [ - "windows-targets 0.52.4", + "windows-targets 0.52.6", ] [[package]] @@ -6194,7 +6272,16 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" dependencies = [ - "windows-targets 0.52.4", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-sys" +version = "0.59.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" +dependencies = [ + "windows-targets 0.52.6", ] [[package]] @@ -6214,17 +6301,18 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.52.4" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dd37b7e5ab9018759f893a1952c9420d060016fc19a472b4bb20d1bdd694d1b" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" dependencies = [ - "windows_aarch64_gnullvm 0.52.4", - "windows_aarch64_msvc 0.52.4", - "windows_i686_gnu 0.52.4", - "windows_i686_msvc 0.52.4", - "windows_x86_64_gnu 0.52.4", - "windows_x86_64_gnullvm 0.52.4", - "windows_x86_64_msvc 0.52.4", + "windows_aarch64_gnullvm 0.52.6", + "windows_aarch64_msvc 0.52.6", + "windows_i686_gnu 0.52.6", + "windows_i686_gnullvm", + "windows_i686_msvc 0.52.6", + "windows_x86_64_gnu 0.52.6", + "windows_x86_64_gnullvm 0.52.6", + "windows_x86_64_msvc 0.52.6", ] [[package]] @@ -6235,9 +6323,9 @@ checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" [[package]] name = "windows_aarch64_gnullvm" -version = "0.52.4" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcf46cf4c365c6f2d1cc93ce535f2c8b244591df96ceee75d8e83deb70a9cac9" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" [[package]] name = "windows_aarch64_msvc" @@ -6247,9 +6335,9 @@ checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" [[package]] name = "windows_aarch64_msvc" -version = "0.52.4" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da9f259dd3bcf6990b55bffd094c4f7235817ba4ceebde8e6d11cd0c5633b675" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" [[package]] name = "windows_i686_gnu" @@ -6259,9 +6347,15 @@ checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" [[package]] name = "windows_i686_gnu" -version = "0.52.4" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b474d8268f99e0995f25b9f095bc7434632601028cf86590aea5c8a5cb7801d3" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" [[package]] name = "windows_i686_msvc" @@ -6271,9 +6365,9 @@ checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" [[package]] name = "windows_i686_msvc" -version = "0.52.4" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1515e9a29e5bed743cb4415a9ecf5dfca648ce85ee42e15873c3cd8610ff8e02" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" [[package]] name = "windows_x86_64_gnu" @@ -6283,9 +6377,9 @@ checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" [[package]] name = "windows_x86_64_gnu" -version = "0.52.4" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5eee091590e89cc02ad514ffe3ead9eb6b660aedca2183455434b93546371a03" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" [[package]] name = "windows_x86_64_gnullvm" @@ -6295,9 +6389,9 @@ checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" [[package]] name = "windows_x86_64_gnullvm" -version = "0.52.4" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77ca79f2451b49fa9e2af39f0747fe999fcda4f5e241b2898624dca97a1f2177" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" [[package]] name = "windows_x86_64_msvc" @@ -6307,9 +6401,9 @@ checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" [[package]] name = "windows_x86_64_msvc" -version = "0.52.4" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32b752e52a2da0ddfbdbcc6fceadfeede4c939ed16d13e648833a61dfb611ed8" +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] name = "winnow" @@ -6358,7 +6452,7 @@ checksum = "d7117809905e49db716d81e794f79590c052bf2fdbbcda1731ca0fb28f6f3ddf" dependencies = [ "anyhow", "bitflags 2.6.0", - "indexmap 2.2.6", + "indexmap 2.7.1", "log", "serde", "serde_derive", @@ -6366,7 +6460,7 @@ dependencies = [ "wasm-encoder 0.217.0", "wasm-metadata 0.217.0", "wasmparser 0.217.0", - "wit-parser", + "wit-parser 0.217.0", ] [[package]] @@ -6377,7 +6471,7 @@ checksum = "fb893dcd6d370cfdf19a0d9adfcd403efb8e544e1a0ea3a8b81a21fe392eaa78" dependencies = [ "anyhow", "id-arena", - "indexmap 2.2.6", + "indexmap 2.7.1", "log", "semver", "serde", @@ -6387,6 +6481,24 @@ dependencies = [ "wasmparser 0.217.0", ] +[[package]] +name = "wit-parser" +version = "0.221.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbe1538eea6ea5ddbe5defd0dc82539ad7ba751e1631e9185d24a931f0a5adc8" +dependencies = [ + "anyhow", + "id-arena", + "indexmap 2.7.1", + "log", + "semver", + "serde", + "serde_derive", + "serde_json", + "unicode-xid", + "wasmparser 0.221.2", +] + [[package]] name = "witx" version = "0.9.1" @@ -6423,7 +6535,7 @@ checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.76", + "syn 2.0.87", ] [[package]] diff --git a/examples/spin-timer/Cargo.toml b/examples/spin-timer/Cargo.toml index 8fe12fba0e..5e7faa989f 100644 --- a/examples/spin-timer/Cargo.toml +++ b/examples/spin-timer/Cargo.toml @@ -13,6 +13,6 @@ spin-runtime-factors = { path = "../../crates/runtime-factors" } spin-trigger = { path = "../../crates/trigger" } tokio = { version = "1", features = ["full"] } tokio-scoped = "0.2.0" -wasmtime = "25.0.0" +wasmtime = "29.0.1" [workspace] diff --git a/tests/integration.rs b/tests/integration.rs index 442ee3a8d9..6c6bb84e18 100644 --- a/tests/integration.rs +++ b/tests/integration.rs @@ -929,7 +929,7 @@ route = "/..." /// Make sure that the plugin is uninstalled after the test struct Uninstaller<'a>(&'a test_environment::TestEnvironment<()>); - impl<'a> Drop for Uninstaller<'a> { + impl Drop for Uninstaller<'_> { fn drop(&mut self) { let mut uninstall = std::process::Command::new(spin_binary()); uninstall.args(["plugins", "uninstall", "example"]); diff --git a/tests/testcases/mod.rs b/tests/testcases/mod.rs index a6f5ad6c90..d237711d26 100644 --- a/tests/testcases/mod.rs +++ b/tests/testcases/mod.rs @@ -98,7 +98,7 @@ pub fn assert_spin_request>( struct TruncatedSlice<'a, T>(&'a [T]); -impl<'a, T: std::fmt::Display> std::fmt::Display for TruncatedSlice<'a, T> { +impl std::fmt::Display for TruncatedSlice<'_, T> { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { f.write_str("[")?; for item in self.0.iter().take(10) { diff --git a/wit/deps/spin-postgres@3.0.0/postgres.wit b/wit/deps/spin-postgres@3.0.0/postgres.wit index 6e94a4056e..55833229e8 100644 --- a/wit/deps/spin-postgres@3.0.0/postgres.wit +++ b/wit/deps/spin-postgres@3.0.0/postgres.wit @@ -35,8 +35,8 @@ interface postgres { int16(s16), int32(s32), int64(s64), - floating32(float32), - floating64(float64), + floating32(f32), + floating64(f64), str(string), binary(list), date(tuple), // (year, month, day) @@ -57,8 +57,8 @@ interface postgres { int16(s16), int32(s32), int64(s64), - floating32(float32), - floating64(float64), + floating32(f32), + floating64(f64), str(string), binary(list), date(tuple), // (year, month, day) diff --git a/wit/deps/spin@2.0.0/llm.wit b/wit/deps/spin@2.0.0/llm.wit index ffed09ccde..bcb59b868d 100644 --- a/wit/deps/spin@2.0.0/llm.wit +++ b/wit/deps/spin@2.0.0/llm.wit @@ -10,15 +10,15 @@ interface llm { /// Note: the backing implementation may return less tokens. max-tokens: u32, /// The amount the model should avoid repeating tokens. - repeat-penalty: float32, + repeat-penalty: f32, /// The number of tokens the model should apply the repeat penalty to. repeat-penalty-last-n-token-count: u32, /// The randomness with which the next token is selected. - temperature: float32, + temperature: f32, /// The number of possible next tokens the model will choose from. top-k: u32, /// The probability total of next tokens the model will choose from. - top-p: float32 + top-p: f32 } /// The set of errors which may be raised by functions in this interface @@ -57,7 +57,7 @@ interface llm { /// Result of generating embeddings record embeddings-result { /// The embeddings generated by the request - embeddings: list>, + embeddings: list>, /// Usage related to the embeddings generation request usage: embeddings-usage } diff --git a/wit/deps/spin@2.0.0/rdbms-types.wit b/wit/deps/spin@2.0.0/rdbms-types.wit index 64f3e59ac8..aff2e96023 100644 --- a/wit/deps/spin@2.0.0/rdbms-types.wit +++ b/wit/deps/spin@2.0.0/rdbms-types.wit @@ -37,8 +37,8 @@ interface rdbms-types { uint16(u16), uint32(u32), uint64(u64), - floating32(float32), - floating64(float64), + floating32(f32), + floating64(f64), str(string), binary(list), db-null, @@ -56,8 +56,8 @@ interface rdbms-types { uint16(u16), uint32(u32), uint64(u64), - floating32(float32), - floating64(float64), + floating32(f32), + floating64(f64), str(string), binary(list), db-null, diff --git a/wit/deps/spin@2.0.0/sqlite.wit b/wit/deps/spin@2.0.0/sqlite.wit index 8a5ab2de84..d82f2d9058 100644 --- a/wit/deps/spin@2.0.0/sqlite.wit +++ b/wit/deps/spin@2.0.0/sqlite.wit @@ -42,7 +42,7 @@ interface sqlite { /// A single column's result from a database query variant value { integer(s64), - real(float64), + real(f64), text(string), blob(list), null diff --git a/wit/deps/spin@unversioned/llm.wit b/wit/deps/spin@unversioned/llm.wit index ffed09ccde..bcb59b868d 100644 --- a/wit/deps/spin@unversioned/llm.wit +++ b/wit/deps/spin@unversioned/llm.wit @@ -10,15 +10,15 @@ interface llm { /// Note: the backing implementation may return less tokens. max-tokens: u32, /// The amount the model should avoid repeating tokens. - repeat-penalty: float32, + repeat-penalty: f32, /// The number of tokens the model should apply the repeat penalty to. repeat-penalty-last-n-token-count: u32, /// The randomness with which the next token is selected. - temperature: float32, + temperature: f32, /// The number of possible next tokens the model will choose from. top-k: u32, /// The probability total of next tokens the model will choose from. - top-p: float32 + top-p: f32 } /// The set of errors which may be raised by functions in this interface @@ -57,7 +57,7 @@ interface llm { /// Result of generating embeddings record embeddings-result { /// The embeddings generated by the request - embeddings: list>, + embeddings: list>, /// Usage related to the embeddings generation request usage: embeddings-usage } diff --git a/wit/deps/spin@unversioned/rdbms-types.wit b/wit/deps/spin@unversioned/rdbms-types.wit index 7af04209cb..8f9c9c3827 100644 --- a/wit/deps/spin@unversioned/rdbms-types.wit +++ b/wit/deps/spin@unversioned/rdbms-types.wit @@ -26,8 +26,8 @@ interface rdbms-types { uint16(u16), uint32(u32), uint64(u64), - floating32(float32), - floating64(float64), + floating32(f32), + floating64(f64), str(string), binary(list), db-null, @@ -44,8 +44,8 @@ interface rdbms-types { uint16(u16), uint32(u32), uint64(u64), - floating32(float32), - floating64(float64), + floating32(f32), + floating64(f64), str(string), binary(list), db-null, diff --git a/wit/deps/spin@unversioned/sqlite.wit b/wit/deps/spin@unversioned/sqlite.wit index 7e2908f033..d5abcb2b8f 100644 --- a/wit/deps/spin@unversioned/sqlite.wit +++ b/wit/deps/spin@unversioned/sqlite.wit @@ -44,7 +44,7 @@ interface sqlite { variant value { integer(s64), - real(float64), + real(f64), text(string), blob(list), null