Driftwatch

Stripe / Stripe API /

Breakingdirection flip: their tools call this safe

version can now return "2.3.0", "2.3.1"

What changed

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

Affects version on payments_primitives_payment_records_resource_payment_method_card_details_resource_three_d_secure reachable from 143 operations.

New values: 2.3.0, 2.3.1.

can now return "2.3.0", "2.3.1"

Who is affected

Code that reads Stripe's payments_primitives_payment_records_resource_payment_method_card_details_resource_three_d_secure objects, used by 143 Stripe operations.

Before and after

WhereBeforeAfter
payments_primitives_payment_records_resource_payment_method_card_details_resource_three_d_secure.version"1.0.2", "2.1.0", "2.2.0""1.0.2", "2.1.0", "2.2.0", "2.3.0", "2.3.1"

Code that breaks

switch (response.version) {
  // existing branches …
  // no branch for "2.3.0"
  // no branch for "2.3.1"
  default:
    throw new Error("unexpected version");
}

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