From d54887d9006bf1a8b949f6c678daba292aeab978 Mon Sep 17 00:00:00 2001 From: Gordon Murray Date: Fri, 20 Feb 2026 14:52:01 +0000 Subject: [PATCH 1/3] feat: add lancedb 0.29.2 support - Add constraints-0.29.2.txt with pyarrow>=16,<22 - Remove numpy<2.0 upper bound (0.29.2 supports numpy 2.x) - Add 0.29.2 to CI build and test matrices - Update latest/stable tags to point to 0.29.2 - Update Dockerfile default to 0.29.2 --- .github/workflows/release.yml | 8 ++++---- backend/constraints-0.29.2.txt | 3 +++ backend/requirements.txt | 2 +- docker/Dockerfile | 4 ++-- 4 files changed, 10 insertions(+), 7 deletions(-) create mode 100644 backend/constraints-0.29.2.txt diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 533e3bf..34d4a15 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -20,7 +20,7 @@ jobs: packages: write strategy: matrix: - lancedb: ["0.3.1", "0.3.4", "0.5", "0.16.0", "0.24.3"] + lancedb: ["0.3.1", "0.3.4", "0.5", "0.16.0", "0.24.3", "0.29.2"] steps: - name: Checkout repository @@ -47,8 +47,8 @@ jobs: type=ref,event=pr,suffix=-lancedb-${{ matrix.lancedb }} type=semver,pattern=app-{{version}}_lancedb-${{ matrix.lancedb }} type=raw,value=lancedb-${{ matrix.lancedb }} - type=raw,value=latest,enable=${{ matrix.lancedb == '0.24.3' && github.ref == 'refs/heads/main' }} - type=raw,value=stable,enable=${{ matrix.lancedb == '0.24.3' && startsWith(github.ref, 'refs/tags/') }} + type=raw,value=latest,enable=${{ matrix.lancedb == '0.29.2' && github.ref == 'refs/heads/main' }} + type=raw,value=stable,enable=${{ matrix.lancedb == '0.29.2' && startsWith(github.ref, 'refs/tags/') }} - name: Build and push Docker image uses: docker/build-push-action@v5 @@ -68,7 +68,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - lancedb: ["0.3.1", "0.3.4", "0.5", "0.16.0", "0.24.3"] + lancedb: ["0.3.1", "0.3.4", "0.5", "0.16.0", "0.24.3", "0.29.2"] steps: - name: Checkout repository uses: actions/checkout@v4 diff --git a/backend/constraints-0.29.2.txt b/backend/constraints-0.29.2.txt new file mode 100644 index 0000000..e723a1e --- /dev/null +++ b/backend/constraints-0.29.2.txt @@ -0,0 +1,3 @@ +# Constraints for lancedb 0.29.2 +lancedb==0.29.2 +pyarrow>=16,<22 diff --git a/backend/requirements.txt b/backend/requirements.txt index cb68ec7..3cee90c 100644 --- a/backend/requirements.txt +++ b/backend/requirements.txt @@ -1,6 +1,6 @@ fastapi==0.104.1 uvicorn[standard]==0.24.0 python-multipart==0.0.6 -numpy<2.0 +numpy lancedb pyarrow \ No newline at end of file diff --git a/docker/Dockerfile b/docker/Dockerfile index 6289a6c..36c40b5 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -1,7 +1,7 @@ FROM python:3.11-slim-bookworm AS builder # Build arguments for Lance version -ARG LANCEDB_VERSION=0.3.4 +ARG LANCEDB_VERSION=0.29.2 WORKDIR /build @@ -38,7 +38,7 @@ HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \ CMD curl -fsS http://localhost:8080/healthz || exit 1 # Build arguments for labels (redeclare after FROM) -ARG LANCEDB_VERSION=0.3.4 +ARG LANCEDB_VERSION=0.29.2 LABEL org.opencontainers.image.title="Lance Data Viewer" LABEL org.opencontainers.image.description="Read-only web viewer for Lance datasets" From 500443767890a80b7800e0e5247ce69a3403db39 Mon Sep 17 00:00:00 2001 From: Gordon Murray Date: Fri, 20 Feb 2026 15:02:07 +0000 Subject: [PATCH 2/3] fix: restore numpy<2.0 default, override only for 0.29.2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Older lancedb versions (0.3.x–0.16.0) are incompatible with numpy 2.x. Keep numpy<2.0 in requirements.txt as the safe default and add numpy>=2.0 to the 0.29.2 constraint file instead. --- backend/constraints-0.29.2.txt | 1 + backend/requirements.txt | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/backend/constraints-0.29.2.txt b/backend/constraints-0.29.2.txt index e723a1e..c2e5630 100644 --- a/backend/constraints-0.29.2.txt +++ b/backend/constraints-0.29.2.txt @@ -1,3 +1,4 @@ # Constraints for lancedb 0.29.2 lancedb==0.29.2 +numpy>=2.0 pyarrow>=16,<22 diff --git a/backend/requirements.txt b/backend/requirements.txt index 3cee90c..cb68ec7 100644 --- a/backend/requirements.txt +++ b/backend/requirements.txt @@ -1,6 +1,6 @@ fastapi==0.104.1 uvicorn[standard]==0.24.0 python-multipart==0.0.6 -numpy +numpy<2.0 lancedb pyarrow \ No newline at end of file From 8b471b85dd33273c9765c615abfe2705a0ecd07c Mon Sep 17 00:00:00 2001 From: Gordon Murray Date: Fri, 20 Feb 2026 15:04:22 +0000 Subject: [PATCH 3/3] fix: pin numpy<2.0 per-version in constraint files MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Pip constraints cannot widen requirements, so the numpy pin must live in each constraint file rather than requirements.txt. Old versions (0.3.1–0.24.3) get numpy<2.0; 0.29.2 has no numpy constraint and picks up numpy 2.x naturally. --- backend/constraints-0.16.0.txt | 1 + backend/constraints-0.24.3.txt | 1 + backend/constraints-0.29.2.txt | 1 - backend/constraints-0.3.1.txt | 1 + backend/constraints-0.3.4.txt | 1 + backend/constraints-0.5.txt | 1 + backend/requirements.txt | 2 +- 7 files changed, 6 insertions(+), 2 deletions(-) diff --git a/backend/constraints-0.16.0.txt b/backend/constraints-0.16.0.txt index fc9bc47..507771e 100644 --- a/backend/constraints-0.16.0.txt +++ b/backend/constraints-0.16.0.txt @@ -1,3 +1,4 @@ # Constraints for lancedb 0.16.0 (anchor stable) lancedb==0.16.0 +numpy<2.0 pyarrow>=10,<17 \ No newline at end of file diff --git a/backend/constraints-0.24.3.txt b/backend/constraints-0.24.3.txt index d64cf22..e65c734 100644 --- a/backend/constraints-0.24.3.txt +++ b/backend/constraints-0.24.3.txt @@ -1,3 +1,4 @@ # Constraints for lancedb 0.24.3 (recommended 2025) lancedb==0.24.3 +numpy<2.0 pyarrow>=16,<22 \ No newline at end of file diff --git a/backend/constraints-0.29.2.txt b/backend/constraints-0.29.2.txt index c2e5630..e723a1e 100644 --- a/backend/constraints-0.29.2.txt +++ b/backend/constraints-0.29.2.txt @@ -1,4 +1,3 @@ # Constraints for lancedb 0.29.2 lancedb==0.29.2 -numpy>=2.0 pyarrow>=16,<22 diff --git a/backend/constraints-0.3.1.txt b/backend/constraints-0.3.1.txt index 7304290..246455b 100644 --- a/backend/constraints-0.3.1.txt +++ b/backend/constraints-0.3.1.txt @@ -1,3 +1,4 @@ # Constraints for lancedb 0.3.1 (legacy support) lancedb==0.3.1 +numpy<2.0 pyarrow==14.0.1 \ No newline at end of file diff --git a/backend/constraints-0.3.4.txt b/backend/constraints-0.3.4.txt index 9a521f8..b60e29e 100644 --- a/backend/constraints-0.3.4.txt +++ b/backend/constraints-0.3.4.txt @@ -1,3 +1,4 @@ # Constraints for lancedb 0.3.4 (current working version) lancedb==0.3.4 +numpy<2.0 pyarrow==14.0.1 \ No newline at end of file diff --git a/backend/constraints-0.5.txt b/backend/constraints-0.5.txt index 5978ac4..a30d9ac 100644 --- a/backend/constraints-0.5.txt +++ b/backend/constraints-0.5.txt @@ -1,3 +1,4 @@ # Constraints for lancedb 0.5 (legacy support) lancedb==0.5 +numpy<2.0 pyarrow==14.0.1 \ No newline at end of file diff --git a/backend/requirements.txt b/backend/requirements.txt index cb68ec7..3cee90c 100644 --- a/backend/requirements.txt +++ b/backend/requirements.txt @@ -1,6 +1,6 @@ fastapi==0.104.1 uvicorn[standard]==0.24.0 python-multipart==0.0.6 -numpy<2.0 +numpy lancedb pyarrow \ No newline at end of file