Skip to content

v3.0.0-rc.2

Pre-release
Pre-release

Choose a tag to compare

@lance-community lance-community released this 26 Feb 16:53
· 1842 commits to main since this release

What's Changed

Breaking Changes 馃洜

  • feat!: support index progress reporting via callbacks by @wkalt in #5910
  • perf!: remove shuffle buffer by @wkalt in #5912
  • feat!: upgrade DataFusion dependency to 52.1.0 by @wjones127 in #6015

Critical Fixes 鈥硷笍

  • fix: deduplicate row addresses in take to prevent panic by @wjones127 in #5881
  • fix: fts flat search drops rows when avg_doc_length < 1.0 by @wjones127 in #5897
  • fix: invalidate index fragment bitmaps after data replacement and stale merge by @wjones127 in #5929

New Features 馃帀

Bug Fixes 馃悰

  • fix: ensure blob encoding work when using file reader directly by @rahil-c in #5193
  • fix: support system columns in dataset.take* operations by @hamersaw in #5722
  • fix: skip missing indices in compaction rewrite by @AndreaBozzo in #5739
  • fix(lance-linalg): check fp16kernels feature before arch-specific code by @durch in #5747
  • refactor: align blob behavior that write via file format version, read via layout by @Xuanwo in #5752
  • fix: fix deletion when using file-object-store:// by @cmccabe in #5760
  • fix: remove unreasonable nullable check for data types in hash_joiner during merge operation by @zhangyue19921010 in #5784
  • fix: allow unused_unsafe for __cpuid to support both stable and nightly by @jackye1995 in #5793
  • fix: set JUnit dependency as test scope by @bryanck in #5815
  • fix: fix remap so that it handles deletions correctly by @westonpace in #5828
  • fix: inconsistent transposed pq code and metadata when build ivf_pq index distributedly by @yanghua in #5834
  • fix: improve error messages in FixedSizeListArrayExt::convert_to_floating_point by @LuciferYang in #5836
  • fix(java): panic when reading CreateIndex transaction by @majin1102 in #5853
  • fix: fix mini-block dictionary bitpacking panic by @Xuanwo in #5860
  • fix: fix boolean inline constant decoding by @Xuanwo in #5862
  • fix: handle NULL elements in LABEL_LIST index results and explain_plan by @fenfeng9 in #5867
  • fix: open additional storage options provider related apis in lance dataset by @jackye1995 in #5869
  • fix: flaky test test_ann_prefilter for HNSW by @BubbleCal in #5870
  • fix(java): init allocator for new dataset when checkout branch/tag by @fangbo in #5876
  • fix: avoid panic when repdef serializes empty offsets by @fenfeng9 in #5890
  • fix(java): align version type from i32 to u64 by @majin1102 in #5892
  • fix: avoid bitmap range panic on inverted bounds by @fenfeng9 in #5893
  • fix: split index_statistics to reduce rustc query depth by @Xuanwo in #5894
  • fix: avoid panic on empty list LABEL_LIST filters by @fenfeng9 in #5914
  • fix: correct OR null semantics for nullable masks by @fenfeng9 in #5919
  • fix: respect fragment restrictions in vector and FTS searches when requested fragments by @yingjianwu98 in #5924
  • fix: don't drop field metadata on merge insert path by @westonpace in #5927
  • fix: apply SchemaAdapter in Updater by @westonpace in #5928
  • fix: correct OR null handling for BlockList|BlockList by @fenfeng9 in #5944
  • fix: remove unnecessary column projection for count aggregate by @jackye1995 in #5950
  • fix: respect requested indexed fragment in vector and FTS searches by @yingjianwu98 in #5953
  • fix: spawn part load in fts training by @westonpace in #5977
  • fix: rest namespace integration with table version apis by @jackye1995 in #5980
  • fix(encoding): handle empty rows in variable packed struct decode by @Xuanwo in #5995
  • fix: various bugs to namespace access by @jackye1995 in #5996
  • fix: set namespace commit handler for LanceDataset.commit by @jackye1995 in #6002
  • fix: fast_search limits full text search to indexed fragments by @BubbleCal in #6006
  • fix: fast_search should ignore any unindexed data for vector search by @BubbleCal in #6007
  • fix: correctly calculate max visible level when a list has no def by @westonpace in #6008
  • fix: make overwrites retryable instead of compatible by @jackye1995 in #6014
  • fix(python): avoid interpreter shutdown panic in BackgroundExecutor by @Xuanwo in #6023

Documentation 馃摎

Performance Improvements 馃殌

  • perf: add vector throughput benchmark by @westonpace in #5644
  • perf: add a full text search benchmark by @westonpace in #5665
  • perf: don't concat the batches for writing posting lists by @BubbleCal in #5769
  • perf: add a lightweight scheduler implementation by @westonpace in #5773
  • perf: use cpu pool to process all posting lists by @BubbleCal in #5780
  • perf: calculate cardinality lazily by @Xuanwo in #5783
  • perf: replace flatmap in build_distance_table by @wkalt in #5898
  • perf: change Dataset::sample to sort its random indices by @wkalt in #5915
  • perf: build fp16kernels with NEON support on iOS by @chyyran in #5917
  • perf: reduce peak memory in nullable training data sampling by @wkalt in #5935
  • perf: upgrade roaring to 0.11 and improve bitmap/range conversions by @LuQQiu in #5961
  • perf: speed up format 2.2 300% by spawning structural decode batch tasks by @Xuanwo in #5982
  • perf: improve parallelism of data_stats by @wkalt in #5990

Other Changes

  • refactor: change reader's get_range result to be a static future by @westonpace in #5755
  • refactor(python): migrate torch.jit.script to torch.compile by @wjones127 in #5759
  • test: fix tests broken by pandas 3 release by @westonpace in #5786
  • refactor: use dict entries and encoded size instead of cardinality for dict decision by @Xuanwo in #5891
  • refactor: correct panic message typos in OrderableScalarValue::cmp by @fenfeng9 in #5913
  • refactor: deprecate list_indices and migrate tests to describe_indices by @fenfeng9 in #5945

Full Changelog: release-root/3.0.0-beta.N...v3.0.0-rc.2