v10.0.0-beta.1
Pre-release
Pre-release
What's Changed
Breaking Changes 🛠
- perf(compaction)!: skip building row-address maps when index remapping is not needed by @everySympathy in #7778
- fix(blob)!: preserve null selections across blob APIs by @Xuanwo in #7903
Critical Fixes ‼️
- fix(exec): preserve order when coalescing a sorted multi-partition plan by @wjones127 in #7868
New Features 🎉
- feat: accept TableProvider write inputs for merge_insert and insert by @wjones127 in #7368
- feat(index): write zone map seeds into data file footers during append by @westonpace in #7427
- feat(python): expose DataOverlay commit operation by @wjones127 in #7540
- feat: support cross-store (cross-account) deep_clone by @sezruby in #7545
- feat(index): mask data overlay files in scalar and vector index queries by @wjones127 in #7549
- feat: support structured_query in the directory namespace query_table by @hamersaw in #7592
- feat: add code analyzer for FTS by @Xuanwo in #7681
- feat(compaction): compact fragments over an overlay-count limit by @wjones127 in #7772
- feat(fts): record scorer_build_ms for the exec-local BM25 scorer fallback by @LuQQiu in #7807
- feat(fts): read inverted index params without opening the segment by @LuQQiu in #7816
- feat: expose cached file metadata APIs on FileFragment by @jiaqizho in #7820
- feat: add batch blob range reads by @Xuanwo in #7864
- feat(java): expose session metadata cache stats to java api by @zhangyue19921010 in #7885
- feat(format): read and write sparse structural pages by @Xuanwo in #7889
- feat(mem_wal): drive the WAL append on a flush-interval ticker by @hamersaw in #7894
- feat(index): support segmented bloom filters by @jackye1995 in #7925
Bug Fixes 🐛
- fix(index): normalize same-column scalar index predicates by @zouhuajian in #6782
- fix(commit): verify finalized external manifests by @BubbleCal in #7578
- fix: skip empty string docs in FTS stats by @Ecthlion in #7699
- fix: keep ids and addresses aligned in filter_deleted_ids under stabl… by @wkalt in #7704
- fix(mem-wal): propagate final flush failures from ShardWriter::close by @u70b3 in #7769
- fix: bracket match query display by @jackye1995 in #7796
- fix(table): route tos:// scheme to ConditionalPutCommitHandler by @zhangyue19921010 in #7824
- fix(python): allow blob writer cleanup across threads by @justinrmiller in #7827
- fix(index): reuse cached FTS document lengths by @Xuanwo in #7830
- fix(index): sort JSON-path values once after extraction, not the raw column by @wjones127 in #7835
- fix: make FTS metadata loading retry-safe by @Xuanwo in #7838
- fix: reenable flaky tests on test_torch_kmeans.py by @cswpy in #7849
- fix(fts): restore format version environment fallback by @Xuanwo in #7855
- fix: dispatch concurrent blob range reads by @Xuanwo in #7861
- fix(fts): use v3 as the capability gate by @Xuanwo in #7866
- fix(index): return error instead of panicking when hierarchical k-means can't reach target_k by @wjones127 in #7869
- fix: trim fragment-reuse index for non-covering indexes by @xuanyu-z in #7870
- fix(mem_wal): harden shard open and fail reads on a poisoned writer by @hamersaw in #7872
- fix(fts): preserve parameter compatibility by @Xuanwo in #7874
- fix(mem_wal): read-your-writes via split index-apply and dual visibility cursors by @hamersaw in #7888
- fix(mem-wal): propagate task shutdown failures by @u70b3 in #7915
- fix(mem-wal): refill scans after shadow filtering by @u70b3 in #7917
- fix(namespace): propagate dir-namespace storage errors instead of mapping to TableNotFound by @brendanclement in #7931
Documentation 📚
- docs: implement the Lance Docs design as the mkdocs site theme by @Xuanwo in #7821
- docs: make the docs site theme usable on mobile and narrow screens by @Xuanwo in #7853
Performance Improvements 🚀
- perf(index): norm-addend cache and slim top-k heap for FTS scoring by @BubbleCal in #7629
- perf(encoding): compact mini-block chunk index for cached page state by @Ali2Arslan in #7651
- perf: plan take operations through FilteredReadExec's range-read path by @LuQQiu in #7672
- perf(encoding): auto-select sparse structural pages by @Xuanwo in #7756
- perf(filtered-read): reuse plan-time fragment metadata for the read stream by @LuQQiu in #7792
- perf(dataset): read transactions by version without populating session caches by @xuanyu-z in #7817
- perf(fts): resolve deferred row_ids via the cached whole ROW_ID column by @LuQQiu in #7897
Full Changelog: release-root/10.0.0-beta.N...v10.0.0-beta.1