Skip to content

Commit 6311ed8

Browse files
authored
chore: release 5.4.0 (#128)
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
1 parent 23e7fe7 commit 6311ed8

2 files changed

Lines changed: 62 additions & 18 deletions

File tree

src/types/domain/device.types.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ export enum EAndroidDevices {
2626
export enum EiOSVersions {
2727
'eighteen' = '18',
2828
'seventeen' = '17',
29-
'sixteen' = '16',
3029
'twentySix' = '26',
3130
}
3231

src/types/generated/schema.types.ts

Lines changed: 62 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -140,9 +140,10 @@ export interface paths {
140140
* never touches credits. Lets the CLI print the cell count and estimated cost,
141141
* and surface validation errors, before uploading the flow ZIP.
142142
*
143-
* The dollar estimate is exact for non-Google-Play cells; a Google Play
144-
* column's price is path-dependent until #1100 unifies the parallel and
145-
* sequential Play tiering.
143+
* The dollar estimate is exact for every cell, Google Play included: quote
144+
* and charge both run buildBaseCostByTuple -> calculateCost -> the shared
145+
* resolvePricingTier over the same typed device, and so do the parallel and
146+
* sequential submit paths (#1100).
146147
*/
147148
post: operations["UploadsController_estimateMatrix"];
148149
delete?: never;
@@ -689,6 +690,29 @@ export interface paths {
689690
patch?: never;
690691
trace?: never;
691692
};
693+
"/webhooks/notify-on-retry": {
694+
parameters: {
695+
query?: never;
696+
header?: never;
697+
path?: never;
698+
cookie?: never;
699+
};
700+
get?: never;
701+
put?: never;
702+
/**
703+
* Toggle re-delivery when a retry finishes on an already-reported run (#1277).
704+
*
705+
* Defaults to on, unlike the Slack and email equivalents: this endpoint exists
706+
* for the consumer that would rather NOT be called twice, while automations
707+
* that want the current state keep working untouched.
708+
*/
709+
post: operations["WebhooksController_setNotifyOnRetry"];
710+
delete?: never;
711+
options?: never;
712+
head?: never;
713+
patch?: never;
714+
trace?: never;
715+
};
692716
"/webhooks/regenerate-secret": {
693717
parameters: {
694718
query?: never;
@@ -1626,7 +1650,7 @@ export interface components {
16261650
appFile?: string;
16271651
env: string;
16281652
/** @enum {string} */
1629-
iOSVersion?: "16" | "17" | "18" | "26";
1653+
iOSVersion?: "17" | "18" | "26";
16301654
/** @enum {string} */
16311655
iOSDevice?: "iphone-14" | "iphone-15" | "iphone-16" | "iphone-16-plus" | "iphone-16-pro" | "iphone-16-pro-max" | "ipad-pro-6th-gen";
16321656
platform?: string;
@@ -1666,7 +1690,7 @@ export interface components {
16661690
appFile?: string;
16671691
env: string;
16681692
/** @enum {string} */
1669-
iOSVersion?: "16" | "17" | "18" | "26";
1693+
iOSVersion?: "17" | "18" | "26";
16701694
/** @enum {string} */
16711695
iOSDevice?: "iphone-14" | "iphone-15" | "iphone-16" | "iphone-16-plus" | "iphone-16-pro" | "iphone-16-pro-max" | "ipad-pro-6th-gen";
16721696
platform?: string;
@@ -1717,7 +1741,7 @@ export interface components {
17171741
appFile?: string;
17181742
env: string;
17191743
/** @enum {string} */
1720-
iOSVersion?: "16" | "17" | "18" | "26";
1744+
iOSVersion?: "17" | "18" | "26";
17211745
/** @enum {string} */
17221746
iOSDevice?: "iphone-14" | "iphone-15" | "iphone-16" | "iphone-16-plus" | "iphone-16-pro" | "iphone-16-pro-max" | "ipad-pro-6th-gen";
17231747
platform?: string;
@@ -2300,9 +2324,7 @@ export interface operations {
23002324
OrgController_handlePaddleWebhook: {
23012325
parameters: {
23022326
query?: never;
2303-
header: {
2304-
"paddle-signature": string;
2305-
};
2327+
header?: never;
23062328
path?: never;
23072329
cookie?: never;
23082330
};
@@ -2933,7 +2955,6 @@ export interface operations {
29332955
* "iphone-14": {
29342956
* "name": "iPhone 14",
29352957
* "versions": [
2936-
* "16",
29372958
* "17",
29382959
* "18"
29392960
* ],
@@ -2997,8 +3018,7 @@ export interface operations {
29973018
* "33",
29983019
* "34",
29993020
* "35",
3000-
* "36",
3001-
* "37"
3021+
* "36"
30023022
* ],
30033023
* "deprecated": false
30043024
* },
@@ -3016,8 +3036,7 @@ export interface operations {
30163036
* "33",
30173037
* "34",
30183038
* "35",
3019-
* "36",
3020-
* "37"
3039+
* "36"
30213040
* ],
30223041
* "deprecated": false
30233042
* },
@@ -3027,8 +3046,7 @@ export interface operations {
30273046
* "33",
30283047
* "34",
30293048
* "35",
3030-
* "36",
3031-
* "37"
3049+
* "36"
30323050
* ],
30333051
* "deprecated": false
30343052
* },
@@ -3139,6 +3157,8 @@ export interface operations {
31393157
secret_key?: string;
31403158
/** @description Masked secret (default) */
31413159
secret_key_masked?: string;
3160+
/** @description Re-deliver when retried tests finish (default true) */
3161+
notify_on_retry?: boolean;
31423162
/** Format: date-time */
31433163
created_at?: string;
31443164
/** Format: date-time */
@@ -3198,6 +3218,32 @@ export interface operations {
31983218
};
31993219
};
32003220
};
3221+
WebhooksController_setNotifyOnRetry: {
3222+
parameters: {
3223+
query?: never;
3224+
header?: never;
3225+
path?: never;
3226+
cookie?: never;
3227+
};
3228+
requestBody: {
3229+
content: {
3230+
"application/json": {
3231+
notifyOnRetry: boolean;
3232+
};
3233+
};
3234+
};
3235+
responses: {
3236+
/** @description Retry re-delivery setting updated */
3237+
201: {
3238+
headers: {
3239+
[name: string]: unknown;
3240+
};
3241+
content: {
3242+
"application/json": Record<string, never>;
3243+
};
3244+
};
3245+
};
3246+
};
32013247
WebhooksController_regenerateWebhookSecret: {
32023248
parameters: {
32033249
query?: never;
@@ -3882,7 +3928,6 @@ export interface operations {
38823928
query?: never;
38833929
header: {
38843930
authorization: string;
3885-
"x-dcd-org": string;
38863931
};
38873932
path?: never;
38883933
cookie?: never;

0 commit comments

Comments
 (0)