diff --git a/Cargo.lock b/Cargo.lock
index d1dbd18f..04ad9b9e 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -627,7 +627,7 @@ name = "dc-api-test-helpers"
version = "0.1.0"
dependencies = [
"dc-api-types",
- "itertools 0.10.5",
+ "itertools 0.12.1",
]
[[package]]
@@ -635,7 +635,7 @@ name = "dc-api-types"
version = "0.1.0"
dependencies = [
"anyhow",
- "itertools 0.10.5",
+ "itertools 0.12.1",
"mongodb",
"nonempty",
"once_cell",
@@ -1654,7 +1654,7 @@ dependencies = [
"http 0.2.9",
"indent",
"indexmap 1.9.3",
- "itertools 0.10.5",
+ "itertools 0.12.1",
"mockall",
"mongodb",
"mongodb-cli-plugin",
@@ -1709,7 +1709,7 @@ dependencies = [
"futures",
"http 0.2.9",
"indexmap 2.2.5",
- "itertools 0.10.5",
+ "itertools 0.12.1",
"lazy_static",
"mongodb",
"mongodb-agent-common",
@@ -1828,7 +1828,7 @@ name = "ndc-test-helpers"
version = "0.1.0"
dependencies = [
"indexmap 2.2.5",
- "itertools 0.10.5",
+ "itertools 0.12.1",
"ndc-models",
"serde_json",
]
diff --git a/Cargo.toml b/Cargo.toml
index f0d32f10..e61ce41e 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -23,6 +23,8 @@ resolver = "2"
ndc-sdk = { git = "https://github.com/hasura/ndc-sdk-rs.git" }
ndc-models = { git = "http://github.com/hasura/ndc-spec.git", tag = "v0.1.2" }
+itertools = "^0.12.1"
+
# We have a fork of the mongodb driver with a fix for reading metadata from time
# series collections.
# See the upstream PR: https://github.com/mongodb/mongo-rust-driver/pull/1003
diff --git a/crates/cli/Cargo.toml b/crates/cli/Cargo.toml
index fb1da2ad..80f3268f 100644
--- a/crates/cli/Cargo.toml
+++ b/crates/cli/Cargo.toml
@@ -13,7 +13,7 @@ anyhow = "1.0.80"
clap = { version = "4.5.1", features = ["derive", "env"] }
futures-util = "0.3.28"
indexmap = { version = "1", features = ["serde"] } # must match the version that ndc-client uses
-itertools = "^0.12.1"
+itertools = { workspace = true }
serde = { version = "1.0", features = ["derive"] }
serde_json = { version = "1.0.113", features = ["raw_value"] }
thiserror = "1.0.57"
diff --git a/crates/configuration/Cargo.toml b/crates/configuration/Cargo.toml
index 37d4af35..a4dcc197 100644
--- a/crates/configuration/Cargo.toml
+++ b/crates/configuration/Cargo.toml
@@ -6,7 +6,7 @@ edition = "2021"
[dependencies]
anyhow = "1"
futures = "^0.3"
-itertools = "^0.12"
+itertools = { workspace = true }
mongodb = "2.8"
mongodb-support = { path = "../mongodb-support" }
ndc-models = { workspace = true }
diff --git a/crates/dc-api-test-helpers/Cargo.toml b/crates/dc-api-test-helpers/Cargo.toml
index e1655489..2165ebe7 100644
--- a/crates/dc-api-test-helpers/Cargo.toml
+++ b/crates/dc-api-test-helpers/Cargo.toml
@@ -5,4 +5,4 @@ edition = "2021"
[dependencies]
dc-api-types = { path = "../dc-api-types" }
-itertools = "^0.10"
+itertools = { workspace = true }
diff --git a/crates/dc-api-test-helpers/src/query.rs b/crates/dc-api-test-helpers/src/query.rs
index 27604f58..4d73dccd 100644
--- a/crates/dc-api-test-helpers/src/query.rs
+++ b/crates/dc-api-test-helpers/src/query.rs
@@ -4,12 +4,12 @@ use dc_api_types::{Aggregate, Expression, Field, OrderBy, Query};
#[derive(Clone, Debug, Default)]
pub struct QueryBuilder {
- aggregates: Option