v0.37.1

AlexxIT/go2rtcv0.37.1Aug 10, 2026by github-actions[bot]

AI Summary

LanceDB v0.37.1 introduces a builder pattern for the `add_columns` method in Rust and resolves several debugger deadlock issues in Python. The release enhances Full Text Search capabilities with new configuration options and adds job handles for index creation and connection-level operations.

Key Highlights

  • Breaking change: `add_columns` method in Rust is now a builder pattern.
  • Bug fixes: Resolved debugger deadlock during Python connection inspection.
  • New Features: Added support for batched and seekable blob range reads in RemoteTable.
  • New Features: Enhanced Full Text Search with configurable block sizes and custom stop-word lists.
  • New Features: Introduced Job handles for `create_index` and connection-level job operations.

Breaking Changes

  • feat(rust)!: make add_columns a builder

New Features

  • feat(fts): add block size configuration
  • feat(query): add use_lsm to read MemWAL LSM data
  • feat: support batched blob range reads
  • feat(python): expose AsyncTable.to_lance
  • feat(python): configure streaming transform parallelism
  • feat(fts): support custom stop-word lists
  • feat(remote): add RemoteTable fetch_blobs HTTP client
  • feat(python): add namespace/table exist support
  • feat: create_index returns a Job handle
  • feat: connection-level job operations
  • feat(remote): add seekable blob range reads
  • feat(table): checkpoint_lsm, flush_lsm, compact_lsm, get_lsm_stats

Full Release Notes

## 🛠 Breaking Changes

- feat(rust)!: make add_columns a builder by @wkalt in https://github.com/lancedb/lancedb/pull/3778
- fix(python): avoid debugger deadlock during connection inspection by @lancedb-gatefixer[bot] in https://github.com/lancedb/lancedb/pull/3788
- feat: infer maintained indexes when an LsmWriteSpec omits them by @hamersaw in https://github.com/lancedb/lancedb/pull/3748

## 🎉 New Features

- feat(fts): add block size configuration by @BubbleCal in https://github.com/lancedb/lancedb/pull/3691
- feat(query): add use_lsm to read MemWAL LSM data by @touch-of-grey in https://github.com/lancedb/lancedb/pull/3489
- feat: support batched blob range reads by @Xuanwo in https://github.com/lancedb/lancedb/pull/3703
- feat(python): expose AsyncTable.to_lance by @u70b3 in https://github.com/lancedb/lancedb/pull/3730
- feat(python): configure streaming transform parallelism by @yaodong-shen in https://github.com/lancedb/lancedb/pull/3699
- feat(fts): support custom stop-word lists by @BubbleCal in https://github.com/lancedb/lancedb/pull/3734
- feat(remote): add RemoteTable fetch_blobs HTTP client by @geruh in https://github.com/lancedb/lancedb/pull/3684
- feat(python): add namespace/table exist support by @FarmerChillax in https://github.com/lancedb/lancedb/pull/3460
- feat: create_index returns a Job handle by @wkalt in https://github.com/lancedb/lancedb/pull/3742
- feat: connection-level job operations by @wkalt in https://github.com/lancedb/lancedb/pull/3755
- feat(remote): add seekable blob range reads by @geruh in https://github.com/lancedb/lancedb/pull/3750
- feat(rust)!: make add_columns a builder by @wkalt in https://github.com/lancedb/lancedb/pull/3778
- feat(table): checkpoint_lsm, flush_lsm, compact_lsm, get_lsm_stats by @hamersaw in https://github.com/lancedb/lancedb/pull/3736
- feat: infer maintained indexes when an LsmWriteSpec omits them by @hamersaw in https://github.com/lancedb/lancedb/pull/3748

## 🐛 Bug Fixes

