Repository navigation
Conversation
|
Resolving the one open question in the description, and recording two checks. The The lock gap is fixed upstream, in zostera/django-marina#694, which adds a No published damage, checked rather than assumed. |
Adds three changelog entries that nothing flagged, because until #896 landed `just release-check` listed only commits touching `src/` and none of these do: the workflow hardening (#887), the invisible-character lint (#875) and the AI assistance policy (#874). The coverage entry is amended to mention the CI step from #888, without which `fail_under = 100` was set but never run. Confirmed afterwards against the new second group in `just release-check`, which lists the same commits. Drops "(release candidate)" from the Python 3.15 entry. 3.15.0 shipped on 2026-10-09. What keeps it out of the classifiers is Django: 6.1.2, 6.0.9 and 5.2.18 all stop at 3.14. Folds in the three entries #896 appended to `Unreleased`. #896 is in main and therefore in the tree this tag will point at, so its entries belong in the 26.4 section rather than waiting for 26.5. The section is ordered by the categories MAINTAINING.md lists, which the `Unreleased` section was not: dropped cycles, bug fixes with the breaking ones first, features, tooling, documentation. Flat list, as in 26.3 and earlier. `uv.lock` names 26.4. The `_lockfile-matches-version` gate that #896 brought in caught the stale lock on the first `just build`, which is the first time that check has earned its keep here. Verified with `just lint`, `just test-cov` at 100% and `just build`. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
Rebuilt on top of #896, which merged into main ahead of this one. Three things changed. #896's three entries are now in the 26.4 section, not left for 26.5. The plan django-marina and I agreed was that this PR merges first, v26.4 gets tagged, and #896 lands afterwards for 26.5. The opposite happened: #896 merged at 09:42. Since it is in main, it is in the tree this tag will point at, so its entries have to be in the notes this tag ships. Leaving them in Worth noting it would not have failed loudly. This branch rewrites the top of the
The audit holds, and The new gate earned its keep immediately. After the version bump, 25 entries now. |
Cuts 26.4. django-marina confirmed the number:
YY.Ncounts per package from its own last tag, and bootstrap5 is on v26.3, so 26.4. Breaking changes do not move the number; the**Breaking:**prefix is the only signal those users get.Three entries
just release-checkcould not seejust release-checklists only commits touchingsrc/. Since v26.3 there are 23 commits and it reports 2. Four of the rest changed nothing undersrc/but are worth telling people about, so this adds three entries and amends one:github.actor, which is spoofable in apull_request_targetcontext. The publishing job restored a build cache, so a poisoned entry could have reached what goes to PyPI. Jobs had notimeout-minutesandci.ymlhad nopermissions. None of that was in the changelog.just lint(Trojan Source, CVE-2021-42574).coverage report.I left out the two AGENTS.md commits (#869, #870) and the three Dependabot dev-dependency bumps, which do not reach users, and the un-cut of the accidental 26.4 (#885), which corrects something never published.
Ordering
MAINTAINING.md lists the category order and the Unreleased section was not in it. The 26.4 section now runs dropped cycles, bug fixes with the breaking ones first, features, tooling, documentation. Flat list with no subheadings, matching 26.3 and earlier.
uv.lock, and a warning worth keepingmarina passed on the lesson that
uv.lockmust name the new version after a bump, since bootstrap4's accidental 26.3 left the lock on 26.2. Checking it here turned up something sharper than the diagnosis.just installrunsuv sync --frozen, andjust buildrunsinstall. I bumpedpyproject.tomlto 26.4, ran a fulljust build, and it passed: it produceddjango_bootstrap5-26.4wheel and sdist, passed twine, check-manifest, pyroma at 10/10 and both smoke tests, whileuv.lockstill said 26.3. So--frozendoes not catch a stale version for the project's own package, and a release PR that runsjust buildis not the safety net it looks like.Relocked with
uv lock, which changed exactly that one line. There is nojustrecipe for relocking without also upgrading every dependency, which seems worth adding; I will raise that with marina rather than invent one here.One thing I did not change
- **Breaking:** Drop support for Python 3.10carries the prefix, as merged in #894. 26.3's- Drop support for Django 4.2 (EOL).does not. Dropped cycles are their own category above bug fixes, so the prefix is arguably redundant there, but it is also arguably more correct. I left it as merged rather than quietly edit someone's merged wording. Worth settling for next time.Checks
just lint,just test-covat 100%,just build.After merge the remaining steps are
just buildon main andjust release-tag, which I will not run without being asked.🤖 Generated with Claude Code