What changed
Producer-side tools call this additive. It breaks exhaustive switches, strict parsers and generated client enums.
Affects purpose on file reachable from 547 operations.
New values: terminal_wifi_certificate, terminal_wifi_private_key.
can now return "terminal_wifi_certificate", "terminal_wifi_private_key"
Who is affected
Code that reads Stripe's file objects, used by 547 Stripe operations.
Before and after
| Where | Before | After |
|---|---|---|
| file.purpose | "account_requirement", "additional_verification", "business_icon", "business_logo", "customer_signature", "dispute_evidence", "document_provider_identity_document", "finance_report_run", "financial_account_statement", "identity_document", "identity_document_downloadable", "issuing_regulatory_reporting", "pci_document", "platform_terms_of_service", "selfie", "sigma_scheduled_query", "tax_document_user_upload", "terminal_android_apk", "terminal_reader_splashscreen" | "account_requirement", "additional_verification", "business_icon", "business_logo", "customer_signature", "dispute_evidence", "document_provider_identity_document", "finance_report_run", "financial_account_statement", "identity_document", "identity_document_downloadable", "issuing_regulatory_reporting", "pci_document", "platform_terms_of_service", "selfie", "sigma_scheduled_query", "tax_document_user_upload", "terminal_android_apk", "terminal_reader_splashscreen", "terminal_wifi_certificate", "terminal_wifi_private_key" |
Code that breaks
switch (response.purpose) {
// existing branches …
// no branch for "terminal_wifi_certificate"
// no branch for "terminal_wifi_private_key"
default:
throw new Error("unexpected purpose");
}Based on Stripe’s published API specification. How severity is decided.