Releases: lance-format/lance
Releases · lance-format/lance
Release list
v9.0.0-beta.21
What's Changed
Bug Fixes 🐛
- fix(lance-core): avoid aliasing &mut Runtime in global_cpu_runtime by @LuciferYang in #7682
- fix: round-trip empty blob values in the 2.1+ structural encoding by @wkalt in #7717
Performance Improvements 🚀
- perf(index): pack prewarmed FTS posting groups by @BubbleCal in #7720
Full Changelog: v9.0.0-beta.20...v9.0.0-beta.21
v9.0.0-beta.20
What's Changed
New Features 🎉
- feat: compress RLE child buffers by @Xuanwo in #7663
- feat(java): expose MemWAL shard delete by @hamersaw in #7688
- feat(java): forward table properties to declareTable on namespace create by @puchengy in #7711
Bug Fixes 🐛
- fix(transaction): reduce redundant code for new_version calculations by @yangshangqing95 in #6589
- fix: late-materialize blob columns read as binary by @wkalt in #7593
- fix(lance-io): drop reservation when future is cancelled by @valkum in #7638
- fix: return error instead of panicking on values too wide for miniblock by @zhangyue19921010 in #7650
- fix(index): batch IVF streaming partition search off the CPU pool by @a-agmon in #7680
- fix(encoding): tolerate legacy RLE chunks that overflow the declared value count by @jackye1995 in #7708
Performance Improvements 🚀
- perf(dataset): reuse session-cached manifest on checkout by @zhangyue19921010 in #7661
Other Changes
Full Changelog: v9.0.0-beta.19...v9.0.0-beta.20
v9.0.0-beta.19
What's Changed
New Features 🎉
- feat: compile-time feature-gated Rust backtrace for JNI error diagnostics by @summaryzb in #6365
- feat(python): expose Lance metrics via OpenTelemetry by @wjones127 in #7537
- feat(python): expose MemWAL shard delete by @u70b3 in #7649
- feat: support nested field FTS by @Xuanwo in #7686
Bug Fixes 🐛
- fix(index): cap IVF train prefetch memory for nullable columns by @geserdugarov in #7143
- fix(index): translate address-domain scalar index results to row ids under stable row ids by @charleshuang119 in #7565
- fix(fts): use complete English stop-word list for ICU tokenizer by @LuQQiu in #7621
- fix: relax test_query_delta_indices assertion for approximate index by @XuQianJin-Stars in #7622
- fix(index): describe bitmap-less system indices in describe_indices by @hamersaw in #7667
- fix: avoid creating directory namespace manifest on read by @Xuanwo in #7687
- fix(python): ignore PyTorch 3.14 script_method warning by @Xuanwo in #7689
Performance Improvements 🚀
- perf(index): add exact null-row bitmap to zone map and bloom filter by @westonpace in #7372
- perf: increase default memory pool to 150MB with 40MB sort spill reservation by @westonpace in #7675
Other Changes
Full Changelog: v9.0.0-beta.18...v9.0.0-beta.19
v9.0.0-beta.18
What's Changed
New Features 🎉
- feat(io): publish object store metrics via the metrics crate by @wjones127 in #7533
- feat: support segment selection in pylance prewarm by @jackye1995 in #7677
Bug Fixes 🐛
- fix(python): fix tuple bug in _coerce_query_vector condition check by @hushengquan in #6555
- fix: map
object_store::Error::NotFoundtoError::NotFoundinstead ofError::IOby @LuciferYang in #6569 - fix: shift offsets after trimming values in merge_with_schema by @kaan-simbe in #6581
- fix: convert Arrow JSON to Lance JSON in single-fragment create path by @xloya in #7469
- fix: convert Arrow JSON when updating columns via merge/update path by @xloya in #7472
- fix(fsst): correct decoder output-buffer size contract to 8x by @LuciferYang in #7589
- fix(fts): enforce fuzzy max_expansions globally across index partitions by @BubbleCal in #7634
- fix: build list FTS indexes as row documents by @Xuanwo in #7656
- fix: solve hang in train_streaming_coreset_ivf_model by @cmccabe in #7676
Documentation 📚
- docs: add cleanup and auto cleanup documentation by @westonpace in #6546
- docs: add fragment sizing guidance to performance guide by @hamersaw in #6606
- docs(core): document spawn_cpu limitations and audit call sites by @wjones127 in #7643
- docs: update MemWAL format spec by @jackye1995 in #7655
Performance Improvements 🚀
- perf(arrow): zero-copy BFloat16Array::from(Vec) via Buffer::from_vec by @LuciferYang in #7614
Full Changelog: v9.0.0-beta.17...v9.0.0-beta.18
v9.0.0-beta.17
What's Changed
New Features 🎉
Bug Fixes 🐛
- fix(fts): use async send in FTS index builder to prevent thread-pool … by @a-agmon in #7423
- fix: return Arrow JSON from FragmentSession.take by @xloya in #7470
- fix: return Arrow JSON from FileFragment.take by @xloya in #7471
- fix: convert Arrow JSON in merge-insert full-fragment-rewrite fast path by @xloya in #7473
- fix(mem-wal): fence writer on WAL persistence failure by @hamersaw in #7547
- fix(mem_wal): use slice-aware size estimate for memtable flush threshold by @hamersaw in #7563
- fix: respect PQ num_bits for numpy codebooks by @ddupg in #7586
- fix(python): avoid CPU bf16 compile flake by @ddupg in #7587
- fix(fts): split tail-partition merge by the worker memory budget by @BubbleCal in #7601
- fix(goosefs): decouple OpenDAL root from URL path to avoid ObjectStore cache-key collision by @XuQianJin-Stars in #7612
- fix(encoding): select RLE widths by encoded size by @Xuanwo in #7636
- fix(deps): bump crossbeam-epoch to 0.9.20 for RUSTSEC-2026-0204 by @wjones127 in #7644
Performance Improvements 🚀
- perf(fts): cache the num_tokens-only DocSet on LazyDocSet by @BubbleCal in #7600
Other Changes
- chore(deps): bump cmov from 0.5.3 to 0.5.4 in /test_data/fri_straddle_pre_6610/datagen by @app/dependabot in #7594
Full Changelog: v9.0.0-beta.16...v9.0.0-beta.17
v9.0.0-beta.16
v9.0.0-beta.15
v9.0.0-beta.14
What's Changed
New Features 🎉
- feat(blob-v2): configure packed blob file max size with field metadata by @jo-migo in #7322
- feat: support per-base storage options with base_. prefix by @jackye1995 in #7608
- feat: support multi-base tables in merge insert with target base routing by @jackye1995 in #7610
Bug Fixes 🐛
- fix: chunk ngram posting list writes by byte size to avoid i32 offset overflow by @lancedb-robot in #7607
- fix: preserve DataFile base_id in DataReplacement commits by @jackye1995 in #7609
Full Changelog: v9.0.0-beta.13...v9.0.0-beta.14
v9.0.0-beta.13
v9.0.0-beta.12
What's Changed
New Features 🎉
- feat(compaction): introduce RowAddrRemap structure to avoid remap OOM caused by HashMap by @zhangyue19921010 in #7237
- feat(index): read a column's min/max from ZoneMap without a scan by @Ali2Arslan in #7463
- feat: support update with blob encoding column by @nyl3532016 in #7579
Bug Fixes 🐛
- fix(index): record IVF_HNSW index file sizes after writing footer by @Ali2Arslan in #7461
- fix(index): accept large_string (LargeUtf8) for BTREE and ZONEMAP scalar indices by @FANNG1 in #7525
- fix(cache): count key footprint in MokaCacheBackend eviction weight by @Ali2Arslan in #7573
- fix(index): exclude shared metadata cache from LanceIndexStore deep size by @Ali2Arslan in #7574
Documentation 📚
- docs(arrow): add SAFETY comments to lance-arrow unsafe blocks by @LuciferYang in #7511
Performance Improvements 🚀
- perf(index): coalesce concurrent scalar-index opens (single-flight) by @Ali2Arslan in #7464
- perf(dataset): reuse session-cached manifest when opening a dataset by @zhangyue19921010 in #7576
- perf(filtered-read): lower hot-path read/decode spans to debug by @LuQQiu in #7590
Full Changelog: v9.0.0-beta.11...v9.0.0-beta.12