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
| Where | Before | After |
|---|---|---|
| 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.