This is a demo site.Purchase now

Changelog

Track new features, improvements, and fixes across releases.

v1.8.0

Feature

  • Split the single auth page into separate /auth/sign-up and /auth/sign-in pages. The marketing opt-in checkbox now appears only on sign up, and both pages share one form component.

Improvement

  • Adopted better-auth sign up / sign in / sign out terminology across routes, components, i18n keys, and docs. The old /auth/login route and the logout naming have been removed.

Fix

  • Fixed the marketing opt-in being discarded when an existing user submitted it. Consent is now recorded through a dedicated grant-only endpoint that never revokes an earlier opt-in.
  • Repaired partially machine-translated authentication strings in the German, Spanish, French, Japanese, Korean, and Chinese locales.

v1.7.0

Feature

  • Switched authentication to passwordless email OTP. The first code sent to a new address creates the account, and the password login, registration, and reset pages have been removed.
  • Added bearer sessions and CORS support so an iOS or Android app can sign in against the same backend, along with a GET /api/subscription endpoint for reading entitlements.
  • Added a mobile apps guide to the docs covering server configuration, app-side setup, and the full endpoint reference.

Improvement

  • Tightened authentication rate limiting with separate per-IP limits and a Postgres-backed per-email OTP throttle, and made the proxy list configurable via BETTER_AUTH_TRUSTED_PROXIES.
  • Moved better-auth onto the shared Prisma client and made the connection pool size configurable, removing a second pool per server instance.
  • Indexed Session.userId and added the auth_throttle table for shared OTP send limits (run pnpm db:push after upgrading).

Fix

  • Fixed sign-out failing for mobile clients that omit the Content-Type header on empty request bodies.

v1.6.0

Feature

  • Added a public roadmap page at /roadmap with three columns covering recently shipped, in progress, and coming soon items.

v1.5.0

Feature

  • Added a public changelog page at /changelog with deep-linkable entries per release.
  • Added a mobile navigation menu for the marketing site.
  • Added an analytics composable for manual event tracking.

Improvement

  • Pinned the Nixpacks package and tuned build memory for more reliable production deployments.

v1.4.3

Feature

  • Added a reusable password input component with show/hide toggle.
  • Added a database-backed blog source as an alternative to Nuxt Content (toggle via NUXT_PUBLIC_BLOG_SOURCE).

Improvement

  • Reworked the authentication flow for clearer error messages and smoother redirects.

v1.4.2

Improvement

  • Made the Resend API key optional so the app can boot without transactional email configured.
  • Switched Nuxt Content components to translation keys for fully i18n-aware copy.

Fix

  • Fixed cancel and reactivate subscription when an active Stripe schedule is present.

v1.4.1

Improvement

  • Improved the Settings page layout and account management flows.
  • Improved Nuxt Content SEO meta handling for docs and blog pages.
  • Reworked the subscriptions implementation for more predictable state transitions.
  • Prevented auto-signup and OTP delivery to unregistered email addresses.

Fix

  • Fixed the global error handler and added Cursor rules covering error-handling patterns.

v1.4.0

Feature

  • Added Stripe trial period support with a configurable trial length in payment.config.ts.

Improvement

  • Migrated database columns to snake_case for consistency with Postgres conventions.
  • Restructured the subscription middleware and removed Prisma imports from client-side code.
  • Optimized the build for Nixpacks deployments.

Fix

  • Fixed logo sizing regressions on the marketing site.

v1.3.1

Fix

  • Fixed Open Graph image URL generation.
  • Fixed avatar URL resolution for users without a custom image.

v1.3.0

Feature

  • Added support for non-square logos with theme-aware light/dark variants.

Improvement

  • Updated email templates to use placeholders consistently across providers.

v1.2.1

Fix

  • Fixed the site URL fallback used by robots.txt.
  • Fixed broken navigation to the Settings page from the user menu.

v1.2.0

Feature

  • Added dynamic sitemap.xml and robots.txt generation.

Improvement

  • Improved performance and accessibility across the app, including alt text on all images.
  • Simplified the subscription middleware and refreshed the related docs.
  • Improved the one-time payment flow and license-key generation in the Stripe webhook.

Fix

  • Fixed sitemap generation on Vercel deployments.

v1.1.0

Feature

  • Initial release: Nuxt 4, Tailwind v4, shadcn-vue, better-auth (email/password, OTP, OAuth), Prisma + PostgreSQL, Stripe subscriptions and one-time purchases, OpenAI/Anthropic/Grok integrations, Nuxt Content blog and docs, Resend email, S3-compatible storage, i18n (en/de/es/fr), and dashboard, settings, pricing, and support pages.