v0.31.0-beta.0
VoiceBlender/voiceblenderv0.31.0-beta.0Jun 18, 2026by github-actions[bot]
AI Summary
This major beta release adds significant new capabilities to LanceDB, including table branch support, FM-Index scalar indexing, and extended expression builders. It also includes performance optimizations and bug fixes for Python and Node.js bindings.
Key Highlights
- Added table branch support for version control
- Implemented FM-Index scalar index for substring search
- Added `isin` support to the Expr builder
- Performance improvement: dropped N+1 queries in RemoteTable::list_indices
- Added approx mode to vector queries
Breaking Changes
- Dropped unused `loss` field from IndexStatistics
New Features
- Table branch support
- FM-Index scalar index for substring search
- LSM write spec REST variant
- Approx mode for vector queries
- Rename table support on LanceNamespaceDatabase
- Expanded IndexConfig with rich metadata
Full Release Notes
## 🛠 Breaking Changes - refactor!: drop unused loss field from IndexStatistics by @wjones127 in https://github.com/lancedb/lancedb/pull/3496 ## 🎉 New Features - feat(remote): implement set/unset_lsm_write_spec REST variant by @hamersaw in https://github.com/lancedb/lancedb/pull/3501 - feat: add table branch support by @brendanclement in https://github.com/lancedb/lancedb/pull/3490 - feat: support checking out a version on a branch by @brendanclement in https://github.com/lancedb/lancedb/pull/3504 - feat: support FM-Index scalar index for substring search by @jackye1995 in https://github.com/lancedb/lancedb/pull/3532 - feat: adds isin support to the 'Expr' builder by @stumpylog in https://github.com/lancedb/lancedb/pull/3523 - feat: expand IndexConfig with rich per-index metadata by @wjones127 in https://github.com/lancedb/lancedb/pull/3497 - feat(python): accept Expr in Table.delete and merge when_not_matched_by_source_delete by @stumpylog in https://github.com/lancedb/lancedb/pull/3524 - feat: support rename_table on LanceNamespaceDatabase by @nuthalapativarun in https://github.com/lancedb/lancedb/pull/3520 - feat(bindings): expose new IndexConfig fields in Python and Node.js by @wjones127 in https://github.com/lancedb/lancedb/pull/3534 - feat: skills to connect and update column metadata by @dantasse in https://github.com/lancedb/lancedb/pull/3541 - feat: add table branch support to remote tables and Python/TS bindings by @brendanclement in https://github.com/lancedb/lancedb/pull/3540 - feat(query): add approx mode to vector queries by @BubbleCal in https://github.com/lancedb/lancedb/pull/3549 - feat: send read-freshness signal on the lance-namespace path by @brendanclement in https://github.com/lancedb/lancedb/pull/3551 ## 🐛 Bug Fixes - fix(python): make LanceDBClientError pickleable by @hashwnath in https://github.com/lancedb/lancedb/pull/3470 - fix(python): run AsyncTable.search embeddings on a dedicated executor by @Ar-maan05 in https://github.com/lancedb/lancedb/pull/3459 - fix(python): push down namespace full reads by @BubbleCal in https://github.com/lancedb/lancedb/pull/3516 - fix(util): convert numpy scalars in value_to_sql by @devteamaegis in https://github.com/lancedb/lancedb/pull/3522 - fix(nodejs): treat NAPI_RS_FORCE_WASI as truthy only when set to 'true' by @nuthalapativarun in https://github.com/lancedb/lancedb/pull/3519 - fix: support LargeList label list indexes by @Xuanwo in https://github.com/lancedb/lancedb/pull/3529 - fix(python): raise clear TypeError for bare List/Tuple in pydantic schema conversion by @Ar-maan05 in https://github.com/lancedb/lancedb/pull/3511 - fix(rust): report local write progress bytes from Lance by @GHX5T-SOL in https://github.com/lancedb/lancedb/pull/3422 - fix(util): escape single quotes in struct field names in value_to_sql by @JSap0914 in https://github.com/lancedb/lancedb/pull/3548 - fix(python): clarify single dictionary input error by @whitewooood in https://github.com/lancedb/lancedb/pull/3537 - fix(rust): return typed errors instead of panicking in Bedrock embedding path by @Ar-maan05 in https://github.com/lancedb/lancedb/pull/3512 - fix(ci): allow shell pre-commit hooks in bumpversion configs by @wjones127 in https://github.com/lancedb/lancedb/pull/3554 ## 🚀 Performance Improvements - perf: drop N+1 in RemoteTable::list_indices by @wjones127 in https://github.com/lancedb/lancedb/pull/3535 ## Other Changes - refactor: extract create_index module from table.rs by @wirybeaver in https://github.com/lancedb/lancedb/pull/3521