From 0ed17a653b11a140ac4db08a9afd5715c4e1c459 Mon Sep 17 00:00:00 2001 From: Dan Rammer Date: Thu, 17 Sep 2026 15:47:16 -0500 Subject: [PATCH] feat: update lance dependency to v12.0.0 (#4216) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Targets `release/v0.39`, not `main`. That branch was cut from `56bbd19f`, the last commit on `main` still pinned to lance 12, and carries eight backported fixes; it will publish the next stable lancedb on the lance 12.0.0 release. ## What changed Rust workspace lance crates and `java/pom.xml` `lance-core` move from `v12.0.0-beta.18` to [`v12.0.0`](https://github.com/lance-format/lance/releases/tag/v12.0.0). No compatibility fixes were needed. Because the target is a stable lance, `ci/set_lance_version.py` takes the `set_stable_version` path, so the workspace dependencies drop their `git` and `tag` fields and resolve from crates.io. That switch is required for the release itself — `cargo publish` rejects a crate with git dependencies — and `Cargo.lock` now has zero `lance-format/lance` references. ## Validation * `python3 ci/validate_stable_lance.py` passes — the gate the `Create Release Commit` workflow runs for a stable release. * `cargo fmt --all`, `git diff --check` clean. * All lance 12.0.0 crates confirmed published on crates.io, and `org.lance:lance-core:12.0.0` on Maven Central. * Full build and test verification is delegated to this PR's CI, which also exercises the eight backported fixes on the branch. 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Opus 5 (1M context) --- Cargo.lock | 108 ++++++++++++++++++------------ Cargo.toml | 28 ++++---- java/pom.xml | 2 +- rust/lancedb/src/remote/client.rs | 2 +- 4 files changed, 82 insertions(+), 58 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 05b7cbf68..e2358f305 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3491,8 +3491,9 @@ checksum = "42703706b716c37f96a77aea830392ad231f44c9e9a67872fa5548707e11b11c" [[package]] name = "fsst" -version = "12.0.0-beta.18" -source = "git+https://github.com/lance-format/lance.git?tag=v12.0.0-beta.18#1047c4bdbf36331cff2d9e21ab525c45ed741f93" +version = "12.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68d5636222ec95b9cf3dea6eaf7b6e126f493e8c778fde448b31023ac75f9f62" dependencies = [ "arrow-array", "rand 0.9.5", @@ -4863,8 +4864,9 @@ checksum = "e037a2e1d8d5fdbd49b16a4ea09d5d6401c1f29eca5ff29d03d3824dba16256a" [[package]] name = "lance" -version = "12.0.0-beta.18" -source = "git+https://github.com/lance-format/lance.git?tag=v12.0.0-beta.18#1047c4bdbf36331cff2d9e21ab525c45ed741f93" +version = "12.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc89ff0ce9a63c7c937831b9a917429d83f40b17119da728c5469ffcae7d735a" dependencies = [ "arc-swap", "arrow", @@ -4936,8 +4938,9 @@ dependencies = [ [[package]] name = "lance-arrow" -version = "12.0.0-beta.18" -source = "git+https://github.com/lance-format/lance.git?tag=v12.0.0-beta.18#1047c4bdbf36331cff2d9e21ab525c45ed741f93" +version = "12.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3eb5ac7fd453e7039269ac307554f503ea82729735559659a3e26ae64ce2556c" dependencies = [ "arrow-array", "arrow-buffer", @@ -4959,7 +4962,8 @@ dependencies = [ [[package]] name = "lance-arrow-scalar" version = "58.0.0" -source = "git+https://github.com/lance-format/lance.git?tag=v12.0.0-beta.18#1047c4bdbf36331cff2d9e21ab525c45ed741f93" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "771f68b04b47f3addf781116f65061808de94b05e1e9411c23c18f32d14ebe79" dependencies = [ "arrow-array", "arrow-buffer", @@ -4973,17 +4977,20 @@ dependencies = [ [[package]] name = "lance-arrow-stats" version = "58.0.0" -source = "git+https://github.com/lance-format/lance.git?tag=v12.0.0-beta.18#1047c4bdbf36331cff2d9e21ab525c45ed741f93" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd47ec33c90bf29f688fd02118e37d3a5ad5c339caa3163f89e417dc0867001f" dependencies = [ "arrow-array", "arrow-schema", + "half", "lance-arrow-scalar", ] [[package]] name = "lance-bitpacking" -version = "12.0.0-beta.18" -source = "git+https://github.com/lance-format/lance.git?tag=v12.0.0-beta.18#1047c4bdbf36331cff2d9e21ab525c45ed741f93" +version = "12.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9a320dad20dfa3a6cb70c2f88e24a8b53b6ed461bc69fd66354d30a3d29fee4" dependencies = [ "arrayref", "crunchy", @@ -4993,8 +5000,9 @@ dependencies = [ [[package]] name = "lance-core" -version = "12.0.0-beta.18" -source = "git+https://github.com/lance-format/lance.git?tag=v12.0.0-beta.18#1047c4bdbf36331cff2d9e21ab525c45ed741f93" +version = "12.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "31a96f90f1bd8d9c224f85c93dd856aaa0de405ce67325bf1f8ea58bc5cd3047" dependencies = [ "arrow-array", "arrow-buffer", @@ -5031,8 +5039,9 @@ dependencies = [ [[package]] name = "lance-datafusion" -version = "12.0.0-beta.18" -source = "git+https://github.com/lance-format/lance.git?tag=v12.0.0-beta.18#1047c4bdbf36331cff2d9e21ab525c45ed741f93" +version = "12.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "937780214df9ba669cd551acf32478ee566f024e6bd1e8f66042630151e74dce" dependencies = [ "arrow", "arrow-array", @@ -5062,8 +5071,9 @@ dependencies = [ [[package]] name = "lance-datagen" -version = "12.0.0-beta.18" -source = "git+https://github.com/lance-format/lance.git?tag=v12.0.0-beta.18#1047c4bdbf36331cff2d9e21ab525c45ed741f93" +version = "12.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3761bc0acaed4ba58e3e2c01392790ab5079281f64575572c51915ed4c92096a" dependencies = [ "arrow", "arrow-array", @@ -5080,8 +5090,9 @@ dependencies = [ [[package]] name = "lance-derive" -version = "12.0.0-beta.18" -source = "git+https://github.com/lance-format/lance.git?tag=v12.0.0-beta.18#1047c4bdbf36331cff2d9e21ab525c45ed741f93" +version = "12.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15aadaca1d2625b5cb48a895d7e522431e15c22152252c385e4e7d1df6333fa2" dependencies = [ "proc-macro2", "quote", @@ -5090,8 +5101,9 @@ dependencies = [ [[package]] name = "lance-encoding" -version = "12.0.0-beta.18" -source = "git+https://github.com/lance-format/lance.git?tag=v12.0.0-beta.18#1047c4bdbf36331cff2d9e21ab525c45ed741f93" +version = "12.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a2c82ceed3511490555c211df37dd774c31e3bca0c0566aa0ae5be7b0701549" dependencies = [ "arrow-arith", "arrow-array", @@ -5124,8 +5136,9 @@ dependencies = [ [[package]] name = "lance-file" -version = "12.0.0-beta.18" -source = "git+https://github.com/lance-format/lance.git?tag=v12.0.0-beta.18#1047c4bdbf36331cff2d9e21ab525c45ed741f93" +version = "12.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21c704610da562be51e21ef71eb7f3c8efaf5975a3f7ec8f0631ee35d1989435" dependencies = [ "arrow-arith", "arrow-array", @@ -5150,14 +5163,16 @@ dependencies = [ "prost", "prost-build", "prost-types", + "serde", "tokio", "tracing", ] [[package]] name = "lance-index" -version = "12.0.0-beta.18" -source = "git+https://github.com/lance-format/lance.git?tag=v12.0.0-beta.18#1047c4bdbf36331cff2d9e21ab525c45ed741f93" +version = "12.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1169440f84972a1e66021718dbb46470579f94f7cec6559790bb22d7e0b2e3d3" dependencies = [ "arc-swap", "arrow", @@ -5221,8 +5236,9 @@ dependencies = [ [[package]] name = "lance-index-core" -version = "12.0.0-beta.18" -source = "git+https://github.com/lance-format/lance.git?tag=v12.0.0-beta.18#1047c4bdbf36331cff2d9e21ab525c45ed741f93" +version = "12.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f09961b73268e906cbe82d935d314e20d5143bd9b9d6efba75ceca83685e8054" dependencies = [ "arrow-array", "arrow-schema", @@ -5244,8 +5260,9 @@ dependencies = [ [[package]] name = "lance-io" -version = "12.0.0-beta.18" -source = "git+https://github.com/lance-format/lance.git?tag=v12.0.0-beta.18#1047c4bdbf36331cff2d9e21ab525c45ed741f93" +version = "12.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ead37ec60a2752a8cbf9c0ce0eb589b3e413665441debdfb64ba41e7fb3b593" dependencies = [ "arrow", "arrow-array", @@ -5285,8 +5302,9 @@ dependencies = [ [[package]] name = "lance-linalg" -version = "12.0.0-beta.18" -source = "git+https://github.com/lance-format/lance.git?tag=v12.0.0-beta.18#1047c4bdbf36331cff2d9e21ab525c45ed741f93" +version = "12.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0b7e56214caab7b640a419080a19c24a61a020f1de79bbd141175b20faac59b" dependencies = [ "arrow-array", "arrow-schema", @@ -5300,8 +5318,9 @@ dependencies = [ [[package]] name = "lance-namespace" -version = "12.0.0-beta.18" -source = "git+https://github.com/lance-format/lance.git?tag=v12.0.0-beta.18#1047c4bdbf36331cff2d9e21ab525c45ed741f93" +version = "12.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d104407302278d44192f4e5965730f6e3cb668f8c5d2eb883d1fba7e5cd0ad4" dependencies = [ "arrow", "async-trait", @@ -5315,8 +5334,9 @@ dependencies = [ [[package]] name = "lance-namespace-impls" -version = "12.0.0-beta.18" -source = "git+https://github.com/lance-format/lance.git?tag=v12.0.0-beta.18#1047c4bdbf36331cff2d9e21ab525c45ed741f93" +version = "12.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d07bb9848d0552f61d2187a17efcc9fdec7518943adec3421a8bc937f370f7cd" dependencies = [ "arrow", "arrow-ipc", @@ -5369,8 +5389,9 @@ dependencies = [ [[package]] name = "lance-select" -version = "12.0.0-beta.18" -source = "git+https://github.com/lance-format/lance.git?tag=v12.0.0-beta.18#1047c4bdbf36331cff2d9e21ab525c45ed741f93" +version = "12.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f475444648a63cfa0065bac04ae9520f410951c9873069be3afa54585f6b14ab" dependencies = [ "arrow-array", "arrow-buffer", @@ -5384,8 +5405,9 @@ dependencies = [ [[package]] name = "lance-table" -version = "12.0.0-beta.18" -source = "git+https://github.com/lance-format/lance.git?tag=v12.0.0-beta.18#1047c4bdbf36331cff2d9e21ab525c45ed741f93" +version = "12.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15423924ee8999c0be05d477bd3eb02d85ceca974af65586d452162ad20d47c8" dependencies = [ "arrow", "arrow-array", @@ -5425,8 +5447,9 @@ dependencies = [ [[package]] name = "lance-testing" -version = "12.0.0-beta.18" -source = "git+https://github.com/lance-format/lance.git?tag=v12.0.0-beta.18#1047c4bdbf36331cff2d9e21ab525c45ed741f93" +version = "12.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b3524ba24f0eb9089871587ced4379685b4b32acc52f905efd078fb349c0171" dependencies = [ "arrow-array", "arrow-schema", @@ -5439,8 +5462,9 @@ dependencies = [ [[package]] name = "lance-tokenizer" -version = "12.0.0-beta.18" -source = "git+https://github.com/lance-format/lance.git?tag=v12.0.0-beta.18#1047c4bdbf36331cff2d9e21ab525c45ed741f93" +version = "12.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0e597cdd637f7318b155b823d1a38d837877c191c7c656d9de272a4d704e0a1" dependencies = [ "frostem", "icu_segmenter", diff --git a/Cargo.toml b/Cargo.toml index 1068d48ee..e6dcaea76 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -13,20 +13,20 @@ categories = ["database-implementations"] rust-version = "1.91.0" [workspace.dependencies] -lance = { "version" = "=12.0.0-beta.18", default-features = false, "tag" = "v12.0.0-beta.18", "git" = "https://github.com/lance-format/lance.git" } -lance-core = { "version" = "=12.0.0-beta.18", "tag" = "v12.0.0-beta.18", "git" = "https://github.com/lance-format/lance.git" } -lance-datagen = { "version" = "=12.0.0-beta.18", "tag" = "v12.0.0-beta.18", "git" = "https://github.com/lance-format/lance.git" } -lance-file = { "version" = "=12.0.0-beta.18", "tag" = "v12.0.0-beta.18", "git" = "https://github.com/lance-format/lance.git" } -lance-io = { "version" = "=12.0.0-beta.18", default-features = false, "tag" = "v12.0.0-beta.18", "git" = "https://github.com/lance-format/lance.git" } -lance-index = { "version" = "=12.0.0-beta.18", "tag" = "v12.0.0-beta.18", "git" = "https://github.com/lance-format/lance.git" } -lance-linalg = { "version" = "=12.0.0-beta.18", "tag" = "v12.0.0-beta.18", "git" = "https://github.com/lance-format/lance.git" } -lance-namespace = { "version" = "=12.0.0-beta.18", "tag" = "v12.0.0-beta.18", "git" = "https://github.com/lance-format/lance.git" } -lance-namespace-impls = { "version" = "=12.0.0-beta.18", default-features = false, "tag" = "v12.0.0-beta.18", "git" = "https://github.com/lance-format/lance.git" } -lance-table = { "version" = "=12.0.0-beta.18", "tag" = "v12.0.0-beta.18", "git" = "https://github.com/lance-format/lance.git" } -lance-testing = { "version" = "=12.0.0-beta.18", "tag" = "v12.0.0-beta.18", "git" = "https://github.com/lance-format/lance.git" } -lance-datafusion = { "version" = "=12.0.0-beta.18", "tag" = "v12.0.0-beta.18", "git" = "https://github.com/lance-format/lance.git" } -lance-encoding = { "version" = "=12.0.0-beta.18", "tag" = "v12.0.0-beta.18", "git" = "https://github.com/lance-format/lance.git" } -lance-arrow = { "version" = "=12.0.0-beta.18", "tag" = "v12.0.0-beta.18", "git" = "https://github.com/lance-format/lance.git" } +lance = { "version" = "=12.0.0", default-features = false } +lance-core = "=12.0.0" +lance-datagen = "=12.0.0" +lance-file = "=12.0.0" +lance-io = { "version" = "=12.0.0", default-features = false } +lance-index = "=12.0.0" +lance-linalg = "=12.0.0" +lance-namespace = "=12.0.0" +lance-namespace-impls = { "version" = "=12.0.0", default-features = false } +lance-table = "=12.0.0" +lance-testing = "=12.0.0" +lance-datafusion = "=12.0.0" +lance-encoding = "=12.0.0" +lance-arrow = "=12.0.0" lancedb = { path = "rust/lancedb", default-features = false } ahash = "0.8" # Note that this one does not include pyarrow diff --git a/java/pom.xml b/java/pom.xml index 37c182feb..1c82c9e06 100644 --- a/java/pom.xml +++ b/java/pom.xml @@ -28,7 +28,7 @@ UTF-8 15.0.0 - 12.0.0-beta.18 + 12.0.0 false 2.30.0 1.7 diff --git a/rust/lancedb/src/remote/client.rs b/rust/lancedb/src/remote/client.rs index 704afe948..6e4764ad6 100644 --- a/rust/lancedb/src/remote/client.rs +++ b/rust/lancedb/src/remote/client.rs @@ -15,7 +15,7 @@ use crate::remote::retry::{ResolvedRetryConfig, RetryCounter}; const REQUEST_ID_HEADER: HeaderName = HeaderName::from_static("x-request-id"); -pub(crate) fn redact_sensitive_headers(headers: &mut HeaderMap) { +pub fn redact_sensitive_headers(headers: &mut HeaderMap) { const SENSITIVE_HEADERS: [&str; 5] = [ "authorization", "proxy-authorization",