feat: update lance dependency to v12.0.0 (#4216)

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) <noreply@anthropic.com>
This commit is contained in:
Dan Rammer
2026-09-17 15:47:16 -05:00
committed by GitHub
co-authored by Claude Opus 5
parent 3be313f634
commit 0ed17a653b
4 changed files with 82 additions and 58 deletions
Generated
+66 -42
View File
@@ -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",
+14 -14
View File
@@ -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
+1 -1
View File
@@ -28,7 +28,7 @@
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<arrow.version>15.0.0</arrow.version>
<lance-core.version>12.0.0-beta.18</lance-core.version>
<lance-core.version>12.0.0</lance-core.version>
<spotless.skip>false</spotless.skip>
<spotless.version>2.30.0</spotless.version>
<spotless.java.googlejavaformat.version>1.7</spotless.java.googlejavaformat.version>
+1 -1
View File
@@ -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",