Commit Graph
482 Commits
Author SHA1 Message Date
Gatefixer b604b425bb Merge main into repair branch and preserve beta.19 validity fix 2026-10-16 21:49:42 +00:00
LanceDB RobotandDaniel Rammer 91541408e7 chore: update lance dependency to v14.0.0-beta.19 (#4562)
Updates the Rust workspace Lance dependencies and Java lance-core from
14.0.0-beta.18 to
[v14.0.0-beta.19](https://github.com/lance-format/lance/releases/tag/v14.0.0-beta.19),
refreshing Cargo.lock. No compatibility fixes were required.

Validation: `cargo clippy --quiet --workspace --tests --all-features --
-D warnings`, `cargo fmt --all --quiet`, and `git diff --check`.

Co-authored-by: Daniel Rammer <hamersaw@protonmail.com>
2026-10-16 15:48:19 -05:00
Gatefixer d46525e056 Merge main version bump to 0.41.0-beta.7 2026-10-15 23:13:47 +00:00
Gatefixer 21132eb251 Merge main and retain sliced Arrow validity fix 2026-10-15 22:56:09 +00:00
Lance Release 7b3ba4c437 Bump version: 0.41.0-beta.6 → 0.41.0-beta.7 2026-10-15 22:35:51 +00:00
d47183953c chore: update lance dependency to v14.0.0-beta.18 (#4552)
Updates the Rust workspace dependencies and Java lance-core to [Lance
v14.0.0-beta.18](https://github.com/lance-format/lance/releases/tag/v14.0.0-beta.18).
Mirrors Lance's pinned object_store patch to support the multipart write
mode API required by this release.

Validation: `cargo clippy --quiet --workspace --tests --all-features --
-D warnings`, `cargo fmt --all --quiet`, and `git diff --check` passed.

---------

Co-authored-by: Lu Qiu <luqiujob@gmail.com>
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
Co-authored-by: Yang Cen <bubble-cal@outlook.com>
2026-10-15 14:53:48 -07:00
lancedb-gatefixer[bot] 8bb04d0fee fix: preserve remote projection column order (#4292) 2026-10-14 10:04:45 -07:00
Colin Patrick McCabe 6cc4919c3c feat: add an authorization API (#4363)
Add an authorization API to the LanceDB catalog. This is an API that can
be used to bind access control lists (ACLs) to individual catalog
objects. It can also be used to manage server-side roles, and introspect
principals and groups. The new API is implemented in both the Rust,
Python, and async Python styles and includes list_acls, add_acl,
delete_acl, list_role_bindings, add_role_binding, delete_role_binding,
get_principal, and get_group. This API implements the design principle
of forwards-compatibility. So unknown privilege, object, and subject
types do not cause errors, but are be supported as best as possible in
the library.
2026-10-13 19:59:25 -07:00
Gatefixer 433bd29429 Merge main and retain sliced Arrow validity fix 2026-10-13 17:08:34 +00:00
1ea47a5055 chore: update lance dependency to v14.0.0-beta.15 (#4527)
Updates the Rust workspace Lance dependencies, Cargo lockfile, and Java
lance-core dependency to
[v14.0.0-beta.15](https://github.com/lance-format/lance/releases/tag/v14.0.0-beta.15).
No compatibility fixes were required. Validation passed: `cargo clippy
--quiet --workspace --tests --all-features -- -D warnings`, `cargo fmt
--all --quiet`, and `git diff --check`.

---------

Co-authored-by: Daniel Rammer <hamersaw@protonmail.com>
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-13 11:10:55 -05:00
Lance Release 0a988a40ac Bump version: 0.41.0-beta.5 → 0.41.0-beta.6 2026-10-12 11:38:01 +00:00
Gatefixer 0c9e235bff Merge main into gatekeeper/fix-4260-1 2026-10-12 07:01:57 +00:00
Lance Release f32e9ab26a Bump version: 0.41.0-beta.4 → 0.41.0-beta.5 2026-10-12 06:04:07 +00:00
LanceDB Robot e8b4d95938 chore: update lance dependency to v14.0.0-beta.13 (#4523)
Updates Rust workspace Lance dependencies and Java lance-core from
v14.0.0-beta.11 to
[v14.0.0-beta.13](https://github.com/lance-format/lance/releases/tag/v14.0.0-beta.13),
with the Cargo lockfile refreshed. No compatibility fixes were required.

Validation: `cargo clippy --quiet --workspace --tests --all-features --
-D warnings`, `cargo fmt --all --quiet`, and `git diff --check` passed.
2026-10-11 23:02:42 -07:00
Gatefixer 3a66770e1a Merge main into gatekeeper/fix-4260-1
Align the vendored Arrow crate and JSONB pin with Lance 14.0.0-beta.11. Preserve the sliced-validity repair and carry the release's Null-child fix.
2026-10-11 07:30:44 +00:00
Lance Release 142d032cf1 Bump version: 0.41.0-beta.3 → 0.41.0-beta.4 2026-10-11 06:35:18 +00:00
LanceDB Robot f0bfb89d9c chore: update lance dependency to v14.0.0-beta.11 (#4518)
Updates the Rust workspace Lance dependencies, Cargo lockfile, and Java
lance-core to
[v14.0.0-beta.11](https://github.com/lance-format/lance/releases/tag/v14.0.0-beta.11).
Adapts the LSM resident-index guards to Lance's query-based index API
and adds regression coverage for index presence and type checks.

Validation: workspace Clippy with all features and warnings denied, Rust
formatting, and targeted LSM query unit tests.
2026-10-10 23:33:56 -07:00
Will JonesandClaude Opus 5.5 4b20906eb3 fix: bump vulnerable Rust deps and drop legacy rustls 0.21 (#4502)
## Summary

Fixes the Dependabot alerts for Rust crates that have a patched release.

- `Cargo.lock`: aws-smithy-json 0.62.5 → 0.62.7, quinn-proto 0.11.14 →
0.11.19, xxhash-rust 0.8.15 → 0.8.19.
- `docs/web-tests/rs/Cargo.lock`: rustls 0.23.35 → 0.23.45,
rustls-webpki 0.103.13 → 0.103.15, serde_with 3.16.1 → 3.22.0, rand
0.8.5 → 0.8.8 and 0.9.2 → 0.9.5, xxhash-rust 0.8.15 → 0.8.19.
- `rust/lancedb/Cargo.toml`: the AWS SDK crates' default features
include the legacy `rustls` feature, which pulls in rustls 0.21 and the
vulnerable rustls-webpki 0.101.7 via hyper 0.14.
`aws-sdk-bedrockruntime` (behind the optional `bedrock` feature) and the
`aws-sdk-s3`/`dynamodb`/`kms` dev-dependencies now use `default-features
= false` with `default-https-client` + `rt-tokio`, the same rustls 0.23
client `aws-config` already uses. Minimum versions are raised to the
first releases that have `default-https-client`. This removes rustls
0.21, rustls-webpki 0.101, hyper 0.14 and h2 0.3 from the lockfile.

Not fixed: fast-float 0.2.0 has no patched release. It comes from
polars-arrow via the optional `polars` feature, pinned to `<0.40`;
removing it needs a polars upgrade.

## Merge Risk

**Door:** two-way; lockfile and dependency-feature changes only.
**Blast Radius:** `bedrock` embedding function's HTTP client, and
S3/DynamoDB/KMS integration tests.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 19:53:40 -07:00
Will JonesandClaude Opus 5.5 b1429ffa68 fix: use aws-lc-rs instead of ring for remote HTTP and gRPC TLS (#4504)
## Summary

LanceDB's remote HTTP client (reqwest) and gRPC client (tonic) used
rustls with the `ring` crypto provider, while the AWS SDK and
object_store use aws-lc-rs. This moves both clients to aws-lc-rs:

- `tonic`: `tls-ring` → `tls-aws-lc`.
- `reqwest`: 0.12 → 0.13. reqwest 0.12 has no aws-lc-rs feature; 0.13's
`rustls` feature uses it. 0.13 was already in the lockfile through
object_store. No code changes were needed.
- `macos-system-configuration` is replaced by its 0.13 name,
`system-proxy`, which also reads the system proxy on Windows.
- `query` is now an opt-in feature in 0.13; it's used for request query
parameters.
- Certificate verification moves from `rustls-native-certs` to
`rustls-platform-verifier`, which uses the OS verifier on macOS and
Windows.

`ring` is still compiled in, because `lance-namespace-impls` and
`lance-namespace-reqwest-client` enable it through reqwest 0.12
(lance-format/lance#9855, lance-format/lance-namespace#369). Both
clients here pick aws-lc-rs explicitly, so they don't depend on which
providers are compiled in.

## Evidence

A temporary example that connects the remote client to real HTTPS hosts:

```
https://example.com:         Http error: ... 404 Not Found: <!doctype html>...   # TLS handshake OK
https://expired.badssl.com:  Hit retry limit ... connect_failures=3/3            # bad cert rejected
```

## Merge Risk

**Door:** two-way; dependency feature changes only.
**Blast Radius:** `remote` TLS and certificate verification (Python,
Node, and Rust LanceDB Cloud clients).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 19:36:49 -07:00
Lance Release 55ca56d4e2 Bump version: 0.41.0-beta.2 → 0.41.0-beta.3 2026-10-09 21:13:42 +00:00
Gatefixer f75f7f2112 Merge main into gatekeeper/fix-4260-1
Preserve sliced child validity with Lance v14.0.0-beta.10 and its JSONB dependency.
2026-10-09 20:43:58 +00:00
Jack Ye f305a05fd4 fix: preserve adaptive IVF probe defaults (#4168)
Keep IVF probe fields unset by default so Lance supplies adaptive
behavior. Preserve `nprobes`, `minimum_nprobes`, and `maximum_nprobes`
independently through Rust, Python, namespace, and remote request
construction, with compatibility fields serialized only when explicitly
configured.

The final Rust namespace and LSM propagation update depends on the Lance
release containing lance-format/lance#9184.
2026-10-09 12:45:02 -07:00
Lance Release f85c235d48 Bump version: 0.41.0-beta.1 → 0.41.0-beta.2 2026-10-09 18:21:31 +00:00
Lance Release ae50d84e34 Bump version: 0.41.0-beta.0 → 0.41.0-beta.1 2026-10-09 00:49:43 +00:00
Gatefixer d4f4cc5443 Merge main into gatekeeper/fix-4260-1
Preserve the sliced child validity repair against the upstream Lance v14.0.0-beta.7 pin.
2026-10-09 00:42:21 +00:00
32436a7ad7 chore: update lance dependency to v14.0.0-beta.7 (#4481)
Updates the Rust workspace Lance dependencies and Java lance-core from
14.0.0-beta.1 to
[v14.0.0-beta.6](https://github.com/lance-format/lance/releases/tag/v14.0.0-beta.6),
and refreshes Cargo.lock. No compatibility fixes were required.

Validation passed: `cargo clippy --quiet --workspace --tests
--all-features -- -D warnings`, `cargo fmt --all --quiet`, and `git diff
--check`.

---------

Co-authored-by: Daniel Rammer <hamersaw@protonmail.com>
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-08 18:47:33 -05:00
Lance Release becbda70dd Bump version: 0.40.0-beta.13 → 0.41.0-beta.0 2026-10-07 14:47:37 +00:00
Gatefixer aa912492db Merge main into gatekeeper/fix-4260-1 2026-10-06 16:28:54 +00:00
LanceDB RobotandWyatt Alt 17e9a657e6 chore: update lance dependency to v14.0.0-beta.1 (#4445)
Updates the Rust workspace Lance dependencies, Cargo lockfile, and Java
lance-core to
[v14.0.0-beta.1](https://github.com/lance-format/lance/releases/tag/v14.0.0-beta.1).
No compatibility fixes were required.

Validation passed: `cargo clippy --quiet --workspace --tests
--all-features -- -D warnings`, `cargo fmt --all --quiet`, and `git diff
--check`.

---------

Co-authored-by: Wyatt Alt <wyatt.alt@gmail.com>
2026-10-06 08:34:45 -07:00
Lance Release 81d52a98f8 Bump version: 0.40.0-beta.12 → 0.40.0-beta.13 2026-10-06 04:36:52 +00:00
dependabot[bot] f72779ebb5 build(deps): bump the rust-minor-patch group across 1 directory with 7 updates (#4355)
Bumps the rust-minor-patch group with 7 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [aws-smithy-types](https://github.com/smithy-lang/smithy-rs) | `1.6.3`
| `1.6.4` |
| [object_store](https://github.com/apache/arrow-rs-object-store) |
`0.14.1` | `0.14.2` |
| [serde_with](https://github.com/jonasbb/serde_with) | `3.23.0` |
`3.24.0` |
| [napi](https://github.com/napi-rs/napi-rs) | `3.12.2` | `3.12.5` |
| [napi-derive](https://github.com/napi-rs/napi-rs) | `3.6.5` | `3.6.9`
|
| [napi-build](https://github.com/napi-rs/napi-rs) | `2.4.2` | `2.5.0` |
| [arc-swap](https://github.com/vorner/arc-swap) | `1.9.1` | `1.9.2` |


Updates `aws-smithy-types` from 1.6.3 to 1.6.4
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/smithy-lang/smithy-rs/commits">compare
view</a></li>
</ul>
</details>
<br />

Updates `object_store` from 0.14.1 to 0.14.2
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/apache/arrow-rs-object-store/releases">object_store's
releases</a>.</em></p>
<blockquote>
<h2>object_store v0.14.2</h2>
<!-- raw HTML omitted -->
<h1>Changelog</h1>
<h2><a
href="https://github.com/apache/arrow-rs-object-store/tree/v0.14.2">v0.14.2</a>
(2026-09-11)</h2>
<p><a
href="https://github.com/apache/arrow-rs-object-store/compare/v0.14.1...v0.14.2">Full
Changelog</a></p>
<p><strong>Implemented enhancements:</strong></p>
<ul>
<li>Implement <code>Clone</code> for <code>MicrosoftAzure</code> <a
href="https://redirect.github.com/apache/arrow-rs-object-store/issues/824">#824</a></li>
<li>Support URLs for jurisdiction-restricted buckets on R2 <a
href="https://redirect.github.com/apache/arrow-rs-object-store/issues/814">#814</a></li>
<li>Lightweight DNS cache with shuffle to prevent DNS flooding <a
href="https://redirect.github.com/apache/arrow-rs-object-store/issues/726">#726</a></li>
<li>Allow presigning object_store multipart uploads <a
href="https://redirect.github.com/apache/arrow-rs-object-store/issues/271">#271</a></li>
<li>Allow specifying <code>Content-Type</code> when signing object_store
PUT requests <a
href="https://redirect.github.com/apache/arrow-rs-object-store/issues/270">#270</a></li>
</ul>
<p><strong>Fixed bugs:</strong></p>
<ul>
<li>Incomplete ASF license header in <code>src/client/s3.rs</code>
(caused -1 vote on 0.14.2 RC1) <a
href="https://redirect.github.com/apache/arrow-rs-object-store/issues/853">#853</a></li>
<li>WriteMultipart::finish should abort after part upload failure <a
href="https://redirect.github.com/apache/arrow-rs-object-store/issues/818">#818</a></li>
<li>The 1.85 MSRV is inaccurate with all features <a
href="https://redirect.github.com/apache/arrow-rs-object-store/issues/811">#811</a></li>
<li>When the backend service returns an HTTP 500, the object store
panics <a
href="https://redirect.github.com/apache/arrow-rs-object-store/issues/414">#414</a></li>
</ul>
<p><strong>Documentation updates:</strong></p>
<ul>
<li>Docs: point users uploading large objects at the multipart API <a
href="https://redirect.github.com/apache/arrow-rs-object-store/pull/839">#839</a>
(<a href="https://github.com/alamb">alamb</a>)</li>
<li>[object-store]: update release schedule <a
href="https://redirect.github.com/apache/arrow-rs-object-store/pull/834">#834</a>
(<a href="https://github.com/alamb">alamb</a>)</li>
<li>Add doc example for multipart upload to
<code>GoogleCloudStorage::create_multipart</code> <a
href="https://redirect.github.com/apache/arrow-rs-object-store/pull/803">#803</a>
(<a href="https://github.com/alamb">alamb</a>)</li>
<li>Add doc example for multipart upload to
<code>MicrosoftAzure::create_multipart</code> <a
href="https://redirect.github.com/apache/arrow-rs-object-store/pull/802">#802</a>
(<a href="https://github.com/alamb">alamb</a>)</li>
<li>Add doc example for multipart upload to AmazonS3::create_multipart
<a
href="https://redirect.github.com/apache/arrow-rs-object-store/pull/801">#801</a>
(<a href="https://github.com/alamb">alamb</a>)</li>
</ul>
<p><strong>Closed issues:</strong></p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/apache/arrow-rs-object-store/blob/main/CHANGELOG-old.md">object_store's
changelog</a>.</em></p>
<blockquote>
<!-- raw HTML omitted -->
<h1>Historical Changelog</h1>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/apache/arrow-rs-object-store/commit/279572ea60f3a7a6e5237e066a6f4a35eee611e0"><code>279572e</code></a>
Update CHANGELOG for latest main (<a
href="https://redirect.github.com/apache/arrow-rs-object-store/issues/855">#855</a>)</li>
<li><a
href="https://github.com/apache/arrow-rs-object-store/commit/4ff7d048073c07bcc1f1dca74436245b2ba20dda"><code>4ff7d04</code></a>
Restore missing first line of ASF license header in src/client/s3.rs (<a
href="https://redirect.github.com/apache/arrow-rs-object-store/issues/854">#854</a>)</li>
<li><a
href="https://github.com/apache/arrow-rs-object-store/commit/25fa079c41fecb8011d5b8c3019f20e09c9b0c74"><code>25fa079</code></a>
Update version to 0.14.2 and add CHANGELOG (<a
href="https://redirect.github.com/apache/arrow-rs-object-store/issues/850">#850</a>)</li>
<li><a
href="https://github.com/apache/arrow-rs-object-store/commit/c37db72b92b78608291c1b33feb79bb5bb6d2d1c"><code>c37db72</code></a>
feat: retry failed multipart part uploads (<a
href="https://redirect.github.com/apache/arrow-rs-object-store/issues/849">#849</a>)</li>
<li><a
href="https://github.com/apache/arrow-rs-object-store/commit/135984fdf91f813c48c47b6288586d9b0e205164"><code>135984f</code></a>
Add doc hints pointing large-object uploads at the multipart API (<a
href="https://redirect.github.com/apache/arrow-rs-object-store/issues/839">#839</a>)</li>
<li><a
href="https://github.com/apache/arrow-rs-object-store/commit/b07471e2bc341278f86e30cf80a850d56cbe2c67"><code>b07471e</code></a>
[object-store]: update release schedule (<a
href="https://redirect.github.com/apache/arrow-rs-object-store/issues/834">#834</a>)</li>
<li><a
href="https://github.com/apache/arrow-rs-object-store/commit/978fb48b9ea6ebe3f8f4833f656e793cde79ab15"><code>978fb48</code></a>
Fix MSRV violation in <code>parse.rs</code> test, check
<code>--all-targets</code> in MSRV CI (<a
href="https://redirect.github.com/apache/arrow-rs-object-store/issues/837">#837</a>)</li>
<li><a
href="https://github.com/apache/arrow-rs-object-store/commit/e2a49349622aa7ad5db12b107a557d957ac01241"><code>e2a4934</code></a>
Speed up MSRV CI check by installing cargo-msrv via
taiki-e/install-action (#...</li>
<li><a
href="https://github.com/apache/arrow-rs-object-store/commit/e28807de7338abebf14ecf2ab959294cb3096d83"><code>e28807d</code></a>
feat: presigned URLs with extra query params and signed headers
(SignedUrlOpt...</li>
<li><a
href="https://github.com/apache/arrow-rs-object-store/commit/5c743637e97d2f3417b6fd54532bb1223c6547c1"><code>5c74363</code></a>
Restore UnwindSafe/RefUnwindSafe on ClientOptions by bounding
DnsResolver (<a
href="https://redirect.github.com/apache/arrow-rs-object-store/issues/836">#836</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/apache/arrow-rs-object-store/compare/v0.14.1...v0.14.2">compare
view</a></li>
</ul>
</details>
<br />

Updates `serde_with` from 3.23.0 to 3.24.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/jonasbb/serde_with/releases">serde_with's
releases</a>.</em></p>
<blockquote>
<h2>serde_with v3.24.0</h2>
<h3>Added</h3>
<ul>
<li>Implement <code>JsonSchemaAs</code> for
<code>NoneAsEmptyString</code>, so fields using it compile with the
<code>schemars_*</code> features (<a
href="https://redirect.github.com/jonasbb/serde_with/issues/1014">#1014</a>)</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Make <code>with_prefix!</code> and <code>with_suffix!</code>
available with the <code>alloc</code> feature, instead of only with
<code>std</code> (<a
href="https://redirect.github.com/jonasbb/serde_with/issues/1008">#1008</a>)</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Handle potential panics in deserialization of chrono and time
DateTimes.
This was privately reported by <a
href="https://github.com/NotAFlightRisk"><code>@​NotAFlightRisk</code></a>.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/jonasbb/serde_with/commit/35ac84c8faf34d6822991bbf2397056994c9208b"><code>35ac84c</code></a>
Bump version to 3.24 (<a
href="https://redirect.github.com/jonasbb/serde_with/issues/1016">#1016</a>)</li>
<li><a
href="https://github.com/jonasbb/serde_with/commit/7b8e561c709544b417b3c0f05f3c57a753e86417"><code>7b8e561</code></a>
Bump version to 3.24</li>
<li><a
href="https://github.com/jonasbb/serde_with/commit/6e576c8d5cc5f31efd26cf783d76eac6607d784e"><code>6e576c8</code></a>
Bump the github-actions group with 2 updates (<a
href="https://redirect.github.com/jonasbb/serde_with/issues/1012">#1012</a>)</li>
<li><a
href="https://github.com/jonasbb/serde_with/commit/7b1814b5cf8f2ce4ef7844105ab26760371af0cf"><code>7b1814b</code></a>
Add schemars support for NoneAsEmptyString (<a
href="https://redirect.github.com/jonasbb/serde_with/issues/1014">#1014</a>)</li>
<li><a
href="https://github.com/jonasbb/serde_with/commit/92eeedd1e5be0f176bd9a0532eb8ab1503396bb2"><code>92eeedd</code></a>
Handle potential panic during deserialization for large datetimes (<a
href="https://redirect.github.com/jonasbb/serde_with/issues/1015">#1015</a>)</li>
<li><a
href="https://github.com/jonasbb/serde_with/commit/3404642aae13a3dfcf4ea0f47749f759b36a85db"><code>3404642</code></a>
Handle potential panic during deserialization for large datetimes</li>
<li><a
href="https://github.com/jonasbb/serde_with/commit/c7073b98f150d60c22e1ccdb49f1c7151dd8595f"><code>c7073b9</code></a>
Add schemars support for NoneAsEmptyString</li>
<li><a
href="https://github.com/jonasbb/serde_with/commit/6b32290267fa18064894e2fa67bf4bed7fb4bd5f"><code>6b32290</code></a>
Run test with only the alloc feature (<a
href="https://redirect.github.com/jonasbb/serde_with/issues/1013">#1013</a>)</li>
<li><a
href="https://github.com/jonasbb/serde_with/commit/3361c69817d02b079b15f71d1281f573594cc948"><code>3361c69</code></a>
Run test with only the alloc feature</li>
<li><a
href="https://github.com/jonasbb/serde_with/commit/b43bb81cd8f02f06c2bf4bcd057c83e71442a515"><code>b43bb81</code></a>
Reduce required feature for with_{prefix,suffix} from std to alloc (<a
href="https://redirect.github.com/jonasbb/serde_with/issues/1008">#1008</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/jonasbb/serde_with/compare/v3.23.0...v3.24.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `napi` from 3.12.2 to 3.12.5
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/napi-rs/napi-rs/releases">napi's
releases</a>.</em></p>
<blockquote>
<h2>napi-v3.12.5</h2>
<h3>Fixed</h3>
<ul>
<li>fatal_exception noop in optimized builds (<a
href="https://redirect.github.com/napi-rs/napi-rs/pull/3509">#3509</a>)</li>
</ul>
<h2>napi-v3.12.4</h2>
<h3>Security</h3>
<ul>
<li><code>Object::unwrap</code> and <code>Object::remove_wrapped</code>
(and the deprecated <code>Env::unwrap</code> /
<code>Env::drop_wrapped</code>) read a <code>TypeId</code> out of a
payload that is not a <code>TaggedObject</code>, giving a heap
out-of-bounds read and a JavaScript-forgeable out-of-bounds write;
payload provenance is now validated before dereferencing. See <a
href="https://github.com/napi-rs/napi-rs/security/advisories/GHSA-rhpj-pggq-896v">GHSA-rhpj-pggq-896v</a>,
fixed in <a
href="https://redirect.github.com/napi-rs/napi-rs/pull/3506">#3506</a>.</li>
<li>The serde deserializer reached <code>unreachable!()</code> on
ordinary JavaScript values and aborted the process instead of returning
an error. See <a
href="https://github.com/napi-rs/napi-rs/security/advisories/GHSA-f334-75xc-qxv3">GHSA-f334-75xc-qxv3</a>,
fixed in <a
href="https://redirect.github.com/napi-rs/napi-rs/pull/3507">#3507</a>.</li>
<li><code>ArrayBuffer::from_external</code>,
<code>TypedArraySlice::from_external</code> and
<code>Uint8ClampedSlice::from_external</code> (plus the compat-mode
<code>Env::create_arraybuffer_with_borrowed_data</code>) built their
slice from freed memory on runtimes without external buffers. See <a
href="https://github.com/napi-rs/napi-rs/security/advisories/GHSA-32mm-r9wp-hrvc">GHSA-32mm-r9wp-hrvc</a>,
fixed in <a
href="https://redirect.github.com/napi-rs/napi-rs/pull/3503">#3503</a>.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li><em>(napi)</em> return errors from the serde deserializer for
unexpected JS value shapes (<a
href="https://redirect.github.com/napi-rs/napi-rs/pull/3507">#3507</a>)</li>
<li><em>(napi)</em> validate wrapped payload provenance in
Object::unwrap/remove_wrapped (<a
href="https://redirect.github.com/napi-rs/napi-rs/pull/3506">#3506</a>)</li>
<li><em>(napi)</em> point from_external slices at the engine-owned copy
after finalize reclaims the source (<a
href="https://redirect.github.com/napi-rs/napi-rs/pull/3503">#3503</a>)</li>
</ul>
<h2>napi-v3.12.3</h2>
<h3>Fixed</h3>
<ul>
<li>CurrentThread waker-stack deadlocks and threadless-wasm Buffer
detachment (<a
href="https://redirect.github.com/napi-rs/napi-rs/pull/3489">#3489</a>)</li>
<li><em>(napi)</em> catch panics in closure trampolines instead of
aborting (<a
href="https://redirect.github.com/napi-rs/napi-rs/pull/3473">#3473</a>)</li>
</ul>
<h3>Other</h3>
<ul>
<li><em>(napi)</em> keep anyhow error cause when converting (<a
href="https://redirect.github.com/napi-rs/napi-rs/pull/3477">#3477</a>)</li>
<li><em>(napi)</em> outline threadsafe callback dispatch (<a
href="https://redirect.github.com/napi-rs/napi-rs/pull/3465">#3465</a>)</li>
<li><em>(napi)</em> outline class instance construction (<a
href="https://redirect.github.com/napi-rs/napi-rs/pull/3464">#3464</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/napi-rs/napi-rs/commit/43100baf28a3e5709641e35f892be4da5d62dcb2"><code>43100ba</code></a>
chore: release (<a
href="https://redirect.github.com/napi-rs/napi-rs/issues/3508">#3508</a>)</li>
<li><a
href="https://github.com/napi-rs/napi-rs/commit/bb7b75a7d53b0757f99813c7fef0537cef044adf"><code>bb7b75a</code></a>
chore(release): publish</li>
<li><a
href="https://github.com/napi-rs/napi-rs/commit/89d7a0b3636b4454265363dab58df471030b4f85"><code>89d7a0b</code></a>
chore(deps): update dependency oxfmt to ^0.68.0 (<a
href="https://redirect.github.com/napi-rs/napi-rs/issues/3519">#3519</a>)</li>
<li><a
href="https://github.com/napi-rs/napi-rs/commit/55545910c2487da38453e6171330e8fc9133213c"><code>5554591</code></a>
fix(cli): rate-limit failed incarnation probes and let reconciliation
tests i...</li>
<li><a
href="https://github.com/napi-rs/napi-rs/commit/6d10d826c34f5d0009eb1ab47efaa4a2e34f4555"><code>6d10d82</code></a>
feat(cli): make the deferred workerd loader usable by host-driven addons
(<a
href="https://redirect.github.com/napi-rs/napi-rs/issues/3520">#3520</a>)</li>
<li><a
href="https://github.com/napi-rs/napi-rs/commit/a1bcecbd1bef2f51f1047f5800d5a312eb2eba3b"><code>a1bcecb</code></a>
feat(cli): add <code>napi.wasm.threadlessInitialMemory</code> for
threadless WASI loader...</li>
<li><a
href="https://github.com/napi-rs/napi-rs/commit/0999babc1e37ce869b79f59db14f9eb12f6647df"><code>0999bab</code></a>
feat(cli): export <code>__napiBindingTarget</code> from generated
binding loaders (<a
href="https://redirect.github.com/napi-rs/napi-rs/issues/3515">#3515</a>)</li>
<li><a
href="https://github.com/napi-rs/napi-rs/commit/30ea504c3d65e1cb178d3124068257d8df8f3835"><code>30ea504</code></a>
fix(cli): bound symlink-ancestor reconciliation guards to the anchor's
parent...</li>
<li><a
href="https://github.com/napi-rs/napi-rs/commit/ae8f34a8dc5f629b53d136442e8f614f2d3c17b6"><code>ae8f34a</code></a>
fix(cli): run the wasm env cleanup barrier on a raw emnapi
`Context.destroy()...</li>
<li><a
href="https://github.com/napi-rs/napi-rs/commit/ccd314bbb5201182311b74dddd61f60b323318f4"><code>ccd314b</code></a>
fix(cli): never wedge reconciliation locks when host identity probes
fail (<a
href="https://redirect.github.com/napi-rs/napi-rs/issues/3">#3</a>...</li>
<li>Additional commits viewable in <a
href="https://github.com/napi-rs/napi-rs/compare/napi-v3.12.2...napi-v3.12.5">compare
view</a></li>
</ul>
</details>
<br />

Updates `napi-derive` from 3.6.5 to 3.6.9
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/napi-rs/napi-rs/releases">napi-derive's
releases</a>.</em></p>
<blockquote>
<h2>napi-derive-v3.6.9</h2>
<h3>Other</h3>
<ul>
<li>update Cargo.toml dependencies</li>
</ul>
<h2>napi-derive-v3.6.8</h2>
<h3>Fixed</h3>
<ul>
<li><em>(napi)</em> guard AsyncTask completion against env teardown (<a
href="https://redirect.github.com/napi-rs/napi-rs/pull/3536">#3536</a>)</li>
</ul>
<h2>napi-derive-v3.6.7</h2>
<h3>Other</h3>
<ul>
<li>update Cargo.toml dependencies</li>
</ul>
<h2>napi-derive-v3.6.6</h2>
<h3>Other</h3>
<ul>
<li>update Cargo.toml dependencies</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/napi-rs/napi-rs/commit/2763e12efc855748485129952a6ccb97ac991c06"><code>2763e12</code></a>
chore: release (<a
href="https://redirect.github.com/napi-rs/napi-rs/issues/3538">#3538</a>)</li>
<li><a
href="https://github.com/napi-rs/napi-rs/commit/5ae5cf604809ed6b9868c8e67b201bc9eb68d9bf"><code>5ae5cf6</code></a>
chore(release): publish</li>
<li><a
href="https://github.com/napi-rs/napi-rs/commit/0da138ec836906da5bc3a996521299e1d284bdda"><code>0da138e</code></a>
feat(cli): self-sign OpenHarmony artifacts with --ohos-sign (<a
href="https://redirect.github.com/napi-rs/napi-rs/issues/3539">#3539</a>)</li>
<li><a
href="https://github.com/napi-rs/napi-rs/commit/2499a6311148492bc01ae316621b514a9345e4e7"><code>2499a63</code></a>
feat(async-runtime): offer the MultiThread flavor on
wasm32-wasip1-threads (#...</li>
<li><a
href="https://github.com/napi-rs/napi-rs/commit/886bd071972e09010ee901d1a1bb669a26d3e0dc"><code>886bd07</code></a>
chore(deps): update dependency oxc-parser to ^0.151.0 (<a
href="https://redirect.github.com/napi-rs/napi-rs/issues/3542">#3542</a>)</li>
<li><a
href="https://github.com/napi-rs/napi-rs/commit/edb0a295a14371b2f943c2a89bacf385eb61a038"><code>edb0a29</code></a>
fix(napi): validate native payload provenance for External and instance
data ...</li>
<li><a
href="https://github.com/napi-rs/napi-rs/commit/38162bb0eb324ae24b402982bad3d4ef3f24c90a"><code>38162bb</code></a>
chore: release (<a
href="https://redirect.github.com/napi-rs/napi-rs/issues/3529">#3529</a>)</li>
<li><a
href="https://github.com/napi-rs/napi-rs/commit/ec3d8ead66c18e022d2e3fb6832e52e5204ffcc3"><code>ec3d8ea</code></a>
fix(napi): guard AsyncTask completion against env teardown (<a
href="https://redirect.github.com/napi-rs/napi-rs/issues/3536">#3536</a>)</li>
<li><a
href="https://github.com/napi-rs/napi-rs/commit/96ed2672820b5468b6a451080fc27e6eef594d3d"><code>96ed267</code></a>
chore(deps): update release-plz/action action to v0.5.139 (<a
href="https://redirect.github.com/napi-rs/napi-rs/issues/3537">#3537</a>)</li>
<li><a
href="https://github.com/napi-rs/napi-rs/commit/b2c9f3b610cb167d2c05b8d6c748c120926ffd73"><code>b2c9f3b</code></a>
chore(deps): update release-plz/action action to v0.5.138 (<a
href="https://redirect.github.com/napi-rs/napi-rs/issues/3533">#3533</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/napi-rs/napi-rs/compare/napi-derive-v3.6.5...napi-derive-v3.6.9">compare
view</a></li>
</ul>
</details>
<br />

Updates `napi-build` from 2.4.2 to 2.5.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/napi-rs/napi-rs/releases">napi-build's
releases</a>.</em></p>
<blockquote>
<h2>napi-build-v2.5.0</h2>
<h3>Added</h3>
<ul>
<li><em>(async-runtime)</em> offer the MultiThread flavor on
wasm32-wasip1-threads (<a
href="https://redirect.github.com/napi-rs/napi-rs/pull/3541">#3541</a>)</li>
</ul>
<h2>napi-build-v2.4.4</h2>
<h3>Fixed</h3>
<ul>
<li><em>(napi)</em> guard AsyncTask completion against env teardown (<a
href="https://redirect.github.com/napi-rs/napi-rs/pull/3536">#3536</a>)</li>
</ul>
<h2>napi-build-v2.4.3</h2>
<h3>Fixed</h3>
<ul>
<li><em>(cli)</em> drain outstanding async work before disposing a WASI
binding (<a
href="https://redirect.github.com/napi-rs/napi-rs/pull/3528">#3528</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/napi-rs/napi-rs/commit/2763e12efc855748485129952a6ccb97ac991c06"><code>2763e12</code></a>
chore: release (<a
href="https://redirect.github.com/napi-rs/napi-rs/issues/3538">#3538</a>)</li>
<li><a
href="https://github.com/napi-rs/napi-rs/commit/5ae5cf604809ed6b9868c8e67b201bc9eb68d9bf"><code>5ae5cf6</code></a>
chore(release): publish</li>
<li><a
href="https://github.com/napi-rs/napi-rs/commit/0da138ec836906da5bc3a996521299e1d284bdda"><code>0da138e</code></a>
feat(cli): self-sign OpenHarmony artifacts with --ohos-sign (<a
href="https://redirect.github.com/napi-rs/napi-rs/issues/3539">#3539</a>)</li>
<li><a
href="https://github.com/napi-rs/napi-rs/commit/2499a6311148492bc01ae316621b514a9345e4e7"><code>2499a63</code></a>
feat(async-runtime): offer the MultiThread flavor on
wasm32-wasip1-threads (#...</li>
<li><a
href="https://github.com/napi-rs/napi-rs/commit/886bd071972e09010ee901d1a1bb669a26d3e0dc"><code>886bd07</code></a>
chore(deps): update dependency oxc-parser to ^0.151.0 (<a
href="https://redirect.github.com/napi-rs/napi-rs/issues/3542">#3542</a>)</li>
<li><a
href="https://github.com/napi-rs/napi-rs/commit/edb0a295a14371b2f943c2a89bacf385eb61a038"><code>edb0a29</code></a>
fix(napi): validate native payload provenance for External and instance
data ...</li>
<li><a
href="https://github.com/napi-rs/napi-rs/commit/38162bb0eb324ae24b402982bad3d4ef3f24c90a"><code>38162bb</code></a>
chore: release (<a
href="https://redirect.github.com/napi-rs/napi-rs/issues/3529">#3529</a>)</li>
<li><a
href="https://github.com/napi-rs/napi-rs/commit/ec3d8ead66c18e022d2e3fb6832e52e5204ffcc3"><code>ec3d8ea</code></a>
fix(napi): guard AsyncTask completion against env teardown (<a
href="https://redirect.github.com/napi-rs/napi-rs/issues/3536">#3536</a>)</li>
<li><a
href="https://github.com/napi-rs/napi-rs/commit/96ed2672820b5468b6a451080fc27e6eef594d3d"><code>96ed267</code></a>
chore(deps): update release-plz/action action to v0.5.139 (<a
href="https://redirect.github.com/napi-rs/napi-rs/issues/3537">#3537</a>)</li>
<li><a
href="https://github.com/napi-rs/napi-rs/commit/b2c9f3b610cb167d2c05b8d6c748c120926ffd73"><code>b2c9f3b</code></a>
chore(deps): update release-plz/action action to v0.5.138 (<a
href="https://redirect.github.com/napi-rs/napi-rs/issues/3533">#3533</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/napi-rs/napi-rs/compare/napi-build-v2.4.2...napi-build-v2.5.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `arc-swap` from 1.9.1 to 1.9.2
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/vorner/arc-swap/blob/master/CHANGELOG.md">arc-swap's
changelog</a>.</em></p>
<blockquote>
<h1>1.9.2</h1>
<ul>
<li>Document RefCnt must not panic (<a
href="https://redirect.github.com/vorner/arc-swap/issues/208">#208</a>).</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/vorner/arc-swap/commits">compare view</a></li>
</ul>
</details>
<br />

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-10-02 07:49:06 -05:00
Gatefixer 3869ba89b7 Merge main into gatekeeper/fix-4260-1 2026-10-01 15:17:36 +00:00
857e455361 chore: update lance dependency to v13.1.0-beta.1 (#4358)
Updates the Rust workspace and Java Lance dependencies to
[v13.1.0-beta.1](https://github.com/lance-format/lance/releases/tag/v13.1.0-beta.1)
and refreshes Cargo.lock. Removes a redundant `pub(crate)` declaration
in the private Node.js blob module to satisfy the required Clippy check.

Validation: `cargo clippy --quiet --workspace --tests --all-features --
-D warnings`, `cargo fmt --all --quiet`, `pnpm build`, and `pnpm test
__test__/blob.test.ts --runInBand` (26 tests passed) in `nodejs`.

---------

Co-authored-by: Daniel Rammer <hamersaw@protonmail.com>
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-01 09:13:08 -05:00
Lance Release 4730f9036b Bump version: 0.40.0-beta.11 → 0.40.0-beta.12 2026-09-30 13:32:13 +00:00
Gatefixer 19e373e751 Merge main into gatekeeper/fix-4260-1 2026-09-29 16:13:23 +00:00
Xuanwo ea223c4ec4 chore: update lance dependency to v13.0.0-beta.18 (#4339)
Updates the Rust workspace dependencies, Cargo lockfile, and Java
`lance-core` to [Lance
v13.0.0-beta.18](https://github.com/lance-format/lance/releases/tag/v13.0.0-beta.18).
It includes lance-format/lance#9574, which bounds the memory an IVF
partition split uses when it re-reads raw vectors during
`optimize_indices`, and lance-format/lance#9582, which keeps the mTLS
REST namespace client on rustls.

Lance's new combined-fields FTS query variant (introduced by
v13.0.0-beta.17) is handled the same way as in #4336: the remote
capability check and Rust/Node bindings accept it, with a regression
test for the remote request payload, and the Python conversion reports
that this query type is not yet supported. This PR supersedes #4336.
2026-09-29 23:19:59 +08:00
Gatefixer d8b0ab5f83 Merge main into gatekeeper/fix-4260-1 2026-09-28 11:07:32 +00:00
0327618a62 feat(sql): add native vector dedup and partitioned mv refresh (#4303)
## Summary

Materialize a source-preserving dedup result from an indexed, pinned
snapshot with a short declaration. The default greedy policy keeps the
smallest unassigned snapshot row ID and removes only its directly
matching neighbors: For A < B < C, an A–B–C chain without an A–C edge
keeps A and C.

```python
from lancedb import vector_dedup

view = db.create_materialized_view(
    "images_clean",
    vector_dedup("images", column="phash", distance_threshold=4),
)
cleaned = view.table
```

The Python source expression captures the source version once at
creation and
waits for the materialized result by default. Use `dataset_version=...`
for an
explicit snapshot, `with_no_data=True` for declaration only, or
`create_materialized_view_async(...)` for a job handle. AsyncConnection
supports
the same expression. It uses the existing MV REST endpoints and registry
jobs,
without opening a SQL query connection. Source names are exact
root-namespace
table names. Additional select/where/limit options are rejected for this
source.

The SQL declaration remains available:

```sql
CREATE MATERIALIZED VIEW images_clean AS
SELECT * FROM vector_dedup('images', 7, 'phash', 4);
REFRESH MATERIALIZED VIEW images_clean;
```

This is the host-facing SQL entry point. The MV builder now accepts a
typed native vector source; the Rust SDK also supports the same
definition through `MaterializedViewDefinition::from_sql` and
`prepare_definition`; `view.refresh().execute()` executes it locally.
Hosts distribute its units using their existing job infrastructure. The
raw `vector_duplicate_pairs` source remains available separately when
callers want the pair relation.

## Implementation and contract

- Use actual Rust Lance `13.0.0-beta.15` (`db53dcf367`); the native
partition primitive computes pairs from index representations without
source-vector aggregation or a Python pair loop.
- Extend partitioned MV refresh with two dependent waves. Physical
segment/partition tasks stream pairs through a bounded external sort,
select direct representatives and write per-source-fragment bitmap
artifacts. Source-fragment tasks start after every selection receipt
completes and stream retained original rows, including blob payloads,
into uncommitted output fragments.
- Reuse normal blob write coercion and row-mask scans, including stable
row-ID translation after compaction. Null vectors, isolated rows and
source deletions are preserved correctly. Conflicting representative
decisions across overlapping index scopes fail before publication.
- Expose `dependency_units()` and `write_refresh_partition_with_inputs`
alongside the existing plan/commit API. Receipts bind
snapshot/configuration/policy/destination generation. Only a complete
accepted set can publish; unfinished units restart, completed units can
be reused. There is no pair-position checkpoint.
- Use MV format 4 for dedup results and format 3 for native pairs;
Python and TypeScript metadata readers recognize both. No source
deletion or source row-ID migration occurs.

Only same-segment/same-partition edges are covered. Quantized scores use
symmetric represented-vector distances. Result materialization requires
V2 data storage and is initially a native MV source, not an ordinary
SELECT table function. Compressed vertex masks stay in memory; edge
sorting spills to local disk. Unreferenced artifacts use normal Lance
retention/cleanup and must be retained for the job's recovery window.

## Validation

AWS Linux validation:

- Native pair/result integration matrix passed: multiple
segments/partitions, exact thresholds, empty output, cross-batch data,
single-process pair parity, source preservation, lost receipts and
publication guards.
- Blob/null-vector/pinned-deletion tests passed with both row-ID modes,
including compaction that changes physical row addresses.
- Representative policy, forced external-sort spill and
conflicting/corrupt artifact tests passed.
- Full MV regression suite: 153 passed, 2 pre-existing ignored. Rust
formatting and Clippy passed.

- Python MV suite: 47 passed; TypeScript MV suite: 11 passed. Native
bindings were rebuilt in project-local environments; formatting, lint
and TypeScript docs passed.
- Rust declaration doctests: 3 passed, including the complete local
dedup example.
- Companion host validation: 41 MV job tests passed (1 pre-existing
ignored), full workspace Clippy passed, and the complete process-level
CLI E2E suite passed (3 tests). Recovery exercises both selection and
materialization waves.
- A real CIFAR-10 pHash run used five actual registry-worker owners,
completed 32 selection + 24 materialization tasks, and retained 49,846
of 50,000 rows with identical original values and image payloads.

Host workflow performance measurements are recorded in the companion
host PR. Cross-platform CI is still running. The previous remote-test
bootstrap failed before Cargo tests with `401 Bad credentials`; the
workflow fix described below is being validated by CI. No deployment or
merge is performed.


## Python source validation

AWS tests cover automatic and explicit snapshots, physical/stable row
IDs, local
and remote creation, sync/job/async-connection APIs, delayed refresh,
strict
options and identifier quoting. The native Python extension was rebuilt
through
the project's uv/maturin backend. Ruff, Pyright and the full MkDocs
API-reference
build passed; both new public symbols are rendered.

A real 50,000-image FEv2 run disabled both Python SQL entry points and
supplied an
unreachable SQL endpoint. The new API still materialized the same 49,846
retained
rows and original image payloads. Three recorded creation/refresh jobs
completed
56 tasks each on all five registry-worker owners, and remained on source
snapshot
3 after source latest advanced to 4. No worker or server wire-protocol
changes
were needed for this client entry point.

Previous CI authentication failure:
https://github.com/lancedb/lancedb/actions/runs/36334679276/job/108663151265.

## Review and CI fixes

- Validate all JSON merge source fields before projection, rejecting
unknown and duplicate names at every struct level. Missing/reordered
fields and ordinary JSON merges remain supported. A checked-in 12-case
integration matrix covers root fields, structs, lists, large lists,
fixed-size lists and map values; rejected writes leave the table version
and row count unchanged.
- Match namespace connection MV method signatures to
`MaterializedViewSource` in all four sync/async methods, fixing the
Python 3.10 import failure from runtime override checks.
- Restore the remote-test script's encrypted-CLI path: use the Actions
token for artifact download and pass `SOPHON_READ_TOKEN` under the
variable the decryption script consumes. The previous workflow omitted
that variable and attempted the private release path, failing with HTTP
401. On the final head, remote CI passes: 1,464 Rust unit tests, the
integration targets and doctests pass (3 unit tests ignored).

AWS validation for these fixes: both review reproducers failed before
their fixes and pass afterward; 55 merge tests, 29 cast tests and the
standalone 7-case admission regression pass. Python 3.10.21 imports
successfully; 90 MV/namespace tests, 14 JSON tests and four real
namespace dedup cases pass. After `794b97a0`, the native binding was
rebuilt again and the JSON suite rerun. Rust formatting/Clippy, Ruff and
Pyright pass. Sophon's locked test compilation passes against the final
SDK source for all seven affected crates. Extended runners, logs and
benchmark artifacts remain local.

Gatekeeper recommends approval on `794b97a0`, and the `breaking-change`
label is set. Final CI: **49 checks passed, 3 expected skips, no
failures or pending checks**, including remote tests, Python 3.10,
minimum dependencies and Windows ARM Rust tests. All wheel builds pass
after retrying the Linux matrix affected by transient AlmaLinux
repository-metadata 404s. All code-review threads are resolved. The PR
remains open for maintainer review and merge.

---------

Co-authored-by: Yang Cen <yangcen@Yangs-Mac-mini.local>
Co-authored-by: Lance Release <lance-dev@lancedb.com>
2026-09-28 18:06:55 +08:00
Gatefixer 2ba6d9a0f1 Merge main into gatekeeper/fix-4260-1 2026-09-25 15:05:07 +00:00
LanceDB Robot d0fb43b0b4 chore: update lance dependency to v13.0.0-beta.14 (#4324)
Update the Rust workspace Lance dependencies and Java lance-core from
v13.0.0-beta.12 to
[v13.0.0-beta.14](https://github.com/lance-format/lance/releases/tag/v13.0.0-beta.14),
including the refreshed Cargo lockfile.

No compatibility fixes were required; `cargo clippy --quiet --workspace
--tests --all-features -- -D warnings`, `cargo fmt --all --quiet`, and
`git diff --check` passed.
2026-09-25 09:02:00 -05:00
Gatefixer 81cd33e7ff Merge main into gatekeeper/fix-4260-1 2026-09-24 16:23:36 +00:00
Lance Release 11c637252f Bump version: 0.40.0-beta.10 → 0.40.0-beta.11 2026-09-24 10:05:13 +00:00
Lance Release b3f0e12e32 Bump version: 0.40.0-beta.9 → 0.40.0-beta.10 2026-09-24 07:50:23 +00:00
Gatefixer 98eac3d2bb Merge remote-tracking branch 'origin/main' into gatekeeper/fix-4260-1 2026-09-23 23:55:39 +00:00
Gatefixer 5d498df3af Merge main and carry patched Lance Arrow through beta.12 2026-09-23 23:55:35 +00:00
Lance Release 85c9cf6240 Bump version: 0.40.0-beta.8 → 0.40.0-beta.9 2026-09-23 23:40:53 +00:00
53a2afdffa chore: update lance dependency to v13.0.0-beta.12 (#4265)
Update the Rust workspace Lance dependencies and Java lance-core from
v13.0.0-beta.8 to
[v13.0.0-beta.12](https://github.com/lance-format/lance/releases/tag/v13.0.0-beta.12),
refreshing Cargo.lock.
No compatibility fixes were required; validation passed with `cargo
clippy --quiet --workspace --tests --all-features -- -D warnings`,
`cargo fmt --all --quiet`, and `git diff --check`.

---------

Co-authored-by: Lu Qiu <luqiujob@gmail.com>
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-23 14:31:35 -07:00
Lance Release df7bfcdb65 Bump version: 0.40.0-beta.7 → 0.40.0-beta.8 2026-09-23 17:05:35 +00:00
Gatefixer 104cebb115 fix: preserve nullable struct child offsets 2026-09-23 15:41:02 +00:00
Lance Release f359c5c8c5 Bump version: 0.40.0-beta.6 → 0.40.0-beta.7 2026-09-23 07:28:56 +00:00