chore: bump to 1.12.0 — the Python floor reaches consumers - #445
Merged
Conversation
MINOR, not patch: the supported environment set GREW. requires-python moved >=3.12 -> >=3.11 in #444, and nothing reaches anyone until a release, because PyPI metadata is built from pyproject at release time. Until this tag exists the 28 views-models requirements files stay blocked on a floor this repository no longer declares. src/ is untouched — the wheel is byte-identical to v1.11.0 apart from metadata, same as v1.11.0 was to v1.10.0. Also carried by this release, both sitting in development since #431/#432 and in no tag, therefore not on the server: C-331 (the heartbeat URL off the curl command line) and C-343 (the refresh_pipeline.sh header that used to say deploying was one step). The product plan gained a v1.12 addendum rather than a retitled header. TestF7ProductPlanCurrency fired on the bump because the title read "current through v1.11", and editing just the title would have been the cheapest green path rather than the honest one — the plan's own convention is an addendum per release. It records why the floor was never chosen, the permanently forked raster stack, the LZW hole the change exposed rather than caused, and C-347/348/349. pytest exit 0, ruff clean, mypy clean, uv lock --check clean, validate_docs PASSED. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Step 1 of the release ritual in
publishing_to_pypi.md§C. Bump only —src/untouched.MINOR, not patch: the supported environment set grew.
requires-pythonmoved>=3.12→>=3.11in #444, and nothing reaches anyone until a release, because PyPI metadata is built frompyproject.tomlat release time. Until the tag exists, the 28 views-models requirements files stay blocked on a floor this repository no longer declares.Same shape as v1.11.0: the wheel is byte-identical apart from metadata.
What this release carries
>=3.11(#443/#444)development, no tagdevelopment, no tag, so not on the serverrefresh_pipeline.shheader that used to say deploying was one stepThe last two are production shell changes. The box runs v1.11.0 and cannot have them until the redeploy that follows this.
Step 0 — credential review gate: pass
publishing_to_pypi.md§C.0 requires checking ADR-026 §7 before releasing. All four credentials review 2026-11-30; today is 2026-08-13. Nothing overdue, nothing rotated, no date moved — which is the failure that check exists to prevent.A gate fired, and the fix is not the cheap one
TestF7ProductPlanCurrencyfailed on the bump: the product plan's title read "current through v1.11".I did not edit the title green. The plan's convention is an addendum per release — v1.10 and v1.11 both have one — so v1.12 got a real one covering why the floor was never chosen, the permanently forked raster stack, the LZW hole the change exposed rather than caused, and C-347/348/349. The title followed.
Editing only the title would have been this repo's named anti-pattern: the cheapest path to green rather than the honest one.
Verification
pytestexit 0 ·ruffclean ·mypy src/clean ·uv lock --checkclean ·validate_docs.shPASSED.Next
Promotion
development→mainas a merge commit (a squash rewrites release SHAs), then tag, GitHub Release, and the back-merge. #442 was closed in favour of that promotion — its body had drifted from its contents.🤖 Generated with Claude Code