What changed
Producer-side tools call this additive. It breaks exhaustive switches, strict parsers and generated client enums.
Affects device_type on deleted_terminal.reader reachable from 3 operations.
New values: simulated_stripe_s710, stripe_s710.
can now return "simulated_stripe_s710", "stripe_s710"
Who is affected
Code that reads Stripe's deleted_terminal.reader objects, used by 15 Stripe operations.
Before and after
| Where | Before | After |
|---|---|---|
| deleted_terminal.reader.device_type | "bbpos_chipper2x", "bbpos_wisepad3", "bbpos_wisepos_e", "mobile_phone_reader", "simulated_stripe_s700", "simulated_wisepos_e", "stripe_m2", "stripe_s700", "verifone_P400" | "bbpos_chipper2x", "bbpos_wisepad3", "bbpos_wisepos_e", "mobile_phone_reader", "simulated_stripe_s700", "simulated_stripe_s710", "simulated_wisepos_e", "stripe_m2", "stripe_s700", "stripe_s710", "verifone_P400" |
| terminal.reader.device_type | "bbpos_chipper2x", "bbpos_wisepad3", "bbpos_wisepos_e", "mobile_phone_reader", "simulated_stripe_s700", "simulated_wisepos_e", "stripe_m2", "stripe_s700", "verifone_P400" | "bbpos_chipper2x", "bbpos_wisepad3", "bbpos_wisepos_e", "mobile_phone_reader", "simulated_stripe_s700", "simulated_stripe_s710", "simulated_wisepos_e", "stripe_m2", "stripe_s700", "stripe_s710", "verifone_P400" |
Code that breaks
switch (response.device_type) {
// existing branches …
// no branch for "simulated_stripe_s710"
// no branch for "stripe_s710"
default:
throw new Error("unexpected device_type");
}Based on Stripe’s published API specification. How severity is decided.