Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
194 commits
Select commit Hold shift + click to select a range
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
252d81a
feat: add code analyzer for FTS (#7681)
Xuanwo Jul 19, 2026
e934cc2
chore: release beta version 9.1.0-beta.3
Jul 20, 2026
654f0d4
fix: make FTS metadata loading retry-safe (#7838)
Xuanwo Jul 20, 2026
b157022
fix(fts): restore format version environment fallback (#7855)
Xuanwo Jul 20, 2026
3b2420b
chore: release beta version 9.1.0-beta.4
Jul 20, 2026
ac27c30
fix: skip empty string docs in FTS stats (#7699)
Ecthlion Jul 20, 2026
0f6fd2e
docs: make the docs site theme usable on mobile and narrow screens (#…
Xuanwo Jul 20, 2026
1f3b683
chore(deps): bump the cargo group across 1 directory with 12 updates …
dependabot[bot] Jul 20, 2026
af6f0f7
chore(deps): bump the cargo group across 1 directory with 12 updates …
dependabot[bot] Jul 20, 2026
20992ae
fix: dispatch concurrent blob range reads (#7861)
Xuanwo Jul 20, 2026
c8a8143
perf: plan take operations through FilteredReadExec's range-read path…
LuQQiu Jul 20, 2026
0f3a4ee
chore: release beta version 9.1.0-beta.5
Jul 20, 2026
4ead58c
fix: trim fragment-reuse index for non-covering indexes (#7870)
xuanyu-z Jul 21, 2026
647567d
fix(fts): use v3 as the capability gate (#7866)
Xuanwo Jul 21, 2026
0deacf4
chore: release beta version 9.1.0-beta.6
Jul 21, 2026
81cd887
fix(fts): preserve parameter compatibility (#7874)
Xuanwo Jul 21, 2026
4b6a69a
chore: release beta version 9.1.0-beta.7
Jul 21, 2026
a3c6fce
fix(index): return error instead of panicking when hierarchical k-mea…
wjones127 Jul 21, 2026
aea6ded
feat: add batch blob range reads (#7864)
Xuanwo Jul 21, 2026
3670b38
chore(python): python 3.14 support (#7728)
mocobeta Jul 21, 2026
741548c
fix(commit): verify finalized external manifests (#7578)
BubbleCal Jul 21, 2026
9f7c950
feat(index): write zone map seeds into data file footers during appen…
westonpace Jul 21, 2026
f91da0a
fix(mem_wal): harden shard open and fail reads on a poisoned writer (…
hamersaw Jul 21, 2026
df7c8cc
feat(format): read and write sparse structural pages (#7889)
Xuanwo Jul 21, 2026
2562ce7
fix(mem_wal): read-your-writes via split index-apply and dual visibil…
hamersaw Jul 21, 2026
46378d2
fix(exec): preserve order when coalescing a sorted multi-partition pl…
wjones127 Jul 21, 2026
4696387
fix(index): sort JSON-path values once after extraction, not the raw …
wjones127 Jul 21, 2026
813c93b
feat: accept TableProvider write inputs for merge_insert and insert (…
wjones127 Jul 21, 2026
ed961bf
feat(mem_wal): drive the WAL append on a flush-interval ticker (#7894)
hamersaw Jul 22, 2026
5107a99
chore: release beta version 9.1.0-beta.8
Jul 22, 2026
ecfded9
test: cover FTS v1 and v2 compatibility (#7890)
Xuanwo Jul 22, 2026
16d3674
fix: reenable flaky tests on test_torch_kmeans.py (#7849)
cswpy Jul 22, 2026
74c0d38
fix: keep ids and addresses aligned in filter_deleted_ids under stabl…
wkalt Jul 22, 2026
50379ba
feat(java): expose session metadata cache stats to java api (#7885)
zhangyue19921010 Jul 22, 2026
c685e4a
feat: support cross-store (cross-account) deep_clone (#7545)
sezruby Jul 22, 2026
a0b6115
perf(compaction)!: skip building row-address maps when index remappin…
everySympathy Jul 22, 2026
6ca15c8
perf(encoding): auto-select sparse structural pages (#7756)
Xuanwo Jul 22, 2026
be778df
feat(index): mask data overlay files in scalar and vector index queri…
wjones127 Jul 22, 2026
a1946af
fix(index): normalize same-column scalar index predicates (#6782)
zouhuajian Jul 22, 2026
5d0ab43
feat: support structured_query in the directory namespace query_table…
hamersaw Jul 22, 2026
b1d56af
chore(deps): bump the cargo group in /python with 28 updates (#7922)
dependabot[bot] Jul 22, 2026
4104324
chore(deps): bump the cargo group in /java/lance-jni with 27 updates …
dependabot[bot] Jul 22, 2026
9726f88
chore(deps): bump the cargo group with 38 updates (#7923)
dependabot[bot] Jul 22, 2026
0e7ac18
fix(mem-wal): propagate task shutdown failures (#7915)
u70b3 Jul 23, 2026
d82eddd
perf(filtered-read): reuse plan-time fragment metadata for the read s…
LuQQiu Jul 23, 2026
8d9c35f
perf(fts): resolve deferred row_ids via the cached whole ROW_ID colum…
LuQQiu Jul 23, 2026
8f51a21
fix(namespace): propagate dir-namespace storage errors instead of map…
brendanclement Jul 23, 2026
5b9fb81
feat(index): support segmented bloom filters (#7925)
jackye1995 Jul 23, 2026
18d1052
fix(mem-wal): refill scans after shadow filtering (#7917)
u70b3 Jul 23, 2026
69dba4f
perf(encoding): compact mini-block chunk index for cached page state …
Ali2Arslan Jul 23, 2026
d8030a3
chore(deps-dev): bump duckdb from 1.5.4 to 1.5.5 in /python in the uv…
dependabot[bot] Jul 23, 2026
ddbc23c
test(mem_wal): cover cross-generation durable-put fencing end to end …
u70b3 Jul 23, 2026
3a72f8a
fix(blob)!: preserve null selections across blob APIs (#7903)
Xuanwo Jul 23, 2026
fb88621
chore: bump to 10.0.0-beta.1 based on breaking change detection
Jul 23, 2026
72654bf
refactor(mem-wal): rename flushed MemTable/generation to SSTable (#7943)
jackye1995 Jul 23, 2026
bbc0477
chore: release beta version 10.0.0-beta.2
Jul 23, 2026
7183c09
feat: support merge_insert when source omits blob columns (#7615)
nyl3532016 Jul 23, 2026
71b4515
fix(blob): unwrap Option in merge_insert blob tests after take_blobs …
XuQianJin-Stars Jul 24, 2026
2e4e6fd
feat: support segmented RTree indexes (#7932)
jackye1995 Jul 24, 2026
63aea11
feat(index): use ACORN-1 traversal for prefiltered HNSW search (#7927)
leohoare Jul 24, 2026
9a0f64f
fix: avoid panic due to empty IO buffers on tokio runtime shutdown (#…
ilya-zlobintsev Jul 24, 2026
f40d19d
fix(blob): preserve null and empty values during compaction (#7965)
Xuanwo Jul 24, 2026
9562af9
refactor: rename MemWAL compaction progress (#7957)
jackye1995 Jul 24, 2026
700b264
ci: pin fixed QEMU for pre-Haswell checks (#7977)
Xuanwo Jul 24, 2026
b8de1a9
fix: persist finalized external manifest metadata (#7964)
Xuanwo Jul 24, 2026
ed078e7
chore: release beta version 10.0.0-beta.3
Jul 24, 2026
cfbfdaf
feat(fts): add native exact segment selection (#7976)
Xuanwo Jul 24, 2026
d148e42
perf(fts): search partitions in pipelined chunks (#7950)
LuQQiu Jul 24, 2026
5a3a13c
chore(ci): group Dependabot security updates to reduce PR noise (#7988)
wjones127 Jul 24, 2026
9fba9d4
fix(ci): unblock cargo publish and dry-run packaging in CI (#7989)
wjones127 Jul 24, 2026
5afa488
chore(deps): bump quinn-proto from 0.11.14 to 0.11.16 in /java/lance-…
dependabot[bot] Jul 24, 2026
9225744
chore(deps): bump quinn-proto from 0.11.14 to 0.11.16 in /test_data/f…
dependabot[bot] Jul 24, 2026
e0fb830
docs: fix nested agent guide loading and trim root AGENTS.md (#7992)
Xuanwo Jul 24, 2026
e0f8167
feat(index): share IVF partition scans across batch vector queries
sezruby Jun 22, 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 = "10.0.0-beta.3"
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
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.
-->
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:
- "*"
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)"
29 changes: 29 additions & 0 deletions .github/workflows/issue-labeler.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: Issue Labeler

# Applies bug / feature / performance labels to issues based on their title and
# body. This complements the .github/ISSUE_TEMPLATE forms, which only apply
# labels for issues opened through the web UI; this catches issues opened via
# `gh issue create`, the REST API, or an agent, which bypass templates.
#
# Issues never originate from a fork, so unlike the PR labelers this uses a
# plain `issues` trigger (no pull_request_target) with a scoped GITHUB_TOKEN.
on:
issues:
types: [opened, edited]

concurrency:
group: ${{ github.workflow }}-${{ github.event.issue.number }}
cancel-in-progress: true

jobs:
label:
name: Apply issue labels
permissions:
issues: write
runs-on: ubuntu-latest
steps:
- uses: srvaroa/labeler@bf262763a8a8e191f5847873aecc0f29df84f957 # v1.14.0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
config_path: .github/labeler-issues.yml
14 changes: 7 additions & 7 deletions .github/workflows/python.yml
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ jobs:
timeout-minutes: 45
strategy:
matrix:
python-minor-version: ["10", "13"]
python-minor-version: ["10", "13", "14"]
name: "Python Linux 3.${{ matrix.python-minor-version }} x86_64"
runs-on: "ubuntu-24.04-4x"
defaults:
Expand All @@ -124,7 +124,7 @@ jobs:
with:
memtest: true
- name: Upload wheels as artifacts
if: ${{ matrix.python-minor-version == '13' }}
if: ${{ matrix.python-minor-version == '14' }}
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
with:
name: linux-wheels
Expand All @@ -147,7 +147,7 @@ jobs:
- name: Set up Python
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5
with:
python-version: 3.13
python-version: 3.14
- name: Download wheels
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4
with:
Expand All @@ -165,7 +165,7 @@ jobs:
linux-arm:
timeout-minutes: 45
runs-on: ubuntu-24.04-arm64-4x
name: Python Linux 3.13 ARM
name: Python Linux 3.14 ARM
defaults:
run:
shell: bash
Expand All @@ -178,7 +178,7 @@ jobs:
- name: Set up Python
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5
with:
python-version: 3.13
python-version: 3.14
- uses: Swatinem/rust-cache@779680da715d629ac1d338a641029a2f4372abb5 # v2
with:
workspaces: python
Expand All @@ -195,7 +195,7 @@ jobs:
- uses: ./.github/workflows/run_tests
mac:
timeout-minutes: 45
name: Python macOS 3.13 ARM
name: Python macOS 3.14 ARM
runs-on: "warp-macos-14-arm64-6x"
defaults:
run:
Expand All @@ -209,7 +209,7 @@ jobs:
- name: Set up Python
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5
with:
python-version: "3.13"
python-version: "3.14"
- uses: Swatinem/rust-cache@779680da715d629ac1d338a641029a2f4372abb5 # v2
with:
workspaces: python
Expand Down
Loading