Skip to content

chore: release the iOS 16 removal as 5.4.0, not 6.0.0 - #127

Merged
finalerock44 merged 1 commit into
devfrom
fix/ios-16-release-as-5-4-0
Aug 24, 2026
Merged

chore: release the iOS 16 removal as 5.4.0, not 6.0.0#127
finalerock44 merged 1 commit into
devfrom
fix/ios-16-release-as-5-4-0

Conversation

@finalerock44

@finalerock44 finalerock44 commented Aug 24, 2026

Copy link
Copy Markdown
Contributor

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

What & why

Type of change

  • fix — bug fix
  • feat — new feature
  • perf — performance improvement
  • refactor — code change that's neither a fix nor a feature
  • docs — documentation only
  • chore / ci / build / test — tooling, no user-facing change
  • Breaking change (title has ! or PR notes a BREAKING CHANGE:)

Checklist

  • PR title follows the Conventional Commits format (see comment above)
  • pnpm lint passes
  • pnpm typecheck passes
  • pnpm build passes
  • I have not bumped the version or edited CHANGELOG.md (release-please handles this)
  • I have signed the CLA (the bot will prompt on first contribution)
  • Docs / README.md / STYLE_GUIDE.md updated if behaviour or output changed

How to test

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 finalerock44 self-assigned this Aug 24, 2026
@finalerock44
finalerock44 merged commit a60611d into dev Aug 24, 2026
10 checks passed
@finalerock44
finalerock44 deleted the fix/ios-16-release-as-5-4-0 branch August 24, 2026 11:46
@finalerock44 finalerock44 mentioned this pull request Aug 24, 2026
14 tasks
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
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.

1 participant