You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Guard release version info against typos and desync (#473)
Release 27.7.1 escaped with a year-typo'd changelog header while
__version__ still said 26.6.1: CI only checked that the changelog head
was >= __version__, and the release job's update_version() silently
patched the workspace copy before tagging and uploading (#469).
- New always-on check: the newest changelog version may never be dated
in the future, and its month must be a valid calendar month.
- In --ensure-tag (release) mode, require the changelog head,
__version__, and the usage.rst pre-commit rev to be exactly equal,
and no longer run update_version() there - a mismatch now fails the
release instead of being patched on the fly. Pre-commit keeps the
auto-fix behavior.
- Before creating a new tag for a x.y.1 release, require its year.month
to be the current (or immediately previous) month; patch releases of
an existing series are exempt. Tag existence is now checked via
ls-remote, since a shallow CI checkout has no local tags.
- Rename the 27.7.1 changelog entry to the intended 26.7.1 and sync
__version__ and the usage.rst example accordingly.
Claude-Session: https://claude.ai/code/session_01Cqsspf84UPK1Gg5rka8hRz
Co-authored-by: Claude <noreply@anthropic.com>
0 commit comments