diff --git a/Cargo.lock b/Cargo.lock
index a3a4b4c6..2b2e2bff 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -195,7 +195,7 @@ dependencies = [
  "reflink-copy",
  "tempfile",
  "tracing",
- "windows 0.59.0",
+ "windows 0.60.0",
 ]
 
 [[package]]
@@ -708,9 +708,9 @@ dependencies = [
 
 [[package]]
 name = "clap"
-version = "4.5.29"
+version = "4.5.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8acebd8ad879283633b343856142139f2da2317c96b05b4dd6181c61e2480184"
+checksum = "92b7b18d71fad5313a1e320fa9897994228ce274b60faa4d694fe0ea89cd9e6d"
 dependencies = [
  "clap_builder",
  "clap_derive",
@@ -728,9 +728,9 @@ dependencies = [
 
 [[package]]
 name = "clap_builder"
-version = "4.5.29"
+version = "4.5.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f6ba32cbda51c7e1dfd49acc1457ba1a7dec5b64fe360e828acb13ca8dc9c2f9"
+checksum = "a35db2071778a7344791a4fb4f95308b5673d219dee3ae348b86642574ecc90c"
 dependencies = [
  "anstream",
  "anstyle",
@@ -2793,9 +2793,9 @@ dependencies = [
 
 [[package]]
 name = "log"
-version = "0.4.25"
+version = "0.4.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "04cbf5b083de1c7e0222a7a51dbfdba1cbe1c6ab0b15e29fff3f6c077fd9cd9f"
+checksum = "30bde2b3dc3671ae49d8e2e9f044c7c005836e7a023ee57cffa25ab82764bb9e"
 
 [[package]]
 name = "loom"
@@ -3943,9 +3943,9 @@ dependencies = [
 
 [[package]]
 name = "serde"
-version = "1.0.217"
+version = "1.0.218"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "02fc4265df13d6fa1d00ecff087228cc0a2b5f3c0e87e258d8b94a156e984c70"
+checksum = "e8dfc9d19bdbf6d17e22319da49161d5d0108e4188e8b680aef6299eed22df60"
 dependencies = [
  "serde_derive",
 ]
@@ -3961,9 +3961,9 @@ dependencies = [
 
 [[package]]
 name = "serde_derive"
-version = "1.0.217"
+version = "1.0.218"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a9bf7cf98d04a2b28aead066b7496853d4779c9cc183c440dbac457641e19a0"
+checksum = "f09503e191f4e797cb8aac08e9a4a4695c5edf6a2e70e376d961ddd5c969f82b"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -3972,9 +3972,9 @@ dependencies = [
 
 [[package]]
 name = "serde_json"
-version = "1.0.138"
+version = "1.0.139"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d434192e7da787e94a6ea7e9670b26a036d0ca41e0b7efb2676dd32bae872949"
+checksum = "44f86c3acccc9c65b153fe1b85a3be07fe5515274ec9f0653b4a0875731c72a6"
 dependencies = [
  "itoa",
  "memchr",
@@ -4136,15 +4136,15 @@ checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"
 
 [[package]]
 name = "strum"
-version = "0.27.0"
+version = "0.27.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ce1475c515a4f03a8a7129bb5228b81a781a86cb0b3fbbc19e1c556d491a401f"
+checksum = "f64def088c51c9510a8579e3c5d67c65349dcf755e5479ad3d010aa6454e2c32"
 
 [[package]]
 name = "strum_macros"
-version = "0.27.0"
+version = "0.27.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9688894b43459159c82bfa5a5fa0435c19cbe3c9b427fa1dd7b1ce0c279b18a7"
+checksum = "c77a8c5abcaf0f9ce05d62342b7d298c346515365c36b673df4ebe3ced01fde8"
 dependencies = [
  "heck",
  "proc-macro2",
@@ -4995,6 +4995,28 @@ dependencies = [
  "windows-targets 0.53.0",
 ]
 
+[[package]]
+name = "windows"
+version = "0.60.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ddf874e74c7a99773e62b1c671427abf01a425e77c3d3fb9fb1e4883ea934529"
+dependencies = [
+ "windows-collections",
+ "windows-core 0.60.1",
+ "windows-future",
+ "windows-link",
+ "windows-numerics",
+]
+
+[[package]]
+name = "windows-collections"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5467f79cc1ba3f52ebb2ed41dbb459b8e7db636cc3429458d9a852e15bc24dec"
+dependencies = [
+ "windows-core 0.60.1",
+]
+
 [[package]]
 name = "windows-core"
 version = "0.52.0"
@@ -5025,11 +5047,34 @@ checksum = "810ce18ed2112484b0d4e15d022e5f598113e220c53e373fb31e67e21670c1ce"
 dependencies = [
  "windows-implement 0.59.0",
  "windows-interface 0.59.0",
- "windows-result 0.3.0",
- "windows-strings 0.3.0",
+ "windows-result 0.3.1",
+ "windows-strings 0.3.1",
  "windows-targets 0.53.0",
 ]
 
+[[package]]
+name = "windows-core"
+version = "0.60.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ca21a92a9cae9bf4ccae5cf8368dce0837100ddf6e6d57936749e85f152f6247"
+dependencies = [
+ "windows-implement 0.59.0",
+ "windows-interface 0.59.0",
+ "windows-link",
+ "windows-result 0.3.1",
+ "windows-strings 0.3.1",
+]
+
+[[package]]
+name = "windows-future"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a787db4595e7eb80239b74ce8babfb1363d8e343ab072f2ffe901400c03349f0"
+dependencies = [
+ "windows-core 0.60.1",
+ "windows-link",
+]
+
 [[package]]
 name = "windows-implement"
 version = "0.58.0"
@@ -5074,6 +5119,22 @@ dependencies = [
  "syn",
 ]
 
+[[package]]
+name = "windows-link"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6dccfd733ce2b1753b03b6d3c65edf020262ea35e20ccdf3e288043e6dd620e3"
+
+[[package]]
+name = "windows-numerics"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "005dea54e2f6499f2cee279b8f703b3cf3b5734a2d8d21867c8f44003182eeed"
+dependencies = [
+ "windows-core 0.60.1",
+ "windows-link",
+]
+
 [[package]]
 name = "windows-registry"
 version = "0.2.0"
@@ -5096,11 +5157,11 @@ dependencies = [
 
 [[package]]
 name = "windows-result"
-version = "0.3.0"
+version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d08106ce80268c4067c0571ca55a9b4e9516518eaa1a1fe9b37ca403ae1d1a34"
+checksum = "06374efe858fab7e4f881500e6e86ec8bc28f9462c47e5a9941a0142ad86b189"
 dependencies = [
- "windows-targets 0.53.0",
+ "windows-link",
 ]
 
 [[package]]
@@ -5115,11 +5176,11 @@ dependencies = [
 
 [[package]]
 name = "windows-strings"
-version = "0.3.0"
+version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b888f919960b42ea4e11c2f408fadb55f78a9f236d5eef084103c8ce52893491"
+checksum = "87fa48cc5d406560701792be122a10132491cff9d0aeb23583cc2dcafc847319"
 dependencies = [
- "windows-targets 0.53.0",
+ "windows-link",
 ]
 
 [[package]]
@@ -5538,9 +5599,9 @@ dependencies = [
 
 [[package]]
 name = "zstd"
-version = "0.13.2"
+version = "0.13.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fcf2b778a664581e31e389454a7072dab1647606d44f7feea22cd5abb9c9f3f9"
+checksum = "e91ee311a569c327171651566e07972200e76fcfe2242a4fa446149a3881c08a"
 dependencies = [
  "zstd-safe",
 ]
diff --git a/crates/atomic-file-install/Cargo.toml b/crates/atomic-file-install/Cargo.toml
index 70bf4af7..99068c77 100644
--- a/crates/atomic-file-install/Cargo.toml
+++ b/crates/atomic-file-install/Cargo.toml
@@ -15,4 +15,4 @@ tempfile = "3.5.0"
 tracing = "0.1.39"
 
 [target.'cfg(windows)'.dependencies]
-windows = { version = "0.59.0", features = ["Win32_Storage_FileSystem", "Win32_Foundation"] }
+windows = { version = "0.60.0", features = ["Win32_Storage_FileSystem", "Win32_Foundation"] }
diff --git a/crates/bin/Cargo.toml b/crates/bin/Cargo.toml
index 1000f875..d97086f6 100644
--- a/crates/bin/Cargo.toml
+++ b/crates/bin/Cargo.toml
@@ -25,19 +25,19 @@ pkg-fmt = "zip"
 atomic-file-install = { version = "1.0.9", path = "../atomic-file-install" }
 binstalk = { path = "../binstalk", version = "0.28.25", default-features = false }
 binstalk-manifests = { path = "../binstalk-manifests", version = "0.15.22" }
-clap = { version = "4.5.3", features = ["derive", "env", "wrap_help"] }
+clap = { version = "4.5.30", features = ["derive", "env", "wrap_help"] }
 clap-cargo = "0.15.2"
 compact_str = "0.8.0"
 dirs = "6.0.0"
 file-format = { version = "0.26.0", default-features = false }
 home = "0.5.9"
-log = { version = "0.4.22", features = ["std"] }
+log = { version = "0.4.26", features = ["std"] }
 miette = "7.0.0"
 mimalloc = { version = "0.1.39", default-features = false, optional = true }
 once_cell = "1.18.0"
 semver = "1.0.17"
-strum = "0.27.0"
-strum_macros = "0.27.0"
+strum = "0.27.1"
+strum_macros = "0.27.1"
 supports-color = "3.0.0"
 tempfile = "3.5.0"
 tokio = { version = "1.35.0", features = ["rt-multi-thread", "signal"], default-features = false }
diff --git a/crates/binstalk-downloader/Cargo.toml b/crates/binstalk-downloader/Cargo.toml
index 43def914..70f18ef7 100644
--- a/crates/binstalk-downloader/Cargo.toml
+++ b/crates/binstalk-downloader/Cargo.toml
@@ -42,8 +42,8 @@ reqwest = { version = "0.12.5", features = [
     "brotli",
     "deflate",
 ], default-features = false }
-serde = { version = "1.0.163", features = ["derive"], optional = true }
-serde_json = { version = "1.0.107", optional = true }
+serde = { version = "1.0.218", features = ["derive"], optional = true }
+serde_json = { version = "1.0.139", optional = true }
 # Use a fork here since we need PAX support, but the upstream
 # does not hav the PR merged yet.
 #
@@ -73,7 +73,7 @@ xz2 = "0.1.7"
 # Since zip 0.6.3 depends on zstd 0.11, we can use 0.12.0 here
 # because it uses the same zstd-sys version.
 # Otherwise there will be a link conflict.
-zstd = { version = "0.13.2", default-features = false }
+zstd = { version = "0.13.3", default-features = false }
 
 [target."cfg(not(target_arch = \"wasm32\"))".dependencies.native-tls-crate]
 optional = true
diff --git a/crates/binstalk-fetchers/Cargo.toml b/crates/binstalk-fetchers/Cargo.toml
index cb89c0a9..bb576611 100644
--- a/crates/binstalk-fetchers/Cargo.toml
+++ b/crates/binstalk-fetchers/Cargo.toml
@@ -24,7 +24,7 @@ leon-macros = "1.0.1"
 miette = "7.0.0"
 minisign-verify = "0.2.1"
 once_cell = "1.18.0"
-strum = "0.27.0"
+strum = "0.27.1"
 thiserror = "2.0.11"
 tokio = { version = "1.35.0", features = [
     "rt",
diff --git a/crates/binstalk-git-repo-api/Cargo.toml b/crates/binstalk-git-repo-api/Cargo.toml
index 82094b50..7d09c432 100644
--- a/crates/binstalk-git-repo-api/Cargo.toml
+++ b/crates/binstalk-git-repo-api/Cargo.toml
@@ -15,9 +15,9 @@ binstalk-downloader = { version = "0.13.12", path = "../binstalk-downloader", de
 ] }
 compact_str = "0.8.0"
 percent-encoding = "2.2.0"
-serde = { version = "1.0.163", features = ["derive"] }
+serde = { version = "1.0.218", features = ["derive"] }
 serde-tuple-vec-map = "1.0.1"
-serde_json = { version = "1.0.107" }
+serde_json = { version = "1.0.139" }
 thiserror = "2.0.11"
 tokio = { version = "1.35.0", features = ["sync"], default-features = false }
 tracing = "0.1.39"
diff --git a/crates/binstalk-manifests/Cargo.toml b/crates/binstalk-manifests/Cargo.toml
index 47fc7066..7b0788b7 100644
--- a/crates/binstalk-manifests/Cargo.toml
+++ b/crates/binstalk-manifests/Cargo.toml
@@ -17,9 +17,9 @@ fs-lock = { version = "0.1.7", path = "../fs-lock" }
 home = "0.5.9"
 miette = "7.0.0"
 semver = { version = "1.0.17", features = ["serde"] }
-serde = { version = "1.0.163", features = ["derive"] }
+serde = { version = "1.0.218", features = ["derive"] }
 serde-tuple-vec-map = "1.0.1"
-serde_json = "1.0.107"
+serde_json = "1.0.139"
 thiserror = "2.0.11"
 toml_edit = { version = "0.22.12", features = ["serde"] }
 url = { version = "2.5.4", features = ["serde"] }
diff --git a/crates/binstalk-registry/Cargo.toml b/crates/binstalk-registry/Cargo.toml
index ebf3db5c..d7e28ab6 100644
--- a/crates/binstalk-registry/Cargo.toml
+++ b/crates/binstalk-registry/Cargo.toml
@@ -24,8 +24,8 @@ miette = "7.0.0"
 normalize-path = { version = "0.2.1", path = "../normalize-path" }
 once_cell = "1.18.0"
 semver = { version = "1.0.17", features = ["serde"] }
-serde = { version = "1.0.163", features = ["derive"] }
-serde_json = "1.0.107"
+serde = { version = "1.0.218", features = ["derive"] }
+serde_json = "1.0.139"
 sha2 = "0.10.7"
 simple-git = { version = "0.2.4", optional = true }
 tempfile = "3.5.0"
diff --git a/crates/binstalk-types/Cargo.toml b/crates/binstalk-types/Cargo.toml
index 3c9f3272..b930b630 100644
--- a/crates/binstalk-types/Cargo.toml
+++ b/crates/binstalk-types/Cargo.toml
@@ -14,9 +14,9 @@ compact_str = { version = "0.8.0", features = ["serde"] }
 maybe-owned = { version = "0.3.4", features = ["serde"] }
 once_cell = "1.18.0"
 semver = { version = "1.0.17", features = ["serde"] }
-serde = { version = "1.0.163", features = ["derive"] }
-strum = "0.27.0"
-strum_macros = "0.27.0"
+serde = { version = "1.0.218", features = ["derive"] }
+strum = "0.27.1"
+strum_macros = "0.27.1"
 url = { version = "2.5.4", features = ["serde"] }
 
 [dev-dependencies]
diff --git a/crates/binstalk/Cargo.toml b/crates/binstalk/Cargo.toml
index 107c44a7..383e926f 100644
--- a/crates/binstalk/Cargo.toml
+++ b/crates/binstalk/Cargo.toml
@@ -32,7 +32,7 @@ maybe-owned = "0.3.4"
 miette = "7.0.0"
 semver = { version = "1.0.17", features = ["serde"] }
 simple-git = { version = "0.2.10", optional = true }
-strum = "0.27.0"
+strum = "0.27.1"
 target-lexicon = { version = "0.13.0", features = ["std"] }
 tempfile = "3.5.0"
 thiserror = "2.0.11"
diff --git a/crates/cargo-toml-workspace/Cargo.toml b/crates/cargo-toml-workspace/Cargo.toml
index 0998b69b..d48ec437 100644
--- a/crates/cargo-toml-workspace/Cargo.toml
+++ b/crates/cargo-toml-workspace/Cargo.toml
@@ -14,7 +14,7 @@ cargo_toml = "0.21.0"
 compact_str = { version = "0.8.0", features = ["serde"] }
 glob = "0.3.1"
 normalize-path = { version = "0.2.1", path = "../normalize-path" }
-serde = "1.0.163"
+serde = "1.0.218"
 thiserror = "2.0.11"
 tracing = "0.1.39"