Changelog

All changes, fixes, and updates

Every release shipped to Better Auth, straight from GitHub.

Latestv1.4.18

RELEASES

v1.4.18v1.4.18

๐Ÿš€ Features

  • Add disableImplicitLinking to accountLinking โ€“ @Paola3stefania @himself65
  • Mark /forget-password/email-otp as deprecation โ€“ @bytaesu
  • device-authorization:
    • Add user id checks โ€“ @himself65
  • one-tap:
    • Add button mode for Google sign-in โ€“ @himself65
  • sso:
    • Support multi-domain providers โ€“ @Paola3stefania
    • Add provider list and detail endpoints โ€“ @Paola3stefania @himself65

๐Ÿž Bug Fixes

  • Correctly handle OAuth callback and Apple email field โ€“ @bytaesu
  • Centralize cookie parsing and handle Expires dates correctly โ€“ @bytaesu @cursoragent @himself65
  • Refresh account_data cookie when session is refreshed โ€“ @bytaesu @himself65
  • Remove duplicate secondary storage writes from setSessionCookie โ€“ @bytaesu
  • Set default logger level to "warn" โ€“ @bytaesu @cursoragent
  • Respect the explicitly set sendOnSignUp option โ€“ @bytaesu
  • Handle serial and false cases in generateId โ€“ @bytaesu
  • Log error when misconfigured โ€“ @himself65
  • Update google oauth endpoints โ€“ @bytaesu
  • Consistent api version for facebook provider โ€“ @bytaesu
  • Check jsconfig.json in getPathAliases โ€“ @jycouet
  • 2fa:
    • Server-side trust device expiration and configurable maxAge โ€“ @Paola3stefania @himself65
  • anonymous:
    • Export types โ€“ @CalLavicka @himself65
  • cli:
    • Use inkeep remote mcp url โ€“ @Bekacru
    • Update MCP URL from Chonkie to Inkeep โ€“ @Paola3stefania
  • core:
    • Consolidate rateLimit table schema definition โ€“ @bytaesu
  • email-otp:
    • Add stricter default rate limits for password reset endpoints โ€“ @bytaesu
  • expo:
    • Prevent null cookie key when redirect URL has no cookie param โ€“ @bytaesu
    • Prevent duplicate listener notifications in FocusManager and OnlineManager โ€“ @kimchi-developer @himself65
  • github:
    • Surface OAuth token exchange errors โ€“ @Paola3stefania
  • mcp:
    • Remove local mpc โ€“ @Paola3stefania
  • multi-session:
    • Prevent duplicate cookies when same user signs in multiple times โ€“ @Paola3stefania @himself65
  • oauth-provider:
    • Properly handle metadata field in client registration โ€“ @Paola3stefania
  • okta:
    • Userinfo route mismatch โ€“ @psigen
  • organization:
    • Filter returned: false fields from API responses โ€“ @Paola3stefania @himself65
  • saml:
    • IdP-Initiated Callback Routing โ€“ @Paola3stefania
  • session:
    • Skip invalid sessions in list โ€“ @Paola3stefania @himself65
  • stripe:
    • Allow billing interval change for same plan โ€“ @bytaesu
    • Find active subscription correctly when upgrading โ€“ @bytaesu

๐ŸŽ Performance

  • Fix infinite typecheck โ€“ @himself65
ย ย ย ย View changes on GitHub
v1.4.17v1.4.17

๐Ÿš€ Features

  • two-factor: Add twoFactorCookieMaxAge as a separate option โ€“ @Bekacru

๐Ÿž Bug Fixes

  • Set default ipv6 subnet to 64 โ€“ @himself65
  • cookies: Fallback to isProduction when baseURL is not set โ€“ @bytaesu
  • db: Only exclude returned: false fields from output schemas โ€“ @Paola3stefania
  • stripe: Allow re-subscribing to the same plan when subscription has expired โ€“ @DIYgod @bytaesu
  • two-factor: Improve OTP comparision during hashed and encrypted values โ€“ @Bekacru
ย ย ย ย View changes on GitHub
v1.4.16v1.4.16

