Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
427 commits
Select commit Hold shift + click to select a range
5266629
docs: clarify local LTO guidance (#7400)
Xuanwo Jun 23, 2026
75c5c79
Merge branch 'main' into ragnorc/two-phase-index-segments
ragnorc Jun 23, 2026
aa56f8c
fix(merge_insert): keep nested-field index correct on stable row id u…
jackye1995 Jun 23, 2026
715047e
fix(namespace): allow create_branch bootstrap on managed tables (#7415)
geruh Jun 23, 2026
bae3c6a
feat: add SpillStore trait with local-disk implementation (#7311)
wjones127 Jun 23, 2026
f3638cc
feat(python): add list_with_delimiter, delete_file, and read_range to…
jmhsieh Jun 23, 2026
842e114
ci: run Index Sequence Compat nightly instead of on merge (#7405)
wkalt Jun 23, 2026
e88655d
chore: release beta version 9.0.0-beta.3
Jun 23, 2026
459410c
fix(rowids): union overlapping segments in RowAddrTreeMap::from (#7429)
wkalt Jun 23, 2026
fa926e2
chore: upgrade itertools to 0.14 (#7424)
wjones127 Jun 23, 2026
61f664c
feat(mem_wal): row-level delete via tombstone rows (#7417)
hamersaw Jun 24, 2026
8eed312
chore: release beta version 9.0.0-beta.4
Jun 24, 2026
fa2b755
fix: relax DataReplacement conflict with concurrent Delete/Update (#7…
brendanclement Jun 24, 2026
6ae7dba
chore: release beta version 9.0.0-beta.5
Jun 24, 2026
941c808
perf(fts): remove OR hot path bookkeeping (#7416)
BubbleCal Jun 24, 2026
d0ed7e6
perf: speed up cold read up to 8x by lazily load column metadata (#7375)
Xuanwo Jun 24, 2026
4811292
feat: support cleanup explain for python and java (#7248)
yanghua Jun 24, 2026
528f58e
feat(index): support Utf8View prefixes in SargableQueryParser (#7351)
wombatu-kun Jun 24, 2026
4ffda26
perf(fts): use block max for or tail bounds (#7435)
BubbleCal Jun 24, 2026
2c21521
feat(python): expose fragment-reuse remap and delete-by-offset (#7438)
wkalt Jun 24, 2026
5328f64
refactor!: rename FMIndexIndexDetails to FMIndexDetails (#7397)
westonpace Jun 24, 2026
e79f7f9
chore: release beta version 9.0.0-beta.6
Jun 24, 2026
1c816ee
fix(python): validate delete_rows offsets and add missing type stubs …
wkalt Jun 24, 2026
eac2c9d
chore: release beta version 9.0.0-beta.7
Jun 24, 2026
b1b08d7
chore(deps): bump torch from 2.8.0 to 2.12.1 in /python (#7451)
dependabot[bot] Jun 24, 2026
6f95bd4
chore(deps): bump pyarrow from 21.0.0 to 24.0.0 in /python (#7452)
dependabot[bot] Jun 24, 2026
cccd512
chore(deps): bump all_asserts from 2.3.3 to 2.3.4 (#7450)
dependabot[bot] Jun 24, 2026
2d39772
chore(deps): bump log from 0.4.32 to 0.4.33 (#7453)
dependabot[bot] Jun 24, 2026
537c6b4
chore(deps): bump cc from 1.2.64 to 1.2.65 (#7454)
dependabot[bot] Jun 24, 2026
6312d5d
chore(deps): bump uuid from 1.23.3 to 1.23.4 (#7455)
dependabot[bot] Jun 24, 2026
5995a52
chore(deps): bump quote from 1.0.45 to 1.0.46 (#7456)
dependabot[bot] Jun 24, 2026
2ac811f
fix(index): give each FTS partition a distinct scheduler base priorit…
LuQQiu Jun 24, 2026
71c4aa2
chore: release beta version 9.0.0-beta.8
Jun 24, 2026
3c94260
docs(python): correct scalar index type count (#7353)
hfutatzhanghb Jun 25, 2026
ae8725e
perf(fts): prewarm larger chunks concurrently (#7436)
BubbleCal Jun 25, 2026
b492ddc
feat: add ICU split tokenizer variant (#7474)
Xuanwo Jun 25, 2026
949fdc3
fix(compaction): reject defer_index_remap with stable row IDs (#7468)
zhangyue19921010 Jun 25, 2026
d51dcab
docs: correct file-format version matrix for 2.2 stable / 2.3 unstabl…
LuciferYang Jun 25, 2026
def65b1
feat(file): v2 writer/reader support columns of unequal length (#7406)
wjones127 Jun 25, 2026
28c5f90
feat(schema_evolution): allow Dict <-> value-type casts in alter_colu…
valkum Jun 25, 2026
3b9ae99
fix: resolve double percent-encoding in object store paths (#6643) (#…
shenganzhang Jun 26, 2026
efc6c13
perf(index): parallelize FMIndex partition builds (#7422)
jackye1995 Jun 26, 2026
4760024
feat(mem-wal): add ShardWriter::abort + Sealed manifest fence for dro…
hamersaw Jun 26, 2026
b2673c8
feat(mem_wal): tombstone-preserving point lookup (#7482)
hamersaw Jun 26, 2026
621da36
fix(index): implement with_io_priority for FailNewFileStore test stor…
LuciferYang Jun 26, 2026
67c88fb
feat(bitpacking): add owned bitpacking codecs (#7496)
BubbleCal Jun 26, 2026
a1cae2d
feat(mem_wal): non-blocking ShardWriter::delete_no_wait (#7483)
hamersaw Jun 26, 2026
59cf5c7
fix: invalidate indices for fields rewritten by Merge (#7491)
wkalt Jun 26, 2026
898ad32
ci(python): typecheck arrow.py and test_arrow.py (#7265)
YuangGao Jun 29, 2026
c9b5325
fix: account for SQ offset in dot distance (#7481)
Xuanwo Jun 29, 2026
6a2a7d4
fix(merge-insert): apply Delete/Fail on the indexed-scan path (#7484)
hamersaw Jun 29, 2026
f59b484
feat(index): support distributed LabelList scalar index builds (#7223)
jackye1995 Jun 29, 2026
6d02a57
fix: improve FM index query performance (#7507)
jackye1995 Jun 29, 2026
268d3d7
chore: release beta version 9.0.0-beta.9
Jun 29, 2026
2d89b3c
fix(mem-wal): apply cross-generation block-list to in-memory scan arm…
hamersaw Jun 29, 2026
e25b71e
chore: release beta version 9.0.0-beta.10
Jun 29, 2026
3e54532
docs: improve phrasing and update format spec image (#7505)
prrao87 Jun 29, 2026
c57864c
feat(fts)!: make v2 the default index format (#7512)
BubbleCal Jun 30, 2026
7914da6
feat(namespace-dir): implement update_table and delete_from_table (#6…
XuQianJin-Stars Jun 30, 2026
8f4cc7b
refactor(index): extract BasicTrainer trait from ScalarIndexPlugin (#…
westonpace Jun 30, 2026
1ba84bc
docs: document read_blobs for blob payload reads (#7530)
Xuanwo Jun 30, 2026
d5dc614
refactor(index): introduce RowIdRemapper trait to decouple ScalarInde…
westonpace Jun 30, 2026
4d866ea
fix(core): allow all-null Map columns in schema evolution (#7462)
Ali2Arslan Jun 30, 2026
78df02c
fix(index): work around rustc nightly ICE in NGramIndexBuilder::strea…
westonpace Jun 30, 2026
be55555
fix: avoid stack overflow on deep logical filters (#7510)
Xuanwo Jun 30, 2026
15bbd4a
fix(arrow): preserve inner nulls in convert_to_floating_point (#7498)
LuciferYang Jun 30, 2026
7c2b1a5
feat(mem_wal): support prefiltered LSM vector and FTS search (#7138)
touch-of-grey Jul 1, 2026
6203383
fix(index): preserve schema metadata when re-serializing loaded HNSW …
yanghua Jul 1, 2026
7a5282a
perf(arrow): avoid per-element allocation in BFloat16Array::from (#7500)
LuciferYang Jul 1, 2026
784a876
feat(namespace-dir): implement alter_transaction for DirectoryNamespa…
XuQianJin-Stars Jul 1, 2026
7a7bacc
fix(lance-encoding): rebase nested-list offsets correctly across page…
yesunbmh Jul 1, 2026
876ad93
fix: recover from stale cached manifest size on read (#7542)
wkalt Jul 1, 2026
1fdc8b1
fix(compaction): exclude system indices from compaction binning (#7516)
xuanyu-z Jul 1, 2026
546e766
ci: detect Cargo.lock drift offline + harden java --locked (#7425)
wjones127 Jul 1, 2026
4ac49ea
ci: group Dependabot updates into one PR per lockfile (#7457)
wjones127 Jul 1, 2026
53fe06e
fix(rowids): tolerate sparse overlapping chunks in the stable row id …
wkalt Jul 1, 2026
4a2169d
chore(deps): bump the cargo group in /python with 8 updates (#7560)
dependabot[bot] Jul 1, 2026
26b9760
chore(deps): bump the cargo group with 9 updates (#7561)
dependabot[bot] Jul 1, 2026
d7f5b55
perf: merge half-open range queries on the same BTree index (#7477)
xloya Jul 1, 2026
843c8c2
fix(lance-io): include goosefs feature in DEFAULT_CLOUD_BLOCK_SIZE cf…
XuQianJin-Stars Jul 2, 2026
d86f1fc
chore(ci): ignore RUSTSEC-2026-0194/0915 for transitive quick-xml (#7…
zhangyue19921010 Jul 2, 2026
c500365
docs: add blob v2 overview images (#7581)
Xuanwo Jul 2, 2026
acc9a93
docs: add FTS v2 migration note (#7522)
BubbleCal Jul 2, 2026
a5f4336
docs(python): document beta release install index (#7582)
Xuanwo Jul 2, 2026
7134acf
perf(index): skip FM-Index rebuild when merging a single fully-live s…
jackye1995 Jul 2, 2026
9644d16
chore: release beta version 9.0.0-beta.11
Jul 2, 2026
94922c1
test(bitpacking): actually exercise u64 unchecked round-trip for widt…
LuciferYang Jul 2, 2026
413ee8a
fix(cache): count key footprint in MokaCacheBackend eviction weight (…
Ali2Arslan Jul 2, 2026
92535a5
fix(index): exclude shared metadata cache from LanceIndexStore deep s…
Ali2Arslan Jul 2, 2026
1be4815
perf(dataset): reuse session-cached manifest when opening a dataset (…
zhangyue19921010 Jul 2, 2026
5f00e57
docs(arrow): add SAFETY comments to lance-arrow unsafe blocks (#7511)
LuciferYang Jul 2, 2026
6d7b7e3
feat(index): read a column's min/max from ZoneMap without a scan (#7463)
Ali2Arslan Jul 2, 2026
6a306ee
perf(index): coalesce concurrent scalar-index opens (single-flight) (…
Ali2Arslan Jul 2, 2026
871b9ba
fix(index): record IVF_HNSW index file sizes after writing footer (#7…
Ali2Arslan Jul 2, 2026
0b82051
perf(filtered-read): lower hot-path read/decode spans to debug (#7590)
LuQQiu Jul 2, 2026
52f05bf
feat: support update with blob encoding column (#7579)
nyl3532016 Jul 2, 2026
dca65b9
chore(deps): bump the cargo group across 1 directory with 10 updates …
dependabot[bot] Jul 2, 2026
9cf1e00
fix(index): accept large_string (LargeUtf8) for BTREE and ZONEMAP sca…
FANNG1 Jul 2, 2026
c39719e
feat(compaction): introduce RowAddrRemap structure to avoid remap OOM…
zhangyue19921010 Jul 3, 2026
66d28cc
chore: release beta version 9.0.0-beta.12
Jul 3, 2026
45eb977
fix: preserve structural page load errors (#7571)
ddupg Jul 3, 2026
fd122fb
ci: pin license-header-checker to fix flaky install step (#7142)
wombatu-kun Jul 3, 2026
ffaee6c
feat: add blob write preparation API (#7558)
Xuanwo Jul 3, 2026
aed9e4e
chore: release beta version 9.0.0-beta.13
Jul 3, 2026
1963998
feat: support per-base storage options with base_<id>.<key> prefix (#…
jackye1995 Jul 3, 2026
9ef3fd3
fix: preserve DataFile base_id in DataReplacement commits (#7609)
jackye1995 Jul 3, 2026
31c0ccd
feat(blob-v2): configure packed blob file max size with field metadat…
jo-migo Jul 3, 2026
c4a75d9
fix: chunk ngram posting list writes by byte size to avoid i32 offset…
lancedb-robot Jul 3, 2026
24b085f
feat: support multi-base tables in merge insert with target base rout…
jackye1995 Jul 3, 2026
3a914d9
chore: release beta version 9.0.0-beta.14
Jul 3, 2026
882779a
fix: treat blob descriptors as opaque projections (#7618)
Xuanwo Jul 3, 2026
f24e42c
chore: release beta version 9.0.0-beta.15
Jul 3, 2026
4f39296
fix: avoid scheduler deadlock on same-priority chunks (#7588)
Xuanwo Jul 6, 2026
78a814b
chore: release beta version 9.0.0-beta.16
Jul 6, 2026
06447f1
feat: add RLE v2 run length widths (#7376)
Xuanwo Jul 6, 2026
a96d0d7
perf(fts): cache the num_tokens-only DocSet on LazyDocSet (#7600)
BubbleCal Jul 6, 2026
5afc915
fix(fts): split tail-partition merge by the worker memory budget (#7601)
BubbleCal Jul 6, 2026
da1cd0e
fix(goosefs): decouple OpenDAL root from URL path to avoid ObjectStor…
XuQianJin-Stars Jul 6, 2026
1b5076a
fix(encoding): select RLE widths by encoded size (#7636)
Xuanwo Jul 6, 2026
4300d1a
fix: return Arrow JSON from FragmentSession.take (#7470)
xloya Jul 6, 2026
bae5e8b
fix: return Arrow JSON from FileFragment.take (#7471)
xloya Jul 6, 2026
d3fce11
fix: convert Arrow JSON in merge-insert full-fragment-rewrite fast pa…
xloya Jul 6, 2026
ad730da
fix(python): avoid CPU bf16 compile flake (#7587)
ddupg Jul 6, 2026
00c47ff
ci: add Java 25 to the JNI build-and-test matrix (#7391)
LuciferYang Jul 6, 2026
f518949
fix(fts): use async send in FTS index builder to prevent thread-pool …
a-agmon Jul 6, 2026
091acfc
fix: respect PQ num_bits for numpy codebooks (#7586)
ddupg Jul 6, 2026
bf4f32b
fix(mem-wal): fence writer on WAL persistence failure (#7547)
hamersaw Jul 6, 2026
6783795
chore(deps): bump cmov from 0.5.3 to 0.5.4 in /test_data/fri_straddle…
dependabot[bot] Jul 6, 2026
e8d4e3f
fix(mem_wal): use slice-aware size estimate for memtable flush thresh…
hamersaw Jul 7, 2026
9cbc09a
fix(deps): bump crossbeam-epoch to 0.9.20 for RUSTSEC-2026-0204 (#7644)
wjones127 Jul 7, 2026
9c04698
chore: release beta version 9.0.0-beta.17
Jul 7, 2026
6c291ab
fix: convert Arrow JSON to Lance JSON in single-fragment create path …
xloya Jul 7, 2026
9e7776e
fix(fts): enforce fuzzy max_expansions globally across index partitio…
BubbleCal Jul 7, 2026
5e9c196
fix: build list FTS indexes as row documents (#7656)
Xuanwo Jul 7, 2026
104ef4f
chore(lance): add S3 scan diagnostics (#7552)
Xuanwo Jul 7, 2026
bb9ecfb
fix(python): fix tuple bug in _coerce_query_vector condition check (#…
hushengquan Jul 7, 2026
4754a76
docs(core): document spawn_cpu limitations and audit call sites (#7643)
wjones127 Jul 7, 2026
d5bff02
fix: shift offsets after trimming values in merge_with_schema (#6581)
kaan-simbe Jul 7, 2026
969ee6b
docs: update MemWAL format spec (#7655)
jackye1995 Jul 7, 2026
378b055
feat(io): publish object store metrics via the metrics crate (#7533)
wjones127 Jul 7, 2026
e366c9a
fix(fsst): correct decoder output-buffer size contract to 8x (#7589)
LuciferYang Jul 7, 2026
98efff9
perf(arrow): zero-copy BFloat16Array::from(Vec<bf16>) via Buffer::fro…
LuciferYang Jul 7, 2026
3e82c05
fix: convert Arrow JSON when updating columns via merge/update path (…
xloya Jul 7, 2026
64c18e5
docs: add cleanup and auto cleanup documentation (#6546)
westonpace Jul 7, 2026
cb4d8a2
fix: map `object_store::Error::NotFound` to `Error::NotFound` instead…
LuciferYang Jul 7, 2026
55c35c3
docs: add fragment sizing guidance to performance guide (#6606)
hamersaw Jul 7, 2026
250b7d7
chore(fsst): drop duplicate arrow-array dev-dependency (#7616)
LuciferYang Jul 7, 2026
c3218b2
feat: support segment selection in pylance prewarm (#7677)
jackye1995 Jul 8, 2026
a53cf8e
fix: solve hang in train_streaming_coreset_ivf_model (#7676)
cmccabe Jul 8, 2026
d581bb9
chore: release beta version 9.0.0-beta.18
Jul 8, 2026
059edc8
fix(index): describe bitmap-less system indices in describe_indices (…
hamersaw Jul 8, 2026
c5316c6
fix(fts): use complete English stop-word list for ICU tokenizer (#7621)
LuQQiu Jul 8, 2026
a1bb71b
feat(python): expose MemWAL shard delete (#7649)
u70b3 Jul 8, 2026
9d298da
refactor(python): move tensorflow integration out of tree (#7685)
Xuanwo Jul 8, 2026
60ca362
feat: support nested field FTS (#7686)
Xuanwo Jul 8, 2026
b69d4a5
fix(index): cap IVF train prefetch memory for nullable columns (#7143)
geserdugarov Jul 8, 2026
53b5a43
fix(python): ignore PyTorch 3.14 script_method warning (#7689)
Xuanwo Jul 8, 2026
3934722
feat: compile-time feature-gated Rust backtrace for JNI error diagnos…
summaryzb Jul 8, 2026
6400545
perf(index): add exact null-row bitmap to zone map and bloom filter (…
westonpace Jul 8, 2026
2cde3b9
fix: avoid creating directory namespace manifest on read (#7687)
Xuanwo Jul 8, 2026
18381f3
perf: increase default memory pool to 150MB with 40MB sort spill rese…
westonpace Jul 8, 2026
7dd95a5
chore: enable CodeRabbit automatic PR reviews (#7595)
westonpace Jul 8, 2026
41e6e74
fix(index): translate address-domain scalar index results to row ids …
charleshuang119 Jul 8, 2026
1fd9a0d
chore(deps): bump torch from 2.12.1 to 2.13.0 in /python in the uv gr…
dependabot[bot] Jul 8, 2026
d923892
chore(deps): bump the cargo group with 9 updates (#7694)
dependabot[bot] Jul 8, 2026
568ee56
chore(deps): bump the cargo group in /python with 6 updates (#7693)
dependabot[bot] Jul 8, 2026
dea61ee
chore(deps): bump the cargo group in /java/lance-jni with 5 updates (…
dependabot[bot] Jul 8, 2026
d217a02
feat(python): expose Lance metrics via OpenTelemetry (#7537)
wjones127 Jul 8, 2026
a9f84dd
fix: relax test_query_delta_indices assertion for approximate index (…
XuQianJin-Stars Jul 9, 2026
8f0e6d3
chore: release beta version 9.0.0-beta.19
Jul 9, 2026
a33cd39
feat: compress RLE child buffers (#7663)
Xuanwo Jul 9, 2026
af8a90f
fix: return error instead of panicking on values too wide for miniblo…
zhangyue19921010 Jul 9, 2026
ef256e2
feat(java): expose MemWAL shard delete (#7688)
hamersaw Jul 9, 2026
fc882fb
test(index): fix flaky IVF_RQ recall test with multi-bit RaBitQ (#7679)
wombatu-kun Jul 9, 2026
e96a091
fix(index): batch IVF streaming partition search off the CPU pool (#7…
a-agmon Jul 9, 2026
08f1bbd
fix: late-materialize blob columns read as binary (#7593)
wkalt Jul 9, 2026
3a3854c
perf(dataset): reuse session-cached manifest on checkout (#7661)
zhangyue19921010 Jul 9, 2026
5dbd140
fix(transaction): reduce redundant code for new_version calculations …
yangshangqing95 Jul 9, 2026
0bdf0a1
fix(lance-io): drop reservation when future is cancelled (#7638)
valkum Jul 9, 2026
9d24be1
feat(java): forward table properties to declareTable on namespace cre…
puchengy Jul 9, 2026
dda6cab
refactor(java): rename WriteDatasetBuilder.tableProperties to propert…
puchengy Jul 9, 2026
71ff5e5
fix(encoding): tolerate legacy RLE chunks that overflow the declared …
jackye1995 Jul 9, 2026
c5c3bf1
chore: release beta version 9.0.0-beta.20
Jul 9, 2026
5ba1e20
fix: round-trip empty blob values in the 2.1+ structural encoding (#7…
wkalt Jul 10, 2026
1946a5a
chore: upgrade Rust toolchain to 1.97.0 (#7712)
wjones127 Jul 10, 2026
5cb1569
perf(index): pack prewarmed FTS posting groups (#7720)
BubbleCal Jul 10, 2026
38f7bea
fix(lance-core): avoid aliasing &mut Runtime in global_cpu_runtime (#…
LuciferYang Jul 10, 2026
1ce1764
test(index): stabilize simple index nearest centroid test (#7723)
BubbleCal Jul 10, 2026
1aec146
chore: release beta version 9.0.0-beta.21
Jul 10, 2026
fbd22b4
docs: specify data overlay files for the table format (#7381)
wjones127 Jul 10, 2026
f698426
fix(encoding): honor zstd compression scheme and level on large per-v…
claydugo Jul 10, 2026
787f759
fix(scanner): honor batch_readahead to bound v2 scan decode concurren…
zhangyue19921010 Jul 13, 2026
faa704d
feat(fts)!: add configurable posting block size (#7466)
BubbleCal Jul 13, 2026
e7bce1e
feat: support list blob scans (#7664)
Xuanwo Jul 13, 2026
b0edda2
docs: clarify Lance format stability (#7475)
Xuanwo Jul 13, 2026
d6fb34d
refactor(encoding): clarify mini-block repdef budget (#7751)
Xuanwo Jul 13, 2026
4f7224b
fix(encoding): decode empty inline-bitpacked blocks (#7752)
Xuanwo Jul 13, 2026
4318ea0
ci: auto-label issues by bug / feature / performance (#7727)
wjones127 Jul 13, 2026
f0fcb81
fix(index): keep HNSW IVF scratch dir alive during partition writing …
geserdugarov Jul 13, 2026
5dc074f
feat(fts): impact skip data for posting lists (#7602)
BubbleCal Jul 13, 2026
ae25040
feat: support multi-segment indices in hamming clustering (#7758)
jackye1995 Jul 13, 2026
a7528ff
feat: data overlay files — model, feature flag, and write/commit path…
wjones127 Jul 13, 2026
a3d4719
feat(credentials): vend AWS credentials via AssumeRoleWithWebIdentity…
rpgreen Jul 13, 2026
5bda9bd
fix: preserve case in generated field path expressions (#7698)
skyshineb Jul 13, 2026
09174bc
feat: support wider hamming hashes (#7767)
jackye1995 Jul 14, 2026
2887837
fix(python): preserve PQ num_bits in model training (#7583)
ddupg Jul 14, 2026
bc2d137
fix: train IVF indexes on fragment subsets (#7768)
jackye1995 Jul 14, 2026
fff336c
docs(index): document public API of LogicalScalarIndex (#6804)
westonpace Jul 14, 2026
d1fa63b
perf: skip fragment-reuse index for compactions with no indexed data …
xuanyu-z Jul 14, 2026
2aafdfe
perf(fts): bulk MAXSCORE search path for top-k disjunctions (#7603)
BubbleCal Jul 14, 2026
4fc74b7
feat(lance-linalg): runtime SIMD dispatch for pre-Haswell x86_64 from…
tobocop2 Jul 14, 2026
c18925c
chore: release beta version 9.0.0-beta.22
Jul 14, 2026
8276d34
fix: reconstruct protobuf schema fields in linear time (#7766)
Xuanwo Jul 14, 2026
0acc51e
chore: release beta version 9.0.0-beta.23
Jul 14, 2026
239af5c
feat(mem_wal): thread store_params + session through WAL write/read p…
hamersaw Jul 14, 2026
935ceb4
feat(python): add bulk packed blob writer API (#7743)
justinrmiller Jul 14, 2026
6f6601f
ci: pin Rust nightly around test attribute ICE (#7787)
Xuanwo Jul 14, 2026
98b7111
chore: release beta version 9.0.0-beta.24
Jul 14, 2026
45bc880
perf(filtered-read): consolidate take-shaped masked reads off the con…
LuQQiu Jul 14, 2026
cf3d850
docs: define file format stability contract (#7779)
Xuanwo Jul 14, 2026
31a1e50
perf: support indexed metadata for structural projections (#7790)
Xuanwo Jul 15, 2026
8a8355a
fix(ci): pin goosefs-sdk to 0.1.5 (#7798)
zhangyue19921010 Jul 15, 2026
6a2eeca
perf(index): bulk conjunction path for FTS AND and phrase queries (#7…
BubbleCal Jul 15, 2026
67555f1
refactor(index): introduce lance-index-core crate (#7713)
westonpace Jul 15, 2026
362cd5b
fix(encoding): reject stalled RLE miniblock encoding (#7729)
Ali2Arslan Jul 15, 2026
0c6c391
fix(dataset): reject all system column names on write (#7797)
LuciferYang Jul 15, 2026
791d9f5
chore: upgrade DataFusion to 54 (#7793)
wjones127 Jul 15, 2026
234fc2a
feat: resolve data overlay files on the take (and scan) read path (#7…
wjones127 Jul 15, 2026
9effdb1
chore: bump main to 9.1.0-beta.0
Jul 15, 2026
64c560a
fix: bracket match query display (#7796)
jackye1995 Jul 15, 2026
3ece36f
feat(fts): record scorer_build_ms for the exec-local BM25 scorer fall…
LuQQiu Jul 15, 2026
e4529e6
chore: release beta version 9.1.0-beta.1
Jul 15, 2026
6b15a8e
feat(compaction): compact fragments over an overlay-count limit (#7772)
wjones127 Jul 15, 2026
2ba078c
feat(fts): read inverted index params without opening the segment (#7…
LuQQiu Jul 15, 2026
9139486
chore: release beta version 9.1.0-beta.2
Jul 15, 2026
9681621
feat(python): expose DataOverlay commit operation (#7540)
wjones127 Jul 15, 2026
4f90cf4
chore(deps): bump the cargo group across 1 directory with 9 updates (…
dependabot[bot] Jul 16, 2026
3bece4e
fix(table): route tos:// scheme to ConditionalPutCommitHandler (#7824)
zhangyue19921010 Jul 16, 2026
0179b59
chore: reduce CodeRabbit review noise (#7822)
Xuanwo Jul 16, 2026
74b2822
perf(dataset): read transactions by version without populating sessio…
xuanyu-z Jul 16, 2026
f868f51
perf(index): norm-addend cache and slim top-k heap for FTS scoring (#…
BubbleCal Jul 16, 2026
c6d1b95
test(vector): tolerate SIMD distance rounding (#7829)
BubbleCal Jul 17, 2026
f23b8d6
feat: expose cached file metadata APIs on FileFragment (#7820)
jiaqizho Jul 17, 2026
aed29d5
fix(index): reuse cached FTS document lengths (#7830)
Xuanwo Jul 17, 2026
40d5fdb
fix(mem-wal): propagate final flush failures from ShardWriter::close …
u70b3 Jul 17, 2026
4f86078
fix(python): allow blob writer cleanup across threads (#7827)
justinrmiller Jul 17, 2026
da5ef90
docs: implement the Lance Docs design as the mkdocs site theme (#7821)
Xuanwo Jul 17, 2026
18effc9
fix(index): conflict-check staged CreateIndex against concurrent inde…
ragnorc Jul 18, 2026
5ce6e96
fix(index): address review feedback on staged index conflict checks
ragnorc Jul 18, 2026
47c621f
Merge branch 'main' into ragnorc/two-phase-index-segments
ragnorc Jul 19, 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
  •  
  •  
  •  
12 changes: 11 additions & 1 deletion .bumpversion.toml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[tool.bumpversion]
current_version = "8.0.0-beta.1"
current_version = "9.1.0-beta.2"
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 @@ -55,6 +55,11 @@ filename = "Cargo.toml"
search = 'lance-datagen = {{ version = "={current_version}"'
replace = 'lance-datagen = {{ version = "={new_version}"'

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

[[tool.bumpversion.files]]
filename = "Cargo.toml"
search = 'lance-encoding = {{ version = "={current_version}"'
Expand All @@ -75,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
7 changes: 7 additions & 0 deletions .cargo/config.toml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,13 @@ debug = true
codegen-units = 16
lto = "thin"

[profile.release-no-lto]
inherits = "release"
debug = true
lto = false
# Prioritize compile time when LTO is not relevant to the measurement.
codegen-units = 16

[profile.bench]
inherits = "release"
lto = "thin"
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
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.
-->
45 changes: 45 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
version: 2
updates:
- package-ecosystem: "cargo"
directory: "/"
versioning-strategy: lockfile-only
schedule:
interval: "weekly"
day: "wednesday"
groups:
cargo:
patterns:
- "*"

- package-ecosystem: "cargo"
directory: "/python"
versioning-strategy: lockfile-only
schedule:
interval: "weekly"
day: "wednesday"
groups:
cargo:
patterns:
- "*"

- package-ecosystem: "cargo"
directory: "/java/lance-jni"
versioning-strategy: lockfile-only
schedule:
interval: "weekly"
day: "wednesday"
groups:
cargo:
patterns:
- "*"

- package-ecosystem: "uv"
directory: "/python"
versioning-strategy: lockfile-only
schedule:
interval: "weekly"
day: "wednesday"
groups:
uv:
patterns:
- "*"
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)"
26 changes: 10 additions & 16 deletions .github/workflows/build_linux_wheel/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name: build-linux-wheel
description: "Build a manylinux wheel for lance"
inputs:
python-minor-version:
description: "9, 10, 11, 12"
description: "10, 11, 12, 13"
required: true
args:
description: "--release"
Expand Down Expand Up @@ -41,11 +41,9 @@ runs:
args: ${{ inputs.args }}
maturin-version: "1.10.2"
before-script-linux: |
set -e
yum install -y openssl-devel \
&& curl -L https://github.com/protocolbuffers/protobuf/releases/download/v24.4/protoc-24.4-linux-$(uname -m).zip > /tmp/protoc.zip \
&& unzip /tmp/protoc.zip -d /usr/local \
&& rm /tmp/protoc.zip
set -euo pipefail
yum install -y openssl-devel
bash "${GITHUB_WORKSPACE}/.github/workflows/build_linux_wheel/install-protoc.sh"
- name: Build x86_64 Manylinux {manylinux} wheel
if: ${{ inputs.arm-build == 'false' && inputs.manylinux != '2_17' }}
uses: PyO3/maturin-action@04ac600d27cdf7a9a280dadf7147097c42b757ad # v1
Expand All @@ -60,11 +58,9 @@ runs:
args: ${{ inputs.args }}
maturin-version: "1.10.2"
before-script-linux: |
set -e
yum install -y openssl-devel clang \
&& curl -L https://github.com/protocolbuffers/protobuf/releases/download/v24.4/protoc-24.4-linux-$(uname -m).zip > /tmp/protoc.zip \
&& unzip /tmp/protoc.zip -d /usr/local \
&& rm /tmp/protoc.zip
set -euo pipefail
yum install -y openssl-devel clang
bash "${GITHUB_WORKSPACE}/.github/workflows/build_linux_wheel/install-protoc.sh"
- name: Build Arm Manylinux Wheel
if: ${{ inputs.arm-build == 'true' }}
uses: PyO3/maturin-action@04ac600d27cdf7a9a280dadf7147097c42b757ad # v1
Expand All @@ -76,8 +72,6 @@ runs:
args: ${{ inputs.args }}
maturin-version: "1.10.2"
before-script-linux: |
set -e
yum install -y openssl-devel clang \
&& curl -L https://github.com/protocolbuffers/protobuf/releases/download/v24.4/protoc-24.4-linux-aarch_64.zip > /tmp/protoc.zip \
&& unzip /tmp/protoc.zip -d /usr/local \
&& rm /tmp/protoc.zip
set -euo pipefail
yum install -y openssl-devel clang
bash "${GITHUB_WORKSPACE}/.github/workflows/build_linux_wheel/install-protoc.sh"
47 changes: 47 additions & 0 deletions .github/workflows/build_linux_wheel/install-protoc.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
#!/usr/bin/env bash
set -euo pipefail

version="${PROTOC_VERSION:-24.4}"
install_dir="${PROTOC_INSTALL_DIR:-/usr/local}"
machine="${1:-$(uname -m)}"

case "${machine}" in
aarch64 | arm64)
asset_arch="aarch_64"
;;
x86_64)
asset_arch="x86_64"
;;
*)
echo "Unsupported protoc architecture: ${machine}" >&2
exit 1
;;
esac

zip_path="/tmp/protoc-${version}-linux-${asset_arch}.zip"
url="https://github.com/protocolbuffers/protobuf/releases/download/v${version}/protoc-${version}-linux-${asset_arch}.zip"

for attempt in 1 2 3 4 5; do
rm -f "${zip_path}"

if curl -fsSL --connect-timeout 15 --max-time 120 -o "${zip_path}" "${url}" \
&& unzip -tq "${zip_path}" >/dev/null; then
break
fi

if [[ "${attempt}" == "5" ]]; then
echo "Failed to download a valid protoc archive from ${url}" >&2
exit 1
fi

sleep "$((attempt * 2))"
done

unzip -q -o "${zip_path}" -d "${install_dir}"
rm -f "${zip_path}"

if [[ "$(uname -s)" == "Linux" ]]; then
"${install_dir}/bin/protoc" --version
else
test -f "${install_dir}/bin/protoc"
fi
2 changes: 1 addition & 1 deletion .github/workflows/build_mac_wheel/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name: build_wheel
description: "Build a lance wheel"
inputs:
python-minor-version:
description: "9, 10, 11, 12"
description: "10, 11, 12, 13"
required: true
args:
description: "--release"
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/build_windows_wheel/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name: build_wheel
description: "Build a lance wheel"
inputs:
python-minor-version:
description: "9, 10, 11, 12"
description: "10, 11, 12, 13"
required: true
args:
description: "--release"
Expand Down
Loading
Loading