Driftwatch

Vercel / Vercel REST API /

Breakingdirection flip: their tools call this safe

projectScope can now return "none"

What changed

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

Affects payload.next.projectScope on UserEvent reachable from 1 operation.

New value: none.

can now return "none"

Who is affected

Code that reads Vercel's UserEvent objects, used by 1 Vercel operation.

Before and after

WhereBeforeAfter
UserEvent.payload.next.projectScope"all", "selected""all", "none", "selected"
UserEvent.payload.next.repositoryScope"all", "selected""all", "none", "selected"
UserEvent.payload.previous.projectScope"all", "selected""all", "none", "selected"
UserEvent.payload.previous.repositoryScope"all", "selected""all", "none", "selected"

Code that breaks

switch (response.payload.next.projectScope) {
  // existing branches …
  // no branch for "none"
  default:
    throw new Error("unexpected projectScope");
}

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