build(deps)!: bump lance-namespace to 0.11.1 across Java and Python - #8903
Merged
wjones127 merged 2 commits intoAug 31, 2026
Merged
Conversation
The Java and Python namespace pins had drifted several releases behind the Rust one: java/pom.xml was on 0.7.7 and python/pyproject.toml on >=0.8.5,<0.9, while Rust was already on 0.11.0. This bumps all three to 0.11.1. 0.11 changes four LanceNamespace methods to return response objects instead of bare values (countTableRows, queryTable, namespaceExists, tableExists), so both bindings are updated to match. The implementations wrap the existing native return values, leaving behavior unchanged. Also adds a >= 12.0.0b5 tier to the compat harness pin map, without which a compat run building the current ref would install a namespace version the new metadata forbids. The Java changes are taken from lance-format#8623, rebased onto main. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The new pin tier used >= 12.0.0b5, but that version is already published with lance-namespace>=0.8.5,<0.9 in its metadata, so the compat harness asked pip to install it alongside >=0.11.1 and resolution failed. Key the tier to releases published after 12.0.0b5 instead, which are the ones that will carry the new range. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Xuanwo
approved these changes
Aug 31, 2026
wjones127
marked this pull request as ready for review
August 31, 2026 19:03
This was referenced Sep 1, 2026
u70b3
added a commit
to u70b3/lance
that referenced
this pull request
Sep 18, 2026
Backport of the compat-harness change from lance-format#8903 (1391e6c). pylance 12.0.0 (released 2026-09-17) and the 13.0.0 betas depend on lance-namespace>=0.11.1,<0.12, which conflicts with the harness's lance-namespace>=0.8.0,<0.9 pin: venv creation for those versions fails pip resolution, failing every [12.0.0]/[13.0.0b4] compat case and every index-maintenance sequence shard (its newer ref resolved to 12.0.0 as soon as it hit PyPI), which alone burns the 60-minute Compatibility Tests budget. Not caused by the index fix in this PR; backported to unblock compat CI on release/v11.0 (the fix already lives on main).
This was referenced Sep 18, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The Java and Python
lance-namespacepins had drifted several releases behind the Rust one:java/pom.xmlwas on 0.7.7 andpython/pyproject.tomlon>=0.8.5,<0.9, while Rust was already on 0.11.0. This bumps all three to 0.11.1, so the bindings stop being four releases apart from the core.No feature work — this isolates the dependency drift ahead of ENT-2084 (multiple columns for the merge-insert
onkey), which needs a namespace release newer than any of these pins.The Java changes are taken from #8623 and rebased onto current main. That PR's
rest.rstests are left out, as they cover vector index params (ENT-1892) rather than the version bump.Breaking changes
0.11 changes four
LanceNamespacemethods to return a response object instead of a bare value. Both bindings are updated to match, and callers need to unwrap:countTableRows/count_table_rowsLong/intCountTableRowsResponse.getCount()/.countqueryTable/query_tablebyte[]/bytesQueryTableResponse.getData()/.datanamespaceExists/namespace_existsvoid/NoneNamespaceExistsResponsetableExists/table_existsvoid/NoneTableExistsResponseThe implementations wrap the values the native layer already returns, so behavior is unchanged. Anyone implementing
LanceNamespacethemselves will need the same signature updates.The compat harness also gains a tier in its namespace pin map, which tells it what
lance-namespacerange to install alongside each published pylance release. Releases cut after 12.0.0b5 will carry the new>=0.11.1,<0.12range, so the map needs an entry for them; 12.0.0b5 and earlier keep the old one.Testing
Ran the namespace integration suite against LocalStack (
--run-integration, 30 passed), which is otherwise skipped by default.Not included
jackson-databindstays explicitly pinned at 2.15.2 injava/pom.xmlwhilejackson-core,jackson-annotationsandjackson-datatype-jsr310now arrive transitively fromlance-namespace-coreat 2.18.3. That skew predates this PR but widens with it, and registering a 2.18 module on a 2.15 databind is the kind of mismatch that surfaces at runtime rather than compile time. Worth aligning separately.Separately,
[tool.pyright].includeinpython/pyproject.tomlis an explicit allowlist that does not coverpython/lance/namespace.py, so nothing type-checks these Python signatures against the ABC — unlike Java, where the interface makes a mismatch a compile error. The file carries aTODO: expand this list; adding namespace.py to it is a reasonable follow-up.