feat!: remove iOS 16 - #126
Merged
Merged
Conversation
iOS 16 was removed from the platform on 2026-08-24 (dcd). Dropping it from the CLI's enum means `--ios-version 16` now fails client-side with a validation error naming the supported set, instead of travelling to the API for a 400. Old CLIs still get the server-side rejection, so this is defence in depth rather than the gate. The --help text at config/flags/device.flags.ts derives from this enum, so it follows automatically; it now reads "options: 18, 17, 26". Defaults were already iphone-14 / 17 in device-validation.service.ts and are unaffected — iPhone 14 keeps iOS 17 and 18. src/types/generated/schema.types.ts is regenerated against the new API swagger. As well as narrowing iOSVersion it picks up the API-side drift that had accumulated since the artifact was last built on 2026-08-06. Not touched: iphone-14-pro / iphone-15-pro are still in EiOSDevices despite having been removed from the platform in January. That is a separate drift with the same shape, and folding it in here would hide it inside an iOS 16 change.
Code reviewNo issues found. Checked for bugs and CLAUDE.md compliance. |
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.
iOS 16 was removed from the platform on 2026-08-24 (dcd). Dropping it from the CLI's enum means
--ios-version 16now fails client-side with a validation error naming the supported set, instead of travelling to the API for a 400. Old CLIs still get the server-side rejection, so this is defence in depth rather than the gate.The --help text at config/flags/device.flags.ts derives from this enum, so it follows automatically; it now reads "options: 18, 17, 26".
Defaults were already iphone-14 / 17 in device-validation.service.ts and are unaffected — iPhone 14 keeps iOS 17 and 18.
src/types/generated/schema.types.ts is regenerated against the new API swagger. As well as narrowing iOSVersion it picks up the API-side drift that had accumulated since the artifact was last built on 2026-08-06.
Not touched: iphone-14-pro / iphone-15-pro are still in EiOSDevices despite having been removed from the platform in January. That is a separate drift with the same shape, and folding it in here would hide it inside an iOS 16 change.
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