[PR #8522] [MERGED] chore: release v1.5.5 #24935

Closed
opened 2026-04-15 22:38:28 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/better-auth/better-auth/pull/8522
Author: @himself65
Created: 3/9/2026
Status: Merged
Merged: 3/10/2026
Merged by: @himself65

Base: mainHead: v1.5.5-staging


📝 Commits (10+)

  • 93f099f feat(oauth-provider): pairwise subject identifiers (OIDC Core §8) (#8292)
  • 8ee0cc0 fix(adapters): restore deprecated createAdapter and type exports for backcompat (#8461)
  • a7be481 fix(telemetry): use conditional exports to replace dynamic import hacks (#8458)
  • 25bfacb fix: preserve custom session fields on focus refresh (#8354)
  • 7140abd chore(client): re-export necessary types (#8497)
  • d05be33 chore: replace deprecated build configs (#8498)
  • 00d1b96 fix: throw on duplicate email when autoSignIn: false without requireEmailVerification (#8521)
  • 2239520 fix(cli): resolve path aliases from extended tsconfig files (#8520)
  • 3fc1e8c chore: exclude worktrees from biome lint scope
  • a9a4e21 docs: add warning about localhost in trusted origins (#8527)

📊 Changes

53 files changed (+2148 additions, -384 deletions)

View changed files

📝 biome.json (+2 -1)
📝 docs/content/blogs/1-5.mdx (+0 -1)
📝 docs/content/docs/plugins/oauth-provider.mdx (+56 -0)
📝 docs/content/docs/reference/security.mdx (+4 -1)
📝 knip.jsonc (+1 -0)
📝 landing/app/enterprise/enterprise-client.tsx (+1 -1)
📝 landing/components/docs/docs-sidebar.tsx (+1 -1)
📝 packages/api-key/tsdown.config.ts (+3 -1)
📝 packages/better-auth/src/adapters/index.ts (+20 -0)
📝 packages/better-auth/src/api/routes/sign-up.test.ts (+55 -5)
📝 packages/better-auth/src/api/routes/sign-up.ts (+4 -2)
📝 packages/better-auth/src/client/index.ts (+1 -0)
📝 packages/better-auth/src/client/session-refresh.test.ts (+103 -0)
📝 packages/better-auth/src/client/session-refresh.ts (+20 -13)
📝 packages/better-auth/src/db/get-migration-schema.test.ts (+79 -1)
📝 packages/better-auth/src/db/get-migration.ts (+6 -6)
📝 packages/better-auth/src/plugins/oidc-provider/authorize.ts (+2 -1)
📝 packages/cli/package.json (+1 -0)
📝 packages/cli/src/utils/get-config.ts (+78 -66)
packages/cli/src/utils/get-tsconfig-info.ts (+0 -27)

...and 33 more files

📄 Description

Summary

Cherry-pick fixes and features from canary to prepare the v1.5.5 stable release.

Commits included

  • feat(oauth-provider): pairwise subject identifiers (OIDC Core §8) (#8292) — adds pairwise sub identifier support for OIDC clients per RFC 8252
  • fix(adapters): restore deprecated createAdapter and type exports for backcompat (#8461) — re-exports createAdapter, CreateAdapterOptions, AdapterConfig, and CreateCustomAdapter for backward compatibility
  • fix(telemetry): use conditional exports to replace dynamic import hacks (#8458) — replaces the fragile Function("return import()") trick with a proper Node.js conditional export ("node") so tree-shakers and bundlers handle it correctly
  • fix: preserve custom session fields on focus refresh (#8354) — merged session data now includes custom fields set by plugins/server hooks when a tab re-focuses
  • chore(client): re-export necessary types (#8497) — re-exports PathToObject and related types from better-auth/client
  • chore: replace deprecated build configs (#8498) — updates tsdown configs in 8 packages to remove deprecated options
  • fix: throw on duplicate email when autoSignIn: false without requireEmailVerification (#8521) — sign-up now returns a USER_ALREADY_EXISTS error instead of swallowing it when autoSignIn is false
  • fix(cli): resolve path aliases from extended tsconfig files (#8520) — getConfig now recursively resolves extends in tsconfig files so path aliases in base configs are honoured
  • chore: exclude worktrees from biome lint scope — prevents biome 2.x from erroring on nested biome.json files inside .claude/worktrees/
  • docs: add warning about localhost in trusted origins (#8527) — adds a callout warning about using localhost vs 127.0.0.1 in trusted origins config
  • docs: fix enterprise contact form url (#8531) — fixes broken enterprise contact form link
  • docs: sidebar navigation accordion text tracking (#8533) — improves sidebar accordion text tracking behavior
  • fix(prisma-adapter): fall back to updateMany for non-unique updates (#8524) — when Prisma update fails due to a non-unique where clause, falls back to updateMany for compatibility
  • fix(oauth-provider): avoid fetch redirect CORS after login (#8519) — detects browser fetch() requests via Sec-Fetch-Mode header and returns JSON redirect instead of a 302, preventing CORS errors
  • fix(db): use CREATE INDEX for postgres migration (#8538) — fixes postgres migration to use CREATE INDEX instead of inline index syntax

Commits skipped

  • e42ead580 feat(core): add experimental opentelemetry instrumentation — depends on better-call v2 and modifies to-auth-endpoints.ts in a way that conflicts with the main branch. Defer to a future release alongside the better-call v2 upgrade.
  • 29b7567c2 chore: use better-call v2 — major dependency upgrade, requires accompanying API changes in core/api/index.ts and to-auth-endpoints.ts. Not safe as a standalone patch.
  • 721ef3d67 chore: add method type constraints — depends on better-call v2 types.
  • Minor cleanup chores (8460dfc80, b73b0440a, e36ba645a) — no user-visible impact.

Test plan

  • pnpm typecheck — passes (0 new errors introduced)
  • pnpm lint — passes (1322 files checked, no errors)
  • pnpm format:check — passes
  • packages/better-auth/src/api/routes/sign-up.test.ts — 26 passed, 1 skipped
  • packages/better-auth/src/client/session-refresh.test.ts — 15 passed
  • packages/oauth-provider/src/pairwise.test.ts — 18 passed
  • packages/oauth-provider/src/ (all tests) — 208 passed
  • packages/better-auth/src/cookies/cookies.test.ts — 68 passed
  • packages/core/src/utils/fetch-metadata.test.ts — 3 passed
  • packages/prisma-adapter/src/prisma-adapter.test.ts — 3 passed
  • packages/better-auth/src/db/get-migration-schema.test.ts — 1 passed (9 skipped, require Docker)

🔄 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/8522 **Author:** [@himself65](https://github.com/himself65) **Created:** 3/9/2026 **Status:** ✅ Merged **Merged:** 3/10/2026 **Merged by:** [@himself65](https://github.com/himself65) **Base:** `main` ← **Head:** `v1.5.5-staging` --- ### 📝 Commits (10+) - [`93f099f`](https://github.com/better-auth/better-auth/commit/93f099f4d1dae5b141a6cb1dfeadaa8f72250ccb) feat(oauth-provider): pairwise subject identifiers (OIDC Core §8) (#8292) - [`8ee0cc0`](https://github.com/better-auth/better-auth/commit/8ee0cc011269b64129746871839aaa9ccbe86089) fix(adapters): restore deprecated createAdapter and type exports for backcompat (#8461) - [`a7be481`](https://github.com/better-auth/better-auth/commit/a7be48159be1dd1f25231137d82ec6a8b39e5179) fix(telemetry): use conditional exports to replace dynamic import hacks (#8458) - [`25bfacb`](https://github.com/better-auth/better-auth/commit/25bfacba6308f624026e0b863b274deca8159704) fix: preserve custom session fields on focus refresh (#8354) - [`7140abd`](https://github.com/better-auth/better-auth/commit/7140abdb8fbeda7a78f45af0d01cad10570e1a18) chore(client): re-export necessary types (#8497) - [`d05be33`](https://github.com/better-auth/better-auth/commit/d05be3358fe0645c927c8e341bed2472752e05b7) chore: replace deprecated build configs (#8498) - [`00d1b96`](https://github.com/better-auth/better-auth/commit/00d1b962b377d0680fd53ffff0bbaae02c83317a) fix: throw on duplicate email when `autoSignIn: false` without `requireEmailVerification` (#8521) - [`2239520`](https://github.com/better-auth/better-auth/commit/223952076bbbe05d2771d04c27cdb6a28a21e6f5) fix(cli): resolve path aliases from extended tsconfig files (#8520) - [`3fc1e8c`](https://github.com/better-auth/better-auth/commit/3fc1e8c98624792323c588cc1695c0b507d2d1d5) chore: exclude worktrees from biome lint scope - [`a9a4e21`](https://github.com/better-auth/better-auth/commit/a9a4e213ab932352d21896c61bb6aa3fce4e7987) docs: add warning about localhost in trusted origins (#8527) ### 📊 Changes **53 files changed** (+2148 additions, -384 deletions) <details> <summary>View changed files</summary> 📝 `biome.json` (+2 -1) 📝 `docs/content/blogs/1-5.mdx` (+0 -1) 📝 `docs/content/docs/plugins/oauth-provider.mdx` (+56 -0) 📝 `docs/content/docs/reference/security.mdx` (+4 -1) 📝 `knip.jsonc` (+1 -0) 📝 `landing/app/enterprise/enterprise-client.tsx` (+1 -1) 📝 `landing/components/docs/docs-sidebar.tsx` (+1 -1) 📝 `packages/api-key/tsdown.config.ts` (+3 -1) 📝 `packages/better-auth/src/adapters/index.ts` (+20 -0) 📝 `packages/better-auth/src/api/routes/sign-up.test.ts` (+55 -5) 📝 `packages/better-auth/src/api/routes/sign-up.ts` (+4 -2) 📝 `packages/better-auth/src/client/index.ts` (+1 -0) 📝 `packages/better-auth/src/client/session-refresh.test.ts` (+103 -0) 📝 `packages/better-auth/src/client/session-refresh.ts` (+20 -13) 📝 `packages/better-auth/src/db/get-migration-schema.test.ts` (+79 -1) 📝 `packages/better-auth/src/db/get-migration.ts` (+6 -6) 📝 `packages/better-auth/src/plugins/oidc-provider/authorize.ts` (+2 -1) 📝 `packages/cli/package.json` (+1 -0) 📝 `packages/cli/src/utils/get-config.ts` (+78 -66) ➖ `packages/cli/src/utils/get-tsconfig-info.ts` (+0 -27) _...and 33 more files_ </details> ### 📄 Description ## Summary Cherry-pick fixes and features from `canary` to prepare the v1.5.5 stable release. ### Commits included - **feat(oauth-provider): pairwise subject identifiers (OIDC Core §8)** (#8292) — adds pairwise `sub` identifier support for OIDC clients per RFC 8252 - **fix(adapters): restore deprecated `createAdapter` and type exports for backcompat** (#8461) — re-exports `createAdapter`, `CreateAdapterOptions`, `AdapterConfig`, and `CreateCustomAdapter` for backward compatibility - **fix(telemetry): use conditional exports to replace dynamic import hacks** (#8458) — replaces the fragile `Function("return import()")` trick with a proper Node.js conditional export (`"node"`) so tree-shakers and bundlers handle it correctly - **fix: preserve custom session fields on focus refresh** (#8354) — merged session data now includes custom fields set by plugins/server hooks when a tab re-focuses - **chore(client): re-export necessary types** (#8497) — re-exports `PathToObject` and related types from `better-auth/client` - **chore: replace deprecated build configs** (#8498) — updates tsdown configs in 8 packages to remove deprecated options - **fix: throw on duplicate email when `autoSignIn: false` without `requireEmailVerification`** (#8521) — sign-up now returns a `USER_ALREADY_EXISTS` error instead of swallowing it when `autoSignIn` is false - **fix(cli): resolve path aliases from extended tsconfig files** (#8520) — `getConfig` now recursively resolves `extends` in tsconfig files so path aliases in base configs are honoured - **chore: exclude worktrees from biome lint scope** — prevents biome 2.x from erroring on nested `biome.json` files inside `.claude/worktrees/` - **docs: add warning about localhost in trusted origins** (#8527) — adds a callout warning about using `localhost` vs `127.0.0.1` in trusted origins config - **docs: fix enterprise contact form url** (#8531) — fixes broken enterprise contact form link - **docs: sidebar navigation accordion text tracking** (#8533) — improves sidebar accordion text tracking behavior - **fix(prisma-adapter): fall back to updateMany for non-unique updates** (#8524) — when Prisma `update` fails due to a non-unique `where` clause, falls back to `updateMany` for compatibility - **fix(oauth-provider): avoid fetch redirect CORS after login** (#8519) — detects browser `fetch()` requests via `Sec-Fetch-Mode` header and returns JSON redirect instead of a 302, preventing CORS errors - **fix(db): use `CREATE INDEX` for postgres migration** (#8538) — fixes postgres migration to use `CREATE INDEX` instead of inline index syntax ### Commits skipped - `e42ead580` feat(core): add experimental opentelemetry instrumentation — depends on `better-call v2` and modifies `to-auth-endpoints.ts` in a way that conflicts with the `main` branch. Defer to a future release alongside the better-call v2 upgrade. - `29b7567c2` chore: use better-call v2 — major dependency upgrade, requires accompanying API changes in `core/api/index.ts` and `to-auth-endpoints.ts`. Not safe as a standalone patch. - `721ef3d67` chore: add method type constraints — depends on better-call v2 types. - Minor cleanup chores (`8460dfc80`, `b73b0440a`, `e36ba645a`) — no user-visible impact. ## Test plan - [x] `pnpm typecheck` — passes (0 new errors introduced) - [x] `pnpm lint` — passes (1322 files checked, no errors) - [x] `pnpm format:check` — passes - [x] `packages/better-auth/src/api/routes/sign-up.test.ts` — 26 passed, 1 skipped - [x] `packages/better-auth/src/client/session-refresh.test.ts` — 15 passed - [x] `packages/oauth-provider/src/pairwise.test.ts` — 18 passed - [x] `packages/oauth-provider/src/` (all tests) — 208 passed - [x] `packages/better-auth/src/cookies/cookies.test.ts` — 68 passed - [x] `packages/core/src/utils/fetch-metadata.test.ts` — 3 passed - [x] `packages/prisma-adapter/src/prisma-adapter.test.ts` — 3 passed - [x] `packages/better-auth/src/db/get-migration-schema.test.ts` — 1 passed (9 skipped, require Docker) --- <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 22:38:28 -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#24935