chore: release the iOS 16 removal as 5.4.0, not 6.0.0 - #127
Merged
Conversation
I wrote fcfa524 as `feat!: remove iOS 16`. The `!` is what made release-please propose 6.0.0-beta.2 in #122. That marker was wrong. Dropping '16' from EiOSVersions does not break anything that still worked: the platform removed iOS 16 server-side on 2026-08-24, so `--ios-version 16` already fails with a 400 on every existing 5.x CLI. The enum change only moves that same rejection client-side, with a better message. Nobody loses a working capability, which is the bar for a major. `Release-As: 5.4.0-beta.0` re-pins the pending beta release PR. Same mechanism this repo already used to hold #120 at 5.3.1 rather than let it roll. Minor rather than patch because the supported-version set changed, which is a behaviour change worth a minor even though the trigger was a removal.⚠️ THIS ONLY FIXES THE BETA LINE. fcfa524 still carries `!` in history, and the production line reads the same commits — so when dev promotes to production, release-please will propose 6.0.0 on the stable line for exactly the same reason. That promotion needs its own `Release-As: 5.4.0` commit, or fcfa524 reworded before it lands there. production does not have the commit yet, so there is still a clean window to do the latter. Release-As: 5.4.0-beta.0
finalerock44
added a commit
that referenced
this pull request
Aug 24, 2026
Promote from dev to stable: * feat: remove iOS 16 (#126) — the platform removed iOS 16 on 2026-08-24, so `--ios-version 16` now fails against the API regardless of CLI version. Dropping '16' from `EiOSVersions` moves that rejection client-side with a better message ("Expected one of: 18, 17, 26") instead of a round trip to a 400. `--help` follows automatically, since the option list is derived from the enum. Defaults were already iphone-14 / 17 and are unaffected — iPhone 14 keeps iOS 17 and 18. `src/types/generated/schema.types.ts` is regenerated against the post-removal API swagger; alongside narrowing `iOSVersion` it picks up the API-side drift that had accumulated since the artifact was last built on 2026-08-06. No platform prerequisite in the other direction: the API is already serving the reduced matrix, verified end-to-end on dev (a 5.3.1 CLI targeting iOS 16 is refused by the fetched compatibility data, and a per-flow override reaches the server-side gate). `Release-As: 5.4.0` because the promotion commit is a `chore:` and would otherwise cut no release at all. It is 5.4.0 rather than 6.0.0 deliberately: #126 carried a `!` in its PR title, which is what put the beta line on a 6.0.0-beta.2 release PR before #127 re-pinned it. Removing a version the platform no longer serves takes away nothing that still worked, so it is not a major. The `!` does not reach production anyway — promotions are squash-merged, so it lives only in dev's history. Carries only the source delta — package.json version, CHANGELOG.md and the release-please manifests stay as release-please left them on production. Release-As: 5.4.0
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.
I wrote fcfa524 as
feat!: remove iOS 16. The!is what made release-please propose 6.0.0-beta.2 in #122. That marker was wrong.Dropping '16' from EiOSVersions does not break anything that still worked: the platform removed iOS 16 server-side on 2026-08-24, so
--ios-version 16already fails with a 400 on every existing 5.x CLI. The enum change only moves that same rejection client-side, with a better message. Nobody loses a working capability, which is the bar for a major.Release-As: 5.4.0-beta.0re-pins the pending beta release PR. Same mechanism this repo already used to hold #120 at 5.3.1 rather than let it roll.Minor rather than patch because the supported-version set changed, which is a behaviour change worth a minor even though the trigger was a removal.
!in history, and the production line reads the same commits — so when dev promotes to production, release-please will propose 6.0.0 on the stable line for exactly the same reason. That promotion needs its ownRelease-As: 5.4.0commit, or fcfa524 reworded before it lands there. production does not have the commit yet, so there is still a clean window to do the latter.Release-As: 5.4.0-beta.0
What & why
Type of change
fix— bug fixfeat— new featureperf— performance improvementrefactor— code change that's neither a fix nor a featuredocs— documentation onlychore/ci/build/test— tooling, no user-facing change!or PR notes aBREAKING CHANGE:)Checklist
pnpm lintpassespnpm typecheckpassespnpm buildpassesCHANGELOG.md(release-please handles this)README.md/STYLE_GUIDE.mdupdated if behaviour or output changedHow to test