Skip to content

release: one version number, bumped by a script and checked by CI - #76

Merged
singhpratech merged 1 commit into
mainfrom
release/version-tooling
Sep 5, 2026
Merged

release: one version number, bumped by a script and checked by CI#76
singhpratech merged 1 commit into
mainfrom
release/version-tooling

Conversation

@singhpratech

Copy link
Copy Markdown
Owner

Groundwork for 0.1.1 and every release after it.

  • scripts/bump_version.pyproject(VERSION) in CMakeLists.txt is the source of truth. --set X.Y.Z rewrites the ten manifests that carry the release number (Python, Rust + lock, C#, Java, both copies of the driver's version string) and the install snippets in ten docs. --check verifies they agree; --check --tag vX.Y.Z also checks a git tag. Dry-run of --set 0.1.1 touches 20 files, 45 lines, and --check passes afterwards. tests/ and bench/ keep their own manifest versions; ROADMAP, FAQ and benchmark files keep their history.
  • CI: a "Version agreement" job runs --check on every push and PR.
  • Release workflow: runs --check --tag against the pushed tag before creating the release or building anything, so a half-bumped tag fails in seconds.
  • RELEASING.md: the checklist — bump, tag (v* and go/v*), publish each registry by hand (PyPI/NuGet/Maven workflows, cargo publish, Go proxy), verify each with a one-liner, then site and announcements.

No version changes in this PR; the 0.1.1 bump follows as its own PR once this is in.

🤖 Generated with Claude Code

https://claude.ai/code/session_01YG6wFApZpg2xe61EmKhaSZ

scripts/bump_version.py treats project(VERSION) in CMakeLists.txt as the source
of truth.  --set rewrites the ten manifests that carry the release number (the
Python, Rust, C# and Java packages, the driver's own version string, the Rust
lock file) and the install snippets in ten docs; --check verifies they all
agree, and --check --tag that a git tag names the same version.  The tests/ and
bench/ manifests have versions of their own and are left alone; ROADMAP, the
FAQ and the benchmark files record history and keep their numbers.

CI runs --check on every push and pull request (a "Version agreement" job); the
Release workflow runs it against the tag before creating the release or building
an asset.  RELEASING.md is the checklist: bump, tag, publish each registry by
hand, verify each one, then site and announcements.

Why now: 0.1.0 is spelled out in 20 files, no tooling kept them together, and
0.1.1 is about to ship.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YG6wFApZpg2xe61EmKhaSZ
@singhpratech
singhpratech merged commit fac5c52 into main Sep 5, 2026
5 checks passed
@singhpratech
singhpratech deleted the release/version-tooling branch September 5, 2026 19:33
@singhpratech singhpratech mentioned this pull request Sep 5, 2026
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