python-v0.34.0-beta.0
Breaking Changes📦 lancedbView on GitHub →
⚠ 1 breaking✨ 13 features🐛 12 fixes🔧 8 symbols
Summary
This release introduces significant features like table branching, FM-Index support for substring search, and approximate query modes. It also includes several bug fixes across Python and Rust bindings, alongside a breaking change removing the 'loss' field from IndexStatistics.
⚠️ Breaking Changes
- The 'loss' field has been removed from IndexStatistics. Code relying on this field will need updating.
Migration Steps
- Remove any code that accesses the 'loss' field from IndexStatistics.
✨ New Features
- Implemented set/unset_lsm_write_spec REST variant for remote operations.
- Added table branch support.
- Enabled checking out a specific version on a branch.
- Introduced support for FM-Index scalar index for substring search.
- Added 'isin' support to the 'Expr' builder.
- Expanded IndexConfig to include rich per-index metadata.
- Allowed accepting Expr in Table.delete and merging when_not_matched_by_source_delete in Python bindings.
- Enabled rename_table operation on LanceNamespaceDatabase.
- Exposed new IndexConfig fields in Python and Node.js bindings.
- Added skills to connect and update column metadata.
- Added table branch support to remote tables and Python/TS bindings.
- Introduced approximate mode for vector queries.
- Added read-freshness signal sending on the lance-namespace path.
🐛 Bug Fixes
- Made LanceDBClientError pickleable in Python.
- Ensured AsyncTable.search embeddings run on a dedicated executor in Python.
- Fixed pushing down namespace full reads in Python.
- Corrected conversion of numpy scalars in value_to_sql utility.
- Fixed Node.js binding to treat NAPI_RS_FORCE_WASI as truthy only when explicitly set to 'true'.
- Added support for LargeList label list indexes.
- Raised clear TypeError for bare List/Tuple inputs during pydantic schema conversion in Python.
- Fixed Rust implementation to report local write progress bytes from Lance.
- Escaped single quotes in struct field names within value_to_sql utility.
- Clarified single dictionary input error message in Python.
- Fixed Rust to return typed errors instead of panicking in the Bedrock embedding path.
- Allowed shell pre-commit hooks in bumpversion configurations in CI.