Make the changelog's breaking list match what actually breaks - #16
Merged
Conversation
The 3.0 entry called five changes breaking. Checked against 2.3, three of them are not: - Access by capability is a widening, not a break. 2.3 gated on is_siteadmin(), and an administrator holds every capability, so nothing an admin could do stopped working. What changed is that managers gained read access. - cli/cleanup.php is new in 3.0. There was no bare command whose behaviour could change. - The component list starting empty preserves behaviour exactly. 2.3 hardcoded the same pair and ran it only when autoremove was on, which is precisely what the upgrade seeds. Breaking now holds the two that break code: the settings namespace and the step class renames. The three above move to a new Upgrade notes section alongside a fourth the changelog had missed entirely - that unlinked files pause for ghostgracedays after upgrading, because the new columns are not backfilled and the first scan counts as the first sighting. That one reads as a regression if nobody says otherwise. The release notes said "five breaking changes" and now agree. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SrD1CtCf7ERCCtH2k7LzK3
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.
The 3.0 changelog listed five breaking changes. Checked each against the 2.3 tag; three are
not breaking, and the changelog was missing a fourth behaviour change that matters more than
any of them.
What was wrong
is_siteadmin(), and an administrator holds every capability, so nothing an admin could do stopped working. What changed is that managers gained read access — worth a deliberate revoke, not a breakcli/cleanup.phpreports unless given--executeassignsubmission_fileandbackupand ran them only whenautoremovewas on — precisely what the upgrade seeds. A site with it off deleted no component files before and deletes none nowVerified from
git show 2.3:classes/task/cleanup.phpand2.3:files.php, not from the plan.What it says now
### Breakingkeeps the two that genuinely break code: the settings namespace move and thestep class renames.
### Upgrade notesis new, and carries the three above plus one the changelog nevermentioned: unlinked files are not removed for the first
ghostgracedaysafter upgrading.The two new columns are not backfilled, so the first scan after the upgrade counts as the first
of the two sightings that must agree. An operator watching the list stop shrinking will read
that as a regression unless something says otherwise — it is the single most likely support
question this release generates.
The release notes said "five breaking changes" and now agree with the changelog.
Testing
Documentation only — no PHP changed. Verified the release-notes extraction still selects the
right block: 104 lines, sections
Breaking, Upgrade notes, Security, Fixed, Added, Changed, nobleed from the 2.3 entry.
Notes
.github/release-notes/3.0.md, not thechangelog, so it does not need re-cutting for this — but it is now out of date by one
sentence. Re-pushing the tag after merge would refresh it if that is worth doing.