Repository navigation
release: 26.3 - #909
Merged
Merged
release: 26.3#909
Conversation
This was referenced Oct 11, 2026
Merged
Stamps the Unreleased section as 26.3 and bumps the version from 26.2. Orders the notes by the convention in MAINTAINING.md: the dropped Python cycle first, then bug fixes with the breaking one at their head, the system check, the dependency change, tooling, and documentation. The four coverage entries had accumulated at the top of Unreleased since #901 put the section in order; they are tooling and now sort there. Adds five entries for changes that shipped without one, found by reading the full log rather than the old release-check, which listed only commits touching src/: the coverage report step in CI (#904), the zizmor workflow hardening and the restored timeout-minutes (#900), the invisible-character lint (#888), the AI assistance and dependency update policies (#887, #900), and the CLAUDE.md shim (#885). Folds in the two entries #910 added. Rebasing onto it filed them at the foot of the dated 26.3 section without a conflict, since the two sides touch different lines, which is the silent failure #910 and django-marina describe. They belong in 26.3, so they move up into the tooling group rather than being left where git put them, and the blank line that split the list and the missing one before the 26.2 heading are repaired. Merges #910's release-check entry into the entry that introduced the recipe. Both land in this release, so describing it as added and then changed is internal history; the single entry says what shipped. Regenerates uv.lock, which records the project version and would otherwise have kept saying 26.2. That mismatch is what #899 left behind, and what #910's new build guard now catches. Verified: just lint passes, just test-cov is green at 100%, just build produces django_bootstrap4-26.3 artefacts with the packaging checks green, and the new lockfile guard was confirmed to fail the build when the lock is stale rather than only passing when it is not. 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.
Stamps the
Unreleasedsection as26.3and bumps the version from 26.2. This is the deliberate re-cut that #901 asked for after #899 carried a dated heading and a version bump tomainby accident; the branch was reset ontomain, so nothing of the aborted cut survives here.The notes are ordered by the convention in
MAINTAINING.md: the dropped Python cycle first, then the bug fixes with the breaking one at their head, the system check, the dependency change, tooling, and documentation. The four coverage entries had accumulated at the top ofUnreleasedsince #901 put the section in order, because each later PR prepended its own; they are tooling and now sort there.Five entries are new, for changes that shipped without one. The old
just release-checklisted only commits touchingsrc/, so it never flagged them; I read the full log instead. They are thecoverage reportstep in CI (#904), the zizmor workflow hardening and the restoredtimeout-minutes(#900), the invisible-character lint (#888), the AI assistance and dependency update policies (#887, #900), and theCLAUDE.mdshim (#885). That gap is what #910 has since fixed.Rebased onto #910
Rebasing filed #910's two entries at the foot of the dated
26.3section, with no conflict, because the two sides touch different lines. That is exactly the silent failure #910 and django-marina describe, reproduced here. They do belong in 26.3, since the justfile change ships in it, so they have been moved up into the tooling group rather than left where git put them. The blank line that split the list and the missing one before the## 26.2heading are repaired; both came in with #910's edit.#910's
release-checkentry is merged into the entry that introduced the recipe.just release-checkis new in this release, so "added it" followed by "changed it" is internal history rather than what shipped; the single entry describes the behaviour a reader will actually get. Say the word if you would rather have the two verbatim.Verified
just lintpasses.just test-covis green at 100%, 173 tests over 808 statements and 286 branches.just buildproducesdjango_bootstrap4-26.3with twine, check-manifest, pyroma (10/10), check-wheel-contents and both smoke tests passing.#910's new lockfile guard was checked by making it fail, not only by watching it pass: setting
uv.lockback to 26.2 stopsbuildwithError - pyproject.toml says 26.3, uv.lock says 26.2. Run 'just relock'.With the lock regenerated,release-checkreportsVersion: pyproject.toml 26.3, uv.lock 26.3.One quirk to expect after this merges:
release-checkwill printEntries in the Unreleased section of CHANGELOG.md: (none)next to two dozen listed commits, because stamping the section removes the## Unreleasedheading. It reads alarming and means nothing is pending.AI assistance
Yes. Written with Claude Code, as the trailer on the commit records.
🤖 Generated with Claude Code