|
1 | 1 | # Changelog |
| 2 | +## 19.0.0 - 2025-09-30 |
| 3 | +This release changes the pinned API version to `2025-09-30.basil` and contains breaking changes (prefixed with ⚠️ below) |
| 4 | + |
| 5 | +* [#2427](https://github.com/stripe/stripe-node/pull/2427) Move `V2.Event` API resources to `V2.Core.Events` |
| 6 | + - ⚠️ Move the below event related interfaces and types from `Stripe.V2` to `Stripe.V2.Core`. This enables us to correctly match the API path to the namespace |
| 7 | + - `Stripe.V2.EventDestination` -> `Stripe.V2.Core.EventDestination` |
| 8 | + - `Stripe.V2.Event` -> `Stripe.V2.Core.Event` |
| 9 | + - `Stripe.V2.EventBase` -> `Stripe.V2.Core.EventBase` |
| 10 | + - `Stripe.V2.Events.RelatedObject` -> `Stripe.V2.Core.Events.RelatedObject` |
| 11 | +* [#2370](https://github.com/stripe/stripe-node/pull/2370) Add strongly typed EventNotifications |
| 12 | + We've overhauled how V2 Events are handled in the SDK! This approach should provide a lot more information at authoring and compile time, leading to more robust integrations. As part of this process, there are a number of changes to be aware of. |
| 13 | + - ⚠️ Rename function `StripeClient.parseThinEvent` to `StripeClient.parseEventNotification` and remove the `Stripe.ThinEvent` interface. |
| 14 | + - This function now returns a `Stripe.V2.EventNotification` which is a union of all possible event notifications instead of `Stripe.ThinEvent`. When applicable, these event notifications will have the `relatedObject` field and a function `fetchRelatedObject()`. They also have a `fetchEvent()` method to retrieve their corresponding event. |
| 15 | + - If this union type does not cover a new event notification that you parsed, you can cast it to `UnknownEventNotification` to then access the `relatedObject` field and the function `fetchRelatedObject()` |
| 16 | +* [#2432](https://github.com/stripe/stripe-node/pull/2432) Drop support for Node < 16 & clarify policy |
| 17 | + - Publish our new [language version support policy](https://docs.stripe.com/sdks/versioning?server=node#stripe-sdk-language-version-support-policy) and add a link to the README. |
| 18 | + - ⚠️ Drop support for Node versions < 16 |
| 19 | + - Node 16 support is deprecated and will be removed in the next scheduled major release (March 2026) |
| 20 | +* [#2426](https://github.com/stripe/stripe-node/pull/2426) Add `StripeContext` object |
| 21 | + - Add the `StripeContext` class. It can be used anywhere the [context](https://docs.stripe.com/context) option is supplied and gets serialized to a string when making requests. |
| 22 | + - ⚠️ Change `EventNotification` (formerly known as `ThinEvent`)'s `context` property from `string` to `StripeContext` |
| 23 | + - ⚠️ We no longer remove the stripe-context header from /v1 requests and the stripe-account header from /v2 requests. The server may reject a request with both of these headers, so if you're sending both, remove any reference to stripeAccount (since the headers are identical, but context is preferred) |
| 24 | +* [#2398](https://github.com/stripe/stripe-node/pull/2398) ⚠️ Build SDK w/ V2 OpenAPI spec |
| 25 | + - ⚠️ The delete methods for v2 APIs (the ones in the `StripeClient.v2` namespace) now return a `V2DeletedObject` which has the id of the object that has been deleted and a string representing the type of the object that has been deleted. |
| 26 | + - ⚠️ Change the types of nullable properties in objects returned by v2 APIs (the ones in the `StripeClient.v2` namespace) from a null union to optional (e.g. `prop: string | null` -> `prop?: string`). |
| 27 | +* [#2420](https://github.com/stripe/stripe-node/pull/2420) Fixed file uploading in Bun runtimes |
| 28 | + * Fixed issue ([#2416](https://github.com/stripe/stripe-node/issues/2416)) with file uploads in runtimes using `FetchHttpClient` (e.g. Bun). This bug affected Node SDK versions between 18.1.0 to 18.5.0. |
| 29 | +* [#2405](https://github.com/stripe/stripe-node/pull/2405) support more npm tags |
| 30 | + - ⚠️ Starting with this release, we'll no longer be tagging releases with `beta` npm tag. Instead, we'll use `latest`, `public-preview`, or `private-preview` to more closely align with Stripe's [release phases](https://docs.stripe.com/release-phases) |
| 31 | + |
| 32 | +* [#2402](https://github.com/stripe/stripe-node/pull/2402), [#2413](https://github.com/stripe/stripe-node/pull/2413), [#2430](https://github.com/stripe/stripe-node/pull/2430), [#2428](https://github.com/stripe/stripe-node/pull/2428) Update generated code based on incoming API changes in the `2025-09-30.basil` API version. |
| 33 | + * ⚠️ Remove support for `balance_report` and `payout_reconciliation_report` on `AccountSession.components` and `AccountSessionCreateParams.components` |
| 34 | + * ⚠️ Remove support for values `saturday` and `sunday` from enums `Account.settings.payouts.schedule.weekly_payout_days`, `AccountCreateParams.settings.payouts.schedule.weekly_payout_days`, and `AccountUpdateParams.settings.payouts.schedule.weekly_payout_days` |
| 35 | + * Add support for new values `external_request` and `unsupported_business_type` on enums `Account.future_requirements.errors[].code`, `Account.requirements.errors[].code`, `BankAccount.future_requirements.errors[].code`, `BankAccount.requirements.errors[].code`, `Capability.future_requirements.errors[].code`, `Capability.requirements.errors[].code`, `Person.future_requirements.errors[].code`, and `Person.requirements.errors[].code` |
| 36 | + * Remove support for `link` and `pay_by_bank` on `PaymentMethodUpdateParams` |
| 37 | + * ⚠️ Remove support for `coupon` on `Discount`, `PromotionCodeCreateParams`, and `PromotionCode`. Use `Discount.source.coupon`, `PromotionCodeCreateParams.promotion.coupon` and `PromotionCode.coupon` instead. |
| 38 | + * Change `Invoice.id` to be required. |
| 39 | + * Add support for new value `prevented` on enum `Dispute.status` |
| 40 | + * Add support for new resource `BalanceSettings` |
| 41 | + * Add support for `retrieve` and `update` methods on resource `BalanceSettings` |
| 42 | + * Add support for `mb_way_payments` on `Account.capabilities`, `AccountCreateParams.capabilities`, and `AccountUpdateParams.capabilities` |
| 43 | + * Add support for `source` on `Discount` |
| 44 | + * Add support for `trial_update_behavior` on `BillingPortal.Configuration.features.subscription_update`, `BillingPortal.ConfigurationCreateParams.features.subscription_update`, and `BillingPortal.ConfigurationUpdateParams.features.subscription_update` |
| 45 | + * Add support for `mb_way` on `Charge.payment_method_details`, `ConfirmationToken.payment_method_preview`, `ConfirmationTokenCreateParams.testHelpers.payment_method_data`, `PaymentIntent.payment_method_options`, `PaymentIntentConfirmParams.payment_method_data`, `PaymentIntentConfirmParams.payment_method_options`, `PaymentIntentCreateParams.payment_method_data`, `PaymentIntentCreateParams.payment_method_options`, `PaymentIntentUpdateParams.payment_method_data`, `PaymentIntentUpdateParams.payment_method_options`, `PaymentMethodCreateParams`, `PaymentMethod`, `SetupIntentConfirmParams.payment_method_data`, `SetupIntentCreateParams.payment_method_data`, and `SetupIntentUpdateParams.payment_method_data` |
| 46 | + * Add support for `branding_settings` and `name_collection` on `Checkout.SessionCreateParams` and `Checkout.Session` |
| 47 | + * Add support for `excluded_payment_method_types` on `Checkout.SessionCreateParams`, `Checkout.Session`, `PaymentIntentConfirmParams`, and `PaymentIntentUpdateParams` |
| 48 | + * Add support for `unit_label` on `Checkout.SessionCreateParams.line_items[].price_data.product_data`, `InvoiceAddLinesParams.lines[].price_data.product_data`, `InvoiceLineItemUpdateParams.price_data.product_data`, `InvoiceUpdateLinesParams.lines[].price_data.product_data`, and `PaymentLinkCreateParams.line_items[].price_data.product_data` |
| 49 | + * Add support for `alma`, `billie`, and `satispay` on `Checkout.Session.payment_method_options` and `Checkout.SessionCreateParams.payment_method_options` |
| 50 | + * Add support for `demo_pay` on `Checkout.SessionCreateParams.payment_method_options` |
| 51 | + * Add support for `capture_method` on `Checkout.Session.payment_method_options.affirm`, `Checkout.Session.payment_method_options.afterpay_clearpay`, `Checkout.Session.payment_method_options.amazon_pay`, `Checkout.Session.payment_method_options.card`, `Checkout.Session.payment_method_options.cashapp`, `Checkout.Session.payment_method_options.klarna`, `Checkout.Session.payment_method_options.link`, `Checkout.Session.payment_method_options.mobilepay`, `Checkout.Session.payment_method_options.revolut_pay`, `Checkout.SessionCreateParams.payment_method_options.affirm`, `Checkout.SessionCreateParams.payment_method_options.afterpay_clearpay`, `Checkout.SessionCreateParams.payment_method_options.amazon_pay`, `Checkout.SessionCreateParams.payment_method_options.card`, `Checkout.SessionCreateParams.payment_method_options.cashapp`, `Checkout.SessionCreateParams.payment_method_options.klarna`, `Checkout.SessionCreateParams.payment_method_options.link`, `Checkout.SessionCreateParams.payment_method_options.mobilepay`, and `Checkout.SessionCreateParams.payment_method_options.revolut_pay` |
| 52 | + * Add support for `flexible` on `Checkout.SessionCreateParams.subscription_data.billing_mode`, `InvoiceCreatePreviewParams.schedule_details.billing_mode`, `InvoiceCreatePreviewParams.subscription_details.billing_mode`, `Quote.subscription_data.billing_mode`, `QuoteCreateParams.subscription_data.billing_mode`, `Subscription.billing_mode`, `SubscriptionCreateParams.billing_mode`, `SubscriptionMigrateParams.billing_mode`, `SubscriptionSchedule.billing_mode`, and `SubscriptionScheduleCreateParams.billing_mode` |
| 53 | + * Add support for `business_name` and `individual_name` on `Checkout.Session.collected_information`, `Checkout.Session.customer_details`, `CustomerCreateParams`, `CustomerUpdateParams`, and `Customer` |
| 54 | + * Add support for new values `mb_way` on enums `ConfirmationTokenCreateParams.testHelpers.payment_method_data.type`, `PaymentIntentConfirmParams.payment_method_data.type`, `PaymentIntentCreateParams.payment_method_data.type`, `PaymentIntentUpdateParams.payment_method_data.type`, `SetupIntentConfirmParams.payment_method_data.type`, `SetupIntentCreateParams.payment_method_data.type`, and `SetupIntentUpdateParams.payment_method_data.type` |
| 55 | + * Add support for new values `mb_way` on enums `ConfirmationToken.payment_method_preview.type` and `PaymentMethod.type` |
| 56 | + * Add support for new values `mb_way` on enums `CustomerListPaymentMethodsParams.type`, `PaymentMethodCreateParams.type`, and `PaymentMethodListParams.type` |
| 57 | + * Add support for `chargeback_loss_reason_code` on `Dispute.payment_method_details.klarna` |
| 58 | + * Add support for `net_amount` and `proration_details` on `InvoiceItem` |
| 59 | + * Remove support for `iterations` on `InvoiceCreatePreviewParams.schedule_details.phases[]`, `SubscriptionScheduleCreateParams.phases[]`, and `SubscriptionScheduleUpdateParams.phases[]` |
| 60 | + * Add support for `fraud_disputability_likelihood` and `risk_assessment` on `Issuing.AuthorizationCreateParams.testHelpers` |
| 61 | + * Add support for `second_line` on `Issuing.Card` |
| 62 | + * Add support for new values `mb_way` on enums `PaymentIntent.excluded_payment_method_types` and `PaymentIntentCreateParams.excluded_payment_method_types` |
| 63 | + * Add support for `fr_meal_voucher_conecs` on `PaymentMethodConfigurationCreateParams` and `PaymentMethodConfigurationUpdateParams` |
| 64 | + * Add support for `promotion` on `PromotionCodeCreateParams` and `PromotionCode` |
| 65 | + * Add support for new values `acknowledged` and `payment_never_settled` on enum `Review.closed_reason` |
| 66 | + * Add support for `provider` on `Tax.Settings.defaults` |
| 67 | + * Add support for `bbpos_wisepad3` on `Terminal.ConfigurationCreateParams`, `Terminal.ConfigurationUpdateParams`, and `Terminal.Configuration` |
| 68 | + * Add support for `address_kana`, `address_kanji`, `display_name_kana`, `display_name_kanji`, and `phone` on `Terminal.LocationCreateParams`, `Terminal.LocationUpdateParams`, and `Terminal.Location` |
| 69 | + * Change `Terminal.LocationCreateParams.address` to be optional |
| 70 | + * Change `Terminal.LocationCreateParams.display_name` to be optional |
| 71 | + * Add support for new value `2025-09-30.clover` on enum `WebhookEndpointCreateParams.api_version` |
| 72 | + * Add support for error codes `financial_connections_account_pending_account_numbers` and `financial_connections_account_unavailable_account_numbers` on `Invoice.last_finalization_error`, `PaymentIntent.last_payment_error`, `SetupAttempt.setup_error`, `SetupIntent.last_setup_error`, and `StripeError` |
| 73 | + |
2 | 74 | ## 18.5.0 - 2025-08-27 |
| 75 | +This release changes the pinned API version to `2025-08-27.basil`. |
| 76 | + |
3 | 77 | * [#2392](https://github.com/stripe/stripe-node/pull/2392) Add section on private preview SDKs in readme |
4 | | -* [#2384](https://github.com/stripe/stripe-node/pull/2384) Update generated code. This release changes the pinned API version to `2025-08-27.basil`. |
| 78 | +* [#2384](https://github.com/stripe/stripe-node/pull/2384) Update generated code. |
5 | 79 | * Add support for `balance_report`, `payout_details`, and `payout_reconciliation_report` on `AccountSession.components` and `AccountSessionCreateParams.components` |
6 | 80 | * Add support for `name` on `BillingPortal.ConfigurationCreateParams`, `BillingPortal.ConfigurationUpdateParams`, and `BillingPortal.Configuration` |
7 | 81 | * Add support for `installments` on `Charge.payment_method_details.alma` |
|
0 commit comments