Back to Better Auth

1.2 Release

docs/content/changelogs/1-2.mdx

1.6.94.4 KB
Original Source

Better Auth 1.2 – Stripe, Captcha, API Keys, Teams, Init CLI, and more

To upgrade, run:

package-install
npm install [email protected]

Stripe Plugin (Beta)

Stripe integration for customer management, subscriptions, and webhooks.

package-install
npm install @better-auth/stripe
ts
import { stripe } from "@better-auth/stripe"; // [!code highlight]

export const auth = betterAuth({
  plugins: [
    stripe({
      // [!code highlight]
      createCustomerOnSignup: true, // [!code highlight]
      subscription: { // [!code highlight]
        enabled: true, // [!code highlight]
        plans: [// [!code highlight]
          { // [!code highlight]
            name: "pro", // [!code highlight]
            priceId: "price_1234567890", // [!code highlight]
          }, // [!code highlight]
        ], // [!code highlight]
      }, // [!code highlight]
    }), // [!code highlight]
  ],
});

Read the Stripe Plugin docs for more information.

Captcha Plugin

Protect your authentication flows with Google reCAPTCHA and Cloudflare Turnstile. Works for signup, signin, and password resets.

ts
import { captcha } from "better-auth/plugins";

const auth = betterAuth({
  plugins: [
    // [!code highlight]
    captcha({
      // [!code highlight]
      provider: "cloudflare-turnstile", // or "google-recaptcha" // [!code highlight]
      secretKey: process.env.TURNSTILE_SECRET_KEY!, // [!code highlight]
    }), // [!code highlight]
  ], // [!code highlight]
});

Read the Captcha Plugin docs for more information.

API Key Plugin

Generate and manage API keys with rate limiting, expiration, and metadata. Supports session creation from API keys.

ts
import { apiKey } from "better-auth/plugins";

const auth = betterAuth({
  plugins: [apiKey()],
});

Read the API Key Plugin docs for more information.

Teams/Sub-Organizations

Organizations can now have teams or sub-organizations under them.

ts
const auth = betterAuth({
  plugins: [
    organization({
      teams: {
        enabled: true,
      },
    }),
  ],
});

Read the Organization Plugin docs for more information.

Init CLI

The CLI now includes an init command to add Better Auth to your project.

bash
npx auth init

Username

  • Added displayName for case-insensitive lookups while preserving original formatting.
  • Built-in validation.
<Callout type="info"> If you're using the Username plugin, make sure to add the `displayName` field to your schema. </Callout>

Organization

  • Multiple Roles per User – Assign more than one role to a user.

Admin Plugin

  • Manage roles and permissions within the admin plugin. Learn more
  • adminUserIds option to grant specific users admin privileges. Learn more

🎭 New Social Providers


✨ Core Enhancements

  • Auto Cleanup for expired verification data
  • Improved Google One Tap integration with JWT verification and enhanced prompt handling
  • Phone-based Password Reset functionality
  • Provider Control Options:
    • Disable signups for specific providers
    • Disable implicit signups for specific providers
    • Control default scopes and allow custom scopes on request
  • Enhanced Database Hooks with additional context information

🚀 Performance Boosts

We rewrote better-call (the core library behind Better Auth) to fix TypeScript editor lag. Your IDE should now feel much snappier when working with Better Auth.


⚡ CLI Enhancements

init Command

The CLI now includes an init command to speed up setup:

  • Scaffold new projects
  • Generate schemas
  • Run migrations

Learn more


🛠 Bug Fixes & Stability Improvements

A lot of fixes and refinements to make everything smoother, faster, and more reliable. Check out the changelog for more details.


package-install
npm install [email protected]

Upgrade now and take advantage of these powerful new features! 🚀