Driftwatch

Stripe / Stripe API /

Breakingdirection flip: their tools call this safe

type can now return "admissions_tax", "attendance_tax", "entertainment_tax", "gross_receipts_tax", "hospitality_tax", "luxury_tax", "resort_tax", "tourism_tax"

What changed

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

Affects type on tax_product_registrations_resource_country_options_united_states reachable from 4 operations.

New values: admissions_tax, attendance_tax, entertainment_tax, gross_receipts_tax, hospitality_tax, luxury_tax, resort_tax, tourism_tax.

can now return "admissions_tax", "attendance_tax", "entertainment_tax", "gross_receipts_tax", "hospitality_tax", "luxury_tax", "resort_tax", "tourism_tax"

Who is affected

Code that reads Stripe's tax_product_registrations_resource_country_options_united_states objects, used by 4 Stripe operations.

Before and after

WhereBeforeAfter
tax_product_registrations_resource_country_options_united_states.type"local_amusement_tax", "local_lease_tax", "mass_transit_parking_tax", "parking_tax", "state_communications_tax", "state_retail_delivery_fee", "state_sales_tax""admissions_tax", "attendance_tax", "entertainment_tax", "gross_receipts_tax", "hospitality_tax", "local_amusement_tax", "local_lease_tax", "luxury_tax", "mass_transit_parking_tax", "parking_tax", "resort_tax", "state_communications_tax", "state_retail_delivery_fee", "state_sales_tax", "tourism_tax"

Code that breaks

switch (response.type) {
  // existing branches …
  // no branch for "admissions_tax"
  // no branch for "attendance_tax"
  // no branch for "entertainment_tax"
  // no branch for "gross_receipts_tax"
  // no branch for "hospitality_tax"
  // no branch for "luxury_tax"
  // no branch for "resort_tax"
  // no branch for "tourism_tax"
  default:
    throw new Error("unexpected type");
}

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