Upgrading stripe from 22.x to 23.x
Comparison of the public API of stripe 22.6.2 and 23.0.0, computed automatically from their TypeScript types. A changed signature is a candidate for a breaking change, not a certainty.
Summary
| Removed import paths | 0 |
|---|---|
| Removed exports | 0 |
| Changed signatures | 0 |
| Removed class or interface members | 2 |
| Changed class or interface members | 2 |
| Newly deprecated | 0 |
| Requirement changes (engines, peer dependencies) | 2 |
| New exports | 0 |
Removed exports
None detected.
Changed signatures
None detected.
Removed class or interface members
| member | import | Before |
|---|---|---|
Stripe.constructEventWithoutVerification | stripe | (payload: string): Event |
default.constructEventWithoutVerification | stripe | (payload: string): Event |
Changed class or interface members
| member | Before | After |
|---|---|---|
Stripe.static API_VERSION | "2026-08-26.dahlia" | "2026-09-30.endive" |
default.static API_VERSION | "2026-08-26.dahlia" | "2026-09-30.endive" |
Newly deprecated
None detected.
Requirement changes (engines, peer dependencies)
| Before | After | |
|---|---|---|
engines.node | >=18 | >=20 |
peerDependencies.@types/node | >=18 | >=20 |
Changelog between these versions
Text published by the package authors, shown as-is.
23.0.0
This release changes the pinned API version to `2026-09-30.endive`.
* [#2844](https://github.com/stripe/stripe-node/pull/2844) Support `EventNotification`s with singleton related objects
* [#2853](https://github.com/stripe/stripe-node/pull/2853) Allow suppressing Stripe notices
Set the `STRIPE_SUPPRESS_NOTICES` environment variable to `true` to suppress Stripe notices in test and sandbox environments when not running under a detected AI agent. Notices remain enabled by default and continue to be shown to AI agents.
* [#2850](https://github.com/stripe/stripe-node/pull/2850) Fix account scoping for `EventNotificationHandler` callback clients
- Fix callback clients to use the event's Stripe context and preserve client telemetry.
- Fix 400 errors when using an `EventNotificationHandler` with a `StripeClient` configured with `stripeAccount`.
* ⚠️ [#2856](https://github.com/stripe/stripe-node/pull/2856) Remove V1-only fields from V2 list response types
Remove the V1-only `object`, `has_more`, and `url` fields from `Stripe.V2List<T>`. These fields were never populated and were added only to maintain type compatibility when correcting the V2 list response type in a minor release.
* ⚠️ [#2862](https://github.com/stripe/stripe-node/pull/2862) Remove Stripe.constructEventWithoutVerification
Removed the function `Stripe.constructEventWithoutVerification()` that was mistakenly added in version 22.5.0 of this package. The same functionality can be achieved via stripe.webhooks.constructEventWithoutVerification(payload);
* ⚠️ Generate operation-specific address parameters for V2 requests
- Change V2 request address properties from shared V1 address parameter types to operation-specific V2 interfaces.
* ⚠️ [#2865](https://github.com/stripe/stripe-node/pull/2865) Remove `ErrorType` export
Remove the ErrorType interface from the top level client. Users can use .errors instead since it works as both a type and a value
* ⚠️ [#2868](https://github.com/stripe/stripe-node/pull/2868) Classify incomplete response bodies as connection errors
- Responses that stall or are severed before the body is complete now throw `StripeConnectionError` instead of `StripeAPIError`.
* Fix `NodeHttpClient` compatibility with HTTP request interceptors
- Fix `NodeHttpClient` requests hanging when using Nock 14 or MSW interceptors ([#2211](https://github.com/stripe/stripe-node/issues/2211)).
* ⚠️ Drop support for Node 18
Drop support for Node.js 18. Node.js 20 is now the minimum supported version.
* ⚠️ [#2876](https://github.com/stripe/stripe-node/pull/2876) Update verifyHeader and verifyHeaderAsync methods to use DEFAULT_TOLERANCE
`stripe.webhooks.signature.verifyHeader()` and `verifyHeaderAsync()` previously skipped timestamp tolerance verification when the `tolerance` argument was omitted. They now default to `Webhook.DEFAULT_TOLERANCE`
Passing 0 to stripe.webhooks.constructEvent now properly skips timestamp tolerance verification. Previously, passing 0 wouGive your AI agent these facts
Vigia is a free MCP server: your coding agent checks versions, breaking changes and vulnerabilities before it writes code. No signup, no API key.
claude mcp add --transport http vigia https://vigia.coredls.cloud/mcp
Add to CursorAdd to VS Code★ Star on GitHub
Any other MCP client
{ "mcpServers": { "vigia": { "url": "https://vigia.coredls.cloud/mcp" } } }Agent skill (SKILL.md): tells the agent when to use Vigia · GitHub Action for pull requests
Frequently asked questions
What are the breaking changes when upgrading stripe from 22 to 23?
Between stripe 22.6.2 and 23.0.0, Vigia found 0 removed exports, 0 changed signatures and 4 removed or changed class or interface members.
What became deprecated in stripe 23?
0 exports or members are newly marked as deprecated in stripe 23.0.0.
For agents
GET https://vigia.coredls.cloud/v1/packages/npm/stripe/upgrade?from=22.6.2&to=23.0.0