From 94f9aa67d11a07c93c7d59d6b134e80858b60316 Mon Sep 17 00:00:00 2001 From: zhanghui Date: Fri, 24 Jul 2026 13:44:34 +0800 Subject: [PATCH] fix(deps): pin lancedb to >=0.34.0,<0.35.0 The previous open-ended `>=0.13.0` let any environment float to an untested release, including 0.32-0.34 which carry a compaction offset-overflow regression (lance-format/lance#7653) that stalls version cleanup and grows the index dir without bound. - Floor 0.34.0: the current resolved version; runs safely thanks to the with_position=False FTS workaround shipped in #336. Verified that data written by lancedb 0.32.0 (lance v6) reads correctly under 0.34.0 (lance v8), so existing deployments upgrade cleanly. Never widen the floor below 0.34 -- older lance cannot read v8-format data. - Ceiling <0.35.0: 0.35 embeds lance-rust v9 (large encoding jump, not yet stable-released); it must pass the soak harness before we allow it. Resolved version is unchanged (still 0.34.0); this only tightens the declared constraint. Co-Authored-By: Claude Opus 4.8 (1M context) --- pyproject.toml | 7 ++++++- uv.lock | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index b9693c96..77b2416f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -26,7 +26,12 @@ dependencies = [ "pydantic-settings>=2.0.0", # Storage stack (md-first three-piece set) - "lancedb>=0.13.0", # Vector + BM25 + scalar filter (Arrow-based) + # Upper bound: 0.35.0 embeds lance-rust v9 (large storage/encoding jump, not + # yet stable-released). 0.32-0.34 carry a compaction offset-overflow regression + # (lance-format/lance#7653); we run 0.34.0 safely via the with_position=False + # FTS workaround. Do not float past 0.34.x until 0.35 is validated by the soak + # harness. Never widen this floor back below 0.34 (older lance can't read v8 data). + "lancedb>=0.34.0,<0.35.0", # Vector + BM25 + scalar filter (Arrow-based) "aiosqlite>=0.20.0", # Async SQLite driver (used by SA async engine) "sqlmodel>=0.0.22", # ORM (Pydantic + SQLAlchemy 2.0 async) "alembic>=1.13.0", # SQLite schema migrations diff --git a/uv.lock b/uv.lock index 94a8541b..4469e10f 100644 --- a/uv.lock +++ b/uv.lock @@ -629,7 +629,7 @@ requires-dist = [ { name = "fastapi", specifier = ">=0.104.0" }, { name = "greenlet", specifier = ">=3.0" }, { name = "jieba", specifier = ">=0.42.1,<1.0" }, - { name = "lancedb", specifier = ">=0.13.0" }, + { name = "lancedb", specifier = ">=0.34.0,<0.35.0" }, { name = "openai", specifier = ">=1.0.0" }, { name = "opentelemetry-exporter-otlp-proto-http", marker = "extra == 'otel'", specifier = ">=1.27.0" }, { name = "opentelemetry-sdk", marker = "extra == 'otel'", specifier = ">=1.27.0" },