Skip to content
This repository was archived by the owner on Feb 6, 2026. It is now read-only.

Commit e481061

Browse files
merge: #3487
3487: Update Rust dependencies since merging `new-engine` into `main` (ENG-2428) r=nickgerace a=nickgerace ## Description This PR updates every Rust-based dependency by its major, minor or patch version by default. It also moves the `postcard` version declaration from `dal` to the main `Cargo.toml` since the `alloc` feature is a subset of the `use-std` feature. <img src="https://media1.giphy.com/media/26u4n5NamL40WyB1u/giphy.gif"/> ## Exceptions Given the large scope of these changes, this PR does not seek to change any Rust code or fixups barring a small change regarding`EnumVariantNames`. Exceptions to the goal of this PR include the following: - Hold `rustls`, `webpki-roots`, `tokio-vsock` and `yrs` to their minor versions due to API changes - Hold `nix` and `ring` to their current versions due to needing buck2-specific changes - Hold all hyper v1 dependencies to their minor versions due to a longer term effort needed to get us to hyper v1 - Hold `serde_yaml` to its current version due to being unmaintained as of [`0.9.34`](https://github.com/dtolnay/serde-yaml/releases/tag/0.9.34) ## Note As a reminder, the `new-engine` was merged into `main` as of #3113. Co-authored-by: Nick Gerace <nick@systeminit.com>
2 parents d32c071 + 98c6141 commit e481061

File tree

11 files changed

+2444
-2207
lines changed

11 files changed

+2444
-2207
lines changed

Cargo.lock

Lines changed: 534 additions & 482 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 81 additions & 81 deletions
Original file line numberDiff line numberDiff line change
@@ -58,47 +58,47 @@ members = [
5858
]
5959

