Skip to content

Cut next release for post-0.3.3 changes #82

Closed

Description

@dcfocus

Motivation

The latest tagged/published release is still 0.3.3. The v0.3.3 tag points at the release commit from 2026-06-10, while main has accumulated several user-facing fixes and APIs since then. The immediate trigger is still #71: PyPI 0.3.3 advertises stale Python 3.9 / 3.10 classifiers even though the package requires >=3.11,<3.14. That fix is merged on main, but it will not reach PyPI until a new release is cut.

This should be treated as the next release tracker, not only as a classifier patch, because the post-0.3.3 delta now includes multiple public API changes.

Release recommendation

Cut 0.4.0 unless maintainers prefer a different version. A minor bump is appropriate because the release includes new retrieval, search configuration, REST/client, and record-model capabilities, not just packaging metadata fixes.

Merged changes to include

These PRs are already merged to main after v0.3.3 and should be included in the next release:

Optional pre-release inclusion

Decide whether to merge before cutting the release:

  • feat: add upsert and partial update APIs #84 — Upsert by external_id API. If it lands before the release cut, include it in the 0.4.0 release notes. If not, leave it for the next release rather than blocking this one indefinitely.

Release checklist

  • Confirm final release version (0.4.0 recommended).
  • Confirm whether feat: add upsert and partial update APIs #84 is in or out for this release.
  • Ensure main is green after the final PR set is selected.
  • Run the Rust checks from the repo root:
    • cargo fmt -- --check
    • cargo test --workspace
    • cargo clippy --workspace --all-targets -- -D warnings
    • cargo test -p lance-context --features remote
  • Run Python checks from python/:
    • uv run pytest
    • uv run ruff format --check python/ tests/
    • uv run ruff check python/ tests/
    • uv run pyright
  • Resolve or explicitly waive any environment-specific S3/moto failures before publishing.
  • Bump versions with the existing .bumpversion.toml flow.
  • Decide whether the Rust API/client/server crates that still read 0.2.4 should also be bumped for this release, or whether only the already-managed Python/core/context package versions should move.
  • Verify release notes/changelog mention the PRs above.
  • Create the release tag and GitHub release.
  • Let the existing publish workflows build/upload PyPI artifacts and wheels.
  • Verify PyPI metadata and install behavior after publish.

Post-release verification

Acceptance criteria

  • A new release is published to PyPI and GitHub.
  • The classifier fix from fix: align Python version classifiers #71 is visible in published metadata.
  • The release includes all selected post-0.3.3 PRs merged to main before the cut.
  • The issue can be closed only after post-release PyPI verification passes.

Activity

  1. changed the title [-]Cut a release so the #71 Python-classifier fix reaches PyPI (0.3.3 still ships stale 3.9/3.10)[/-] [+]Cut next release for post-0.3.3 changes[/+] on Jun 12, 2026
  2. dcfocus commented on Jun 12, 2026

    @dcfocus
    CollaboratorAuthor

    Status update after the v0.4.0 release:

    • GitHub release and PyPI publishing completed successfully for v0.4.0.
    • The Rust crates.io publish failed because not all changed Rust workspace crates were versioned/published together.
    • Follow-up PR ci: publish all Rust workspace crates #86 fixes the Rust release metadata/workflow by versioning the API/client/server crates with the release and publishing the workspace through one dependency-sorted publish-crates invocation.
    • I am leaving this issue open until the Rust publish is retried successfully after ci: publish all Rust workspace crates #86 lands.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions