2026-10-12
- ⚠️ Breaking: updated
@stigg/js-client-sdkto 6.0.0.useMeteredEntitlementwithoutrequestedUsagenow denies a customer who has reached the limit. See the JavaScript SDK changelog.
2026-10-11
- Updated
@stigg/js-client-sdkto 5.4.0, which addsbrandandwalletTypeto the customer’spaymentMethodDetails. See the JavaScript SDK changelog.
2026-10-11
- Updated
@stigg/js-client-sdkto 5.3.0. No change to widgets or hooks.
2026-10-08
-
Added: optional
decimalPlacesprop onCustomerPortalandCustomerPortalProvider. It sets the maximum number of decimal places shown for usage and limit values in feature usage, credit usage, usage-based charges and promotions. When unset ornull, values keep the previous locale formatting.
2026-10-05
- Fixed: after a declined payment, the Checkout widget now lets the customer retry with a different card. The payment step reloads with a fresh Stripe setup intent or Airwallex consent and the customer’s current default card, while the selected plan, add-ons, billing period and step stay as they were.
2026-09-30
- Fixed: the Checkout widget no longer reports success for an Airwallex payment that failed or is still processing. As with Stripe, a
FAILEDorPROCESSINGpayment now fails the checkout and shows the invoice’s error message.
2026-09-29
- Fixed: the Airwallex Checkout no longer times out while the customer completes a 3D Secure challenge. The challenge now opens in a modal, including on browsers without
:has()support (Safari before 15.4, Firefox before 121), and the Subscribe button waits until the payment form is ready. - Fixed: a declined card or cancelled 3D Secure challenge no longer shows the same error message twice in the Airwallex Checkout.
2026-09-28
- Updated
@stigg/js-client-sdkto 5.2.1. See the JavaScript SDK changelog.
2026-09-23
- Updated
@stigg/js-client-sdkto 5.2.0, which addsrequestedUsageto credit entitlement options. See the JavaScript SDK changelog.
2026-09-17
- Updated
@stigg/js-client-sdkto 5.1.0. No change to widgets or hooks.
2026-09-12
- Fixed: the Checkout summary no longer shows a
$0.00recurring charge when the change has no recurring charge, for example when the subscription ends at the current period end. The recurring row and next-billing caption now appear only when there is a recurring total.
2026-09-11
- Fixed: the Customer Portal no longer shows the text
undefinedfor a feature with no usage value. It shows0.
2026-09-06
- Fixed: on paid plans, the Customer Portal no longer shows
0usage (or “Usage unavailable”) for metered features that are entitled but have no price. Their real current usage is shown.
2026-09-02
Credit widgets distinguish “no data” from “not entitled”Requires
@stigg/js-client-sdk 5.0.0, and inherits its changes to fallback and miss behavior — see the JavaScript SDK changelog.- ⚠️ Credit
isFallbackis nowfalseon a plain miss, where it was alwaystrue. This is what the widget fixes below rely on — if you read credit entitlements directly instead of through the widgets, see the upgrade note in the JavaScript SDK changelog. - ⚠️ Enum
requestedValuesis[]rather thanundefinedwhen the caller passes none — also on reads served from cache.if (entitlement.requestedValues)now takes the other branch; test for.lengthinstead. - Fixed:
CreditBalance,CreditUtilizationand their value components (CreditBalanceValue,CreditUtilizationValue) no longer render a fabricated0balance or0 / 0utilization for a currency the customer has no entitlement to, and no longer offer an “Add credits” action for one. - Fixed:
AutomaticRechargeConfigreports that the balance could not be loaded instead of showing an editable recharge form for an unentitled currency. - A customer who has spent their balance still sees the real numbers and the top-up offer — this behavior is unchanged.
- Credit
accessDeniedReasonon a fallback isEntitlementNotFound, wasUnknown. - Changed: with no
StiggProvidermounted,useMeteredEntitlementanduseEnumEntitlementnow echo the caller’srequestedUsage/requestedValuesinstead of the fallback constant’s values. - Enum
requestedValueson an unavailable read now echoes the caller’s values instead of being absent. - A wrong-kind read whose fallback grants access no longer carries
FeatureTypeMismatch. - A fallback that grants access no longer carries an
accessDeniedReason, andfeatureon an untyped fallback is now present, carrying the requested ID and the kind answered. - A configured fallback read through the bulk APIs returns a real entitlement of its own kind.
- A fallback’s fields belonging to another entitlement kind are dropped rather than echoed, and a cached entitlement of a kind you did not ask for is no longer answered as the asked-for kind.
isFallback, see the upgrade note in the JavaScript SDK changelog.2026-08-26
- Fixed: add-ons hidden from Checkout, paid or free, no longer appear in the Checkout widget’s list of purchasable add-ons.
2026-08-05
- Added:
eventCounton credit usage series and points, with the number of usage events behind the credit consumption.
2026-07-23
- Changed: the Airwallex payment step in the Checkout widget now uses Airwallex’s drop-in element, collecting the card and billing address.
2026-07-14
- Added: Checkout widget support for Stripe billing brokered by Received (
RECEIVEDbilling vendor).
2026-07-12
- Fixed:
CreditBalance,CreditUtilizationandAutomaticRechargeConfignow read credit entitlements for theresourceIdset onStiggProvider.
2026-06-24
- Changed: the Customer Portal’s next estimated bill and per-feature usage now come from the subscription’s next invoice preview, falling back to the subscription total and the entitlement’s current usage when no preview is available.
2026-06-25
Credit wallet soft limit
- Added:
hasSoftLimitfield onCreditEntitlement(via@stigg/js-client-sdk4.6.0). When a credit entitlement is configured as a soft limit,useEntitlement()returnshasAccess: trueandhasSoftLimit: trueeven after the credit balance reaches zero. Hard limit (the default) continues to returnhasAccess: falsewhen the balance is exhausted.
2026-06-01
- Security: patched vulnerable transitive dependencies.
2026-05-18
The Checkout widget now reliably supports changing existing add-on quantities on narrow or embedded screens. The quantity input is fixed-width so it stays fully visible at any viewport size, Undo is stacked beneath it for a cleaner layout, and the controls stay anchored so validation text never pushes the Undo or delete buttons out of place.
2026-04-06
Upgraded MUI dependency from v5 to v7. This is a major version bump — if your application pins MUI, update it to v7 to avoid peer dependency conflicts.
2026-04-01
Bumped
@stigg/js-client-sdk to 4.0.0. The following subset of js-client-sdk breaking changes affect react-sdk consumers:2026-03-31
- Fixed: the credit grants widget no longer lists overdraft grants.
2026-03-30
- Fixed: the credit usage chart renders dates in UTC.
2026-03-25
- The SDK is now published from the
stiggio/stigg-sdkmonorepo to the public npm registry. No API change.
2026-03-24
Negative credit balances
- Added: credit widgets handle overdraft.
CreditBalanceshows a negative balance in red,CreditUtilizationshows a red progress bar and a negative balance label, andCreditGrantsshows theOVERDRAFTgrant type and theDEPLETEDandVOIDEDstatuses. - Fixed: the
EXPIREDgrant status is shown in gray, and theRECURRINGgrant type now has a label.
2026-03-22
- Added: the Paywall shows a credit entitlement’s dependency feature units, for example “100 credits / seat”.
2026-03-19
- Added:
resetBillingPeriodprop on the Checkout widget, to reset the billing cycle anchor when the subscription changes. - Changed: for plans with recurring credit charges, Checkout and its preview default to no proration and a billing cycle anchor of now, for subscription changes only.
2026-03-18
- Changed: credit charges in the Paywall are shown as “per month” or “per year”, using the price’s billing period for credit charges and the entitlement’s cadence for package credit entitlements.
2026-03-18
- Billing address collected via the Checkout widget is now stored on the Stripe Customer object (previously it was stored only as part of the payment method details).
- Billing address entered in the Checkout widget is now automatically reflected in generated invoices.
2026-03-17
Breaking changes:
- Removed
useCreditBalancehook — useuseCreditEntitlementinstead - Removed
showSymbolprop fromCreditBalanceandCreditUtilizationwidgets (no replacement) onAddCreditscallback now receivesCreditEntitlementinstead ofCreditBalanceData
- Added
useCreditEntitlementhook — synchronous, reads from the SDK’s local cache with no extra API call. ReturnscurrentBalance,totalConsumed,totalGranted, andcurrency.
2026-03-08
- Fixed: credit-based prices are no longer listed as charges in the Checkout widget.
2026-03-04
- Fixed: the Checkout success animation loads eagerly again.
2026-03-03
- Fixed: decimal formatting of credit amounts.
2026-03-02
- Improved: reduced the package’s bundle size in consuming apps by 37%.
2026-03-01
- Changed: credit usage cards in the Customer Portal show the credit display name with its units, and the reset period when available.
2026-02-26
- Added: credit entitlements in the Customer Portal.
2026-02-18
- Added: credit widgets show when the credits next reset.
2026-02-18
- Improved: SDK dependencies are now external, reducing the bundle size of consuming apps.
2026-02-18
- Credit balance widget
- Added: “Add credits” CTA button with
onAddCreditscallback for prompting customers to top up credits - Added: New CSS classes:
stigg-credit-balance-add-credits-buttonstigg-credit-balance-add-credits-icon
- Added: “Add credits” CTA button with
- Credit utilization widget
- Added: “Add credits” CTA button with
onAddCreditscallback for prompting customers to top up credits - Added: New CSS classes:
stigg-credit-utilization-add-credits-buttonstigg-credit-utilization-add-credits-icon
- Added: “Add credits” CTA button with
2026-02-17
- Added: credit entitlements in the Paywall.
2026-02-26
- Enhanced
getCreditEntitlementto return currency information.
2026-01-12
- Fixed: add-ons hidden from widgets that are already on the customer’s subscription are handled correctly in Checkout.
2026-01-05
- Added: recurring credit grants in the credit widgets.
2025-12-31
- Added support for overriding the default entitlements title via
entitlementsTitle.
2025-12-28
- Fixed: add-ons already on the current subscription are shown in Checkout.
2025-12-24
- Added Tax ID collection support to Stripe checkout when enabled, including UI inputs, validation, preview handling, and end-to-end billing state propagation.
2026-01-24
- Added: Auto-recharge Status Widget — displays current auto-recharge settings, recharge rules, and a progress bar tracking monthly spend against the spend limit.
- Added: Auto-recharge Configuration Widget — allows customers to toggle auto-recharge, adjust low-balance thresholds, set target top-up amounts, and configure monthly spending caps.
2025-12-11
- Added class
stigg-checkout-summary-containerfor configuring a custommin-widthfor the checkout summary container.
2025-12-08
- Changed: the Checkout summary’s next billing caption is now empty by default and can be customized with the
nextBillingCaptiontext override.
2025-12-03
- Fixed checkout layout jumping on medium screens and improved spacing for add-ons.
2025-11-30
- Security: upgraded
form-datato 3.0.4.
2025-11-23
- Improved package performance and reduced download size.
2025-11-20
- Improved add-on checkout layout and conditional rendering.
- Hidden quantity input when only a single instance is allowed.
- Added auto-focus and select behavior to quantity field edits.
2025-11-17
- Added the ability to pass the
skeletonPlanCountparameter to thePaywallcomponent to customize the number of columns on the skeleton. - Added a way to disable the Stripe script so the widget no longer loads
js.stripe.comwhen Stripe isn’t used.
2025-10-30
- Added pagination to credit grants table widget.
2025-10-26
- Fixed: type checking of the published package and an export issue.
2025-10-26
- Switched watermark control to the new
showWatermarkentitlement.
2025-10-20
- Fixed console warning.
2025-10-20
- Checkout widget
- Changed the view of checkout summary when only annual plan available.
2025-10-12
- Fixed type error.
2025-10-06
- Checkout widget
- Added: Callbacks
onBeforeStepChange,onAddonChange, andonBillableFeatureChangefor validation and step gating.
- Added: Callbacks
2025-10-05
- Changed: in Checkout, an add-on whose billing period doesn’t match the selected plan’s is shown as disabled.
2025-10-05
- Changed: add-ons hidden from widgets are no longer shown in Checkout.
2025-09-28
- Fixed: the credits usage chart shows currency units.
2025-09-28
- Fixed: the Customer Portal no longer shows usage widgets for entitlements with a usage limit of
0, and keeps entitlements with no usage limit.
2025-09-23
- ⚠️ Changed: the package is now published as an ES module with a CommonJS build and an
exportsmap (dist/react-sdk.esm.js,dist/react-sdk.cjs.js). Imports from paths insidedistare no longer supported.
2025-09-09
- Updated SDK to prevent dependency on compromised NPM packages
2025-09-08
- Checkout widget
- Added: Support for integration with Zuora
2025-09-01
- Added:
AccessDeniedReason.Revokedfor determining when an entitlement has been explicitly revoked.
2025-08-24
- Fixed: the Paywall hides the add-ons section when no add-ons are visible.
2025-07-30
- Added:
useEnumEntitlementhook andEnumEntitlementGuardcomponent.
2025-07-30
- Added: enum entitlement values are shown in the Paywall.
2025-07-03
- Pricing table
- Added: visibility for compatible add-ons under each plan