๐Ÿš€ Features

  • admin: Make password field optional on create user โ€“ @Bekacru @cursoragent

๐Ÿž Bug Fixes

  • oauth: Set account cookie on re-login when updateAccountOnSignIn is false โ€“ @bytaesu
  • organization: Missing activeTeamId field when dynamic access control is enabled โ€“ @longnguyen2004 @himself65 @ping-maxwell
  • rate-limit: Support IPv6 address normalization and subnet โ€“ @himself65
ย ย ย ย View changes on GitHub
v1.4.15v1.4.15

๐Ÿž Bug Fixes

  • Update TanStack imports to use server subpath โ€“ @himself65
  • client: Deep merge plugin actions to preserve all methods โ€“ @gustavovalverde
ย ย ย ย View changes on GitHub
v1.4.14v1.4.14

๐Ÿš€ Features

  • Add skipTrailingSlashes option to advanced config โ€“ @bytaesu
  • stripe: Add support for locale option to upgradeSubscription โ€“ @bytaesu

๐Ÿž Bug Fixes

  • TanStack Start cookie plugins for React and Solid.js โ€“ @himself65
  • Centralize schema parsing for API responses โ€“ @bytaesu
  • Update Figma provider default scope and oauth endpoints โ€“ @bytaesu
  • Allow empty name on email sign-up โ€“ @jslno
ย ย ย ย View changes on GitHub
v1.4.13v1.4.13

๐Ÿš€ Features

  • core: Add version in AuthContext โ€“ @himself65
  • integrations: Support both react and solid flavors of tanstack-start โ€“ @asterikx
  • mcp: Add setup_auth tool โ€“ @Paola3stefania
  • organization: Allow rejecting expired invites and filter pending invitations โ€“ @Bekacru
  • scim: Add Microsoft Entra ID SCIM Compatibility โ€“ @cemcevik @himself65

๐Ÿž Bug Fixes

  • Should return dates for expiration fields โ€“ @ping-maxwell @himself65
  • Preserve attributes when expiring cookies โ€“ @bytaesu @himself65
  • expo: Fix cookie-based OAuth state with expo-authorization-proxy โ€“ @ruff-exec @bytaesu
  • organization: Infer endpoints when dynamic ac and teams enabled โ€“ @jslno
  • stripe: Add generic return type to getSchema for proper field inference โ€“ @bytaesu
ย ย ย ย View changes on GitHub
v1.4.12v1.4.12

๐Ÿš€ Features

  • oauth: Add custom authorizationEndpoint option โ€“ @bytaesu

๐Ÿž Bug Fixes

  • anonymous: Define delete-anonymous-user path method โ€“ @ping-maxwell
  • client: Add refetch to useSession for all clients โ€“ @Paola3stefania
  • core: Remove dual module warning โ€“ @himself65
  • session: Prevent duplicate tokens in active sessions list โ€“ @theonlypal @bytaesu @himself65
ย ย ย ย View changes on GitHub
v1.4.11v1.4.11

๐Ÿš€ Features

  • Add auth.api.verifyPassword โ€“ @SaviruFr @himself65
  • anonymous: Delete anonymous user endpoint โ€“ @ping-maxwell
  • generic-oauth: Add Gumroad login support โ€“ @ptaberg @himself65
  • saml: Reject SAML responses containing multiple assertions โ€“ @Paola3stefania
  • stripe: Enhance stripe plugin with organization customer support โ€“ @bytaesu

