Change8

python-v0.34.0-beta.0

Breaking Changes
📦 lancedbView on GitHub →
1 breaking13 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

  1. 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.

Affected Symbols