- Native D1 support: New
d1Nativeoption onwithCloudflareaccepts aD1Databasebinding directly — no Drizzle required.
- BREAKING: Peer dependency
better-authminimum raised from^1.1.21to^1.5.0 - BREAKING: New peer dependency
@better-auth/drizzle-adapter(^1.5.0) required when using Drizzle-based database options (d1,postgres,mysql) - Bumped
zodto^4.3.0,drizzle-ormto^0.45.0
- Geolocation silently broken on v1.5+: Session
create.beforehook returned the mutated object directly, which v1.5 interprets astrueand discards mutations. Now returns{ data: ... }wrapper. - Renamed
FieldAttribute→DBFieldAttributeandAuthPluginSchema→BetterAuthPluginDBSchemato match upstream renames - Migrated drizzle adapter imports from deprecated
better-auth/adapters/drizzleto@better-auth/drizzle-adapter - Removed
anytypes from session hook and R2 hook parameters
- Add troubleshooting instructions for
ERR_REQUIRE_ESM(#43 by @traylollipop) - Fix: pass
allowedMediaTypesfor R2 uploads to resolve 415 error (#46 by @vzt7)
- Fix: KV TTL minimum 60 seconds enforcement (#42)
- Fix:
FieldAttributetype usage (#37)
- Align build system with BetterAuth (#26)
- Feat: continuous releases (#22)
- Feat: upgrade to Zod v4 and improve R2 file validation (#21 by @axuj)
- Add
CloudflareSessiontype for Session + geolocation fields - OpenNextJS example middleware now uses
/api/auth/get-sessiontyped withCloudflareSessionResponse
- Fix:
generateIdreturnsstring | falseas of better-auth@1.3.5 (#13)
- Feat: Hyperdrive Postgres/MySQL support (#9)
- Major feature release (R2 file storage, KV secondary storage, enhanced geolocation)
- Fix: plugin inference using
withCloudflare(#5) - Feat: add
cfcontext option for universal framework support (#2 by @imjlk)
- Fix: update
withCloudflareto support genericBetterAuthOptions(#4 by @WardLavrijsen)
- Maintenance release
- Initial release