Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
727 commits
Select commit Hold shift + click to select a range
e927e74
perf(deps): gate lance-datafusion datagen tooling (#8527)
dentiny Aug 14, 2026
6ff8985
chore: release beta version 11.0.0-beta.10
Aug 14, 2026
c3ae07a
fix(mem-wal): install conflicts with concurrent schema-changing merge…
wkalt Aug 14, 2026
5ef1e96
chore: release beta version 11.0.0-beta.11
Aug 14, 2026
25de1e0
chore: update lance-namespace-reqwest-client to 0.11.0 (#8548)
wkalt Aug 14, 2026
1f0b2f0
chore: release beta version 11.0.0-beta.12
Aug 14, 2026
ee41152
chore: release beta version 11.0.0-beta.13
Aug 14, 2026
706b941
feat(python): expose frozen memtable metrics in memtable_stats (#8526)
hamersaw Aug 14, 2026
d99968a
fix: validate merge schema field bindings (#7703)
wkalt Aug 17, 2026
98124dd
fix(index): align scalar index field type support (#7966)
ddupg Aug 17, 2026
c409302
feat: per value support for fixed-length packed structs (#7714)
morales-t-netflix Aug 17, 2026
e958adf
perf(index): use dot distance for cosine in FlatFloatStorage (#7777)
clearlove10-c Aug 17, 2026
8a8fb20
feat(compaction): support excluding fragments from planning (#8532)
everySympathy Aug 17, 2026
905638f
refactor: extract the shared manifest walk behind tracked_files (#8449)
LuciferYang Aug 17, 2026
5269889
fix: handle reordered sources in indexed merge insert (#8509)
lance-gatefixer[bot] Aug 17, 2026
f177fae
perf(filtered-read): prune non-candidate fragment metadata (#8587)
BubbleCal Aug 17, 2026
c8266cd
fix(index): make IVF buffer setter safe (#8602)
Xuanwo Aug 18, 2026
97d8413
fix(java): narrow JNI byte slice casts (#8603)
Xuanwo Aug 18, 2026
19faf53
docs: avoid mint wording in stable row id docs (#8425)
Xuanwo Aug 18, 2026
10cc4d3
fix(dataset): isolate wrapped additional base stores (#8609)
BubbleCal Aug 18, 2026
059f71a
chore: release beta version 11.0.0-beta.14
Aug 18, 2026
34c8a58
perf(index): skip unnecessary null tracking for BTree and Bitmap inde…
everySympathy Aug 18, 2026
bf57cc6
fix(core): keep assumptions checked in release builds (#8592)
Xuanwo Aug 18, 2026
fff91da
fix(linalg): validate slice lengths before SIMD loads (#8593)
Xuanwo Aug 18, 2026
fa19a7e
fix(linalg): validate distance input lengths (#8594)
Xuanwo Aug 18, 2026
3fefd3b
fix(deps): bump h2 to 0.4.16 for RUSTSEC-2026-0258 (#8613)
Xuanwo Aug 18, 2026
53b7a23
fix(python): return a shared background executor (#8596)
Xuanwo Aug 18, 2026
fe92cee
fix(encoding): always validate Arrow conversions (#8597)
Xuanwo Aug 18, 2026
188c85c
fix(index): initialize BQ distance buffers (#8598)
Xuanwo Aug 18, 2026
6d1000a
fix(encoding): initialize bitpacking output buffers (#8599)
Xuanwo Aug 18, 2026
c1df8e0
fix(select): make row address iterators safe (#8600)
Xuanwo Aug 18, 2026
5107536
fix(encoding): reject bytepacking overflow (#8601)
Xuanwo Aug 18, 2026
1a7ef68
fix: make MemWAL HNSW snapshots publication-consistent (#8591)
Xuanwo Aug 18, 2026
c42879c
fix: serialize BatchStore writers (#8595)
Xuanwo Aug 18, 2026
c4a148d
feat: add Dataset::migrate_to_stable_row_ids migration method (#8521)
westonpace Aug 18, 2026
ff4584f
fix(index): avoid fragment reuse cache deadlock (#8620)
lance-gatefixer[bot] Aug 18, 2026
3d81f21
refactor(dataset): rename FileFragment::write_column (#8622)
Xuanwo Aug 18, 2026
a8e2a78
fix(encoding): reject zero fixed-size-list dimension in repdef decima…
westonpace Aug 18, 2026
434fb69
refactor(table): move transaction helpers down into lance-table (#8053)
wjones127 Aug 18, 2026
6bad378
fix(table): restore migration_next_row_id on ManifestBuildConfig (#8629)
wjones127 Aug 19, 2026
e22aa04
refactor(table): move transaction.rs into lance-table (#8054)
wjones127 Aug 19, 2026
0e2f870
feat(mem_wal): observe flush latency through the metrics facade (#8625)
hamersaw Aug 19, 2026
8064b3a
chore: release beta version 11.0.0-beta.15
Aug 19, 2026
6f7b1c9
refactor(table): split transaction.rs into a module tree (#8056)
wjones127 Aug 19, 2026
feafb24
fix: support bitwise shift SQL expressions (#8388)
lance-gatefixer[bot] Aug 19, 2026
ecc74eb
fix(encoding): validate variable-width Arrow offsets (#8382)
lance-gatefixer[bot] Aug 19, 2026
b945b3e
fix(java): preserve sessions on dataset checkout (#8650)
lance-gatefixer[bot] Aug 20, 2026
dc85028
fix(fts): include must-not clauses in query planning (#8443)
ddupg Aug 20, 2026
d1e971c
fix(fsst): reject corrupt symbol tables and offsets on decode (#8588)
Xuanwo Aug 20, 2026
d4e15cc
fix(fts): preserve exact wand score bounds (#8666)
BubbleCal Aug 20, 2026
088917a
chore(deps): bump quinn-proto from 0.11.14 to 0.11.16 in /python (#7985)
dependabot[bot] Aug 20, 2026
779f6e6
fix: encode JSON string expressions during updates (#8669)
lance-gatefixer[bot] Aug 20, 2026
6861db6
chore: enforce shared workspace dependencies via cargo-deny (#8670)
wjones127 Aug 20, 2026
14de187
fix(io): preserve Windows UNC share roots (#8378)
lance-gatefixer[bot] Aug 20, 2026
1ee52c8
perf(dataset): binary search the manifest in get_fragment (#8636)
zhangyue19921010 Aug 20, 2026
0fd8219
perf(ci): parallelize Python tests and shorten the macOS Rust job (#8…
wjones127 Aug 20, 2026
69bf21e
perf(index): route fp16 IVF partition assignment through an AMX-FP16 …
xtangxtang Aug 21, 2026
125a128
fix(io): add upload context to object store write failures (#8682)
jackye1995 Aug 21, 2026
e4baaf1
refactor(fts): add exact posting load policies (#8667)
BubbleCal Aug 21, 2026
44b3d89
docs: update Jeremy Leibs' affiliation (#8683)
Xuanwo Aug 21, 2026
a539315
perf(rowids): keep the scan position when reading a segment in order …
pengw0048 Aug 21, 2026
f40f337
fix(fts): chunk posting reads during segment merge (#8668)
BubbleCal Aug 21, 2026
59ea16a
fix(fts): derive empty segment codec from format (#8687)
BubbleCal Aug 21, 2026
d514a61
chore: release beta version 11.0.0-beta.16
Aug 21, 2026
4c70e5e
feat(fts): add cross-column scorer composition (#8685)
BubbleCal Aug 21, 2026
1604533
fix(linalg): gate AMX FP16 import by target (#8690)
BubbleCal Aug 21, 2026
b3f49b6
perf(fts): enable bounded cross-column search (#8689)
BubbleCal Aug 21, 2026
cee9765
fix: preserve the row id high-water mark across restore (#8671)
wkalt Aug 21, 2026
d52320b
chore: release beta version 11.0.0-beta.17
Aug 21, 2026
dea9dac
refactor(mem-wal): remove the index-catchup feature bit (#8680)
xuanyu-z Aug 21, 2026
7b6e2d3
chore: release beta version 11.0.0-beta.18
Aug 21, 2026
3abd50d
feat: report the row ids deleted between two versions (#8589)
wkalt Aug 21, 2026
3128c00
chore: release beta version 11.0.0-beta.19
Aug 21, 2026
285eeb7
feat(format): add IndexMetadata.covering_fields for covering indexes …
vivek-bharathan Aug 21, 2026
55f5ac5
chore: release beta version 11.0.0-beta.20
Aug 22, 2026
efe51a9
feat(java): expose ArrowArrayStream export on LanceScanner (#7259)
sezruby Aug 22, 2026
3d22b89
fix(io): stop serializing multipart uploads behind batch encoding (#8…
jackye1995 Aug 22, 2026
dd08336
chore: release beta version 11.0.0-beta.21
Aug 22, 2026
17cbd61
fix: filter stale physical row ids in take (#8401)
lance-gatefixer[bot] Aug 23, 2026
efaca3b
fix: validate substrait filters that need no field pruning (#8484)
1fanwang Aug 23, 2026
c3a476b
fix: delete data files when cleanup retains an older tag (#8708)
XuQianJin-Stars Aug 23, 2026
a9374dd
feat(scanner): add external row-address mask prefilter (#7288)
JulianYG Aug 23, 2026
352a334
perf(index): sample PQ training data before sub-vector copies (#7930)
u70b3 Aug 23, 2026
2c1500f
fix(fts): normalize token cursor before incremental merge (#8312)
lance-gatefixer[bot] Aug 23, 2026
cc0f085
fix(io): support GCS workload identity credentials (#8389)
lance-gatefixer[bot] Aug 23, 2026
784708c
fix(io): respect custom S3 endpoints from AWS profiles (#8390)
lance-gatefixer[bot] Aug 23, 2026
d9200d3
fix(index): search legacy truncated PQ indexes (#8396)
lance-gatefixer[bot] Aug 23, 2026
7e4d45b
fix: avoid deadlock when opening scan fragments (#8397)
lance-gatefixer[bot] Aug 23, 2026
6dddcc5
fix: conflict schema metadata updates with merges (#8707)
Xuanwo Aug 23, 2026
ea3cb4d
chore: release beta version 11.0.0-beta.22
Aug 23, 2026
80aca83
fix(datafusion): use caller session for filter planning (#8407)
lance-gatefixer[bot] Aug 23, 2026
30cbafc
feat(merge_insert): add write_mode to select how merged rows are writ…
LuciferYang Aug 23, 2026
dabd971
docs: fix stale links, a broken path, and typos in contributor and qu…
jackylee-ch Aug 23, 2026
0a68dc0
fix(index): align HNSW flat search distance bounds (#8496)
lance-gatefixer[bot] Aug 24, 2026
afc31de
chore(index): drop the unused prefetch_distance macro parameter (#8497)
wombatu-kun Aug 24, 2026
5b296e8
fix(geo): skip empty geometries in RTree indexes (#8545)
lance-gatefixer[bot] Aug 24, 2026
9361fdb
fix: raise typed CommitConflictError instead of bare OSError (#8563)
lichuang Aug 24, 2026
fa3241f
fix(fts): preserve exact top-level multimatch ties (#8702)
BubbleCal Aug 24, 2026
0fff60c
fix(linalg): use a lane-wise intrinsic for i32x8 multiplication on x8…
LuciferYang Aug 24, 2026
497bfcd
fix(java): hold Dataset read lock when passing Dataset into native ca…
zhangyue19921010 Aug 24, 2026
90cdbb9
perf(fts): add WAND exactness certificate (#8703)
BubbleCal Aug 24, 2026
897a8bd
chore(deps): bump pyarrow from 25.0.0 to 25.0.1 in /python in the uv …
dependabot[bot] Aug 24, 2026
6aebbb3
feat(sql): expose batch size to sql builder (#8648)
dentiny Aug 24, 2026
371da45
fix(io): normalize OpenDAL listed paths (#8654)
lance-gatefixer[bot] Aug 24, 2026
4006aa0
chore: bump main to 11.1.0-beta.0
Aug 24, 2026
1dd0979
fix(linalg): report AVX-512 test coverage (#8664)
lance-gatefixer[bot] Aug 24, 2026
b86f64d
ci: remove code coverage reporting (#8722)
Xuanwo Aug 24, 2026
c4ec93c
fix: refuse to drop a path that is not a Lance dataset (#8665)
xiaguanglei Aug 24, 2026
687113e
fix(io): prevent io_uring requests from hanging (#8725)
Xuanwo Aug 24, 2026
914334a
fix(python): annotate LanceFragment.data_files and deletion_file (#8492)
jonasdedden Aug 24, 2026
5e3e905
fix(python): annotate BatchUDF and the batch_udf decorator (#8494)
jonasdedden Aug 24, 2026
fb574ff
fix(python): declare LanceSchema.field and field_case_insensitive in …
jonasdedden Aug 24, 2026
727e828
fix(linalg): enforce the hamming_batch_u64 length contract in release…
LuciferYang Aug 24, 2026
5e38587
fix(python): accept None for max_rows_per_group (#8489)
jonasdedden Aug 24, 2026
c892a7a
test(index): reduce IVF lifecycle test workloads (#8732)
BubbleCal Aug 25, 2026
16bcbe0
test(index): consolidate IVF PQ prewarm coverage (#8735)
BubbleCal Aug 25, 2026
b5a39e0
fix(io): reject unordered scheduler ranges (#8728)
lance-gatefixer[bot] Aug 25, 2026
8b7640c
test(encoding): reduce primitive value test matrix (#8734)
BubbleCal Aug 25, 2026
c8d3424
test(encoding): focus sparse boolean miniblock regression (#8736)
BubbleCal Aug 25, 2026
74d0e92
feat: support BinaryView in packed blob writer via iterator-based ext…
lichuang Aug 25, 2026
de7a456
ci: add daily code coverage workflow (#8726)
Xuanwo Aug 25, 2026
5eeb43f
test(index): replace invalid-vector index regression (#8730)
BubbleCal Aug 25, 2026
5b44fee
test(encoding): replace redundant bitpack matrix (#8731)
BubbleCal Aug 25, 2026
53b560d
refactor(encoding): align block codecs with miniblock (#8324)
Xuanwo Aug 25, 2026
43ea452
test(index): reduce HNSW PQ test workloads (#8733)
BubbleCal Aug 25, 2026
91aee6f
test(index): shrink empty partition stats fixture (#8744)
BubbleCal Aug 25, 2026
690e56c
test(index): reduce IVF PQ matrix workloads (#8743)
BubbleCal Aug 25, 2026
4fc7057
test(python): reduce slow test workloads (#8746)
BubbleCal Aug 25, 2026
abe6111
feat(io)!: paginated directory listing on ObjectStore (#8606)
wjones127 Aug 25, 2026
413c9bd
feat(python): expose ObjectStoreProvider registration in pylance (#8522)
farazshaikh Aug 25, 2026
62b9360
perf(build): revert default target back to haswell (avx2) (#8754)
westonpace Aug 25, 2026
dc01cdb
perf(mem_wal)!: serve the shard manifest from the store that wrote it…
hamersaw Aug 25, 2026
ec4293d
perf: stop listing the entire _versions directory for limited version…
LuQQiu Aug 25, 2026
e37cee4
chore: bump to 12.0.0-beta.1 based on breaking change detection
Aug 25, 2026
361f0b6
feat(mem_wal): make write backpressure injectable and account index m…
hamersaw Aug 26, 2026
dafa464
chore: release beta version 12.0.0-beta.2
Aug 26, 2026
2328a25
perf(rowids): reuse cursors across sequential batches (#8713)
jiaoew1991 Aug 26, 2026
7b80136
fix(python): spell misnamed without a hyphen so the typos gate passes…
jackylee-ch Aug 26, 2026
4df8219
test: reduce slow unit test workloads (#8745)
Xuanwo Aug 26, 2026
ad2ee27
perf(fts): complete ambiguous WAND ties without full replay (#8751)
BubbleCal Aug 26, 2026
e49a421
test(index): stabilize lightweight 4-bit PQ recall (#8784)
BubbleCal Aug 26, 2026
8d7c8ea
feat(encoding): add CANDIDATE_BATCH_SIZES and plan_decoded_bytes trai…
westonpace Aug 26, 2026
87378db
chore: release beta version 12.0.0-beta.3
Aug 26, 2026
48eb6ff
feat: add mixed data file version capability (#8580)
Xuanwo Aug 27, 2026
c344a7c
fix(fts): canonicalize fuzzy expansion across segments (#8758)
BubbleCal Aug 27, 2026
51efb83
perf(java): reduce fragment statistics allocations (#8452)
everySympathy Aug 27, 2026
22064ce
perf(fts): defer phrase confirmation with score bounds (#8749)
BubbleCal Aug 27, 2026
792f24c
fix(fts): preserve global scoring for no-impact indexes (#8748)
BubbleCal Aug 27, 2026
0ac7d22
fix(ci): stabilize test_scan_slice against page-cache state (#8815)
RupertMaiti2005 Aug 27, 2026
81b0316
perf(fts): share MultiMatch prefilter materialization (#8750)
BubbleCal Aug 27, 2026
60d8988
fix(encoding): read wrapped miniblock level counts (#8410)
lance-gatefixer[bot] Aug 27, 2026
c2a4a0f
refactor: replace hand-rolled string→bool parsing with `str_is_truthy…
Copilot Aug 27, 2026
6e5c5ba
perf(fts): remove benchmark metrics from query hot paths (#8825)
BubbleCal Aug 27, 2026
3e6b413
fix(index): stream bulk index file copies (#8770)
jackye1995 Aug 27, 2026
474ae88
chore: release beta version 12.0.0-beta.4
Aug 27, 2026
7fc1231
test(scalar): cover multi-fragment addresses and empty-index queries …
jackylee-ch Aug 27, 2026
338e100
perf(fts): keep compound scorer in fast search (#8817)
BubbleCal Aug 28, 2026
587eade
fix(fs): fix dataset files permission on local filesystem (#8839)
dentiny Aug 28, 2026
0a4e20e
perf(rowids): count bitmap bits a word at a time (#8642)
pengw0048 Aug 28, 2026
29c4d59
test(index): strengthen the FlatTransformer nullability assertion (#8…
jackylee-ch Aug 28, 2026
5b14b34
ci: enforce PMC vote on format-spec changes via CI gate (#7399)
wjones127 Aug 28, 2026
085354e
fix(hnsw): make a persisted HNSW cover its rows and reject invalid on…
xuanyu-z Aug 28, 2026
b4e5c32
fix: validate primary key nullability on every path that can change i…
xuanyu-z Aug 29, 2026
108f78e
fix(index): keep an index this build cannot read out of the erase pat…
wombatu-kun Aug 29, 2026
a434e0b
test(io): skip uring tests without workers (#8788)
lance-gatefixer[bot] Aug 29, 2026
6ff2a17
fix(python): don't seed IVF centroids with NaN vectors (#8782)
jonasdedden Aug 29, 2026
5566377
chore: release beta version 12.0.0-beta.5
Aug 29, 2026
30455b8
fix(python): declare the index training helpers as returning FixedSiz…
jonasdedden Aug 29, 2026
4ef9574
fix(python): annotate count_rows, versions and optimize_indices (#8493)
jonasdedden Aug 29, 2026
8e4cc17
fix: support Time32 integer casts in filters (#8508)
lance-gatefixer[bot] Aug 29, 2026
946ccb6
fix: keep LabelList index current after reordered merge insert (#8511)
lance-gatefixer[bot] Aug 29, 2026
f603c55
fix(linalg): correct multivector distance aggregation (#8710)
ddupg Aug 30, 2026
2cf12d4
fix(index): remap ZoneMap search results (#8512)
lance-gatefixer[bot] Aug 30, 2026
324cedd
fix(compaction): avoid stranded remainder fragments (#8513)
lance-gatefixer[bot] Aug 30, 2026
dfe0422
perf(fts): index residual compound rows once (#8818)
BubbleCal Aug 31, 2026
b1fc993
feat: add column slice stitching (#8660)
Xuanwo Aug 31, 2026
599ef46
test(index): serialize spill-sort tests (#8892)
Xuanwo Aug 31, 2026
f39a275
refactor: express feature flags as bit shifts (#8893)
Xuanwo Aug 31, 2026
987adde
test(torch): stabilize ground truth fixture (#8895)
BubbleCal Aug 31, 2026
a6016f1
fix(index): skip unrecognized index types (#8529)
lance-gatefixer[bot] Aug 31, 2026
a2cf037
fix(linalg): pick the sum-of-squares accumulator per element type (#8…
LuciferYang Aug 31, 2026
a5df712
fix(index): key metadata cache on manifest etag (#8904)
ChilePiquin Aug 31, 2026
1391e6c
build(deps)!: bump lance-namespace to 0.11.1 across Java and Python (…
wjones127 Aug 31, 2026
74e3c0b
fix: resolve clone sources with source commit handler (#8902)
Xuanwo Aug 31, 2026
667cb49
chore: release beta version 12.0.0-beta.6
Aug 31, 2026
4143ddf
feat(mem_wal): let a writer read its own indexed prefix (#8835)
hamersaw Aug 31, 2026
3c126dc
feat(python): expose more scanner options on LanceFragment (#8429)
keunhong Aug 31, 2026
182489d
perf: run-optimize roaring bitmaps before persisting (#8688)
zhangyue19921010 Aug 31, 2026
9c4d8f8
test(core): cover cache entry body framing, alignment, and truncation…
jackylee-ch Aug 31, 2026
b414cbf
fix(sql): include system columns when requested for SQL-based query (…
dentiny Aug 31, 2026
9452040
docs: classify the fragment's non-Lance referenced files by format (#…
LuciferYang Aug 31, 2026
0357648
fix: defer blank rows when a fully deleted batch has no row to copy (…
LuciferYang Sep 1, 2026
11747c5
feat(python): restore index retraining (#8786)
ddupg Sep 1, 2026
e877b58
fix(mem_wal): seal the memtable on max_memtable_rows (#8837)
hamersaw Sep 1, 2026
e131072
fix(mem_wal): honor distance_range in the LSM vector planner (#8845)
hamersaw Sep 1, 2026
11611ff
fix(linalg): distinguish arrow batch type errors (#8911)
lance-gatefixer[bot] Sep 1, 2026
2150012
docs(core): correct AVX tier feature semantics (#8910)
lance-gatefixer[bot] Sep 1, 2026
0a34b74
test: cover multi-base reads with shared-memory stores (#8824)
zhangyue19921010 Sep 1, 2026
a4553e9
perf(commit): skip overlap detection for single-segment indices (#8778)
zhangyue19921010 Sep 1, 2026
36c7dc7
feat(cleanup): support cleaning specific dataset versions (#8617)
hfutatzhanghb Sep 1, 2026
0b030b1
perf(rowids): probe the fragments instead of merging every row id (#8…
dshepelev15 Sep 1, 2026
458e226
perf(index): open fragment reuse indexes 10-2200x faster (#8887)
Xuanwo Sep 1, 2026
f03a278
fix: make float filters treat -0.0 and 0.0 as the same value (#6236)
LuciferYang Sep 1, 2026
87e75f6
perf(io): read large metadata msgs as concurrent chunked range reques…
dshepelev15 Sep 1, 2026
eb1df70
fix(index): filter stale vector segment rows before top-k (#8351)
lance-gatefixer[bot] Sep 1, 2026
9f58dc4
perf(python): stream reader batches from one producer (#8714)
jiaoew1991 Sep 1, 2026
2d9f780
perf(index): prevent two-file shuffle starvation (#8894)
BubbleCal Sep 1, 2026
45dc241
perf(index): accelerate RQ scale search (#8924)
BubbleCal Sep 1, 2026
c3131eb
chore: release beta version 12.0.0-beta.7
Sep 1, 2026
55c4486
fix(fts): align v1 merge reads with writer batches (#8922)
BubbleCal Sep 1, 2026
4bcecd3
chore: release beta version 12.0.0-beta.8
Sep 1, 2026
2e4acde
revert: add column slice stitching (#8926)
Xuanwo Sep 1, 2026
6f93e3f
chore: release beta version 12.0.0-beta.9
Sep 1, 2026
7bf7e97
fix(linalg): widen u8 distance accumulators (#8888)
lance-gatefixer[bot] Sep 1, 2026
44a05fd
feat: budget blob materialization readahead (#8919)
jackye1995 Sep 1, 2026
93550f3
chore: release beta version 12.0.0-beta.10
Sep 1, 2026
e2e3286
perf(commit): drop O(C^2) field lookups from column index validation …
zhangyue19921010 Sep 1, 2026
fb48031
perf(merge_insert): probe the most selective indexed key first and st…
LuciferYang Sep 1, 2026
85e713d
fix(index): keep a commit alive when an index cannot be opened (#8441)
wombatu-kun Sep 1, 2026
c4086ca
fix(compaction): reject unsafe binary column layouts (#8510)
lance-gatefixer[bot] Sep 1, 2026
4a0e268
chore: release beta version 12.0.0-beta.11
Sep 1, 2026
b01498c
fix(encoding): accept 1-bit booleans in the single-row full-zip fallb…
zhangyue19921010 Sep 2, 2026
b2cbefb
fix(linalg): enforce cosine u8 length contract (#8737)
lance-gatefixer[bot] Sep 2, 2026
57997df
fix(io): carry batch_size_bytes through distributed FilteredReadOptio…
lichuang Sep 2, 2026
15bc912
feat(index)!: default ivf_rq to 5-bit quantization (#8936)
BubbleCal Sep 2, 2026
d57d0fb
fix: avoid panic when rebasing a commit whose read version was cleane…
qiuyuhang Sep 2, 2026
9c99a39
fix: preserve complete blob v2 logical schemas (#8929)
Xuanwo Sep 2, 2026
bb2016f
feat: add caller-managed data file parts (#8923)
Xuanwo Sep 2, 2026
774e32d
perf(rowids): accelerate dense bitmap decoding (#8715)
jiaoew1991 Sep 2, 2026
5b6a633
test(index): cover residual computation and ResidualTransform schema …
jackylee-ch Sep 2, 2026
4886d77
test(index): cover the IVF partition transformer and partition filter…
jackylee-ch Sep 2, 2026
85dd754
fix(core): reject non-finite values in AimdConfig::validate (#7942)
LuciferYang Sep 2, 2026
76c8814
fix: don't fail dataset open on an undecodable inline transaction (#7…
jackye1995 Sep 2, 2026
fdc0661
fix(arrow): avoid duplicate field when merging identical List<Struct>…
LuciferYang Sep 2, 2026
84b1a62
feat(python): add LanceDataset.slice() method (#8059)
Sapnilb15 Sep 2, 2026
eae14dd
fix(merge_insert): make analyze_plan follow execute's source routing …
LuciferYang Sep 2, 2026
901edc1
fix(datagen): align random primitive buffers (#8776)
lance-gatefixer[bot] Sep 2, 2026
fdeb955
fix(fts): use substring-safe ngram defaults (#8779)
lance-gatefixer[bot] Sep 2, 2026
024cfb7
feat(namespace)!: accept multiple columns for the merge insert on key…
wjones127 Sep 2, 2026
e7fecb9
feat(table): predecessor-conditioned publication for external manifes…
wkalt Sep 2, 2026
c50876c
fix(encoding): normalize out-of-range null dictionary keys (#8827)
lance-gatefixer[bot] Sep 2, 2026
5450bc8
fix(substrait): decode deprecated timestamp literals as microseconds …
jonasdedden Sep 2, 2026
589a817
fix: cast nested columns during schema evolution (#8379)
lance-gatefixer[bot] Sep 2, 2026
f3989e6
feat(index): share IVF partition scans across batch vector queries
sezruby Jun 22, 2026
46cdddd
fix(index): address batch IVF review — refine/overlay fallback, deter…
sezruby Jul 27, 2026
b3c6c01
fix(index): bound batch IVF search memory and fall back on nprobes(0)
sezruby Aug 17, 2026
2d6749b
perf(index): overlap partition loading with scoring in batch IVF search
sezruby Aug 17, 2026
8533cb6
test(scanner): assert the multi-chunk batch test spans >1 streaming c…
sezruby Aug 18, 2026
8fc0e0c
fix(index): tighten batch IVF gate, move ranking to CPU runtime, reco…
sezruby Aug 19, 2026
717b3e1
fix(index): fall back from batch IVF search when an external row mask…
sezruby Sep 3, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
7 changes: 6 additions & 1 deletion .bumpversion.toml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[tool.bumpversion]
current_version = "9.0.0-beta.16"
current_version = "12.0.0-beta.11"
parse = "(?P<major>\\d+)\\.(?P<minor>\\d+)\\.(?P<patch>\\d+)(-(?P<prerelease>(beta|rc))\\.(?P<prerelease_num>\\d+))?"
serialize = [
"{major}.{minor}.{patch}-{prerelease}.{prerelease_num}",
Expand Down Expand Up @@ -80,6 +80,11 @@ filename = "Cargo.toml"
search = 'lance-index = {{ version = "={current_version}"'
replace = 'lance-index = {{ version = "={new_version}"'

[[tool.bumpversion.files]]
filename = "Cargo.toml"
search = 'lance-index-core = {{ version = "={current_version}"'
replace = 'lance-index-core = {{ version = "={new_version}"'

[[tool.bumpversion.files]]
filename = "Cargo.toml"
search = 'lance-io = {{ version = "={current_version}"'
Expand Down
8 changes: 8 additions & 0 deletions .cargo/config.toml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,14 @@ lto = "thin"
codegen-units = 16

[target.x86_64-unknown-linux-gnu]
# The default target is haswell. This is an old enough target
# that portability is high but a new enough target that we gain
# some of the most common SIMD optimizations.
#
# On certain paths we use explicit SIMD and runtime dispatch to
# opt-in to even higher CPU targets. The target specified here
# is for all code that is NOT using explicit SIMD (still the large
# majority of code).
rustflags = ["-C", "target-cpu=haswell", "-C", "target-feature=+avx2,+fma,+f16c"]

[target.aarch64-apple-darwin]
Expand Down
17 changes: 17 additions & 0 deletions .coderabbit.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json
language: en-US
early_access: false
reviews:
profile: quiet
high_level_summary: false
poem: false
review_status: true
auto_review:
enabled: true
auto_incremental_review: true
ignore_title_keywords:
- WIP
- Draft
drafts: false
base_branches:
- main
3 changes: 2 additions & 1 deletion .gitattributes
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
notebooks/** linguist-vendored
Cargo.lock linguist-generated
**/Cargo.lock linguist-generated
**/Cargo.lock linguist-generated
rust/lance-file/test_data/**/*.lance binary
79 changes: 79 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
name: Bug report
description: Report incorrect, unexpected, or crashing behavior.
labels: ["bug"]
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to file a bug report! Please search
[existing issues](https://github.com/lance-format/lance/issues) first to
avoid filing a duplicate.
- type: textarea
id: description
attributes:
label: Description
description: A clear and concise description of what the bug is.
validations:
required: true
- type: textarea
id: reproduction
attributes:
label: Steps to reproduce
description: >-
A minimal, self-contained code snippet or sequence of steps that
reproduces the problem. The more we can copy-paste and run, the faster
we can fix it.
placeholder: |
1. Write a dataset with `...`
2. Scan with filter `...`
3. Observe `...`
render: python
validations:
required: true
- type: textarea
id: expected
attributes:
label: Expected behavior
description: What did you expect to happen?
validations:
required: false
- type: input
id: lance-version
attributes:
label: Lance version
description: >-
Output of `python -c "import lance; print(lance.__version__)"`, or the
`lance`/`pylance` version from your `Cargo.toml` / `pyproject.toml`.
placeholder: "e.g. 0.40.0"
validations:
required: true
- type: dropdown
id: language
attributes:
label: Language binding
multiple: true
options:
- Python
- Rust
- Java
- Other / not sure
validations:
required: true
- type: input
id: environment
attributes:
label: Environment
description: OS, architecture, and storage backend (local, S3, GCS, Azure, ...).
placeholder: "e.g. Ubuntu 22.04, x86_64, S3"
validations:
required: false
- type: textarea
id: logs
attributes:
label: Logs / traceback
description: >-
Any relevant log output or stack trace. This will be automatically
formatted as code, so no need for backticks.
render: shell
validations:
required: false
7 changes: 7 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
blank_issues_enabled: true
contact_links:
- name: Question / usage help
url: https://discord.gg/lance
about: >-
For questions and general discussion, please ask in the Lance Discord
rather than opening an issue.
11 changes: 11 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---
name: Feature request
about: Suggest a new capability or an improvement to an existing one.
labels: feature
---

<!--
Describe what you'd like Lance to do and why. There's no required format —
mention the problem or use case, and a rough idea of the solution if you have
one. Please search existing issues first to avoid duplicates.
-->
12 changes: 12 additions & 0 deletions .github/ISSUE_TEMPLATE/performance_issue.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
name: Performance issue
about: Report slow operations, high memory use, or a performance regression.
labels: performance
---

<!--
Describe what's slow or memory-hungry. There's no required format, but concrete
numbers (timings, memory, dataset shape) and a way to reproduce help a lot. If
it's a regression, note the last version that performed well. Please search
existing issues first to avoid duplicates.
-->
61 changes: 51 additions & 10 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -1,45 +1,86 @@
version: 2
updates:
# Rust — one grouped version-bump PR per directory each week, and security
# advisories that land together in a directory batched into a single PR
# instead of one PR per advisory.
- package-ecosystem: "cargo"
directory: "/"
directories:
- "/"
- "/python"
- "/java/lance-jni"
versioning-strategy: lockfile-only
schedule:
interval: "weekly"
day: "wednesday"
groups:
cargo:
applies-to: version-updates
patterns:
- "*"
cargo-security:
applies-to: security-updates
patterns:
- "*"

- package-ecosystem: "cargo"
# Python (uv) — same weekly-grouped + grouped-security treatment.
- package-ecosystem: "uv"
directory: "/python"
versioning-strategy: lockfile-only
schedule:
interval: "weekly"
day: "wednesday"
groups:
cargo:
uv:
applies-to: version-updates
patterns:
- "*"
uv-security:
applies-to: security-updates
patterns:
- "*"

# Standalone Rust lockfiles for dev/test fixtures. Dependabot security updates
# scan these regardless of config, so we group them; open-pull-requests-limit: 0
# disables the (unwanted) weekly version bumps for these crates.
- package-ecosystem: "cargo"
directory: "/java/lance-jni"
versioning-strategy: lockfile-only
directories:
- "/memtest"
- "/test_data/fri_straddle_pre_6610/datagen"
open-pull-requests-limit: 0
schedule:
interval: "weekly"
day: "wednesday"
groups:
cargo:
cargo-fixtures-security:
applies-to: security-updates
patterns:
- "*"

- package-ecosystem: "uv"
directory: "/python"
versioning-strategy: lockfile-only
# Java (Maven). Security updates fire regardless of config; group them and
# skip version bumps (limit 0) — we bump Java deps manually.
- package-ecosystem: "maven"
directory: "/java"
open-pull-requests-limit: 0
schedule:
interval: "weekly"
day: "wednesday"
groups:
uv:
maven-security:
applies-to: security-updates
patterns:
- "*"

# Python benchmark scripts (pip / requirements.txt). Group security updates
# and skip version bumps (limit 0).
- package-ecosystem: "pip"
directories:
- "/benchmarks/*"
open-pull-requests-limit: 0
schedule:
interval: "weekly"
day: "wednesday"
groups:
pip-security:
applies-to: security-updates
patterns:
- "*"
32 changes: 30 additions & 2 deletions .github/labeler-area.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,12 +29,40 @@ A-encoding:
- "rust/lance-io/**"
- "rust/lance-file/**"

# On-disk format: the proto definitions and the format spec docs. Format docs
# On-disk format: persisted proto definitions and the format spec docs. Keep the
# explicit proto lists here in sync. Execution-plan schemas (ann,
# filtered_read, and table_identifier) are intentionally excluded. Format docs
# are excluded from A-docs (see below) so format changes get A-format only.
A-format:
- changed-files:
- any-glob-to-any-file:
- "protos/**"
- "protos/encodings_v2_0.proto"
- "protos/encodings_v2_1.proto"
- "protos/file.proto"
- "protos/file2.proto"
- "protos/index.proto"
- "protos/index_old.proto"
- "protos/rowids.proto"
- "protos/table.proto"
- "protos/transaction.proto"
- "docs/src/format/**"

# Drives the format-spec vote gate (.github/workflows/format-vote-gate.yml):
# any change to persisted proto definitions or the spec docs requires a PMC
# vote. Execution-only wire schemas such as filtered_read.proto are not format
# changes. A PMC member waives a trivial edit with the `format-waived` label.
format-change:
- changed-files:
- any-glob-to-any-file:
- "protos/encodings_v2_0.proto"
- "protos/encodings_v2_1.proto"
- "protos/file.proto"
- "protos/file2.proto"
- "protos/index.proto"
- "protos/index_old.proto"
- "protos/rowids.proto"
- "protos/table.proto"
- "protos/transaction.proto"
- "docs/src/format/**"

# Lockfiles are intentionally not excluded: a pure dependency bump gets both
Expand Down
28 changes: 28 additions & 0 deletions .github/labeler-issues.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
version: 1
# Never remove labels a template or a human already applied.
appendOnly: true
# Content-based labels for issues, applied by srvaroa/labeler via
# .github/workflows/issue-labeler.yml. This covers issues that bypass the
# .github/ISSUE_TEMPLATE forms entirely — those filed via `gh issue create`,
# the REST API, or an agent, which never see the web-UI template chooser.
#
# The primary signal is a leading marker in the title (e.g. "bug:", "[feature]",
# "perf -"), which many people type by hand; a modest body keyword match is a
# secondary fallback. Rules are OR'd (one label per matching entry), so an
# unmatched issue gets no label and is left for human / LLM triage rather than
# guessed at. appendOnly means matches stack harmlessly with template labels.
labels:
# --- Primary signal: a leading bug/feature/perf marker in the title ---
- label: bug
title: "(?i)^\\s*[\\[(]?\\s*bug\\b"
- label: feature
title: "(?i)^\\s*[\\[(]?\\s*(feature|feat)\\b"
- label: performance
title: "(?i)^\\s*[\\[(]?\\s*(perf|performance)\\b"
# --- Secondary fallback: keywords anywhere in the body ---
- label: bug
body: "(?i)(panic|segfault|traceback|stack ?trace|crash|corrupt|incorrect result|wrong result)"
- label: performance
body: "(?i)(regression|latency|throughput|\\bOOM\\b|out of memory|memory usage|too slow)"
- label: feature
body: "(?i)(feature request|would be (nice|great|useful)|it would be nice|support for|add .+ support)"
3 changes: 3 additions & 0 deletions .github/nextest/daily-code-coverage.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[profile.daily-code-coverage]
slow-timeout = { period = "60s", terminate-after = 30, grace-period = "10s" }
global-timeout = "5h30m"
Loading