Skip to content

v0.4.1

Choose a tag to compare

@iamceeso iamceeso released this 12 Apr 16:38
· 76 commits to main since this release

This release focuses on stabilizing the billing system, improving Stripe checkout reliability, strengthening webhook handling, and ensuring correct monetary data handling across subscriptions.

Improvements

Checkout Flow

  • Improved Stripe checkout flow with proper PaymentIntent handling
  • Avoids unnecessary confirmation calls for already processed payments
  • Better handling of client secrets and payment states

Webhook Reliability

  • Enhanced webhook logging with replay-safe payload storage
  • Improved retry logic with ability to reconstruct events
  • Clearer separation between signature verification and payload validation errors

Monetary Data Integrity

  • Standardized all billing amounts to integer (minor units / cents)
  • Eliminates float/decimal inconsistencies in pricing and subscriptions
  • Prevents undercharging/overcharging issues

Subscription Consistency

  • Improved logic for determining the current active subscription
  • Better normalization of subscription state across the system

Free Plan Support

  • Added proper handling for free tier subscriptions
  • Avoids invalid Stripe price creation for zero-value plans
  • Improved frontend flow for free plan activation

Authorization & Policies

  • Fixed inconsistencies in panel access authorization
  • Improved policy handling for user access checks

Frontend Stability

  • Safer handling of API responses (prevents JSON parsing errors)

  • Improved error handling for:

    • expired sessions
    • CSRF issues
    • invalid responses

Breaking / Important Notes

  • Billing amounts are now stored as integer cents
    • Existing installations must ensure proper data migration
  • Stripe price creation now expects valid minor-unit values
  • Free plans are handled separately from paid Stripe flows

Summary

  • 36 files updated
  • +1240 / -270 lines changed
  • Multiple fixes across billing, frontend, and policies

Full Changelog: v0.4.0...v0.4.1