Driftwatch

GitHub / GitHub REST API /

Breakingdirection flip: their tools call this safe

enforcement can now return "enterprise_enforced"

What changed

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

Affects enforcement on code-security-configuration reachable from 13 operations.

New value: enterprise_enforced.

can now return "enterprise_enforced"

Who is affected

Code that reads GitHub's code-security-configuration objects, used by 13 GitHub operations.

Before and after

WhereBeforeAfter
code-security-configuration.enforcement"enforced", "unenforced""enforced", "enterprise_enforced", "unenforced"
code-security-configuration-for-repository.status"attached", "attaching", "detached", "enforced", "failed", "removed", "removed_by_enterprise", "updating""attached", "attaching", "detached", "enforced", "enterprise_enforced", "failed", "removed", "removed_by_enterprise", "updating"
code-security-configuration-repositories.status"attached", "attaching", "detached", "enforced", "failed", "removed", "removed_by_enterprise", "updating""attached", "attaching", "detached", "enforced", "enterprise_enforced", "failed", "removed", "removed_by_enterprise", "updating"

Code that breaks

switch (response.enforcement) {
  // existing branches …
  // no branch for "enterprise_enforced"
  default:
    throw new Error("unexpected enforcement");
}

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