- fix: crash in AnswerdotaiRerankers/ColbertReranker for return_score="all" by @chuenchen309 in https://github.com/lancedb/lancedb/pull/3671
- fix: preserve row count in MetadataEraserExec for zero-column batches by @vivek-bharathan in https://github.com/lancedb/lancedb/pull/3717
- fix: accept either timestamp or timestamp_millis for versions by @dantasse in https://github.com/lancedb/lancedb/pull/3733
- fix(node): reject non-string Arrow metadata by @u70b3 in https://github.com/lancedb/lancedb/pull/3728
- fix: deflake test_read_consistency_interval by @wjones127 in https://github.com/lancedb/lancedb/pull/3713
- fix(python): avoid async work in sync reprs by @ssrheart425 in https://github.com/lancedb/lancedb/pull/3620
- fix(remote): surface masked merge_insert stream errors under HTTP2 (#2339) by @sanskar-singh-2403 in https://github.com/lancedb/lancedb/pull/3711
- fix: distinguish corrupt table from missing in open_table by @joaquinhuigomez in https://github.com/lancedb/lancedb/pull/3731
- fix(python): log when storage_options is ignored in RemoteDBConnection.open_table by @ckarnell in https://github.com/lancedb/lancedb/pull/3743
- fix: hybrid search minimum_nprobes(0) silently no-ops instead of raising by @Adityaj0 in https://github.com/lancedb/lancedb/pull/3770
- fix: when_not_matched_by_source_delete() doesn't reset a previously-set condition by @Adityaj0 in https://github.com/lancedb/lancedb/pull/3771
- fix(python): avoid debugger deadlock during connection inspection by @lancedb-gatefixer[bot] in https://github.com/lancedb/lancedb/pull/3788
- fix(python): guard concurrent table deletes by @lancedb-gatefixer[bot] in https://github.com/lancedb/lancedb/pull/3787
- fix(python): report unsplittable IVF partition errors by @lancedb-gatefixer[bot] in https://github.com/lancedb/lancedb/pull/3846
- fix(python): align wheel ABI with supported versions by @lancedb-gatefixer[bot] in https://github.com/lancedb/lancedb/pull/3884
- fix(python): prevent OpenSSL linkage in Linux wheels by @lancedb-gatefixer[bot] in https://github.com/lancedb/lancedb/pull/3877
- fix(python): instruct dimension probe for instructor embeddings by @lancedb-gatefixer[bot] in https://github.com/lancedb/lancedb/pull/3874
- fix(python): support nullable pandas merge input by @lancedb-gatefixer[bot] in https://github.com/lancedb/lancedb/pull/3864
- fix(python): cover nullable list v2.2 decoding by @lancedb-gatefixer[bot] in https://github.com/lancedb/lancedb/pull/3853
- fix(python): preserve repeated indexed merge inserts by @lancedb-gatefixer[bot] in https://github.com/lancedb/lancedb/pull/3850
- fix(rust): prevent vector optimize regression after deletes by @lancedb-gatefixer[bot] in https://github.com/lancedb/lancedb/pull/3848
- fix(remote): validate cloud DNS hostnames by @lancedb-gatefixer[bot] in https://github.com/lancedb/lancedb/pull/3845
- fix(rust): handle missing mirrored copy sources by @lancedb-gatefixer[bot] in https://github.com/lancedb/lancedb/pull/3843
- fix: percent-encode index names in per-index remote REST paths by @wkalt in https://github.com/lancedb/lancedb/pull/3840
- fix(python): accept Arrow scalars in table updates by @lancedb-gatefixer[bot] in https://github.com/lancedb/lancedb/pull/3838
- fix(python): clarify bare Vector annotations by @lancedb-gatefixer[bot] in https://github.com/lancedb/lancedb/pull/3809
- fix(python): expose inline types to downstream checkers by @lancedb-gatefixer[bot] in https://github.com/lancedb/lancedb/pull/3817
- fix(node): require compatible Node.js types by @lancedb-gatefixer[bot] in https://github.com/lancedb/lancedb/pull/3829
- fix(python): support Polars 1.32 table scans by @lancedb-gatefixer[bot] in https://github.com/lancedb/lancedb/pull/3801
- fix(node): cover non-nullable embedding schema append by @lancedb-gatefixer[bot] in https://github.com/lancedb/lancedb/pull/3835
- fix: explain unsupported object storage mounts by @lancedb-gatefixer[bot] in https://github.com/lancedb/lancedb/pull/3823
- fix(node): cover offset pagination in search by @lancedb-gatefixer[bot] in https://github.com/lancedb/lancedb/pull/3814
- fix: avoid AttributeError in JinaEmbeddings image input for str/Path by @chuenchen309 in https://github.com/lancedb/lancedb/pull/3670
- fix: get table size from metadata, not files by @dantasse in https://github.com/lancedb/lancedb/pull/3790
- fix(node): preserve nested Arrow data across versions by @lancedb-gatefixer[bot] in https://github.com/lancedb/lancedb/pull/3900

## 📚 Documentation

- docs(python): fill gaps in the Python API reference by @wjones127 in https://github.com/lancedb/lancedb/pull/3746

## 🔧 Build and CI

- ci: cut Actions cost by moving builds to free runners and fixing caches by @wjones127 in https://github.com/lancedb/lancedb/pull/3735
- ci(docs): add scheduled doc link check by @Xuanwo in https://github.com/lancedb/lancedb/pull/3888