Driftwatch

Plaid / Plaid API (2020-09-14) /

Breakingdirection flip: their tools call this safe

value can now return "DOCUMENT_TYPE_US_STUDENT_I20"

What changed

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

Affects this value on DocType reachable from 2 operations.

New value: DOCUMENT_TYPE_US_STUDENT_I20.

can now return "DOCUMENT_TYPE_US_STUDENT_I20"

Who is affected

Code that reads Plaid's DocType objects, used by 2 Plaid operations.

Before and after

WhereBeforeAfter
DocType"DOCUMENT_TYPE_BANK_STATEMENT", "DOCUMENT_TYPE_GIG", "DOCUMENT_TYPE_NONE", "DOCUMENT_TYPE_PAYSTUB", "DOCUMENT_TYPE_PLAID_GENERATED_PAYSTUB_PDF", "DOCUMENT_TYPE_US_MILITARY_CLES", "DOCUMENT_TYPE_US_MILITARY_ERAS", "DOCUMENT_TYPE_US_MILITARY_LES", "DOCUMENT_TYPE_US_TAX_1099_K", "DOCUMENT_TYPE_US_TAX_1099_MISC", "DOCUMENT_TYPE_US_TAX_W2", "UNKNOWN""DOCUMENT_TYPE_BANK_STATEMENT", "DOCUMENT_TYPE_GIG", "DOCUMENT_TYPE_NONE", "DOCUMENT_TYPE_PAYSTUB", "DOCUMENT_TYPE_PLAID_GENERATED_PAYSTUB_PDF", "DOCUMENT_TYPE_US_MILITARY_CLES", "DOCUMENT_TYPE_US_MILITARY_ERAS", "DOCUMENT_TYPE_US_MILITARY_LES", "DOCUMENT_TYPE_US_STUDENT_I20", "DOCUMENT_TYPE_US_TAX_1099_K", "DOCUMENT_TYPE_US_TAX_1099_MISC", "DOCUMENT_TYPE_US_TAX_W2", "UNKNOWN"

Code that breaks

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

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