crxpaydocs

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_mode instead 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_account telling 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/sdk 0.1.2 — fixes a cold-start race where a freshly-paid user could briefly read "free" right after a service-worker restart. Upgrade with npm i @crxpay/sdk@latest and rebuild.
  • Security hardening: per-extension price authorization, no private key in dashboard responses, stronger bot gates on auth.
  • 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.updated for 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.