What changed
Producer-side tools call this additive. It breaks exhaustive switches, strict parsers and generated client enums.
Affects this value on Products reachable from 33 operations.
New value: cra_home_lending.
can now return "cra_home_lending"
Who is affected
Code that reads Plaid's Products objects, used by 33 Plaid operations.
Before and after
| Where | Before | After |
|---|---|---|
| Products | "assets", "auth", "balance", "balance_plus", "beacon", "cra_base_report", "cra_cashflow_insights", "cra_income_insights", "cra_lend_score", "cra_monitoring", "cra_network_insights", "cra_partner_insights", "cra_plaid_credit_score", "cra_qualify", "credit_details", "employment", "identity", "identity_match", "identity_verification", "income", "income_verification", "investments", "investments_auth", "layer", "liabilities", "pay_by_bank", "payment_initiation", "processor_identity", "processor_payments", "profile", "protect_linked_bank", "protect_transactions", "recurring_transactions", "signal", "standing_orders", "statements", "transactions", "transactions_refresh", "transfer" | "assets", "auth", "balance", "balance_plus", "beacon", "cra_base_report", "cra_cashflow_insights", "cra_home_lending", "cra_income_insights", "cra_lend_score", "cra_monitoring", "cra_network_insights", "cra_partner_insights", "cra_plaid_credit_score", "cra_qualify", "credit_details", "employment", "identity", "identity_match", "identity_verification", "income", "income_verification", "investments", "investments_auth", "layer", "liabilities", "pay_by_bank", "payment_initiation", "processor_identity", "processor_payments", "profile", "protect_linked_bank", "protect_transactions", "recurring_transactions", "signal", "standing_orders", "statements", "transactions", "transactions_refresh", "transfer" |
Code that breaks
switch (response) {
// existing branches …
// no branch for "cra_home_lending"
default:
throw new Error("unexpected value");
}Based on Plaid’s published API specification. How severity is decided.