What changed
Producer-side tools call this additive. It breaks exhaustive switches, strict parsers and generated client enums.
Affects type on subscriptions_resource_paused_status_details_subscription reachable from 467 operations.
New values: final_payment_failure, first_payment_failure.
can now return "final_payment_failure", "first_payment_failure"
Who is affected
Code that reads Stripe's subscriptions_resource_paused_status_details_subscription objects, used by 467 Stripe operations.
Before and after
| Where | Before | After |
|---|---|---|
| subscriptions_resource_paused_status_details_subscription.type | "pause_requested", "system", "trial_end_without_payment_method" | "final_payment_failure", "first_payment_failure", "pause_requested", "system", "trial_end_without_payment_method" |
Code that breaks
switch (response.type) {
// existing branches …
// no branch for "final_payment_failure"
// no branch for "first_payment_failure"
default:
throw new Error("unexpected type");
}Based on Stripe’s published API specification. How severity is decided.