The SDK shipped a major TypeScript overhaul in v22.0.0, moving from partially manual types to fully inline TypeScript implementations and removing the ambient module that prevented import aliasing. This prompted multiple breaking changes to type exports—Stripe.StripeContext became Stripe.StripeContextType, and Stripe.errors.StripeError moved to a typeof pattern—along with restructured CommonJS entry points. Since then, the team patched compatibility issues across CommonJS and Bun module systems, added an async variant of parseEventNotification, introduced an emitEventBodies config option for request/response inspection in events, and expanded webhook parameter flexibility by making timestamp fields optional. The v22.1 alpha and beta tracks concurrently advanced preview API support with new V2 Core resources like Workflow and WorkflowRun, billing enhancements including latest_version fields, and payment infrastructure changes like token status tracking.
The SDK pinned to a new API version and shipped a major version with breaking changes around decimal type handling. v21.0.0 changed all decimal_string fields from string to a vendored Stripe.Decimal type across request and response objects, requiring code updates for any code reading or writing these fields. A subsequent export fix for Stripe.Decimal in both CommonJS and ESM shipped across stable, beta, and alpha channels on the same day.
Pinned API version advanced through preview and beta stages to stable release 2026-02-25.clover. The library added support for new resources including AccountSignals, Reserve.Hold, Reserve.Plan, and Reserve.Release, alongside expanded account settings for smart disputes and managed payments. Breaking changes in v20.4.0-alpha.4 removed payment_behavior from SubscriptionResumeParams and replaced outstanding_usage and unused_time fields with outstanding_usage_through and unused_time_from on SubscriptionPauseParams.bill_for.