- Added: visibility for compatible add-ons under each plan
2025-07-01
- Fixed: error was thrown when using the Stigg React SDK using server-side rendering (SSR)
2025-04-24
- Added: each entitlement row in the Paywall has a per-feature CSS class,
stigg-entitlement-<featureId>.
2025-02-27
- Pricing table
- Added:
CurrentSubscriptionOverrideFntype to support for overriding the current subscription in the paywall. - Bug fixes
- Added:
2025-02-20
- Bug fixes
2025-02-03
- Checkout widget
- Added: New CSS classes (see here):
stigg-checkout-summary-captionsstigg-checkout-summary-captions-remaining-creditsstigg-checkout-summary-captions-scheduled-updatesstigg-checkout-summary-captions-next-billing
- Added: New CSS classes (see here):
2025-01-16
- Bug fixes
2025-01-14
- Fixed: price amounts with decimal points now always appear with 2 decimal points (i.e.
$23.1will appear as$23.10).
2025-01-12
-
Added: custom React hooks
- useStiggContext
- useBooleanEntitlement
- useNumericEntitlement
- useMeteredEntitlement
- useActiveSubscriptions
- useCustomerPortal
-
Added: entitlement guard components
- BooleanEntitlementGuard
- NumericEntitlementGuard
- MeteredEntitlementGuard
- Added: support for offline mode
2024-12-17
-
Added:
GetUsageHistoryV2 -
⚠️ Deprecated:
GetUsageHistory(please useGetUsageHistoryV2instead) -
Changed:
- Input Object:
customerRefIdrenamed tocustomerIdresourceRefIdrenamed toresourceIdfeatureRefIdrenamed tofeatureIdresetPeriodremovedyearlyResetPeriodConfigurationremovedmonthlyResetPeriodConfigurationremovedweeklyResetPeriodConfigurationremoved
- Output Object
startDateremovedendDateremovedusageMeasurements[i].daterenamed toseries[0].point[i].timestampusageMeasurements[i].valuerenamed toseries[0].point[i].valueusageMeasurements[i].isResetPointrenamed toseries[0].point[i].isResetPoint- Old Value:
trueif and only if usage was reset due to periodic reset. - New Value:
trueif and only if usage was reset due to periodic reset or due to a plan transition.
- Old Value:
groups[i].groupInfo[j].keyrenamed toseries[i].tags[j].keygroups[i].groupInfo[j].valuerenamed toseries[i].tags[j].valuegroups[i].usageMeasurements[j].daterenamed toseries[i].point[j].timestampgroups[i].usageMeasurements[j].valuerenamed toseries[i].point[j].valuegroups[i].usageMeasurements[j].isResetPointrenamed toseries[i].point[j].isResetPoint- Old Value:
trueif and only if usage was reset due to periodic reset. - New Value:
trueif and only if usage was reset due to periodic reset or due to a plan transition.
- Old Value:
- Input Object:
2024-12-08
- Added: ability to override prices when there’s a scheduled update in place (currently without widgets)
2024-11-28
- Customer portal widget
- Fixed: Block size is not displayed in Subscription section
2024-10-29
-
Checkout widget
- Added: responsive layout for mobile
-
Customer portal widget
- Added: responsive layout for mobile
2024-10-28
-
Checkout widget
- Fixed: stair-step pricing values are now formatted using commas (,)

