Skip to content

Un-cut 26.3: fold the section back into Unreleased and return to 26.2 - #901

Merged
dyve merged 1 commit into
mainfrom
uncut-26.3
Oct 4, 2026
Merged

dyve merged 1 commit into
mainfrom
uncut-26.3

Conversation

@dyve

@dyve dyve commented Oct 4, 2026

Copy link
Copy Markdown
Member

What and why

main claims a version that does not exist. CHANGELOG.md has a closed ## 26.3 (2026-09-21) section and pyproject.toml says version = "26.3", but the latest tag is v26.2 and nothing has been published.

This is the same failure as in django-bootstrap5, fixed there by zostera/django-bootstrap5#885. The cut did not come from the release PR. It came from #899, the CI sync, which carried the dated heading and the version bump along with the workflow change. #898 is still open, so its content is already on main, which is why its own diff still shows 26.2 → 26.3.

This folds the eleven 26.3 entries back into Unreleased together with the two that followed, ordered by the categories in MAINTAINING.md: the Breaking RadioSelectButtonGroup fix first, since what might break someone comes before what is new, then the remaining fixes, the bootstrap4.W001 system check, the Django upper bound removal, tooling, and documentation. No entry text is changed, only grouping and order.

A detail worth noticing

uv.lock needed no change. #899 bumped pyproject.toml without regenerating the lock, so the lock still said 26.2 while the project claimed 26.3. They now agree again. That mismatch is its own small argument for the version bump going through a release PR that runs just build, as MAINTAINING.md already says it should.

Verified

just lint passes and just build produces django_bootstrap4-26.2 artefacts with the packaging checks green.

Next

#898 becomes redundant once this lands and should be closed rather than merged. Re-cutting the release is then a fresh, deliberate PR when you actually want to publish.

AI assistance

Yes. Written with Claude Code, as the trailer on the commit records.

🤖 Generated with Claude Code

main claimed a version that does not exist. CHANGELOG.md carried a closed
`## 26.3 (2026-09-21)` section and pyproject.toml said 26.3, while the latest
tag was v26.2 and nothing had been published.

The cut arrived through #899, the CI sync, which carried the dated heading and
the version bump along with the workflow change. That is the same thing that
happened in django-bootstrap5 through its own CI sync, fixed there by #885.
The release PR, #898, is still open and its content is therefore already on
main, which is why its diff still shows 26.2 to 26.3.

This folds the eleven 26.3 entries back into Unreleased with the two that
followed, ordered by the categories in MAINTAINING.md: the breaking fix first,
then the other fixes, the system check, the dependency change, tooling, and
documentation. No entry text is changed.

pyproject.toml returns to 26.2. uv.lock needed no change because #899 bumped
the version without regenerating the lock, so it still said 26.2 and now
matches again.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@coveralls

Copy link
Copy Markdown

Coverage Status

coverage: 87.035%. remained the same — uncut-26.3 into main

@dyve
dyve merged commit dad8856 into main Oct 4, 2026
22 checks passed
@dyve
dyve deleted the uncut-26.3 branch October 4, 2026 09:33
dyve added a commit that referenced this pull request Oct 11, 2026
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. just release-check
lists only commits touching src/, so it never flagged them: 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).

Regenerates uv.lock, which records the project version and would otherwise
have kept saying 26.2. That mismatch is what #899 left behind and #901 had
to clean up.

Verified: just lint passes, just test-cov is green at 100%, and just build
produces django_bootstrap4-26.3 artefacts with the packaging checks green.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@dyve dyve mentioned this pull request Oct 11, 2026
dyve added a commit that referenced this pull request Oct 11, 2026
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>
dyve added a commit that referenced this pull request Oct 11, 2026
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>
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