๐Ÿž Bug Fixes

  • Filter null values from dynamic trusted origins โ€“ @bytaesu @himself65
  • Call hooks on change-email-verification flow โ€“ @bytaesu
  • Clean up expired rate-limit entries on memory storage โ€“ @ping-maxwell
  • Set Location header on redirected responses โ€“ @GautamBytes @ping-maxwell
  • anonymous:
    • Prevent Convex cleanup from deleting fresh sessions โ€“ @RodrigoRafaelSantos7 @ping-maxwell
  • api-key:
    • Remove strict length pre-check in verifyApiKey โ€“ @GautamBytes @ping-maxwell
    • Remove double stringify/parse of metadata field โ€“ @xiaoyu2er @ping-maxwell @himself65
    • Log key verification errors โ€“ @ping-maxwell @himself65
  • core:
    • Detect dual module error โ€“ @himself65
    • Separate CSRF and origin checks โ€“ @Paola3stefania @himself65
  • docs:
    • Correct tos and policy types in oauth-provider โ€“ @GautamBytes @ping-maxwell
  • email-otp:
    • Call afterEmailVerification hook on verification โ€“ @GautamBytes
  • email-verification:
    • Sending email verification of another user fails with EMAIL_ALREADY_VERIFIED โ€“ @ping-maxwell
  • mcp:
    • Restore ctx.query from cookie in OAuth flow โ€“ @bytaesu
  • one-tap:
    • Respect user dismiss actions in prompt retry logic โ€“ @bytaesu
  • open-api:
    • Correctly infer type for ZodDefault fields โ€“ @MuzzaiyyanHussain
  • organization:
    • Use opts pattern to enable hook injection โ€“ @bytaesu
  • passkey:
    • Add error logs during client verification error โ€“ @ping-maxwell
  • prisma-adapter:
    • Lift eq AND conditions to root so update detects unique where field โ€“ @ping-maxwell
  • stripe:
    • Improve error handling and subscriptionSuccess route โ€“ @bytaesu
    • Pass metadata to subscription object in upgrade method โ€“ @bytaesu
    • Prevent duplicate subscription creation when a subscription already exists โ€“ @bytaesu
  • two-factor:
    • Prisma issue โ€“ @okisdev @Bekacru @ping-maxwell
    • Add missing POST endpoints to client pathMethods โ€“ @theonlypal
ย ย ย ย View changes on GitHub
v1.4.10v1.4.10

๐Ÿš€ Features

  • Support form data for email sign-in/sign-up and fallback to checking fetch Metadata for first login โ€“ @Paola3stefania @bytaesu @jonathansamines
  • expo:
    • Add webBrowserOptions to openAuthSessionAsync โ€“ @himself65
  • saml:
    • Add XML parser hardening with configurable size limits โ€“ @Paola3stefania
  • stripe:
    • Flexible subscription cancellation and termination management โ€“ @bytaesu @GautamBytes
    • Handle customer.subscription.created webhook event โ€“ @bytaesu @himself65
    • Add disableRedirect option for subscription and billing โ€“ @himself65

๐Ÿž Bug Fixes

  • Correct accountLinking default to true โ€“ @bytaesu @himself65
  • Add supportsArrays to memory and mongodb adapters โ€“ @bytaesu
  • Sync updateSession changes to secondary storage and active-sessions list โ€“ @Ridhim-RR @bytaesu
  • admin:
    • Custom role type inference โ€“ @bytaesu
    • UserId check in /has-permission โ€“ @himself65
  • anonymous:
    • Missing path breaks anonymous hooks โ€“ @ping-maxwell @himself65
  • api:
    • Chain plugin onRequest hooks properly โ€“ @bytaesu
  • client:
    • Prevent duplicate signal processing in atom listeners โ€“ @himself65
    • Apply rate limit focus refetch regardless of session state โ€“ @bytaesu @himself65
  • expo:
    • Improve parseSetCookieHeader โ€“ @bytaesu
  • oauth-provider:
    • Support jwksPath โ€“ @dvanmali
    • Only session db store currently supported โ€“ @dvanmali
  • oauth-proxy:
    • Point provider requests to production and fix cookie handling in non-HTTPS environments โ€“ @bytaesu
  • organization:
    • Remove unnecessary type re-export โ€“ @bytaesu
  • passkey:
    • Use data.id instead of challengeId in deleteVerificationValue โ€“ @GautamBytes
  • stripe:
    • Add 'subscription/restore' to pathMethods โ€“ @bytaesu
    • Prevent trial abuse by checking all user subscriptions โ€“ @GautamBytes @himself65
ย ย ย ย View changes on GitHub