- Fixed: stair-step pricing values are now formatted using commas (,)
-
Pricing table widget
- Fixed: stair-step pricing values are now formatted using commas (,)

- Fixed: stair-step pricing values are now formatted using commas (,)
2024-10-10
- Checkout widget
- Added: Ability to skip steps
- Added: New CSS classes
stigg-checkout-progress-containerstigg-checkout-summary-plan-title-containerstigg-checkout-summary-usage-charges-containerstigg-checkout-summary-base-charges-container
2024-06-20
- Pricing table widget
- Added: support for yearly reset period
2024-06-20
- Fixed: custom CSS not reflected in Checkout Widget
2024-06-20
- Fixed: custom CSS not reflected in Customer Portal Widget
2024-04-02
- Fixed: package pricing with a block size in the Checkout widget.
2024-04-01
- Added: the Paywall formats prices with a block size.
- Improved: the Paywall title when a plan has no entitlements.
2024-02-08
- Checkout widget
- Added: price breakdown in tiered pricing
2024-02-08
- Changed: the Checkout summary breakdown is shown on the right side.
2024-02-06
- Fixed: scrolling no longer changes the value of number inputs.
2024-02-05
- Added:
filterEntitlementscallback on the Customer Portal, to choose which entitlements appear in the usage section.
2024-02-05
- Customer portal widget
- Added:
stigg-entitlement-usageclass to allow hiding entitlements
- Added: