Driftwatch

GitHub / GitHub REST API /

Breakingdirection flip: their tools call this safe

code can now return "dry_run_in_progress", "invalid_state"

What changed

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

Affects code on secret-scanning-custom-pattern-validation-error reachable from 2 operations.

New values: dry_run_in_progress, invalid_state.

can now return "dry_run_in_progress", "invalid_state"

Who is affected

Code that reads GitHub's secret-scanning-custom-pattern-validation-error objects, used by 2 GitHub operations.

Before and after

WhereBeforeAfter
secret-scanning-custom-pattern-validation-error.code"custom_pattern_version_mismatch", "end_delimiter", "invalid", "must_match", "must_not_match", "name", "start_delimiter", "unprocessable""custom_pattern_version_mismatch", "dry_run_in_progress", "end_delimiter", "invalid", "invalid_state", "must_match", "must_not_match", "name", "start_delimiter", "unprocessable"

Code that breaks

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

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