v0.37.1
EmilTholin/image-trace-loaderv0.37.1Aug 10, 2026by github-actions[bot]
AI Summary
This release focuses on enhancing LSM (Log-Structured Merge-tree) data management, expanding Python API capabilities, and improving remote and full-text search functionalities. It introduces new configuration options and fixes critical bugs related to async operations and connection inspection.
Key Highlights
- Added new LSM management operations including checkpoint, flush, compact, and stats retrieval.
- Enhanced Python API with AsyncTable.to_lance, streaming transform parallelism, and namespace/table existence checks.
- Enabled batched and seekable blob range reads for remote tables.
- Improved full-text search with block size configuration and custom stop-word lists.
- Fixed critical debugger deadlocks and async work issues in Python.
Breaking Changes
- feat(rust)!: make add_columns a builder
- fix(python): avoid debugger deadlock during connection inspection
- feat: infer maintained indexes when an LsmWriteSpec omits them
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