Skip to content

Prepare NumPy Vector Store 0.7.0 for release - #30

Merged
tvanreenen merged 2 commits into
mainfrom
prepare-release-0.7.0
Aug 24, 2026
Merged

Prepare NumPy Vector Store 0.7.0 for release#30
tvanreenen merged 2 commits into
mainfrom
prepare-release-0.7.0

Conversation

@tvanreenen

@tvanreenen tvanreenen commented Aug 24, 2026

Copy link
Copy Markdown
Owner

Overview

This PR prepares NumPy Vector Store 0.7.0 for release after the three planned contract-closure PRs were reviewed and squash merged. It sets the package version, records the complete user-visible release story, updates current-version references, and marks the 0.7 roadmap milestone complete.

Version 0.7 is the adoption release for the API and compatibility policy intended to become stable in 1.0. It hardens existing behavior rather than expanding the library into a larger vector-database abstraction.

What changes

  • Sets numpy_vector_store.__version__ to 0.7.0, which also supplies the version embedded by Hatchling in the wheel and source distribution.
  • Adds detailed 0.7.0 release notes covering the public 1.x contract, lossless numeric input handling, stable archive bindings, packaging metadata, publication safeguards, Windows validation, and upgrade guidance.
  • Updates README persistence and runtime-support references from 0.6 to 0.7.
  • Marks the 0.7 roadmap milestone complete while leaving the 1.0 adoption-cycle criterion open.
  • Aligns the README contributor checklist with the locked lint, formatting, typing, and test commands now used in CI.

Why this release is ready

The 0.7 roadmap work is complete: mixed Boolean row selectors and complex numeric inputs can no longer be accepted through lossy NumPy coercion, a relative archive binding cannot be redirected by a later working-directory change, and the intended 1.x public API and compatibility policy are now both documented and enforced by repository checks.

The release does not introduce a new public feature family, remove documented API, alter ranking behavior, add a runtime dependency, or change format-version-1 archives. Shipping these decisions as 0.7 gives users a normal release cycle to exercise the proposed stable contract before 1.0.

User impact and upgrade guidance

Most applications can upgrade from 0.6 without code changes or archive migration. Python 3.11 through 3.14 and NumPy 1.23.2 or newer remain supported, and valid format-version-1 archives remain readable and writable.

Applications should review code that deliberately used Boolean values inside within_rows, supplied complex vectors or queries, compared file_path with a relative path, or relied on changing the process working directory to redirect a later pathless save() or reload(). The changelog explains the direct replacements and resulting standard exceptions.

Verification

  • uv lock --check
  • uv run --locked ruff check .
  • uv run --locked ruff format --check .
  • uv run --locked mypy src/ benchmarks/ tools/
  • 340 tests passed on Python 3.13 with warnings treated as errors and 99% package-source coverage.
  • 340 tests passed on Python 3.11 with the minimum supported NumPy 1.23.2 and warnings treated as errors.
  • Fresh 0.7.0 wheel and source distributions passed exact source/tag/artifact agreement using v0.7.0 and passed twine check.
  • The wheel contains only the runtime package, py.typed, distribution metadata, and the MIT license; the source distribution includes the release documentation and maintenance tools while excluding private .codex state.
  • An isolated Python 3.11 installation of the built wheel reported version 0.7.0 and passed top-level export, ingestion, and cosine-search smoke checks outside the source checkout.
  • All seven GitHub Actions checks passed: lint/format/type checking, Python 3.11 through 3.14 on Linux, the Python 3.11 minimum NumPy boundary, and the full suite on Windows with Python 3.13.

Release process

Merging this PR does not publish anything by itself. After the maintainer squash merges it, the exact resulting main commit can be tagged v0.7.0 and used to publish the GitHub release. Publishing that release triggers the validated trusted-publishing workflow, which rebuilds the artifacts, checks source/tag/wheel/sdist version agreement, runs Twine validation, and then uploads to PyPI with OIDC.

@tvanreenen tvanreenen self-assigned this Aug 24, 2026
@tvanreenen
tvanreenen marked this pull request as ready for review August 24, 2026 15:54
@tvanreenen
tvanreenen merged commit 5fec98e into main Aug 24, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant