From 78d7227d05253a5036f1d3e823f3a448c32999d8 Mon Sep 17 00:00:00 2001 From: Emmanuel Lucius <58217705+Emmaccen@users.noreply.github.com> Date: Fri, 14 Aug 2026 12:00:57 +0000 Subject: [PATCH 1/5] docs: fix "Database joins is" grammar across all 7 adapter docs (#10803) --- docs/content/docs/adapters/drizzle.mdx | 2 +- docs/content/docs/adapters/mongo.mdx | 2 +- docs/content/docs/adapters/mssql.mdx | 2 +- docs/content/docs/adapters/mysql.mdx | 2 +- docs/content/docs/adapters/postgresql.mdx | 2 +- docs/content/docs/adapters/prisma.mdx | 2 +- docs/content/docs/adapters/sqlite.mdx | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/content/docs/adapters/drizzle.mdx b/docs/content/docs/adapters/drizzle.mdx index b9d7d0fb63..63f07938dc 100644 --- a/docs/content/docs/adapters/drizzle.mdx +++ b/docs/content/docs/adapters/drizzle.mdx @@ -61,7 +61,7 @@ To generate and apply the migration, run the following commands: ## Joins (Experimental) -Database joins is useful when Better-Auth needs to fetch related data from multiple tables in a single query. +Database joins are useful when Better-Auth needs to fetch related data from multiple tables in a single query. Endpoints like `/get-session`, `/get-full-organization` and many others benefit greatly from this feature, seeing upwards of 2x to 3x performance improvements depending on database latency. diff --git a/docs/content/docs/adapters/mongo.mdx b/docs/content/docs/adapters/mongo.mdx index abeff8db86..e207105a90 100644 --- a/docs/content/docs/adapters/mongo.mdx +++ b/docs/content/docs/adapters/mongo.mdx @@ -41,7 +41,7 @@ For MongoDB, we don't need to generate or migrate the schema. ## Joins (Experimental) -Database joins is useful when Better-Auth needs to fetch related data from multiple tables in a single query. +Database joins are useful when Better-Auth needs to fetch related data from multiple tables in a single query. Endpoints like `/get-session`, `/get-full-organization` and many others benefit greatly from this feature, seeing upwards of 2x to 3x performance improvements depending on database latency. diff --git a/docs/content/docs/adapters/mssql.mdx b/docs/content/docs/adapters/mssql.mdx index ba1b4d3c0e..5b51b34b89 100644 --- a/docs/content/docs/adapters/mssql.mdx +++ b/docs/content/docs/adapters/mssql.mdx @@ -105,7 +105,7 @@ your database schema based on your Better Auth configuration and plugins. ## Joins (Experimental) -Database joins is useful when Better-Auth needs to fetch related data from multiple tables in a single query. +Database joins are useful when Better-Auth needs to fetch related data from multiple tables in a single query. Endpoints like `/get-session`, `/get-full-organization` and many others benefit greatly from this feature, seeing upwards of 2x to 3x performance improvements depending on database latency. diff --git a/docs/content/docs/adapters/mysql.mdx b/docs/content/docs/adapters/mysql.mdx index e9c557f8d6..c38a4d32ca 100644 --- a/docs/content/docs/adapters/mysql.mdx +++ b/docs/content/docs/adapters/mysql.mdx @@ -83,7 +83,7 @@ your database schema based on your Better Auth configuration and plugins. ## Joins (Experimental) -Database joins is useful when Better-Auth needs to fetch related data from multiple tables in a single query. +Database joins are useful when Better-Auth needs to fetch related data from multiple tables in a single query. Endpoints like `/get-session`, `/get-full-organization` and many others benefit greatly from this feature, seeing upwards of 2x to 3x performance improvements depending on database latency. diff --git a/docs/content/docs/adapters/postgresql.mdx b/docs/content/docs/adapters/postgresql.mdx index 0bf2da2402..1d948f4055 100644 --- a/docs/content/docs/adapters/postgresql.mdx +++ b/docs/content/docs/adapters/postgresql.mdx @@ -69,7 +69,7 @@ your database schema based on your Better Auth configuration and plugins. ## Joins (Experimental) -Database joins is useful when Better-Auth needs to fetch related data from multiple tables in a single query. +Database joins are useful when Better-Auth needs to fetch related data from multiple tables in a single query. Endpoints like `/get-session`, `/get-full-organization` and many others benefit greatly from this feature, seeing upwards of 2x to 3x performance improvements depending on database latency. diff --git a/docs/content/docs/adapters/prisma.mdx b/docs/content/docs/adapters/prisma.mdx index c5fb942939..e9109b60d4 100644 --- a/docs/content/docs/adapters/prisma.mdx +++ b/docs/content/docs/adapters/prisma.mdx @@ -69,7 +69,7 @@ npx auth@latest generate ## Joins (Experimental) -Database joins is useful when Better-Auth needs to fetch related data from multiple tables in a single query. +Database joins are useful when Better-Auth needs to fetch related data from multiple tables in a single query. Endpoints like `/get-session`, `/get-full-organization` and many others benefit greatly from this feature, seeing upwards of 2x to 3x performance improvements depending on database latency. diff --git a/docs/content/docs/adapters/sqlite.mdx b/docs/content/docs/adapters/sqlite.mdx index 3473743f96..5fbced2f08 100644 --- a/docs/content/docs/adapters/sqlite.mdx +++ b/docs/content/docs/adapters/sqlite.mdx @@ -110,7 +110,7 @@ your database schema based on your Better Auth configuration and plugins. ## Joins (Experimental) -Database joins is useful when Better-Auth needs to fetch related data from multiple tables in a single query. +Database joins are useful when Better-Auth needs to fetch related data from multiple tables in a single query. Endpoints like `/get-session`, `/get-full-organization` and many others benefit greatly from this feature, seeing upwards of 2x to 3x performance improvements depending on database latency. From e6e1b4e8146a84d2a2c5fe2c497c81d03dfc2ad3 Mon Sep 17 00:00:00 2001 From: Emmanuel Lucius <58217705+Emmaccen@users.noreply.github.com> Date: Fri, 14 Aug 2026 13:42:47 +0000 Subject: [PATCH 2/5] perf(db): replace sequential get-then-delete loop with parallel deletes in deleteSessions (#10805) Co-authored-by: ping-maxwell Co-authored-by: Maxwell <145994855+ping-maxwell@users.noreply.github.com> --- .changeset/pr-10805.md | 5 +++++ packages/better-auth/src/db/internal-adapter.ts | 9 +++------ 2 files changed, 8 insertions(+), 6 deletions(-) create mode 100644 .changeset/pr-10805.md diff --git a/.changeset/pr-10805.md b/.changeset/pr-10805.md new file mode 100644 index 0000000000..446f1cc2fa --- /dev/null +++ b/.changeset/pr-10805.md @@ -0,0 +1,5 @@ +--- +"better-auth": patch +--- + +Speed up batch session revocation when secondary storage is enabled by deleting sessions in parallel. diff --git a/packages/better-auth/src/db/internal-adapter.ts b/packages/better-auth/src/db/internal-adapter.ts index ba4061aee5..88d351b5fb 100644 --- a/packages/better-auth/src/db/internal-adapter.ts +++ b/packages/better-auth/src/db/internal-adapter.ts @@ -810,12 +810,9 @@ export const createInternalAdapter = ( }, deleteSessions: async (sessionTokens: string[]) => { if (secondaryStorage) { - for (const sessionToken of sessionTokens) { - const session = await secondaryStorage.get(sessionToken); - if (session) { - await secondaryStorage.delete(sessionToken); - } - } + await Promise.all( + sessionTokens.map((token) => secondaryStorage.delete(token)), + ); } if (databaseStoresSessions && !preservesDatabaseSessions) { await deleteManyWithHooks( From 58c49eb97f04ff18aa823318a3856a013353fdc2 Mon Sep 17 00:00:00 2001 From: "better-release[bot]" <273320539+better-release[bot]@users.noreply.github.com> Date: Fri, 14 Aug 2026 14:15:00 -0400 Subject: [PATCH 3/5] chore: release v1.6.29 (#10809) --- .changeset/pr-10805.md | 5 ----- packages/api-key/CHANGELOG.md | 8 ++++++++ packages/api-key/package.json | 2 +- packages/better-auth/CHANGELOG.md | 15 +++++++++++++++ packages/better-auth/package.json | 2 +- packages/cli/CHANGELOG.md | 9 +++++++++ packages/cli/package.json | 2 +- packages/core/CHANGELOG.md | 2 ++ packages/core/package.json | 2 +- packages/drizzle-adapter/CHANGELOG.md | 7 +++++++ packages/drizzle-adapter/package.json | 2 +- packages/electron/CHANGELOG.md | 8 ++++++++ packages/electron/package.json | 2 +- packages/expo/CHANGELOG.md | 8 ++++++++ packages/expo/package.json | 2 +- packages/i18n/CHANGELOG.md | 8 ++++++++ packages/i18n/package.json | 2 +- packages/kysely-adapter/CHANGELOG.md | 7 +++++++ packages/kysely-adapter/package.json | 2 +- packages/memory-adapter/CHANGELOG.md | 7 +++++++ packages/memory-adapter/package.json | 2 +- packages/mongo-adapter/CHANGELOG.md | 7 +++++++ packages/mongo-adapter/package.json | 2 +- packages/oauth-provider/CHANGELOG.md | 8 ++++++++ packages/oauth-provider/package.json | 2 +- packages/passkey/CHANGELOG.md | 8 ++++++++ packages/passkey/package.json | 2 +- packages/prisma-adapter/CHANGELOG.md | 7 +++++++ packages/prisma-adapter/package.json | 2 +- packages/redis-storage/CHANGELOG.md | 7 +++++++ packages/redis-storage/package.json | 2 +- packages/scim/CHANGELOG.md | 8 ++++++++ packages/scim/package.json | 2 +- packages/sso/CHANGELOG.md | 8 ++++++++ packages/sso/package.json | 2 +- packages/stripe/CHANGELOG.md | 8 ++++++++ packages/stripe/package.json | 2 +- packages/telemetry/CHANGELOG.md | 7 +++++++ packages/telemetry/package.json | 2 +- packages/test-utils/CHANGELOG.md | 8 ++++++++ packages/test-utils/package.json | 2 +- 41 files changed, 175 insertions(+), 25 deletions(-) delete mode 100644 .changeset/pr-10805.md diff --git a/.changeset/pr-10805.md b/.changeset/pr-10805.md deleted file mode 100644 index 446f1cc2fa..0000000000 --- a/.changeset/pr-10805.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"better-auth": patch ---- - -Speed up batch session revocation when secondary storage is enabled by deleting sessions in parallel. diff --git a/packages/api-key/CHANGELOG.md b/packages/api-key/CHANGELOG.md index fff39ad2c3..d94637bb7c 100644 --- a/packages/api-key/CHANGELOG.md +++ b/packages/api-key/CHANGELOG.md @@ -1,5 +1,13 @@ # @better-auth/api-key +## 1.6.29 + +### Patch Changes + +- Updated dependencies [[`e6e1b4e`](https://github.com/better-auth/better-auth/commit/e6e1b4e8146a84d2a2c5fe2c497c81d03dfc2ad3)]: + - better-auth@1.6.29 + - @better-auth/core@1.6.29 + ## 1.6.28 ### Patch Changes diff --git a/packages/api-key/package.json b/packages/api-key/package.json index b53294bb2b..7756a14e82 100644 --- a/packages/api-key/package.json +++ b/packages/api-key/package.json @@ -1,6 +1,6 @@ { "name": "@better-auth/api-key", - "version": "1.6.28", + "version": "1.6.29", "description": "API Key plugin for Better Auth.", "type": "module", "license": "MIT", diff --git a/packages/better-auth/CHANGELOG.md b/packages/better-auth/CHANGELOG.md index 382d3a26e5..720f20fac0 100644 --- a/packages/better-auth/CHANGELOG.md +++ b/packages/better-auth/CHANGELOG.md @@ -1,5 +1,20 @@ # better-auth +## 1.6.29 + +### Patch Changes + +- [#10805](https://github.com/better-auth/better-auth/pull/10805) [`e6e1b4e`](https://github.com/better-auth/better-auth/commit/e6e1b4e8146a84d2a2c5fe2c497c81d03dfc2ad3) Thanks [@Emmaccen](https://github.com/Emmaccen)! - Speed up batch session revocation when secondary storage is enabled by deleting sessions in parallel. + +- Updated dependencies []: + - @better-auth/core@1.6.29 + - @better-auth/drizzle-adapter@1.6.29 + - @better-auth/kysely-adapter@1.6.29 + - @better-auth/memory-adapter@1.6.29 + - @better-auth/mongo-adapter@1.6.29 + - @better-auth/prisma-adapter@1.6.29 + - @better-auth/telemetry@1.6.29 + ## 1.6.28 ### Patch Changes diff --git a/packages/better-auth/package.json b/packages/better-auth/package.json index 22cbe40eca..96eedb0f37 100644 --- a/packages/better-auth/package.json +++ b/packages/better-auth/package.json @@ -1,6 +1,6 @@ { "name": "better-auth", - "version": "1.6.28", + "version": "1.6.29", "description": "The most comprehensive authentication framework for TypeScript.", "type": "module", "license": "MIT", diff --git a/packages/cli/CHANGELOG.md b/packages/cli/CHANGELOG.md index 75ee2030f3..47651c65ac 100644 --- a/packages/cli/CHANGELOG.md +++ b/packages/cli/CHANGELOG.md @@ -1,5 +1,14 @@ # auth +## 1.6.29 + +### Patch Changes + +- Updated dependencies [[`e6e1b4e`](https://github.com/better-auth/better-auth/commit/e6e1b4e8146a84d2a2c5fe2c497c81d03dfc2ad3)]: + - better-auth@1.6.29 + - @better-auth/core@1.6.29 + - @better-auth/telemetry@1.6.29 + ## 1.6.28 ### Patch Changes diff --git a/packages/cli/package.json b/packages/cli/package.json index 0ec57ebfe3..9496a705cf 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "auth", - "version": "1.6.28", + "version": "1.6.29", "description": "The CLI for Better Auth", "type": "module", "license": "MIT", diff --git a/packages/core/CHANGELOG.md b/packages/core/CHANGELOG.md index 07cc6a4d86..d4a6bcc3a3 100644 --- a/packages/core/CHANGELOG.md +++ b/packages/core/CHANGELOG.md @@ -1,5 +1,7 @@ # @better-auth/core +## 1.6.29 + ## 1.6.28 ## 1.6.27 diff --git a/packages/core/package.json b/packages/core/package.json index 6b83811392..16e2fcf736 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@better-auth/core", - "version": "1.6.28", + "version": "1.6.29", "description": "The most comprehensive authentication framework for TypeScript.", "type": "module", "license": "MIT", diff --git a/packages/drizzle-adapter/CHANGELOG.md b/packages/drizzle-adapter/CHANGELOG.md index dcd176f3c7..c1897336c3 100644 --- a/packages/drizzle-adapter/CHANGELOG.md +++ b/packages/drizzle-adapter/CHANGELOG.md @@ -1,5 +1,12 @@ # @better-auth/drizzle-adapter +## 1.6.29 + +### Patch Changes + +- Updated dependencies []: + - @better-auth/core@1.6.29 + ## 1.6.28 ### Patch Changes diff --git a/packages/drizzle-adapter/package.json b/packages/drizzle-adapter/package.json index 829b003930..d438f4817a 100644 --- a/packages/drizzle-adapter/package.json +++ b/packages/drizzle-adapter/package.json @@ -1,6 +1,6 @@ { "name": "@better-auth/drizzle-adapter", - "version": "1.6.28", + "version": "1.6.29", "bugs": { "url": "https://github.com/better-auth/better-auth/issues" }, diff --git a/packages/electron/CHANGELOG.md b/packages/electron/CHANGELOG.md index 121b421b71..d43a56c1dd 100644 --- a/packages/electron/CHANGELOG.md +++ b/packages/electron/CHANGELOG.md @@ -1,5 +1,13 @@ # @better-auth/electron +## 1.6.29 + +### Patch Changes + +- Updated dependencies [[`e6e1b4e`](https://github.com/better-auth/better-auth/commit/e6e1b4e8146a84d2a2c5fe2c497c81d03dfc2ad3)]: + - better-auth@1.6.29 + - @better-auth/core@1.6.29 + ## 1.6.28 ### Patch Changes diff --git a/packages/electron/package.json b/packages/electron/package.json index 67e9e6441e..0ffe998021 100644 --- a/packages/electron/package.json +++ b/packages/electron/package.json @@ -1,6 +1,6 @@ { "name": "@better-auth/electron", - "version": "1.6.28", + "version": "1.6.29", "description": "Better Auth integration for Electron applications.", "type": "module", "license": "MIT", diff --git a/packages/expo/CHANGELOG.md b/packages/expo/CHANGELOG.md index 7a03edd441..4dfe540b5c 100644 --- a/packages/expo/CHANGELOG.md +++ b/packages/expo/CHANGELOG.md @@ -1,5 +1,13 @@ # @better-auth/expo +## 1.6.29 + +### Patch Changes + +- Updated dependencies [[`e6e1b4e`](https://github.com/better-auth/better-auth/commit/e6e1b4e8146a84d2a2c5fe2c497c81d03dfc2ad3)]: + - better-auth@1.6.29 + - @better-auth/core@1.6.29 + ## 1.6.28 ### Patch Changes diff --git a/packages/expo/package.json b/packages/expo/package.json index 27c4890679..f5c9f08f9a 100644 --- a/packages/expo/package.json +++ b/packages/expo/package.json @@ -1,6 +1,6 @@ { "name": "@better-auth/expo", - "version": "1.6.28", + "version": "1.6.29", "description": "Better Auth integration for Expo and React Native applications.", "type": "module", "license": "MIT", diff --git a/packages/i18n/CHANGELOG.md b/packages/i18n/CHANGELOG.md index a8009a2f80..f0f669d9e0 100644 --- a/packages/i18n/CHANGELOG.md +++ b/packages/i18n/CHANGELOG.md @@ -1,5 +1,13 @@ # @better-auth/i18n +## 1.6.29 + +### Patch Changes + +- Updated dependencies [[`e6e1b4e`](https://github.com/better-auth/better-auth/commit/e6e1b4e8146a84d2a2c5fe2c497c81d03dfc2ad3)]: + - better-auth@1.6.29 + - @better-auth/core@1.6.29 + ## 1.6.28 ### Patch Changes diff --git a/packages/i18n/package.json b/packages/i18n/package.json index 5196a9eb07..a428e05e0c 100644 --- a/packages/i18n/package.json +++ b/packages/i18n/package.json @@ -1,6 +1,6 @@ { "name": "@better-auth/i18n", - "version": "1.6.28", + "version": "1.6.29", "description": "i18n plugin for Better Auth - translate error messages", "type": "module", "license": "MIT", diff --git a/packages/kysely-adapter/CHANGELOG.md b/packages/kysely-adapter/CHANGELOG.md index c410c3036b..f25d637d2c 100644 --- a/packages/kysely-adapter/CHANGELOG.md +++ b/packages/kysely-adapter/CHANGELOG.md @@ -1,5 +1,12 @@ # @better-auth/kysely-adapter +## 1.6.29 + +### Patch Changes + +- Updated dependencies []: + - @better-auth/core@1.6.29 + ## 1.6.28 ### Patch Changes diff --git a/packages/kysely-adapter/package.json b/packages/kysely-adapter/package.json index f0e203e1e8..524ef1041a 100644 --- a/packages/kysely-adapter/package.json +++ b/packages/kysely-adapter/package.json @@ -1,6 +1,6 @@ { "name": "@better-auth/kysely-adapter", - "version": "1.6.28", + "version": "1.6.29", "description": "Kysely adapter for Better Auth", "type": "module", "license": "MIT", diff --git a/packages/memory-adapter/CHANGELOG.md b/packages/memory-adapter/CHANGELOG.md index 312ed3f2d8..ec89a182f7 100644 --- a/packages/memory-adapter/CHANGELOG.md +++ b/packages/memory-adapter/CHANGELOG.md @@ -1,5 +1,12 @@ # @better-auth/memory-adapter +## 1.6.29 + +### Patch Changes + +- Updated dependencies []: + - @better-auth/core@1.6.29 + ## 1.6.28 ### Patch Changes diff --git a/packages/memory-adapter/package.json b/packages/memory-adapter/package.json index 4401789b0a..b41bc7299d 100644 --- a/packages/memory-adapter/package.json +++ b/packages/memory-adapter/package.json @@ -1,6 +1,6 @@ { "name": "@better-auth/memory-adapter", - "version": "1.6.28", + "version": "1.6.29", "description": "Memory adapter for Better Auth", "type": "module", "license": "MIT", diff --git a/packages/mongo-adapter/CHANGELOG.md b/packages/mongo-adapter/CHANGELOG.md index 4e3a4f9760..44ddf078fc 100644 --- a/packages/mongo-adapter/CHANGELOG.md +++ b/packages/mongo-adapter/CHANGELOG.md @@ -1,5 +1,12 @@ # @better-auth/mongo-adapter +## 1.6.29 + +### Patch Changes + +- Updated dependencies []: + - @better-auth/core@1.6.29 + ## 1.6.28 ### Patch Changes diff --git a/packages/mongo-adapter/package.json b/packages/mongo-adapter/package.json index 6a4b8867ab..fef87eda32 100644 --- a/packages/mongo-adapter/package.json +++ b/packages/mongo-adapter/package.json @@ -1,6 +1,6 @@ { "name": "@better-auth/mongo-adapter", - "version": "1.6.28", + "version": "1.6.29", "description": "Mongo adapter for Better Auth", "type": "module", "license": "MIT", diff --git a/packages/oauth-provider/CHANGELOG.md b/packages/oauth-provider/CHANGELOG.md index c4729ae19b..6777ae414c 100644 --- a/packages/oauth-provider/CHANGELOG.md +++ b/packages/oauth-provider/CHANGELOG.md @@ -1,5 +1,13 @@ # @better-auth/oauth-provider +## 1.6.29 + +### Patch Changes + +- Updated dependencies [[`e6e1b4e`](https://github.com/better-auth/better-auth/commit/e6e1b4e8146a84d2a2c5fe2c497c81d03dfc2ad3)]: + - better-auth@1.6.29 + - @better-auth/core@1.6.29 + ## 1.6.28 ### Patch Changes diff --git a/packages/oauth-provider/package.json b/packages/oauth-provider/package.json index 1e87f80640..c07c7b1911 100644 --- a/packages/oauth-provider/package.json +++ b/packages/oauth-provider/package.json @@ -1,6 +1,6 @@ { "name": "@better-auth/oauth-provider", - "version": "1.6.28", + "version": "1.6.29", "description": "An oauth provider plugin for Better Auth", "type": "module", "license": "MIT", diff --git a/packages/passkey/CHANGELOG.md b/packages/passkey/CHANGELOG.md index b886773540..496bfc9299 100644 --- a/packages/passkey/CHANGELOG.md +++ b/packages/passkey/CHANGELOG.md @@ -1,5 +1,13 @@ # @better-auth/passkey +## 1.6.29 + +### Patch Changes + +- Updated dependencies [[`e6e1b4e`](https://github.com/better-auth/better-auth/commit/e6e1b4e8146a84d2a2c5fe2c497c81d03dfc2ad3)]: + - better-auth@1.6.29 + - @better-auth/core@1.6.29 + ## 1.6.28 ### Patch Changes diff --git a/packages/passkey/package.json b/packages/passkey/package.json index c0f4332d81..a8af71a146 100644 --- a/packages/passkey/package.json +++ b/packages/passkey/package.json @@ -1,6 +1,6 @@ { "name": "@better-auth/passkey", - "version": "1.6.28", + "version": "1.6.29", "description": "Passkey plugin for Better Auth", "type": "module", "license": "MIT", diff --git a/packages/prisma-adapter/CHANGELOG.md b/packages/prisma-adapter/CHANGELOG.md index f6e1e99b0a..c17ddc964c 100644 --- a/packages/prisma-adapter/CHANGELOG.md +++ b/packages/prisma-adapter/CHANGELOG.md @@ -1,5 +1,12 @@ # @better-auth/prisma-adapter +## 1.6.29 + +### Patch Changes + +- Updated dependencies []: + - @better-auth/core@1.6.29 + ## 1.6.28 ### Patch Changes diff --git a/packages/prisma-adapter/package.json b/packages/prisma-adapter/package.json index 81f56bbc2f..7e93dbde69 100644 --- a/packages/prisma-adapter/package.json +++ b/packages/prisma-adapter/package.json @@ -1,6 +1,6 @@ { "name": "@better-auth/prisma-adapter", - "version": "1.6.28", + "version": "1.6.29", "description": "Prisma adapter for Better Auth", "type": "module", "license": "MIT", diff --git a/packages/redis-storage/CHANGELOG.md b/packages/redis-storage/CHANGELOG.md index 98ca0bf14a..3f8bf4c028 100644 --- a/packages/redis-storage/CHANGELOG.md +++ b/packages/redis-storage/CHANGELOG.md @@ -1,5 +1,12 @@ # @better-auth/redis-storage +## 1.6.29 + +### Patch Changes + +- Updated dependencies []: + - @better-auth/core@1.6.29 + ## 1.6.28 ### Patch Changes diff --git a/packages/redis-storage/package.json b/packages/redis-storage/package.json index 8bfdcd26e6..aaa386edca 100644 --- a/packages/redis-storage/package.json +++ b/packages/redis-storage/package.json @@ -1,6 +1,6 @@ { "name": "@better-auth/redis-storage", - "version": "1.6.28", + "version": "1.6.29", "description": "Redis storage for Better Auth secondary storage", "type": "module", "license": "MIT", diff --git a/packages/scim/CHANGELOG.md b/packages/scim/CHANGELOG.md index b7f44d3845..39a2adfa0b 100644 --- a/packages/scim/CHANGELOG.md +++ b/packages/scim/CHANGELOG.md @@ -1,5 +1,13 @@ # @better-auth/scim +## 1.6.29 + +### Patch Changes + +- Updated dependencies [[`e6e1b4e`](https://github.com/better-auth/better-auth/commit/e6e1b4e8146a84d2a2c5fe2c497c81d03dfc2ad3)]: + - better-auth@1.6.29 + - @better-auth/core@1.6.29 + ## 1.6.28 ### Patch Changes diff --git a/packages/scim/package.json b/packages/scim/package.json index e918e9059f..3ff52dc7b6 100644 --- a/packages/scim/package.json +++ b/packages/scim/package.json @@ -1,6 +1,6 @@ { "name": "@better-auth/scim", - "version": "1.6.28", + "version": "1.6.29", "description": "SCIM plugin for Better Auth", "type": "module", "license": "MIT", diff --git a/packages/sso/CHANGELOG.md b/packages/sso/CHANGELOG.md index 352874a91b..814ace8b77 100644 --- a/packages/sso/CHANGELOG.md +++ b/packages/sso/CHANGELOG.md @@ -1,5 +1,13 @@ # @better-auth/sso +## 1.6.29 + +### Patch Changes + +- Updated dependencies [[`e6e1b4e`](https://github.com/better-auth/better-auth/commit/e6e1b4e8146a84d2a2c5fe2c497c81d03dfc2ad3)]: + - better-auth@1.6.29 + - @better-auth/core@1.6.29 + ## 1.6.28 ### Patch Changes diff --git a/packages/sso/package.json b/packages/sso/package.json index 7e5cf7ff6d..6a43afd526 100644 --- a/packages/sso/package.json +++ b/packages/sso/package.json @@ -1,6 +1,6 @@ { "name": "@better-auth/sso", - "version": "1.6.28", + "version": "1.6.29", "description": "SSO plugin for Better Auth", "type": "module", "license": "MIT", diff --git a/packages/stripe/CHANGELOG.md b/packages/stripe/CHANGELOG.md index 859f65e82f..503f0a10d8 100644 --- a/packages/stripe/CHANGELOG.md +++ b/packages/stripe/CHANGELOG.md @@ -1,5 +1,13 @@ # @better-auth/stripe +## 1.6.29 + +### Patch Changes + +- Updated dependencies [[`e6e1b4e`](https://github.com/better-auth/better-auth/commit/e6e1b4e8146a84d2a2c5fe2c497c81d03dfc2ad3)]: + - better-auth@1.6.29 + - @better-auth/core@1.6.29 + ## 1.6.28 ### Patch Changes diff --git a/packages/stripe/package.json b/packages/stripe/package.json index 34d96e13f7..efbc89f1f8 100644 --- a/packages/stripe/package.json +++ b/packages/stripe/package.json @@ -1,6 +1,6 @@ { "name": "@better-auth/stripe", - "version": "1.6.28", + "version": "1.6.29", "description": "Stripe plugin for Better Auth", "type": "module", "license": "MIT", diff --git a/packages/telemetry/CHANGELOG.md b/packages/telemetry/CHANGELOG.md index d48ed59a7e..e7e60f58e4 100644 --- a/packages/telemetry/CHANGELOG.md +++ b/packages/telemetry/CHANGELOG.md @@ -1,5 +1,12 @@ # @better-auth/telemetry +## 1.6.29 + +### Patch Changes + +- Updated dependencies []: + - @better-auth/core@1.6.29 + ## 1.6.28 ### Patch Changes diff --git a/packages/telemetry/package.json b/packages/telemetry/package.json index ba4c0810f4..ba54360560 100644 --- a/packages/telemetry/package.json +++ b/packages/telemetry/package.json @@ -1,6 +1,6 @@ { "name": "@better-auth/telemetry", - "version": "1.6.28", + "version": "1.6.29", "description": "Telemetry package for Better Auth", "type": "module", "license": "MIT", diff --git a/packages/test-utils/CHANGELOG.md b/packages/test-utils/CHANGELOG.md index 38d4e06414..e9f1f7bb10 100644 --- a/packages/test-utils/CHANGELOG.md +++ b/packages/test-utils/CHANGELOG.md @@ -1,5 +1,13 @@ # @better-auth/test-utils +## 1.6.29 + +### Patch Changes + +- Updated dependencies [[`e6e1b4e`](https://github.com/better-auth/better-auth/commit/e6e1b4e8146a84d2a2c5fe2c497c81d03dfc2ad3)]: + - better-auth@1.6.29 + - @better-auth/core@1.6.29 + ## 1.6.28 ### Patch Changes diff --git a/packages/test-utils/package.json b/packages/test-utils/package.json index d9c7070a72..ba0ffdc3b9 100644 --- a/packages/test-utils/package.json +++ b/packages/test-utils/package.json @@ -1,6 +1,6 @@ { "name": "@better-auth/test-utils", - "version": "1.6.28", + "version": "1.6.29", "description": "Testing utilities for Better Auth adapter development", "type": "module", "license": "MIT", From 07c17189f58502bf038e5f22766f8a99df60ac99 Mon Sep 17 00:00:00 2001 From: Taesu <166604494+bytaesu@users.noreply.github.com> Date: Mon, 17 Aug 2026 17:37:39 +0000 Subject: [PATCH 4/5] fix(core): prevent async context initialization races (#10833) --- .changeset/calm-contexts-share.md | 5 ++ .../core/src/context/endpoint-context.test.ts | 48 +++++++++++++ packages/core/src/context/endpoint-context.ts | 10 +-- .../core/src/context/request-state.test.ts | 67 +++++++++++-------- packages/core/src/context/request-state.ts | 28 ++------ packages/core/src/context/transaction.test.ts | 52 +++++++++++++- packages/core/src/context/transaction.ts | 10 +-- 7 files changed, 159 insertions(+), 61 deletions(-) create mode 100644 .changeset/calm-contexts-share.md create mode 100644 packages/core/src/context/endpoint-context.test.ts diff --git a/.changeset/calm-contexts-share.md b/.changeset/calm-contexts-share.md new file mode 100644 index 0000000000..ad9244c432 --- /dev/null +++ b/.changeset/calm-contexts-share.md @@ -0,0 +1,5 @@ +--- +"@better-auth/core": patch +--- + +Prevent concurrent cold-start requests from intermittently losing authentication or transaction context. diff --git a/packages/core/src/context/endpoint-context.test.ts b/packages/core/src/context/endpoint-context.test.ts new file mode 100644 index 0000000000..bfeea96f1b --- /dev/null +++ b/packages/core/src/context/endpoint-context.test.ts @@ -0,0 +1,48 @@ +import { describe, expect, it, onTestFinished, vi } from "vitest"; +import type { AuthEndpointContext } from "./endpoint-context"; +import { __getBetterAuthGlobal } from "./global"; + +describe("runWithEndpointContext", () => { + /** + * @see https://github.com/better-auth/better-auth/issues/10832 + */ + it("preserves each endpoint context across concurrent first calls", async () => { + vi.resetModules(); + const globalContext = __getBetterAuthGlobal().context; + const previousStorageDescriptor = Object.getOwnPropertyDescriptor( + globalContext, + "endpointContextAsyncStorage", + ); + onTestFinished(() => { + if (previousStorageDescriptor) { + Object.defineProperty( + globalContext, + "endpointContextAsyncStorage", + previousStorageDescriptor, + ); + } else { + Reflect.deleteProperty(globalContext, "endpointContextAsyncStorage"); + } + }); + Reflect.deleteProperty(globalContext, "endpointContextAsyncStorage"); + const mod = await import("./endpoint-context"); + + const contexts = Array.from( + { length: 32 }, + () => ({}) as AuthEndpointContext, + ); + const currentContexts = await Promise.all( + contexts.map((context) => + mod.runWithEndpointContext(context, async () => { + await Promise.resolve(); + return mod.getCurrentAuthContext(); + }), + ), + ); + + const matchingContextCount = currentContexts.filter( + (currentContext, index) => currentContext === contexts[index], + ).length; + expect(matchingContextCount).toBe(contexts.length); + }); +}); diff --git a/packages/core/src/context/endpoint-context.ts b/packages/core/src/context/endpoint-context.ts index 1c1ba1b3af..6545dd29c8 100644 --- a/packages/core/src/context/endpoint-context.ts +++ b/packages/core/src/context/endpoint-context.ts @@ -12,11 +12,13 @@ export type AuthEndpointContext = Partial< const ensureAsyncStorage = async () => { const betterAuthGlobal = __getBetterAuthGlobal(); - if (!betterAuthGlobal.context.endpointContextAsyncStorage) { - const AsyncLocalStorage = await getAsyncLocalStorage(); - betterAuthGlobal.context.endpointContextAsyncStorage = - new AsyncLocalStorage(); + const existing = betterAuthGlobal.context.endpointContextAsyncStorage; + if (existing) { + return existing as AsyncLocalStorage; } + const AsyncLocalStorage = await getAsyncLocalStorage(); + betterAuthGlobal.context.endpointContextAsyncStorage ??= + new AsyncLocalStorage(); return betterAuthGlobal.context .endpointContextAsyncStorage as AsyncLocalStorage; }; diff --git a/packages/core/src/context/request-state.test.ts b/packages/core/src/context/request-state.test.ts index 4d09e5cf26..92bda6f2f6 100644 --- a/packages/core/src/context/request-state.test.ts +++ b/packages/core/src/context/request-state.test.ts @@ -1,4 +1,5 @@ -import { describe, expect, it, vi } from "vitest"; +import { describe, expect, it, onTestFinished, vi } from "vitest"; +import { __getBetterAuthGlobal } from "./global"; import type { RequestStateWeakMap } from "./request-state"; import { defineRequestState, @@ -92,40 +93,48 @@ describe("request-state", () => { }); }); - describe("AsyncLocalStorage init race", () => { - it("shares one AsyncLocalStorage across concurrent first-callers", async () => { - // Force a cold start: reset the module (clears the memoized init) and - // clear the global singleton, so the concurrent burst below all races - // through ensureAsyncStorage()'s lazy initialization. + describe("concurrent first calls", () => { + /** + * @see https://github.com/better-auth/better-auth/issues/10832 + */ + it("preserves each request state", async () => { vi.resetModules(); - const betterAuthGlobalSymbol = Symbol.for("better-auth:global"); - const betterAuthGlobal = (globalThis as any)[betterAuthGlobalSymbol]; - if (betterAuthGlobal?.context) { - betterAuthGlobal.context.requestStateAsyncStorage = undefined; - } + const globalContext = __getBetterAuthGlobal().context; + const previousStorageDescriptor = Object.getOwnPropertyDescriptor( + globalContext, + "requestStateAsyncStorage", + ); + onTestFinished(() => { + if (previousStorageDescriptor) { + Object.defineProperty( + globalContext, + "requestStateAsyncStorage", + previousStorageDescriptor, + ); + } else { + Reflect.deleteProperty(globalContext, "requestStateAsyncStorage"); + } + }); + Reflect.deleteProperty(globalContext, "requestStateAsyncStorage"); const mod = await import("./request-state"); - const N = 32; - const outcomes = await Promise.all( - Array.from({ length: N }, () => - mod - .runWithRequestState(new WeakMap(), async () => { - // Yield so every caller interleaves through the cold init - // window before any of them reads its state back. - await Promise.resolve(); - await new Promise((resolve) => setTimeout(resolve, 0)); - // Throws "No request state found" if this caller's run() - // executed on a different instance than the one resolved here. - await mod.getCurrentRequestState(); - }) - .then( - () => true, - () => false, - ), + const stores: RequestStateWeakMap[] = Array.from( + { length: 32 }, + () => new WeakMap(), + ); + const currentStores = await Promise.all( + stores.map((store) => + mod.runWithRequestState(store, async () => { + await Promise.resolve(); + return mod.getCurrentRequestState(); + }), ), ); - expect(outcomes.every(Boolean)).toBe(true); + const matchingStoreCount = currentStores.filter( + (currentStore, index) => currentStore === stores[index], + ).length; + expect(matchingStoreCount).toBe(stores.length); }); }); }); diff --git a/packages/core/src/context/request-state.ts b/packages/core/src/context/request-state.ts index be5af622a7..2e9df4fccd 100644 --- a/packages/core/src/context/request-state.ts +++ b/packages/core/src/context/request-state.ts @@ -4,35 +4,17 @@ import { __getBetterAuthGlobal } from "./global"; export type RequestStateWeakMap = WeakMap; -// Memoizes the in-flight AsyncLocalStorage initialization so concurrent -// first-callers share a single instance instead of each constructing one. -let asyncStorageInit: Promise> | null = - null; - const ensureAsyncStorage = async () => { const betterAuthGlobal = __getBetterAuthGlobal(); const existing = betterAuthGlobal.context.requestStateAsyncStorage; if (existing) { return existing as AsyncLocalStorage; } - // Without memoizing the init, several concurrent callers can each pass the - // check above, each `await getAsyncLocalStorage()`, and each assign a fresh - // instance — last write wins. `runWithRequestState().run()` then executes on - // one instance while a nested `getCurrentRequestState()` reads the - // overwritten one, throwing "No request state found". This shows up - // intermittently on serverless cold start (e.g. Cloudflare Workers), where - // the first requests hit before the lazy `node:async_hooks` import settles. - // The idempotent `??=` keeps the global singleton stable even if multiple - // BetterAuth copies (Dual Module Hazard) race here. - if (!asyncStorageInit) { - asyncStorageInit = getAsyncLocalStorage().then((AsyncLocalStorage) => { - betterAuthGlobal.context.requestStateAsyncStorage ??= - new AsyncLocalStorage(); - return betterAuthGlobal.context - .requestStateAsyncStorage as AsyncLocalStorage; - }); - } - return asyncStorageInit; + const AsyncLocalStorage = await getAsyncLocalStorage(); + betterAuthGlobal.context.requestStateAsyncStorage ??= + new AsyncLocalStorage(); + return betterAuthGlobal.context + .requestStateAsyncStorage as AsyncLocalStorage; }; export async function getRequestStateAsyncLocalStorage() { diff --git a/packages/core/src/context/transaction.test.ts b/packages/core/src/context/transaction.test.ts index e88ea3cb17..1a142ea508 100644 --- a/packages/core/src/context/transaction.test.ts +++ b/packages/core/src/context/transaction.test.ts @@ -1,5 +1,6 @@ -import { describe, expect, it } from "vitest"; +import { describe, expect, it, onTestFinished, vi } from "vitest"; import type { DBAdapter, DBTransactionAdapter } from "../db/adapter"; +import { __getBetterAuthGlobal } from "./global"; import { getCurrentAdapter, queueAfterTransactionHook, @@ -81,4 +82,53 @@ describe("runWithTransaction", () => { expect(hookRunsInsideTransaction).toBe(0); expect(hookRuns).toBe(1); }); + + /** + * @see https://github.com/better-auth/better-auth/issues/10832 + */ + it("preserves each transaction adapter across concurrent first calls", async () => { + vi.resetModules(); + const globalContext = __getBetterAuthGlobal().context; + const previousStorageDescriptor = Object.getOwnPropertyDescriptor( + globalContext, + "adapterAsyncStorage", + ); + onTestFinished(() => { + if (previousStorageDescriptor) { + Object.defineProperty( + globalContext, + "adapterAsyncStorage", + previousStorageDescriptor, + ); + } else { + Reflect.deleteProperty(globalContext, "adapterAsyncStorage"); + } + }); + Reflect.deleteProperty(globalContext, "adapterAsyncStorage"); + const mod = await import("./transaction"); + const harnesses = Array.from({ length: 32 }, () => { + const transactionAdapter = {} as DBTransactionAdapter; + const adapter = { + transaction: async ( + callback: (trx: DBTransactionAdapter) => Promise, + ) => callback(transactionAdapter), + } as DBAdapter; + return { adapter, transactionAdapter }; + }); + + const currentAdapters = await Promise.all( + harnesses.map(({ adapter }) => + mod.runWithTransaction(adapter, async () => { + await Promise.resolve(); + return mod.getCurrentAdapter(adapter); + }), + ), + ); + + const transactionAdapterCount = currentAdapters.filter( + (currentAdapter, index) => + currentAdapter === harnesses[index]?.transactionAdapter, + ).length; + expect(transactionAdapterCount).toBe(harnesses.length); + }); }); diff --git a/packages/core/src/context/transaction.ts b/packages/core/src/context/transaction.ts index 303f28751b..c46e4e97b8 100644 --- a/packages/core/src/context/transaction.ts +++ b/packages/core/src/context/transaction.ts @@ -1,4 +1,4 @@ -import type { AsyncLocalStorage } from "node:async_hooks"; +import type { AsyncLocalStorage } from "@better-auth/core/async_hooks"; import { getAsyncLocalStorage } from "@better-auth/core/async_hooks"; import type { DBAdapter, DBTransactionAdapter } from "../db/adapter"; import type { BetterAuthOptions } from "../types"; @@ -14,10 +14,12 @@ type HookContext = { const ensureAsyncStorage = async () => { const betterAuthGlobal = __getBetterAuthGlobal(); - if (!betterAuthGlobal.context.adapterAsyncStorage) { - const AsyncLocalStorage = await getAsyncLocalStorage(); - betterAuthGlobal.context.adapterAsyncStorage = new AsyncLocalStorage(); + const existing = betterAuthGlobal.context.adapterAsyncStorage; + if (existing) { + return existing as AsyncLocalStorage; } + const AsyncLocalStorage = await getAsyncLocalStorage(); + betterAuthGlobal.context.adapterAsyncStorage ??= new AsyncLocalStorage(); return betterAuthGlobal.context .adapterAsyncStorage as AsyncLocalStorage; }; From e84ec5e76d30e10fd692e8084177360484d538c1 Mon Sep 17 00:00:00 2001 From: "better-release[bot]" <273320539+better-release[bot]@users.noreply.github.com> Date: Mon, 17 Aug 2026 15:05:06 -0400 Subject: [PATCH 5/5] chore: release v1.6.30 (#10840) --- .changeset/calm-contexts-share.md | 5 ----- packages/api-key/CHANGELOG.md | 8 ++++++++ packages/api-key/package.json | 2 +- packages/better-auth/CHANGELOG.md | 13 +++++++++++++ packages/better-auth/package.json | 2 +- packages/cli/CHANGELOG.md | 9 +++++++++ packages/cli/package.json | 2 +- packages/core/CHANGELOG.md | 6 ++++++ packages/core/package.json | 2 +- packages/drizzle-adapter/CHANGELOG.md | 7 +++++++ packages/drizzle-adapter/package.json | 2 +- packages/electron/CHANGELOG.md | 8 ++++++++ packages/electron/package.json | 2 +- packages/expo/CHANGELOG.md | 8 ++++++++ packages/expo/package.json | 2 +- packages/i18n/CHANGELOG.md | 8 ++++++++ packages/i18n/package.json | 2 +- packages/kysely-adapter/CHANGELOG.md | 7 +++++++ packages/kysely-adapter/package.json | 2 +- packages/memory-adapter/CHANGELOG.md | 7 +++++++ packages/memory-adapter/package.json | 2 +- packages/mongo-adapter/CHANGELOG.md | 7 +++++++ packages/mongo-adapter/package.json | 2 +- packages/oauth-provider/CHANGELOG.md | 8 ++++++++ packages/oauth-provider/package.json | 2 +- packages/passkey/CHANGELOG.md | 8 ++++++++ packages/passkey/package.json | 2 +- packages/prisma-adapter/CHANGELOG.md | 7 +++++++ packages/prisma-adapter/package.json | 2 +- packages/redis-storage/CHANGELOG.md | 7 +++++++ packages/redis-storage/package.json | 2 +- packages/scim/CHANGELOG.md | 8 ++++++++ packages/scim/package.json | 2 +- packages/sso/CHANGELOG.md | 8 ++++++++ packages/sso/package.json | 2 +- packages/stripe/CHANGELOG.md | 8 ++++++++ packages/stripe/package.json | 2 +- packages/telemetry/CHANGELOG.md | 7 +++++++ packages/telemetry/package.json | 2 +- packages/test-utils/CHANGELOG.md | 8 ++++++++ packages/test-utils/package.json | 2 +- 41 files changed, 177 insertions(+), 25 deletions(-) delete mode 100644 .changeset/calm-contexts-share.md diff --git a/.changeset/calm-contexts-share.md b/.changeset/calm-contexts-share.md deleted file mode 100644 index ad9244c432..0000000000 --- a/.changeset/calm-contexts-share.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@better-auth/core": patch ---- - -Prevent concurrent cold-start requests from intermittently losing authentication or transaction context. diff --git a/packages/api-key/CHANGELOG.md b/packages/api-key/CHANGELOG.md index d94637bb7c..c98e298aac 100644 --- a/packages/api-key/CHANGELOG.md +++ b/packages/api-key/CHANGELOG.md @@ -1,5 +1,13 @@ # @better-auth/api-key +## 1.6.30 + +### Patch Changes + +- Updated dependencies [[`07c1718`](https://github.com/better-auth/better-auth/commit/07c17189f58502bf038e5f22766f8a99df60ac99)]: + - @better-auth/core@1.6.30 + - better-auth@1.6.30 + ## 1.6.29 ### Patch Changes diff --git a/packages/api-key/package.json b/packages/api-key/package.json index 7756a14e82..c5e17da889 100644 --- a/packages/api-key/package.json +++ b/packages/api-key/package.json @@ -1,6 +1,6 @@ { "name": "@better-auth/api-key", - "version": "1.6.29", + "version": "1.6.30", "description": "API Key plugin for Better Auth.", "type": "module", "license": "MIT", diff --git a/packages/better-auth/CHANGELOG.md b/packages/better-auth/CHANGELOG.md index 720f20fac0..0a8bae3d24 100644 --- a/packages/better-auth/CHANGELOG.md +++ b/packages/better-auth/CHANGELOG.md @@ -1,5 +1,18 @@ # better-auth +## 1.6.30 + +### Patch Changes + +- Updated dependencies [[`07c1718`](https://github.com/better-auth/better-auth/commit/07c17189f58502bf038e5f22766f8a99df60ac99)]: + - @better-auth/core@1.6.30 + - @better-auth/drizzle-adapter@1.6.30 + - @better-auth/kysely-adapter@1.6.30 + - @better-auth/memory-adapter@1.6.30 + - @better-auth/mongo-adapter@1.6.30 + - @better-auth/prisma-adapter@1.6.30 + - @better-auth/telemetry@1.6.30 + ## 1.6.29 ### Patch Changes diff --git a/packages/better-auth/package.json b/packages/better-auth/package.json index 96eedb0f37..d6aaecefee 100644 --- a/packages/better-auth/package.json +++ b/packages/better-auth/package.json @@ -1,6 +1,6 @@ { "name": "better-auth", - "version": "1.6.29", + "version": "1.6.30", "description": "The most comprehensive authentication framework for TypeScript.", "type": "module", "license": "MIT", diff --git a/packages/cli/CHANGELOG.md b/packages/cli/CHANGELOG.md index 47651c65ac..587620114c 100644 --- a/packages/cli/CHANGELOG.md +++ b/packages/cli/CHANGELOG.md @@ -1,5 +1,14 @@ # auth +## 1.6.30 + +### Patch Changes + +- Updated dependencies [[`07c1718`](https://github.com/better-auth/better-auth/commit/07c17189f58502bf038e5f22766f8a99df60ac99)]: + - @better-auth/core@1.6.30 + - better-auth@1.6.30 + - @better-auth/telemetry@1.6.30 + ## 1.6.29 ### Patch Changes diff --git a/packages/cli/package.json b/packages/cli/package.json index 9496a705cf..d7a7de7a4f 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "auth", - "version": "1.6.29", + "version": "1.6.30", "description": "The CLI for Better Auth", "type": "module", "license": "MIT", diff --git a/packages/core/CHANGELOG.md b/packages/core/CHANGELOG.md index d4a6bcc3a3..6cc949d368 100644 --- a/packages/core/CHANGELOG.md +++ b/packages/core/CHANGELOG.md @@ -1,5 +1,11 @@ # @better-auth/core +## 1.6.30 + +### Patch Changes + +- [#10833](https://github.com/better-auth/better-auth/pull/10833) [`07c1718`](https://github.com/better-auth/better-auth/commit/07c17189f58502bf038e5f22766f8a99df60ac99) Thanks [@bytaesu](https://github.com/bytaesu)! - Prevent concurrent cold-start requests from intermittently losing authentication or transaction context. + ## 1.6.29 ## 1.6.28 diff --git a/packages/core/package.json b/packages/core/package.json index 16e2fcf736..ab69cad4ae 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@better-auth/core", - "version": "1.6.29", + "version": "1.6.30", "description": "The most comprehensive authentication framework for TypeScript.", "type": "module", "license": "MIT", diff --git a/packages/drizzle-adapter/CHANGELOG.md b/packages/drizzle-adapter/CHANGELOG.md index c1897336c3..7aa743a450 100644 --- a/packages/drizzle-adapter/CHANGELOG.md +++ b/packages/drizzle-adapter/CHANGELOG.md @@ -1,5 +1,12 @@ # @better-auth/drizzle-adapter +## 1.6.30 + +### Patch Changes + +- Updated dependencies [[`07c1718`](https://github.com/better-auth/better-auth/commit/07c17189f58502bf038e5f22766f8a99df60ac99)]: + - @better-auth/core@1.6.30 + ## 1.6.29 ### Patch Changes diff --git a/packages/drizzle-adapter/package.json b/packages/drizzle-adapter/package.json index d438f4817a..db5efdddde 100644 --- a/packages/drizzle-adapter/package.json +++ b/packages/drizzle-adapter/package.json @@ -1,6 +1,6 @@ { "name": "@better-auth/drizzle-adapter", - "version": "1.6.29", + "version": "1.6.30", "bugs": { "url": "https://github.com/better-auth/better-auth/issues" }, diff --git a/packages/electron/CHANGELOG.md b/packages/electron/CHANGELOG.md index d43a56c1dd..847f041a96 100644 --- a/packages/electron/CHANGELOG.md +++ b/packages/electron/CHANGELOG.md @@ -1,5 +1,13 @@ # @better-auth/electron +## 1.6.30 + +### Patch Changes + +- Updated dependencies [[`07c1718`](https://github.com/better-auth/better-auth/commit/07c17189f58502bf038e5f22766f8a99df60ac99)]: + - @better-auth/core@1.6.30 + - better-auth@1.6.30 + ## 1.6.29 ### Patch Changes diff --git a/packages/electron/package.json b/packages/electron/package.json index 0ffe998021..bd10d3d4ef 100644 --- a/packages/electron/package.json +++ b/packages/electron/package.json @@ -1,6 +1,6 @@ { "name": "@better-auth/electron", - "version": "1.6.29", + "version": "1.6.30", "description": "Better Auth integration for Electron applications.", "type": "module", "license": "MIT", diff --git a/packages/expo/CHANGELOG.md b/packages/expo/CHANGELOG.md index 4dfe540b5c..98e21a8b6e 100644 --- a/packages/expo/CHANGELOG.md +++ b/packages/expo/CHANGELOG.md @@ -1,5 +1,13 @@ # @better-auth/expo +## 1.6.30 + +### Patch Changes + +- Updated dependencies [[`07c1718`](https://github.com/better-auth/better-auth/commit/07c17189f58502bf038e5f22766f8a99df60ac99)]: + - @better-auth/core@1.6.30 + - better-auth@1.6.30 + ## 1.6.29 ### Patch Changes diff --git a/packages/expo/package.json b/packages/expo/package.json index f5c9f08f9a..1598d0d091 100644 --- a/packages/expo/package.json +++ b/packages/expo/package.json @@ -1,6 +1,6 @@ { "name": "@better-auth/expo", - "version": "1.6.29", + "version": "1.6.30", "description": "Better Auth integration for Expo and React Native applications.", "type": "module", "license": "MIT", diff --git a/packages/i18n/CHANGELOG.md b/packages/i18n/CHANGELOG.md index f0f669d9e0..109551d5eb 100644 --- a/packages/i18n/CHANGELOG.md +++ b/packages/i18n/CHANGELOG.md @@ -1,5 +1,13 @@ # @better-auth/i18n +## 1.6.30 + +### Patch Changes + +- Updated dependencies [[`07c1718`](https://github.com/better-auth/better-auth/commit/07c17189f58502bf038e5f22766f8a99df60ac99)]: + - @better-auth/core@1.6.30 + - better-auth@1.6.30 + ## 1.6.29 ### Patch Changes diff --git a/packages/i18n/package.json b/packages/i18n/package.json index a428e05e0c..b37b284089 100644 --- a/packages/i18n/package.json +++ b/packages/i18n/package.json @@ -1,6 +1,6 @@ { "name": "@better-auth/i18n", - "version": "1.6.29", + "version": "1.6.30", "description": "i18n plugin for Better Auth - translate error messages", "type": "module", "license": "MIT", diff --git a/packages/kysely-adapter/CHANGELOG.md b/packages/kysely-adapter/CHANGELOG.md index f25d637d2c..4105572442 100644 --- a/packages/kysely-adapter/CHANGELOG.md +++ b/packages/kysely-adapter/CHANGELOG.md @@ -1,5 +1,12 @@ # @better-auth/kysely-adapter +## 1.6.30 + +### Patch Changes + +- Updated dependencies [[`07c1718`](https://github.com/better-auth/better-auth/commit/07c17189f58502bf038e5f22766f8a99df60ac99)]: + - @better-auth/core@1.6.30 + ## 1.6.29 ### Patch Changes diff --git a/packages/kysely-adapter/package.json b/packages/kysely-adapter/package.json index 524ef1041a..16818ec124 100644 --- a/packages/kysely-adapter/package.json +++ b/packages/kysely-adapter/package.json @@ -1,6 +1,6 @@ { "name": "@better-auth/kysely-adapter", - "version": "1.6.29", + "version": "1.6.30", "description": "Kysely adapter for Better Auth", "type": "module", "license": "MIT", diff --git a/packages/memory-adapter/CHANGELOG.md b/packages/memory-adapter/CHANGELOG.md index ec89a182f7..097898d1fe 100644 --- a/packages/memory-adapter/CHANGELOG.md +++ b/packages/memory-adapter/CHANGELOG.md @@ -1,5 +1,12 @@ # @better-auth/memory-adapter +## 1.6.30 + +### Patch Changes + +- Updated dependencies [[`07c1718`](https://github.com/better-auth/better-auth/commit/07c17189f58502bf038e5f22766f8a99df60ac99)]: + - @better-auth/core@1.6.30 + ## 1.6.29 ### Patch Changes diff --git a/packages/memory-adapter/package.json b/packages/memory-adapter/package.json index b41bc7299d..7727b4305f 100644 --- a/packages/memory-adapter/package.json +++ b/packages/memory-adapter/package.json @@ -1,6 +1,6 @@ { "name": "@better-auth/memory-adapter", - "version": "1.6.29", + "version": "1.6.30", "description": "Memory adapter for Better Auth", "type": "module", "license": "MIT", diff --git a/packages/mongo-adapter/CHANGELOG.md b/packages/mongo-adapter/CHANGELOG.md index 44ddf078fc..f4670eae7d 100644 --- a/packages/mongo-adapter/CHANGELOG.md +++ b/packages/mongo-adapter/CHANGELOG.md @@ -1,5 +1,12 @@ # @better-auth/mongo-adapter +## 1.6.30 + +### Patch Changes + +- Updated dependencies [[`07c1718`](https://github.com/better-auth/better-auth/commit/07c17189f58502bf038e5f22766f8a99df60ac99)]: + - @better-auth/core@1.6.30 + ## 1.6.29 ### Patch Changes diff --git a/packages/mongo-adapter/package.json b/packages/mongo-adapter/package.json index fef87eda32..2afd7d96c7 100644 --- a/packages/mongo-adapter/package.json +++ b/packages/mongo-adapter/package.json @@ -1,6 +1,6 @@ { "name": "@better-auth/mongo-adapter", - "version": "1.6.29", + "version": "1.6.30", "description": "Mongo adapter for Better Auth", "type": "module", "license": "MIT", diff --git a/packages/oauth-provider/CHANGELOG.md b/packages/oauth-provider/CHANGELOG.md index 6777ae414c..51c5e54632 100644 --- a/packages/oauth-provider/CHANGELOG.md +++ b/packages/oauth-provider/CHANGELOG.md @@ -1,5 +1,13 @@ # @better-auth/oauth-provider +## 1.6.30 + +### Patch Changes + +- Updated dependencies [[`07c1718`](https://github.com/better-auth/better-auth/commit/07c17189f58502bf038e5f22766f8a99df60ac99)]: + - @better-auth/core@1.6.30 + - better-auth@1.6.30 + ## 1.6.29 ### Patch Changes diff --git a/packages/oauth-provider/package.json b/packages/oauth-provider/package.json index c07c7b1911..fa3d0498ff 100644 --- a/packages/oauth-provider/package.json +++ b/packages/oauth-provider/package.json @@ -1,6 +1,6 @@ { "name": "@better-auth/oauth-provider", - "version": "1.6.29", + "version": "1.6.30", "description": "An oauth provider plugin for Better Auth", "type": "module", "license": "MIT", diff --git a/packages/passkey/CHANGELOG.md b/packages/passkey/CHANGELOG.md index 496bfc9299..d36ba2e55a 100644 --- a/packages/passkey/CHANGELOG.md +++ b/packages/passkey/CHANGELOG.md @@ -1,5 +1,13 @@ # @better-auth/passkey +## 1.6.30 + +### Patch Changes + +- Updated dependencies [[`07c1718`](https://github.com/better-auth/better-auth/commit/07c17189f58502bf038e5f22766f8a99df60ac99)]: + - @better-auth/core@1.6.30 + - better-auth@1.6.30 + ## 1.6.29 ### Patch Changes diff --git a/packages/passkey/package.json b/packages/passkey/package.json index a8af71a146..db311125ea 100644 --- a/packages/passkey/package.json +++ b/packages/passkey/package.json @@ -1,6 +1,6 @@ { "name": "@better-auth/passkey", - "version": "1.6.29", + "version": "1.6.30", "description": "Passkey plugin for Better Auth", "type": "module", "license": "MIT", diff --git a/packages/prisma-adapter/CHANGELOG.md b/packages/prisma-adapter/CHANGELOG.md index c17ddc964c..0824eb505c 100644 --- a/packages/prisma-adapter/CHANGELOG.md +++ b/packages/prisma-adapter/CHANGELOG.md @@ -1,5 +1,12 @@ # @better-auth/prisma-adapter +## 1.6.30 + +### Patch Changes + +- Updated dependencies [[`07c1718`](https://github.com/better-auth/better-auth/commit/07c17189f58502bf038e5f22766f8a99df60ac99)]: + - @better-auth/core@1.6.30 + ## 1.6.29 ### Patch Changes diff --git a/packages/prisma-adapter/package.json b/packages/prisma-adapter/package.json index 7e93dbde69..2d6edf4b40 100644 --- a/packages/prisma-adapter/package.json +++ b/packages/prisma-adapter/package.json @@ -1,6 +1,6 @@ { "name": "@better-auth/prisma-adapter", - "version": "1.6.29", + "version": "1.6.30", "description": "Prisma adapter for Better Auth", "type": "module", "license": "MIT", diff --git a/packages/redis-storage/CHANGELOG.md b/packages/redis-storage/CHANGELOG.md index 3f8bf4c028..66a49ed47a 100644 --- a/packages/redis-storage/CHANGELOG.md +++ b/packages/redis-storage/CHANGELOG.md @@ -1,5 +1,12 @@ # @better-auth/redis-storage +## 1.6.30 + +### Patch Changes + +- Updated dependencies [[`07c1718`](https://github.com/better-auth/better-auth/commit/07c17189f58502bf038e5f22766f8a99df60ac99)]: + - @better-auth/core@1.6.30 + ## 1.6.29 ### Patch Changes diff --git a/packages/redis-storage/package.json b/packages/redis-storage/package.json index aaa386edca..ed52f06053 100644 --- a/packages/redis-storage/package.json +++ b/packages/redis-storage/package.json @@ -1,6 +1,6 @@ { "name": "@better-auth/redis-storage", - "version": "1.6.29", + "version": "1.6.30", "description": "Redis storage for Better Auth secondary storage", "type": "module", "license": "MIT", diff --git a/packages/scim/CHANGELOG.md b/packages/scim/CHANGELOG.md index 39a2adfa0b..a74d9b99e2 100644 --- a/packages/scim/CHANGELOG.md +++ b/packages/scim/CHANGELOG.md @@ -1,5 +1,13 @@ # @better-auth/scim +## 1.6.30 + +### Patch Changes + +- Updated dependencies [[`07c1718`](https://github.com/better-auth/better-auth/commit/07c17189f58502bf038e5f22766f8a99df60ac99)]: + - @better-auth/core@1.6.30 + - better-auth@1.6.30 + ## 1.6.29 ### Patch Changes diff --git a/packages/scim/package.json b/packages/scim/package.json index 3ff52dc7b6..273f5f2943 100644 --- a/packages/scim/package.json +++ b/packages/scim/package.json @@ -1,6 +1,6 @@ { "name": "@better-auth/scim", - "version": "1.6.29", + "version": "1.6.30", "description": "SCIM plugin for Better Auth", "type": "module", "license": "MIT", diff --git a/packages/sso/CHANGELOG.md b/packages/sso/CHANGELOG.md index 814ace8b77..1b609f7a95 100644 --- a/packages/sso/CHANGELOG.md +++ b/packages/sso/CHANGELOG.md @@ -1,5 +1,13 @@ # @better-auth/sso +## 1.6.30 + +### Patch Changes + +- Updated dependencies [[`07c1718`](https://github.com/better-auth/better-auth/commit/07c17189f58502bf038e5f22766f8a99df60ac99)]: + - @better-auth/core@1.6.30 + - better-auth@1.6.30 + ## 1.6.29 ### Patch Changes diff --git a/packages/sso/package.json b/packages/sso/package.json index 6a43afd526..32e59db4a7 100644 --- a/packages/sso/package.json +++ b/packages/sso/package.json @@ -1,6 +1,6 @@ { "name": "@better-auth/sso", - "version": "1.6.29", + "version": "1.6.30", "description": "SSO plugin for Better Auth", "type": "module", "license": "MIT", diff --git a/packages/stripe/CHANGELOG.md b/packages/stripe/CHANGELOG.md index 503f0a10d8..6cfae19821 100644 --- a/packages/stripe/CHANGELOG.md +++ b/packages/stripe/CHANGELOG.md @@ -1,5 +1,13 @@ # @better-auth/stripe +## 1.6.30 + +### Patch Changes + +- Updated dependencies [[`07c1718`](https://github.com/better-auth/better-auth/commit/07c17189f58502bf038e5f22766f8a99df60ac99)]: + - @better-auth/core@1.6.30 + - better-auth@1.6.30 + ## 1.6.29 ### Patch Changes diff --git a/packages/stripe/package.json b/packages/stripe/package.json index efbc89f1f8..8623d6461e 100644 --- a/packages/stripe/package.json +++ b/packages/stripe/package.json @@ -1,6 +1,6 @@ { "name": "@better-auth/stripe", - "version": "1.6.29", + "version": "1.6.30", "description": "Stripe plugin for Better Auth", "type": "module", "license": "MIT", diff --git a/packages/telemetry/CHANGELOG.md b/packages/telemetry/CHANGELOG.md index e7e60f58e4..6fddfd1b45 100644 --- a/packages/telemetry/CHANGELOG.md +++ b/packages/telemetry/CHANGELOG.md @@ -1,5 +1,12 @@ # @better-auth/telemetry +## 1.6.30 + +### Patch Changes + +- Updated dependencies [[`07c1718`](https://github.com/better-auth/better-auth/commit/07c17189f58502bf038e5f22766f8a99df60ac99)]: + - @better-auth/core@1.6.30 + ## 1.6.29 ### Patch Changes diff --git a/packages/telemetry/package.json b/packages/telemetry/package.json index ba54360560..e55094cb10 100644 --- a/packages/telemetry/package.json +++ b/packages/telemetry/package.json @@ -1,6 +1,6 @@ { "name": "@better-auth/telemetry", - "version": "1.6.29", + "version": "1.6.30", "description": "Telemetry package for Better Auth", "type": "module", "license": "MIT", diff --git a/packages/test-utils/CHANGELOG.md b/packages/test-utils/CHANGELOG.md index e9f1f7bb10..4315a0b5b3 100644 --- a/packages/test-utils/CHANGELOG.md +++ b/packages/test-utils/CHANGELOG.md @@ -1,5 +1,13 @@ # @better-auth/test-utils +## 1.6.30 + +### Patch Changes + +- Updated dependencies [[`07c1718`](https://github.com/better-auth/better-auth/commit/07c17189f58502bf038e5f22766f8a99df60ac99)]: + - @better-auth/core@1.6.30 + - better-auth@1.6.30 + ## 1.6.29 ### Patch Changes diff --git a/packages/test-utils/package.json b/packages/test-utils/package.json index ba0ffdc3b9..ae8bf20039 100644 --- a/packages/test-utils/package.json +++ b/packages/test-utils/package.json @@ -1,6 +1,6 @@ { "name": "@better-auth/test-utils", - "version": "1.6.29", + "version": "1.6.30", "description": "Testing utilities for Better Auth adapter development", "type": "module", "license": "MIT",