Skip to content

release: v0.10.0 -- professionalisation release - #54

Merged
stffns merged 3 commits into
mainfrom
release/v0.10.0
Apr 20, 2026
Merged

stffns merged 3 commits into
mainfrom
release/v0.10.0

Conversation

@stffns

@stffns stffns commented Apr 20, 2026

Copy link
Copy Markdown
Owner

Summary

Bumps the version to 0.10.0 and documents all the work landed
between 0.9.0 and today. After merge, tagging `v0.10.0` on `main`
triggers the release workflow and publishes wheels to PyPI via trusted
publishing.

Commits

  1. `release: v0.10.0 -- professionalisation release`

Release procedure after merge

```bash
git checkout main && git pull
git tag -a v0.10.0 -m "snapvec 0.10.0"
git push origin v0.10.0
```

The `Release` workflow picks up the tag, builds wheels for
Linux x86_64/aarch64, macOS-13, macOS-14, and Windows across CPython
3.10-3.13, then uses trusted publishing to push them to PyPI.

Test plan

  • `pip install -e .` reports 0.10.0
  • `mkdocs build --strict` passes
  • `ruff check` passes
  • `pytest -q` passes (190 tests)
  • CI green on this PR
  • Tag creation and wheel publication verified after merge

Manual setup required on PyPI (one-off)

Before the first `v*` tag fires, register snapvec as a trusted
publisher on PyPI:

  • PyPI -> Manage Project -> Publishing -> Add trusted publisher
    • Owner: `stffns`
    • Repo: `snapvec`
    • Workflow: `release.yml`
    • Environment: `pypi`

If this is already done from PR #43 setup, tagging is all that's left.

Bumps the version to 0.10.0 and documents the landed work.  No
library behaviour changes beyond the surgical SnapIndex.search(k<1)
validation shipped in PR #50; everything else is CI, docs, tests,
and benchmarks.

Adds:

- CHANGELOG entry for 0.10.0 covering PRs #43, #49, #50, #51, #52,
  and #53 (CI matrix + wheels, MkDocs site, 40+ new tests, threading
  curve, forward-compat errors, competitive Pareto bench).
- ROADMAP.md with scoped plans for v0.11 (streaming ingest, OPQ,
  strict mypy), v0.12 (file format v2, delta buffer), and v1.0
  (API freeze + deprecation policy).  Explicit non-goals so nobody
  opens a GPU-backend PR.
- CITATION.cff so downstream papers can cite snapvec with a
  machine-readable metadata file.  References TurboQuant
  (arXiv:2504.19874) and Jegou et al. product quantization as
  underlying algorithms.
- README roadmap link so ROADMAP.md is discoverable from the
  project root.
Copilot AI review requested due to automatic review settings April 20, 2026 12:32

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Release-prep PR that bumps snapvec to v0.10.0 and adds/updates release documentation (changelog, roadmap, citation metadata) to support the upcoming tag-triggered PyPI publication workflow.

Changes:

  • Bump package version to 0.10.0 in runtime (snapvec.__version__) and packaging metadata (pyproject.toml).
  • Add release documentation: CHANGELOG.md entry for 0.10.0 and a new ROADMAP.md.
  • Add project metadata and links: new CITATION.cff and a README link to the roadmap.

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
snapvec/init.py Updates runtime __version__ to 0.10.0.
pyproject.toml Updates package version metadata to 0.10.0.
CHANGELOG.md Adds 0.10.0 release notes covering prior PRs.
ROADMAP.md Introduces a roadmap with planned work and explicit non-goals.
CITATION.cff Adds citation metadata for academic/research usage.
README.md Links readers to the new roadmap document.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread CHANGELOG.md Outdated

## [0.10.0] -- 2026-04-20

Headline: **professionalisation release.** No library behaviour
The headline claimed 'no library behaviour changes' but the Changed
section right below lists one: SnapIndex.search now rejects k < 1
with ValueError instead of silently returning all results.  Rewrite
the headline to name the one behaviour change explicitly so the reader
does not have to reconcile the contradiction themselves.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request prepares the snapvec library for version 0.10.0, focusing on professionalization. Key changes include the implementation of a comprehensive CI matrix, a new documentation site, executable examples, and a significantly expanded test suite with property-based and adversarial tests. Additionally, the PR introduces a CITATION.cff file and a detailed ROADMAP.md outlining future development goals and non-goals. Feedback was provided to ensure the CHANGELOG.md accurately reflects the supported Python versions in the CI matrix.

Comment thread CHANGELOG.md Outdated
### Added

- **CI matrix** across Linux x86_64/aarch64, macOS-13 / macOS-14, and
Windows on CPython 3.10, 3.12, 3.13 (PR #43). Pre-compiled wheels

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The list of supported CPython versions in the CI matrix description is missing 3.11. Both pyproject.toml and the PR description indicate that Python 3.11 is supported and tested.

Suggested change
Windows on CPython 3.10, 3.12, 3.13 (PR #43). Pre-compiled wheels
Windows on CPython 3.10, 3.11, 3.12, 3.13 (PR #43). Pre-compiled wheels

The previous wording blurred two distinct matrices.  CI tests run on
3.10, 3.12, 3.13.  cibuildwheel emits wheels for 3.10 through 3.13 --
Python 3.11 wheels exist even though there is no 3.11 test job.
Spell both out so the release notes match the PyPI artifacts.
@stffns
stffns merged commit 8a28af1 into main Apr 20, 2026
10 checks passed
@stffns
stffns deleted the release/v0.10.0 branch April 20, 2026 12:59
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.

2 participants