You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+67Lines changed: 67 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -55,6 +55,73 @@ This release changes the pinned API version to `2026-03-25.preview`. It is built
55
55
* [#1745](https://github.com/stripe/stripe-python/pull/1745) Merge to beta
56
56
* [#1713](https://github.com/stripe/stripe-python/pull/1713) Delete API_VERSION file as it is no longer needed
57
57
58
+
## 15.0.0 - 2026-03-25
59
+
60
+
This release changes the pinned API version to `2026-03-25.dahlia` and contains breaking changes (prefixed with ⚠️ below). There's also a [detailed migration guide](https://github.com/stripe/stripe-python/wiki/Migration-guide-for-v15) to simplify your upgrade process.
61
+
62
+
Please review details for the breaking changes and alternatives in the [Stripe API changelog](https://docs.stripe.com/changelog/dahlia) before upgrading.
63
+
64
+
* ⚠️ **Breaking change:** [#1769](https://github.com/stripe/stripe-python/pull/1769) Add decimal_string coercion for v1 and v2 API fields
65
+
- All `decimal_string` fields changed type from `str` to `decimal.Decimal` in both request params and response objects. Code that reads or writes these fields as `str` will need to use `Decimal` instead. Affected fields across v1 and v2 APIs:
* [⚠️ **Breaking change:**#1767](https://github.com/stripe/stripe-python/pull/1767) Throw an error when using the wrong webhook parsing method
77
+
* ⚠️ **Breaking change:** [#1764](https://github.com/stripe/stripe-python/pull/1764) Drop support for Python 3.7 & 3.8
78
+
* ⚠️ **Breaking change:** [#1762](https://github.com/stripe/stripe-python/pull/1762) `StripeObject` no longer inherits from `dict`
79
+
80
+
- `StripeObject` no longer inherits from `dict`, so any `dict` methods will no longer exist, including `.get()`, `.update()`, and notably, `.items()`.
81
+
- or convenience, it's still possible to check presence with `'some_key' in some_obj` and check for equality between stripe objects. But most key/value iteration needs an extra step
82
+
- To access the underlying data as a `dict`, call `some_obj.to_dict()`, which recursively dumps all stripe-provided classes into native Python types. This is a read-only view; changes to the output of `to_dict()` won't affect the original object.
83
+
- Write operations can still be done with dot notation (`some_obj.val = 123`) or bracket notation (`some_obj["val"] = 123`). Do that instead of trying to interact with the underlying data store, as the implementation is considered private and may change without warning in the future.
84
+
85
+
### ⚠️ Breaking changes due to changes in the Stripe API
86
+
87
+
* Generated changes from [#1749](https://github.com/stripe/stripe-python/pull/1749), [#1771](https://github.com/stripe/stripe-python/pull/1771), [#1773](https://github.com/stripe/stripe-python/pull/1773), [#1775](https://github.com/stripe/stripe-python/pull/1775)
88
+
* Add support for `upi_payments` on `Account.Capability`, `AccountCreateParamsCapability`, and `AccountModifyParamsCapability`
89
+
* Add support for `upi` on `Charge.PaymentMethodDetail`, `Checkout.Session.PaymentMethodOption`, `ConfirmationToken.PaymentMethodPreview`, `ConfirmationTokenCreateParamsPaymentMethodDatum`, `Mandate.PaymentMethodDetail`, `PaymentAttemptRecord.PaymentMethodDetail`, `PaymentIntent.PaymentMethodOption`, `PaymentIntentConfirmParamsPaymentMethodDatum`, `PaymentIntentConfirmParamsPaymentMethodOption`, `PaymentIntentCreateParamsPaymentMethodDatum`, `PaymentIntentCreateParamsPaymentMethodOption`, `PaymentIntentModifyParamsPaymentMethodDatum`, `PaymentIntentModifyParamsPaymentMethodOption`, `PaymentMethodConfigurationCreateParams`, `PaymentMethodConfigurationModifyParams`, `PaymentMethodConfiguration`, `PaymentMethodCreateParams`, `PaymentMethod`, `PaymentRecord.PaymentMethodDetail`, `SetupAttempt.PaymentMethodDetail`, `SetupIntent.PaymentMethodOption`, `SetupIntentConfirmParamsPaymentMethodDatum`, `SetupIntentConfirmParamsPaymentMethodOption`, `SetupIntentCreateParamsPaymentMethodDatum`, `SetupIntentCreateParamsPaymentMethodOption`, `SetupIntentModifyParamsPaymentMethodDatum`, `SetupIntentModifyParamsPaymentMethodOption`, and `checkout.SessionCreateParamsPaymentMethodOption`
90
+
* Add support for new value `tempo` on enums `Charge.PaymentMethodDetail.Crypto.network`, `PaymentAttemptRecord.PaymentMethodDetail.Crypto.network`, and `PaymentRecord.PaymentMethodDetail.Crypto.network`
91
+
* Add support for `integration_identifier` on `Checkout.Session` and `checkout.SessionCreateParams`
92
+
* Add support for new value `upi` on enums `PaymentIntent.excluded_payment_method_types`, `PaymentIntentConfirmParams.excluded_payment_method_types`, `PaymentIntentCreateParams.excluded_payment_method_types`, `PaymentIntentModifyParams.excluded_payment_method_types`, `SetupIntent.excluded_payment_method_types`, `SetupIntentCreateParams.excluded_payment_method_types`, `SetupIntentModifyParams.excluded_payment_method_types`, and `checkout.SessionCreateParams.excluded_payment_method_types`
93
+
* Add support for `crypto` on `checkout.SessionCreateParamsPaymentMethodOption`
94
+
* Add support for new value `upi` on enum `checkout.SessionCreateParams.payment_method_types`
95
+
* Add support for `pending_invoice_item_interval` on `checkout.SessionCreateParamsSubscriptionDatum`
96
+
* Add support for new values `elements`, `embedded_page`, `form`, and `hosted_page` on enums `Checkout.Session.ui_mode` and `checkout.SessionCreateParams.ui_mode`
97
+
* Add support for new value `marine_carbon_removal` on enum `Climate.Supplier.removal_pathway`
98
+
* Add support for new value `upi` on enums `ConfirmationTokenCreateParamsPaymentMethodDatum.type`, `PaymentIntentConfirmParamsPaymentMethodDatum.type`, `PaymentIntentCreateParamsPaymentMethodDatum.type`, `PaymentIntentModifyParamsPaymentMethodDatum.type`, `SetupIntentConfirmParamsPaymentMethodDatum.type`, `SetupIntentCreateParamsPaymentMethodDatum.type`, and `SetupIntentModifyParamsPaymentMethodDatum.type`
99
+
* Add support for new value `upi` on enums `ConfirmationToken.PaymentMethodPreview.type` and `PaymentMethod.type`
100
+
* Add support for `metadata` on `CreditNoteCreateParamsLine`, `CreditNoteLineItem`, `CreditNotePreviewLinesParamsLine`, and `CreditNotePreviewParamsLine`
101
+
* Add support for new value `upi` on enums `CustomerListPaymentMethodsParams.type`, `PaymentMethodCreateParams.type`, and `PaymentMethodListParams.type`
102
+
* Add support for `quantity_decimal` on `InvoiceAddLinesParamsLine`, `InvoiceCreatePreviewParamsInvoiceItem`, `InvoiceItemCreateParams`, `InvoiceItemModifyParams`, `InvoiceItem`, `InvoiceLineItemModifyParams`, `InvoiceLineItem`, and `InvoiceUpdateLinesParamsLine`
103
+
* ⚠️ Add support for `level` on `issuing.AuthorizationCreateParamsRiskAssessmentCardTestingRisk` and `issuing.AuthorizationCreateParamsRiskAssessmentMerchantDisputeRisk`
104
+
* ⚠️ Remove support for `risk_level` on `issuing.AuthorizationCreateParamsRiskAssessmentCardTestingRisk` and `issuing.AuthorizationCreateParamsRiskAssessmentMerchantDisputeRisk`
105
+
* Add support for `lifecycle_controls` on `Issuing.Card` and `issuing.CardCreateParams`
106
+
* ⚠️ Change type of `Issuing.Token.NetworkDatum.Visa.card_reference_id` from `string` to `nullable(string)`
107
+
* ⚠️ Change type of `PaymentAttemptRecord.PaymentMethodDetail.Card.brand` and `PaymentRecord.PaymentMethodDetail.Card.brand` from `enum` to `nullable(enum)`
108
+
* ⚠️ Change type of `PaymentAttemptRecord.PaymentMethodDetail.Card.exp_month` and `PaymentRecord.PaymentMethodDetail.Card.exp_month` from `longInteger` to `nullable(longInteger)`
109
+
* ⚠️ Change type of `PaymentAttemptRecord.PaymentMethodDetail.Card.exp_year` and `PaymentRecord.PaymentMethodDetail.Card.exp_year` from `longInteger` to `nullable(longInteger)`
110
+
* ⚠️ Change type of `PaymentAttemptRecord.PaymentMethodDetail.Card.funding` and `PaymentRecord.PaymentMethodDetail.Card.funding` from `enum('credit'|'debit'|'prepaid'|'unknown')` to `nullable(enum('credit'|'debit'|'prepaid'|'unknown'))`
111
+
* ⚠️ Change type of `PaymentAttemptRecord.PaymentMethodDetail.Card.last4` and `PaymentRecord.PaymentMethodDetail.Card.last4` from `string` to `nullable(string)`
112
+
* ⚠️ Change type of `PaymentAttemptRecord.PaymentMethodDetail.Card.moto` and `PaymentRecord.PaymentMethodDetail.Card.moto` from `boolean` to `nullable(boolean)`
113
+
* Add support for `cryptogram`, `electronic_commerce_indicator`, `exemption_indicator_applied`, and `exemption_indicator` on `PaymentAttemptRecord.PaymentMethodDetail.Card.ThreeDSecure` and `PaymentRecord.PaymentMethodDetail.Card.ThreeDSecure`
114
+
* Add support for `upi_handle_redirect_or_display_qr_code` on `PaymentIntent.NextAction` and `SetupIntent.NextAction`
115
+
* Add support for new value `upi` on enums `PaymentLink.payment_method_types`, `PaymentLinkCreateParams.payment_method_types`, and `PaymentLinkModifyParams.payment_method_types`
116
+
* Add support for `recommended_action` and `signals` on `Radar.PaymentEvaluation`
117
+
* ⚠️ Remove support for `insights` on `Radar.PaymentEvaluation`
118
+
* Add support for new value `crypto_fingerprint` on enums `Radar.ValueList.item_type` and `radar.ValueListCreateParams.item_type`
119
+
* Add support for new value `canceled_by_retention_policy` on enum `Subscription.CancellationDetail.reason`
120
+
* Add support for new value `2026-03-25.dahlia` on enum `WebhookEndpointCreateParams.api_version`
121
+
* ⚠️ Change type of `V2.Core.EventDestination.events_from` and `v2.core.EventDestinationCreateParams.events_from` from `enum('other_accounts'|'self')` to `string`
122
+
* Add support for error code `service_period_coupon_with_metered_tiered_item_unsupported` on `Invoice.LastFinalizationError`, `PaymentIntent.LastPaymentError`, `SetupAttempt.SetupError`, `SetupIntent.LastSetupError`, and `StripeError`
123
+
* [#1756](https://github.com/stripe/stripe-python/pull/1756) Add runtime support for V2 int64 string-encoded fields
124
+
58
125
## 14.5.0b1 - 2026-02-25
59
126
This release changes the pinned API version to `2026-02-25.preview`.
0 commit comments