[PR #4688] [MERGED] v1.3.11 #22431

Closed
opened 2026-04-15 21:02:37 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/better-auth/better-auth/pull/4688
Author: @himself65
Created: 9/16/2025
Status: Merged
Merged: 9/16/2025
Merged by: @himself65

Base: mainHead: v1.3.11-staging


📝 Commits (10+)

📊 Changes

42 files changed (+1322 additions, -526 deletions)

View changed files

📝 biome.json (+1 -1)
📝 demo/nextjs/package.json (+2 -2)
📝 demo/nextjs/postcss.config.mjs (+2 -5)
📝 docs/content/docs/plugins/device-authorization.mdx (+1 -1)
📝 docs/content/docs/plugins/siwe.mdx (+1 -1)
📝 docs/package.json (+0 -1)
📝 e2e/smoke/package.json (+0 -3)
📝 package.json (+2 -2)
📝 packages/better-auth/package.json (+3 -5)
📝 packages/better-auth/src/adapters/adapter-factory/index.ts (+7 -2)
📝 packages/better-auth/src/adapters/adapter-factory/test/adapter-factory.test.ts (+8 -6)
📝 packages/better-auth/src/adapters/adapter-factory/types.ts (+20 -11)
📝 packages/better-auth/src/adapters/drizzle-adapter/drizzle-adapter.ts (+4 -4)
📝 packages/better-auth/src/adapters/drizzle-adapter/test/adapter.drizzle.mysql.test.ts (+30 -1)
📝 packages/better-auth/src/adapters/drizzle-adapter/test/adapter.drizzle.test.ts (+30 -1)
📝 packages/better-auth/src/adapters/index.ts (+42 -1)
📝 packages/better-auth/src/adapters/kysely-adapter/kysely-adapter.ts (+44 -8)
📝 packages/better-auth/src/adapters/kysely-adapter/test/normal/adapter.kysely.test.ts (+351 -40)
📝 packages/better-auth/src/adapters/mongodb-adapter/mongodb-adapter.ts (+4 -4)
📝 packages/better-auth/src/adapters/prisma-adapter/prisma-adapter.ts (+4 -4)

...and 22 more files

📄 Description

Summary by cubic

v1.3.11 improves reliability across adapters and plugins: timestamps are now UTC-safe, OAuth flows handle errors correctly, and plugins can initialize asynchronously. It also introduces new adapter-factory types (old names kept as deprecated) and tightens org/admin access control.

  • New Features

    • Support async plugin init (BetterAuthPlugin.init can return a promise).
    • Auto-verify user email when linking a verified OAuth account with a matching email.
    • Adapter factory: new AdapterFactory* types and createAdapterFactory export; legacy names remain as deprecated aliases.
    • Organization plugin: unified error codes and clearer permission checks/messages.
  • Bug Fixes

    • UTC-safe timestamps in Kysely (MySQL) and Drizzle; migrations use timestamptz/timestamp; added cross-timezone tests.
    • OAuth2 callback now respects errorCallbackURL and builds query params safely.
    • Admin: verify user exists before banning; role checks take precedence when both role and userId are provided.
    • Tooling: Tailwind CSS v4 in demo/docs with @tailwindcss/postcss, Biome 2.2.4, streamlined Prisma test setup.

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/better-auth/better-auth/pull/4688 **Author:** [@himself65](https://github.com/himself65) **Created:** 9/16/2025 **Status:** ✅ Merged **Merged:** 9/16/2025 **Merged by:** [@himself65](https://github.com/himself65) **Base:** `main` ← **Head:** `v1.3.11-staging` --- ### 📝 Commits (10+) - [`aa4f398`](https://github.com/better-auth/better-auth/commit/aa4f3984dba9f2061c2c1b043a1b596de93a0f37) ci: use setup-node@4 - [`6785d41`](https://github.com/better-auth/better-auth/commit/6785d41dd5fe52ed15efb6216b8f245f56666380) chore: release v1.3.10 - [`9d216c9`](https://github.com/better-auth/better-auth/commit/9d216c924abd5af3b7877193677cc0ca1fbfb856) fix(plugins): asynchronous `init` (#4680) - [`283c29c`](https://github.com/better-auth/better-auth/commit/283c29c4de25eb05567094aad938f44f56858a6a) fix: check if user exists before banning the user (#4649) - [`f69626d`](https://github.com/better-auth/better-auth/commit/f69626d56481b6e9f86456dcaffa2ee969fb18b5) chore: bump tailwindcss to v4 (#4681) - [`544c287`](https://github.com/better-auth/better-auth/commit/544c2875ee4f17567aea002022ea71bc34247d7f) test: exec prisma directly (#4677) - [`6ea2357`](https://github.com/better-auth/better-auth/commit/6ea23576533c0da5bb776a31149cf2413ec62a53) chore: bump dev deps (#4678) - [`75e7776`](https://github.com/better-auth/better-auth/commit/75e7776430d732c3807f3f0c899ac20ee84b6f2d) chore(org): dynamic ac improvements (#4647) - [`cf2cac4`](https://github.com/better-auth/better-auth/commit/cf2cac4dd9eaefb01b8f08cbb096585b31962aad) feat: flip emailVerified when link the account (#4621) - [`ddd0e16`](https://github.com/better-auth/better-auth/commit/ddd0e16aca1fbcd9e6e65a17318c0d8ddf92d8fb) docs: update siwe.mdx (#4685) ### 📊 Changes **42 files changed** (+1322 additions, -526 deletions) <details> <summary>View changed files</summary> 📝 `biome.json` (+1 -1) 📝 `demo/nextjs/package.json` (+2 -2) 📝 `demo/nextjs/postcss.config.mjs` (+2 -5) 📝 `docs/content/docs/plugins/device-authorization.mdx` (+1 -1) 📝 `docs/content/docs/plugins/siwe.mdx` (+1 -1) 📝 `docs/package.json` (+0 -1) 📝 `e2e/smoke/package.json` (+0 -3) 📝 `package.json` (+2 -2) 📝 `packages/better-auth/package.json` (+3 -5) 📝 `packages/better-auth/src/adapters/adapter-factory/index.ts` (+7 -2) 📝 `packages/better-auth/src/adapters/adapter-factory/test/adapter-factory.test.ts` (+8 -6) 📝 `packages/better-auth/src/adapters/adapter-factory/types.ts` (+20 -11) 📝 `packages/better-auth/src/adapters/drizzle-adapter/drizzle-adapter.ts` (+4 -4) 📝 `packages/better-auth/src/adapters/drizzle-adapter/test/adapter.drizzle.mysql.test.ts` (+30 -1) 📝 `packages/better-auth/src/adapters/drizzle-adapter/test/adapter.drizzle.test.ts` (+30 -1) 📝 `packages/better-auth/src/adapters/index.ts` (+42 -1) 📝 `packages/better-auth/src/adapters/kysely-adapter/kysely-adapter.ts` (+44 -8) 📝 `packages/better-auth/src/adapters/kysely-adapter/test/normal/adapter.kysely.test.ts` (+351 -40) 📝 `packages/better-auth/src/adapters/mongodb-adapter/mongodb-adapter.ts` (+4 -4) 📝 `packages/better-auth/src/adapters/prisma-adapter/prisma-adapter.ts` (+4 -4) _...and 22 more files_ </details> ### 📄 Description <!-- This is an auto-generated description by cubic. --> ## Summary by cubic v1.3.11 improves reliability across adapters and plugins: timestamps are now UTC-safe, OAuth flows handle errors correctly, and plugins can initialize asynchronously. It also introduces new adapter-factory types (old names kept as deprecated) and tightens org/admin access control. - New Features - Support async plugin init (BetterAuthPlugin.init can return a promise). - Auto-verify user email when linking a verified OAuth account with a matching email. - Adapter factory: new AdapterFactory* types and createAdapterFactory export; legacy names remain as deprecated aliases. - Organization plugin: unified error codes and clearer permission checks/messages. - Bug Fixes - UTC-safe timestamps in Kysely (MySQL) and Drizzle; migrations use timestamptz/timestamp; added cross-timezone tests. - OAuth2 callback now respects errorCallbackURL and builds query params safely. - Admin: verify user exists before banning; role checks take precedence when both role and userId are provided. - Tooling: Tailwind CSS v4 in demo/docs with @tailwindcss/postcss, Biome 2.2.4, streamlined Prisma test setup. <!-- End of auto-generated description by cubic. --> --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
GiteaMirror added the pull-request label 2026-04-15 21:02:37 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/better-auth#22431