Changelog
SDK and platform release notes.
We ship from main constantly. This page summarizes notable releases of the crxpay SDK and platform. For the full per-commit history, see the GitHub releases page.
Versioning
- SDK packages (
@crxpay/sdk,@crxpay/react-paywall,@crxpay/types) follow semver. Breaking changes bump the major version and are called out below. - Platform changes (dashboard, API, paywall editor) are continuously deployed. Anything that changes SDK behavior or HTTP contracts is noted here.
Recent
2026-06 — Mode-scoped products, money-path fixes, @crxpay/sdk 0.1.2
- Products and prices are now mode-scoped. A product belongs to test or live
mode, matching Stripe. Checkout in the wrong mode returns a clear
price_wrong_modeinstead of a generic "couldn't find that subscription or price." Onboarding defaults new developers to Test mode. See Concepts → Test vs live and Troubleshooting. - Stale Stripe account detection. If you replace your connected account,
checkout on a product created on the old account now returns
price_stale_accounttelling you to re-create it, instead of failing silently. - Billing accuracy. Fixed a revenue double-count that could push the platform fee tier early; grace periods are now honored on the access path; partial refunds no longer revoke access; out-of-order Stripe webhooks can't resurrect a canceled subscription.
@crxpay/sdk0.1.2 — fixes a cold-start race where a freshly-paid user could briefly read "free" right after a service-worker restart. Upgrade withnpm i @crxpay/sdk@latestand rebuild.- Security hardening: per-extension price authorization, no private key in dashboard responses, stronger bot gates on auth.
2026-05 — Magic-link sign-in, Sentry, blog SEO push
- Dashboard: passwordless magic-link sign-in via Resend.
- API + dashboard: Sentry instrumentation for production error tracking.
- Marketing: blog redesign + TOC, three new SEO long-form posts targeting Chrome extension monetization queries.
2026-04 — Stripe Connect onboarding state fixes
- Connect onboarding now shows the real Stripe state (
requirements.currently_due) and resumes from where the developer left off. - Webhook handler now covers
account.updatedfor live charges-enabled transitions.
Earlier
Detailed per-version notes will land here as we promote the SDK out of early access. Until then, GitHub releases is the source of truth.
Was this page helpful?
Your feedback shapes what we document next.