v1.6.26
Added 1
- Added a utility for creating stable, namespaced placeholder emails on the reserved placeholder.invalid domain
Changed 1
- nextCookies performance improved in instrumented Next.js applications by reusing the next/headers import promise
Fixed 11
- Session cleanup on user deletion now also removes sessions from secondary storage
- findSessions skips invalid secondary-storage session entries without discarding other valid sessions
- Email OTP sign-up passes the verification type to custom OTP generators
- Email OTP password reset allows retrying after entering an invalid password
- Email OTP verification no longer reveals whether an email is registered before the OTP is verified
- jwtClient() no longer collapses createAuthClient type inference when combined with other client plugins
- JWT key minting inside database transactions uses the transaction-scoped adapter to prevent deadlocks on SQLite and ensure keys commit with their surrounding transaction on Postgres and MySQL
- oAuthProxy preserves Apple user data from form_post callbacks
- oneTapClient() no longer collapses createAuthClient type inference when combined with other client plugins
- Database rate-limit cleanup completes when no background task handler is configured
- listKeys() and clear() in redis-storage use SCAN instead of KEYS so large keyspaces no longer block the Redis server
better-auth
Bug Fixes
- Fixed session cleanup on user deletion to also remove sessions from secondary storage (#10520)
- Fixed
findSessionsto skip invalid secondary-storage session entries without discarding other valid sessions (#10580) - Fixed email OTP sign-up to pass the verification type to custom OTP generators (#10608)
- Fixed email OTP password reset to allow retrying after entering an invalid password (#10552)
- Fixed email OTP verification to no longer reveal whether an email is registered before the OTP is verified (#10605)
- Fixed
jwtClient()collapsingcreateAuthClienttype inference when combined with other client plugins (#10513) - Fixed JWT key minting inside database transactions to use the transaction-scoped adapter, preventing deadlocks on SQLite and ensuring keys commit with their surrounding transaction on Postgres and MySQL (#10623)
- Fixed
oAuthProxyto preserve Apple user data fromform_postcallbacks (#10599) - Fixed
oneTapClient()collapsingcreateAuthClienttype inference when combined with other client plugins (#10635) - Fixed database rate-limit cleanup to complete when no background task handler is configured (#10619)
- Improved
nextCookiesperformance in instrumented Next.js applications by reusing thenext/headersimport promise (#10467)
For detailed changes, see CHANGELOG
@better-auth/core
Features
- Added a utility for creating stable, namespaced placeholder emails on the reserved
placeholder.invaliddomain (#10576)
For detailed changes, see CHANGELOG
@better-auth/redis-storage
Bug Fixes
- Fixed
listKeys()andclear()to useSCANinstead ofKEYSso large keyspaces no longer block the Redis server (#10507)
For detailed changes, see CHANGELOG
Contributors
Thanks to everyone who contributed to this release:
@bytaesu, @Emmaccen, @gustavovalverde, @jashkarangiya, @jeroenvandermerwe, @jlucaso1, @krish-vachhani, @mrosberghaus, @XXMOHAMED012
Full changelog: v1.6.25...v1.6.26