v0.31.0-beta.0

f/prompts.chatv0.31.0-beta.0Jun 18, 2026by github-actions[bot]

AI Summary

A major beta update for LanceDB introducing table branch support, FM-Index scalar indexing, and expanded index configuration metadata.

Key Highlights

  • Table branch support and version checking capabilities
  • FM-Index scalar index for substring search
  • New IndexConfig metadata fields for rich per-index details
  • Approx mode for faster vector queries

Breaking Changes

  • Drop unused loss field from IndexStatistics

New Features

  • Table branch support
  • FM-Index scalar index
  • isin support for Expr builder
  • rename_table support for LanceNamespaceDatabase
  • Metadata skills for column updates
  • Approx mode for vector queries

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