Skip to content

feat(device): add iOS 27 and the iPhone 17 family - #131

Merged
finalerock44 merged 1 commit into
devfrom
feat/ios-27-support
Aug 27, 2026
Merged

feat(device): add iOS 27 and the iPhone 17 family#131
finalerock44 merged 1 commit into
devfrom
feat/ios-27-support

Conversation

@finalerock44

Copy link
Copy Markdown
Contributor

Mirrors devicecloud-dev/dcd, where iOS 27 and iphone-17/-pro/-pro-max ship behind the IOS_27 rollout gate (on for dev, off in production until the fleet carries a 27 runtime).

Nothing here needs gating. The flag descriptions and cloud.ts validation derive from these enums, so the CLI offers the values and the API's compatibility matrix is what actually accepts or rejects them — a user who asks for iOS 27 against production gets "iOS version '27' is not supported for device ...", which is the right error. src/utils/compatibility.ts already fetches the live matrix from GET /results/compatibility/data, so dcd list devices tracks the gate without a release.

schema.types.ts regenerated from the API's swagger.json; the only delta is the three iOSVersion enums and the iOSDevice enum, confirming the committed types were otherwise in sync.

Note the pre-existing drift in EiOSDevices, left alone here: it still carries iphone-14-pro and iphone-15-pro, which the API dropped. Worth its own cleanup rather than riding along with a feature change.

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

Mirrors devicecloud-dev/dcd, where iOS 27 and iphone-17/-pro/-pro-max ship
behind the IOS_27 rollout gate (on for dev, off in production until the fleet
carries a 27 runtime).

Nothing here needs gating. The flag descriptions and `cloud.ts` validation
derive from these enums, so the CLI offers the values and the API's
compatibility matrix is what actually accepts or rejects them — a user who
asks for iOS 27 against production gets "iOS version '27' is not supported for
device ...", which is the right error. `src/utils/compatibility.ts` already
fetches the live matrix from GET /results/compatibility/data, so
`dcd list devices` tracks the gate without a release.

schema.types.ts regenerated from the API's swagger.json; the only delta is the
three iOSVersion enums and the iOSDevice enum, confirming the committed types
were otherwise in sync.

Note the pre-existing drift in EiOSDevices, left alone here: it still carries
iphone-14-pro and iphone-15-pro, which the API dropped. Worth its own cleanup
rather than riding along with a feature change.
@finalerock44 finalerock44 self-assigned this Aug 27, 2026
@claude

claude Bot commented Aug 27, 2026

Copy link
Copy Markdown

Code review

No issues found. Checked for bugs and CLAUDE.md compliance.

@finalerock44
finalerock44 merged commit 1333960 into dev Aug 27, 2026
8 checks passed
@finalerock44
finalerock44 deleted the feat/ios-27-support branch August 27, 2026 09:53
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