6060
[workspace.dependencies]
61-
async-nats = { version = "0.33.0", features = ["service"] }
62-
async-recursion = "1.0.4"
63-
async-trait = "0.1.68"
64-
axum = { version = "0.6.18", features = [
61+
async-nats = { version = "0.34.0", features = ["service"] }
62+
async-recursion = "1.0.5"
63+
async-trait = "0.1.79"
64+
axum = { version = "0.6.20", features = [
6565
"macros",
6666
"multipart",
6767
"ws",
6868
] } # todo: upgrade this alongside hyper/http/tokio-tungstenite
69-
base64 = "0.21.0"
70-
blake3 = "1.3.3"
71-
bollard = "0.15.0"
72-
bytes = "1.4.0"
73-
chrono = { version = "0.4.24", features = ["serde"] }
74-
ciborium = "0.2.1"
75-
clap = { version = "4.2.7", features = ["derive", "color", "env", "wrap_help"] }
76-
color-eyre = "0.6.2"
77-
colored = "2.0.4"
78-
comfy-table = { version = "7.0.1", features = [
69+
base64 = "0.22.0"
70+
blake3 = "1.5.1"
71+
bollard = "0.16.1"
72+
bytes = "1.6.0"
73+
chrono = { version = "0.4.37", features = ["serde"] }
74+
ciborium = "0.2.2"
75+
clap = { version = "4.5.4", features = ["derive", "color", "env", "wrap_help"] }
76+
color-eyre = "0.6.3"
77+
colored = "2.1.0"
78+
comfy-table = { version = "7.1.0", features = [
7979
"crossterm",
8080
"tty",
8181
"custom_styling",
8282
] }
83-
config = { version = "0.13.4", default-features = false, features = ["toml"] }
84-
console = "0.15.7"
83+
config = { version = "0.14.0", default-features = false, features = ["toml"] }
84+
console = "0.15.8"
8585
convert_case = "0.6.0"
86-
criterion = { version = "0.3", features = [ "async_tokio" ] }
87-
crossbeam-channel = "0.5.8"
86+
criterion = { version = "0.5.1", features = ["async_tokio"] }
87+
crossbeam-channel = "0.5.12"
8888
deadpool = { version = "0.10.0", features = ["rt_tokio_1"] }
8989
deadpool-postgres = "0.12.1"
90-
derive_builder = "0.12.0"
90+
derive_builder = "0.20.0"
9191
derive_more = "0.99.17"
9292
diff = "0.1.13"
9393
directories = "5.0.1"
9494
docker-api = "0.14.0"
95-
dyn-clone = "1.0.11"
96-
flate2 = "1.0.26"
97-
futures = "0.3.28"
98-
futures-lite = "2.1.0"
95+
dyn-clone = "1.0.17"
96+
flate2 = "1.0.28"
97+
futures = "0.3.30"
98+
futures-lite = "2.3.0"
9999
hex = "0.4.3"
100-
http = "0.2.9" # todo: upgrade this alongside hyper/axum/tokio-tungstenite/tower-http
101-
hyper = { version = "0.14.26", features = [
100+
http = "0.2.12" # todo: upgrade this alongside hyper/axum/tokio-tungstenite/tower-http
101+
hyper = { version = "0.14.28", features = [
102102
"client",
103103
"http1",
104104
"runtime",
@@ -107,115 +107,115 @@ hyper = { version = "0.14.26", features = [
107107
hyperlocal = { version = "0.8.0", default-features = false, features = [
108108
"client",
109109
] } # todo: using the very latest of hyper client 1.x, we _may_ be able to phase this crate
110-
iftree = "1.0.4"
111-
indicatif = "0.17.5"
112-
indexmap = "2.2.2"
113-
indoc = "2.0.1"
114-
inquire = "0.6.2"
115-
itertools = "0.12.0"
116-
jwt-simple = { version = "0.12.6", default-features = false, features = [
110+
iftree = "1.0.5"
111+
indicatif = "0.17.8"
112+
indexmap = "2.2.6"
113+
indoc = "2.0.5"
114+
inquire = "0.7.4"
115+
itertools = "0.12.1"
116+
jwt-simple = { version = "0.12.9", default-features = false, features = [
117117
"pure-rust",
118118
] }
119119
lazy_static = "1.4.0"
120-
moka = { version = "0.12.5", features = [ "future" ] }
120+
moka = { version = "0.12.5", features = ["future"] }
121121
names = { version = "0.14.0", default-features = false }
122122
nix = { version = "0.27.1", features = ["process", "signal"] }
123123
nkeys = "0.4.0"
124-
num_cpus = "1.15.0"
125-
once_cell = "1.17.1"
126-
open = "5.0.0"
124+
num_cpus = "1.16.0"
125+
once_cell = "1.19.0"
126+
open = "5.1.2"
127127
opentelemetry = { version = "0.22.0", features = ["trace"] }
128128
opentelemetry-otlp = "0.15.0"
129129
opentelemetry-semantic-conventions = "0.14.0"
130130
opentelemetry_sdk = { version = "0.22.1", features = ["rt-tokio"] }
131-
ouroboros = "0.18.1"
132-
paste = "1.0.12"
131+
ouroboros = "0.18.3"
132+
paste = "1.0.14"
133133
pathdiff = "0.2.1"
134-
petgraph = { version = "0.6.3", features = ["serde-1"] }
135-
pin-project-lite = "0.2.9"
136-
podman-api = "0.10"
134+
petgraph = { version = "0.6.4", features = ["serde-1"] }
135+
pin-project-lite = "0.2.13"
136+
podman-api = "0.10.0"
137137
postcard = { version = "1.0.8", features = ["use-std"] }
138-
postgres-types = { version = "0.2.5", features = ["derive"] }
139-
pretty_assertions_sorted = "1.2.1"
140-
proc-macro2 = "1.0.56"
141-
quote = "1.0.27"
138+
postgres-types = { version = "0.2.6", features = ["derive"] }
139+
pretty_assertions_sorted = "1.2.3"
140+
proc-macro2 = "1.0.79"
141+
quote = "1.0.35"
142142
rand = "0.8.5"
143-
refinery = { version = "0.8.9", features = ["tokio-postgres"] }
144-
regex = "1.8.1"
145-
remain = "0.2.8"
146-
reqwest = { version = "0.11.17", default-features = false, features = [
143+
refinery = { version = "0.8.12", features = ["tokio-postgres"] }
144+
regex = "1.10.4"
145+
remain = "0.2.13"
146+
reqwest = { version = "0.12.2", default-features = false, features = [
147147
"rustls-tls",
148148
"json",
149149
"multipart",
150150
] }
151151
ring = "=0.17.5" # Upgrading this is possible, but a pain, so we don't want to pick up every new minor version (see: https://github.com/facebook/buck2/commit/91af40b66960d003067c3d241595fb53d1e636c8)
152-
rustls = { version = "0.22.2" }
153-
rustls-pemfile = { version = "2.0.0" }
152+
rustls = { version = "0.22.3" }
153+
rustls-pemfile = { version = "2.1.1" }
154154
rust-s3 = { version = "0.34.0-rc4", default-features = false, features = [
155155
"tokio-rustls-tls",
156156
] }
157-
sea-orm = { version = "0.12.0", features = [
157+
sea-orm = { version = "0.12.15", features = [
158158
"sqlx-postgres",
159159
"runtime-tokio-rustls",
160160
"macros",
161161
"with-chrono",
162162
"debug-print",
163163
] }
164164
self-replace = "1.3.7"
165-
serde = { version = "1.0.160", features = ["derive", "rc"] }
166-
serde-aux = "4.2.0"
167-
serde_json = { version = "1.0.96", features = ["preserve_order"] }
165+
serde = { version = "1.0.197", features = ["derive", "rc"] }
166+
serde-aux = "4.5.0"
167+
serde_json = { version = "1.0.115", features = ["preserve_order"] }
168168
serde_url_params = "0.2.1"
169-
serde_with = "3.0.0"
170-
serde_yaml = "0.9.21"
169+
serde_with = "3.7.0"
170+
serde_yaml = "0.9.33" # NOTE(nick): this has been archived upstream
171171
sled = "0.34.7"
172172
sodiumoxide = "0.2.7"
173-
stream-cancel = "0.8.1"
174-
strum = { version = "0.25.0", features = ["derive"] }
175-
syn = { version = "2.0.15", features = ["full", "extra-traits"] }
176-
tar = "0.4.38"
177-
tempfile = "3.5.0"
178-
test-log = { version = "0.2.11", default-features = false, features = [
173+
stream-cancel = "0.8.2"
174+
strum = { version = "0.26.2", features = ["derive"] }
175+
syn = { version = "2.0.55", features = ["full", "extra-traits"] }
176+
tar = "0.4.40"
177+
tempfile = "3.10.1"
178+
test-log = { version = "0.2.15", default-features = false, features = [
179179
"trace",
180180
] }
181-
thiserror = "1.0.40"
182-
tokio = { version = "1.28.0", features = ["full"] }
183-
tokio-postgres = { version = "0.7.8", features = [
181+
thiserror = "1.0.58"
182+
tokio = { version = "1.37.0", features = ["full"] }
183+
tokio-postgres = { version = "0.7.10", features = [
184184
"runtime",
185185
"with-chrono-0_4",
186186
"with-serde_json-1",
187187
] }
188-
tokio-postgres-rustls = { version = "0.11.0" }
189-
tokio-serde = { version = "0.8.0", features = ["json"] }
190-
tokio-stream = { version = "0.1.14", features = ["sync"] }
191-
tokio-test = "0.4.2"
188+
tokio-postgres-rustls = { version = "0.11.1" }
189+
tokio-serde = { version = "0.9.0", features = ["json"] }
190+
tokio-stream = { version = "0.1.15", features = ["sync"] }
191+
tokio-test = "0.4.4"
192192
tokio-tungstenite = "0.20.1" # todo: pinning back from 0.21.0, upgrade this alongside hyper/http/axum/tokio-tungstenite,tower-http
193-
tokio-util = { version = "0.7.8", features = ["codec", "rt"] }
193+
tokio-util = { version = "0.7.10", features = ["codec", "rt"] }
194194
tokio-vsock = { version = "0.4.0" }
195-
toml = { version = "0.8.8" }
195+
toml = { version = "0.8.12" }
196196
tower = { version = "0.4.13", features = ["full"] }
197-
tower-http = { version = "0.4", features = [
197+
tower-http = { version = "0.4.4", features = [
198198
"compression-br",
199199
"compression-deflate",
200200
"compression-gzip",
201201
"cors",
202202
"trace",
203203
] } # todo: pinning back to 0.4.4, upgrade this alongside hyper/http/axum/tokio-tungstenite
204-
tracing = { version = "0.1" }
204+
tracing = { version = "0.1.40" }
205205
tracing-opentelemetry = "0.23.0"
206206
tracing-subscriber = { version = "0.3.18", features = [
207207
"env-filter",
208208
"json",
209209
"std",
210210
] }
211-
ulid = { version = "1.0.0", features = ["serde"] }
212-
url = { version = "2.3.1", features = ["serde"] }
213-
uuid = { version = "1.3.2", features = ["serde", "v4"] }
214-
vfs = "0.10.0"
215-
vfs-tar = { version = "0.4.0", features = ["mmap"] }
216-
webpki-roots = { version = "0.25.3" }
211+
ulid = { version = "1.1.2", features = ["serde"] }
212+
url = { version = "2.5.0", features = ["serde"] }
213+
uuid = { version = "1.8.0", features = ["serde", "v4"] }
214+
vfs = "0.12.0"
215+
vfs-tar = { version = "0.4.1", features = ["mmap"] }
216+
webpki-roots = { version = "0.25.4" }
217217
y-sync = { version = "0.4.0", features = ["net"] }
218-
yrs = { version = "0.17.2" }
218+
yrs = { version = "0.17.4" }
219219

220220
[patch.crates-io]
221221
# pending a potential merge and release of

bin/cyclone/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ path = "src/main.rs"
1111

1212
[dependencies]
1313
clap = { workspace = true }
14-
color-eyre = { version = "0.6.1" }
14+
color-eyre = { workspace = true }
1515
cyclone-server = { path = "../../lib/cyclone-server" }
1616
telemetry-application = { path = "../../lib/telemetry-application-rs" }
1717
tokio = { workspace = true }

bin/si/src/args.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
use clap::{builder::PossibleValuesParser, Parser, Subcommand};
22
use std::str::FromStr;
3-
use strum::{Display, EnumString, EnumVariantNames};
3+
use strum::{Display, EnumString, VariantNames};
44

55
const NAME: &str = "si";
66

@@ -192,13 +192,13 @@ impl Args {
192192
}
193193
}
194194

195-
#[derive(Clone, Copy, Debug, Display, EnumString, EnumVariantNames)]
195+
#[derive(Clone, Copy, Debug, Display, EnumString, VariantNames)]
196196
pub enum Mode {
197197
#[strum(serialize = "local")]
198198
Local,
199199
}
200200

201-
#[derive(Clone, Copy, Debug, Display, EnumString, EnumVariantNames, PartialEq)]
201+
#[derive(Clone, Copy, Debug, Display, EnumString, VariantNames, PartialEq)]
202202
pub enum Engine {
203203
#[strum(serialize = "docker")]
204204
Docker,

lib/config-file/Cargo.toml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,11 +36,13 @@ pathdiff = { workspace = true }
3636
remain = { workspace = true }
3737
serde = { workspace = true, optional = true }
3838
serde_json = { workspace = true, optional = true }
39-
serde_toml = { package = "toml", version = "0.8.8", optional = true }
4039
serde_yaml = { workspace = true, optional = true }
4140
thiserror = { workspace = true }
4241
tokio = { workspace = true, optional = true }
4342
tracing = { workspace = true }
4443

44+
# FIXME(nick): we should move directly onto the "toml" crate and use the workspace's version.
45+
serde_toml = { package = "toml", version = "0.8.12", optional = true }
46+
4547
[dev-dependencies]
4648
serde = { workspace = true }

lib/dal/Cargo.toml

Lines changed: 21 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,29 @@ rust-version = "1.64"
77
publish = false
88

99
[dependencies]
10+
council-server = { path = "../../lib/council-server" }
11+
nats-subscriber = { path = "../../lib/nats-subscriber" }
12+
object-tree = { path = "../../lib/object-tree" }
13+
si-cbor = { path = "../../lib/si-cbor" }
14+
si-crypto = { path = "../../lib/si-crypto" }
15+
si-data-nats = { path = "../../lib/si-data-nats" }
16+
si-data-pg = { path = "../../lib/si-data-pg" }
17+
si-events = { path = "../../lib/si-events-rs" }
18+
si-hash = { path = "../../lib/si-hash" }
19+
si-layer-cache = { path = "../../lib/si-layer-cache" }
20+
si-pkg = { path = "../../lib/si-pkg" }
21+
si-std = { path = "../../lib/si-std" }
22+
telemetry = { path = "../../lib/telemetry-rs" }
23+
telemetry-nats = { path = "../../lib/telemetry-nats-rs" }
24+
veritech-client = { path = "../../lib/veritech-client" }
25+
1026
async-recursion = { workspace = true }
1127
async-trait = { workspace = true }
1228
base64 = { workspace = true }
1329
blake3 = { workspace = true }
1430
chrono = { workspace = true }
1531
ciborium = { workspace = true }
1632
convert_case = { workspace = true }
17-
council-server = { path = "../../lib/council-server" }
1833
derive_more = { workspace = true }
1934
diff = { workspace = true }
2035
dyn-clone = { workspace = true }
@@ -23,14 +38,11 @@ hex = { workspace = true }
2338
iftree = { workspace = true }
2439
itertools = { workspace = true }
2540
jwt-simple = { workspace = true }
26-
si-layer-cache = { path = "../../lib/si-layer-cache" }
2741
lazy_static = { workspace = true }
28-
nats-subscriber = { path = "../../lib/nats-subscriber" }
29-
object-tree = { path = "../../lib/object-tree" }
3042
once_cell = { workspace = true }
3143
paste = { workspace = true }
3244
petgraph = { workspace = true }
33-
postcard = { version = "1.0.8", features = ["alloc"] }
45+
postcard = { workspace = true }
3446
postgres-types = { workspace = true }
3547
rand = { workspace = true }
3648
refinery = { workspace = true }
@@ -40,32 +52,23 @@ serde = { workspace = true }
4052
serde-aux = { workspace = true }
4153
serde_json = { workspace = true }
4254
serde_with = { workspace = true }
43-
si-cbor = { path = "../../lib/si-cbor" }
44-
si-crypto = { path = "../../lib/si-crypto" }
45-
si-data-nats = { path = "../../lib/si-data-nats" }
46-
si-data-pg = { path = "../../lib/si-data-pg" }
47-
si-events = { path = "../../lib/si-events-rs" }
48-
si-hash = { path = "../../lib/si-hash" }
49-
si-pkg = { path = "../../lib/si-pkg" }
50-
si-std = { path = "../../lib/si-std" }
5155
sled = { workspace = true }
5256
sodiumoxide = { workspace = true }
5357
strum = { workspace = true }
54-
telemetry = { path = "../../lib/telemetry-rs" }
55-
telemetry-nats = { path = "../../lib/telemetry-nats-rs" }
5658
thiserror = { workspace = true }
5759
tokio = { workspace = true }
5860
tokio-stream = { workspace = true }
5961
ulid = { workspace = true }
6062
url = { workspace = true }
61-
veritech-client = { path = "../../lib/veritech-client" }
6263

6364
[dev-dependencies]
6465
buck2-resources = { path = "../../lib/buck2-resources" }
6566
dal-test = { path = "../../lib/dal-test" }
67+
telemetry = { path = "../../lib/telemetry-rs" }
68+
telemetry-nats = { path = "../../lib/telemetry-nats-rs" }
69+
veritech-client = { path = "../../lib/veritech-client" }
70+
6671
itertools = { workspace = true }
6772
pretty_assertions_sorted = { workspace = true }
68-
rebaser-core = { path = "../../lib/rebaser-core" }
69-
rebaser-server = { path = "../../lib/rebaser-server" }
7073
tempfile = { workspace = true }
7174
tokio-util = { workspace = true }

lib/dal/src/lib.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ use rand::Rng;
1313
use serde_with::{DeserializeFromStr, SerializeDisplay};
1414
use si_data_nats::NatsError;
1515
use si_data_pg::{PgError, PgPool, PgPoolError};
16-
use strum::{Display, EnumString, EnumVariantNames};
16+
use strum::{Display, EnumString, VariantNames};
1717
use telemetry::prelude::*;
1818
use thiserror::Error;
1919
use tokio::time;
@@ -242,7 +242,7 @@ pub fn generate_name() -> String {
242242
DeserializeFromStr,
243243
Display,
244244
EnumString,
245-
EnumVariantNames,
245+
VariantNames,
246246
Eq,
247247
PartialEq,
248248
SerializeDisplay,

0 commit comments

Comments
 (0)