Driftwatch

Vercel / Vercel REST API /

Breakingdirection flip: their tools call this safe

buildMachineType can now return "14cpu-28gb"

What changed

Producer-side tools call this additive. It breaks exhaustive switches, strict parsers and generated client enums.

Affects resourceConfig.buildMachineType on POST /v1/projects/{idOrName}/avatar.

New value: 14cpu-28gb.

can now return "14cpu-28gb"

Who is affected

Code that reads POST /v1/projects/{idOrName}/avatar (resourceConfig.buildMachineType).

Before and after

WhereBeforeAfter
POST /v1/projects/{idOrName}/avatar · resourceConfig.buildMachineType"basic", "enhanced", "standard", "turbo""14cpu-28gb", "basic", "enhanced", "standard", "turbo"
DELETE /v1/projects/{idOrName}/avatar · defaultResourceConfig.buildMachineType"basic", "enhanced", "standard", "turbo""14cpu-28gb", "basic", "enhanced", "standard", "turbo"
DELETE /v1/projects/{idOrName}/avatar · resourceConfig.buildMachineType"basic", "enhanced", "standard", "turbo""14cpu-28gb", "basic", "enhanced", "standard", "turbo"
GET /v1/microfrontends/groups/{groupId}/projects · projects[].defaultResourceConfig.buildMachineType"basic", "enhanced", "standard", "turbo""14cpu-28gb", "basic", "enhanced", "standard", "turbo"
GET /v1/microfrontends/groups/{groupId}/projects · projects[].resourceConfig.buildMachineType"basic", "enhanced", "standard", "turbo""14cpu-28gb", "basic", "enhanced", "standard", "turbo"
POST /v1/projects/{idOrName}/avatar · defaultResourceConfig.buildMachineType"basic", "enhanced", "standard", "turbo""14cpu-28gb", "basic", "enhanced", "standard", "turbo"
PATCH /v1/projects/{projectId}/microfrontends · defaultResourceConfig.buildMachineType"basic", "enhanced", "standard", "turbo""14cpu-28gb", "basic", "enhanced", "standard", "turbo"
PATCH /v1/projects/{projectId}/microfrontends · resourceConfig.buildMachineType"basic", "enhanced", "standard", "turbo""14cpu-28gb", "basic", "enhanced", "standard", "turbo"
GET /v10/projects · resourceConfig.buildMachineType"basic", "enhanced", "standard", "turbo""14cpu-28gb", "basic", "enhanced", "standard", "turbo"
GET /v10/projects · projects[].resourceConfig.buildMachineType"basic", "enhanced", "standard", "turbo""14cpu-28gb", "basic", "enhanced", "standard", "turbo"
GET /v10/projects · projects[].defaultResourceConfig.buildMachineType"basic", "enhanced", "standard", "turbo""14cpu-28gb", "basic", "enhanced", "standard", "turbo"
POST /v11/projects · defaultResourceConfig.buildMachineType"basic", "enhanced", "standard", "turbo""14cpu-28gb", "basic", "enhanced", "standard", "turbo"
POST /v11/projects · resourceConfig.buildMachineType"basic", "enhanced", "standard", "turbo""14cpu-28gb", "basic", "enhanced", "standard", "turbo"
GET /v9/projects/{idOrName} · defaultResourceConfig.buildMachineType"basic", "enhanced", "standard", "turbo""14cpu-28gb", "basic", "enhanced", "standard", "turbo"
GET /v9/projects/{idOrName} · resourceConfig.buildMachineType"basic", "enhanced", "standard", "turbo""14cpu-28gb", "basic", "enhanced", "standard", "turbo"
PATCH /v9/projects/{idOrName} · defaultResourceConfig.buildMachineType"basic", "enhanced", "standard", "turbo""14cpu-28gb", "basic", "enhanced", "standard", "turbo"
PATCH /v9/projects/{idOrName} · resourceConfig.buildMachineType"basic", "enhanced", "standard", "turbo""14cpu-28gb", "basic", "enhanced", "standard", "turbo"

Code that breaks

switch (response.resourceConfig.buildMachineType) {
  // existing branches …
  // no branch for "14cpu-28gb"
  default:
    throw new Error("unexpected buildMachineType");
}

Based on Vercel’s published API specification. How severity is decided.