c779dfc8fc
feat(google): add includeGrantedScopes option to opt out of incremental auth
...
Set `includeGrantedScopes: false` to omit `include_granted_scopes=true` from
Google's authorization URL so each OAuth flow requests only its own scopes.
Defaults to `true`, preserving current behavior.
Closes #9326
Co-authored-by: GautamBytes <161146829+GautamBytes@users.noreply.github.com >
2026-05-31 10:15:51 +01:00
Taesu and Gustavo Valverde
af95f0d305
fix(oauth): preserve account.scope across re-auth and refresh
...
`account.scope` is now treated as the user's accumulated granted-scope
set rather than the latest token's `scope` claim. linkSocial unions
newly granted scopes into the stored value, while sign-in
re-authentication and refresh-token responses leave it untouched.
Generalizes the Google-specific `include_granted_scopes=true` band-aid
from #3013 into a provider-agnostic invariant grounded in RFC 6749 §1.5.
2026-05-31 10:15:50 +01:00
Taesu and GitHub
df9e8b2951
docs: align db adapter guide with adapter contract ( #9830 )
2026-05-31 09:01:50 +00:00
Taesu and GitHub
5c3e248cbf
fix(core): throw on non-numeric deleteMany in consumeOne fallback ( #9831 )
2026-05-31 09:00:18 +00:00
Gustavo Valverde and GitHub
4c3bbc4e56
fix(sso): update samlify to 2.13.1 for signed-assertion XML injection ( #9821 )
2026-05-30 23:58:05 +01:00
Gustavo Valverde and GitHub
9c8ded67b1
docs(two-factor): mark viewBackupCodes as server-only in its API comment ( #9822 )
2026-05-30 23:52:38 +01:00
Gustavo Valverde and GitHub
a1028d9f1f
fix(deps): force patched transitive versions via pnpm overrides ( #9820 )
2026-05-30 23:40:38 +01:00
Gustavo Valverde and GitHub
e8696388bf
docs(oauth-provider): align metadata routing guidance ( #9768 )
2026-05-30 22:32:09 +01:00
43c08a2bc7
fix(account): scope OAuth account identity and fix buggy internalAdapter helpers ( #9818 )
...
Co-authored-by: Krish Garg <kgarg@chapman.edu >
2026-05-30 20:48:10 +00:00
23d7cbfa79
fix(oauth): apply updateUserInfoOnLink in OAuth callback link flow ( #8758 )
...
Co-authored-by: Gustavo Valverde <g.valverde02@gmail.com >
2026-05-30 19:48:38 +01:00
Gustavo Valverde and GitHub
e24ddfd13b
fix(expo): persist large account cookies by chunking device storage ( #9815 )
2026-05-30 18:24:14 +01:00
d3919dc1a5
feat(account): support server-side accountInfo calls without session headers ( #9813 )
...
Co-authored-by: Nathan Colosimo <nathancolosimo@gmail.com >
2026-05-30 12:45:40 +01:00
5f282bd382
fix(account): default storeStateStrategy to "database" when using secondaryStorage ( #9591 )
...
Co-authored-by: Gustavo Valverde <g.valverde02@gmail.com >
2026-05-30 11:05:28 +01:00
Gustavo Valverde and GitHub
5ec3e761a3
fix(ci): use GitHub-hosted runners for fork pull requests ( #9809 )
2026-05-30 10:24:06 +01:00
Taesu and GitHub
e131d3ac5b
fix(api-key): verify non-default keys when configId is omitted ( #9794 )
2026-05-30 03:14:57 +00:00
better-release[bot] and GitHub
c0c574ea50
chore: release v1.6.12 ( #9590 )
@better-auth/core@1.6.12
@better-auth/drizzle-adapter@1.6.12
@better-auth/electron@1.6.12
@better-auth/expo@1.6.12
@better-auth/i18n@1.6.12
@better-auth/kysely-adapter@1.6.12
@better-auth/memory-adapter@1.6.12
@better-auth/mongo-adapter@1.6.12
@better-auth/oauth-provider@1.6.12
@better-auth/passkey@1.6.12
@better-auth/prisma-adapter@1.6.12
@better-auth/redis-storage@1.6.12
@better-auth/scim@1.6.12
@better-auth/sso@1.6.12
@better-auth/stripe@1.6.12
@better-auth/telemetry@1.6.12
@better-auth/test-utils@1.6.12
auth@1.6.12
better-auth@1.6.12
@better-auth/api-key@1.6.12
v1.6.12
2026-05-29 22:28:58 +01:00
Gustavo Valverde and GitHub
c5b9f93498
fix(generic-oauth): add accessTokenExpiresIn for providers that omit expires_in ( #9799 )
2026-05-29 20:49:59 +00:00
17cd433c66
fix(oauth-proxy): missing state-cookie skip for oauth-proxy ( #9385 )
...
Co-authored-by: Gustavo Valverde <g.valverde02@gmail.com >
2026-05-29 15:06:34 +00:00
Gustavo Valverde and GitHub
c92cd74162
fix: URL-encode callbackURL in verify-email links ( #9792 )
2026-05-29 08:08:42 +00:00
093115e162
docs(oauth): added Roblox provider and alphabetized "providers without email" table ( #9786 )
...
Co-authored-by: Taesu <bytaesu@gmail.com >
2026-05-29 03:16:35 +00:00
Taesu and GitHub
6f3caa390b
chore: exclude @better-auth/*, @better-fetch/fetch and better-call from minimumReleaseAge ( #9790 )
2026-05-28 23:49:50 +00:00
Taesu and GitHub
2b7937fc2f
chore: bump @better-auth/utils ( #9791 )
2026-05-28 23:25:57 +00:00
Gustavo Valverde and GitHub
0a7cb70647
fix(oauth): honor per-flow errorCallbackURL when state validation fails ( #9789 )
2026-05-28 23:24:40 +00:00
ac96316af3
fix(oauth): forward specific callback error codes via shared redirectOnError ( #9788 )
...
Co-authored-by: Gautam Manchandani <manchandanigautam@gmail.com >
2026-05-28 21:42:16 +00:00
a3b0c63de9
fix: accept hashed nonces for native iOS sign-in with Apple ( #8870 )
...
Co-authored-by: Gustavo Valverde <g.valverde02@gmail.com >
2026-05-28 12:35:09 +00:00
33a3632731
fix: hotfix passkey handle undefined transports ( #9746 )
...
Co-authored-by: Maxwell <145994855+ping-maxwell@users.noreply.github.com >
Co-authored-by: ping-maxwell <maxwell.multinite@gmail.com >
2026-05-28 01:11:45 +00:00
Jonathan Samines and GitHub
64dd51c78a
docs: add automatic reply to enterprise customer inquiries ( #9775 )
2026-05-28 00:15:22 +00:00
Jonathan Samines and GitHub
d43281126f
docs: add data processing addendum ( #9771 )
2026-05-27 16:46:53 -06:00
d64174ec86
fix(oauth-provider): hide DCR endpoint unless enabled ( #9448 )
...
Co-authored-by: Gustavo Valverde <g.valverde02@gmail.com >
2026-05-27 13:18:16 +00:00
8401d11f43
fix(oauth-provider): serve path-prefixed issuer metadata aliases ( #9668 )
...
Co-authored-by: Gustavo Valverde <g.valverde02@gmail.com >
2026-05-27 12:38:27 +00:00
7bf5449b11
fix(oauth2): map jose token verification errors ( #9655 )
...
Co-authored-by: cyphercodes <cyphercodes@users.noreply.github.com >
Co-authored-by: Gustavo Valverde <g.valverde02@gmail.com >
2026-05-27 09:45:02 +00:00
Taesu and GitHub
6711e43f24
docs: align npm and star icons ( #9764 )
2026-05-27 07:38:03 +00:00
Maxwell and GitHub
f6bf45123f
fix(api-key): add better-call as peer dependency to fix TS4023 declaration emit ( #9759 )
2026-05-27 00:05:31 +00:00
Maxwell and GitHub
85ca603eec
fix: drizzle mixed and/or ( #9756 )
2026-05-26 14:08:11 +00:00
8907c7df9c
fix(passkey): consume challenge atomically and propagate inner verify errors ( #9622 )
...
Co-authored-by: Maxwell <145994855+ping-maxwell@users.noreply.github.com >
2026-05-24 23:40:52 +00:00
Taesu and GitHub
83fa3695e7
feat(core): add string case conversion utilities ( #9727 )
2026-05-24 23:40:22 +00:00
Taesu and GitHub
5aa5682e18
chore: adopt AGENTS.md, keep CLAUDE.md as symlink ( #9728 )
2026-05-24 23:38:36 +00:00
Taesu and GitHub
66dbe8a730
chore(ci): stabilize docker startup ( #9587 )
2026-05-24 23:05:18 +00:00
168b3ba070
chore(deps): bump turbo from 2.9.4 to 2.9.14 ( #9725 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-23 14:34:00 +00:00
Taesu and GitHub
a60855e6a0
chore: lock threads silently and document policy ( #9724 )
2026-05-22 03:40:39 +00:00
Taesu and GitHub
015f96bc63
fix(oauth-proxy): forward result.error verbatim in callback redirect ( #9723 )
2026-05-22 02:52:48 +00:00
Taesu and GitHub
f47aa4aa96
fix(sso): url-encode error query value in OIDC callback redirect ( #9722 )
2026-05-22 02:52:32 +00:00
Taesu and GitHub
43cc49c640
fix(open-api): emit unique operationIds for multi-method endpoints ( #9721 )
2026-05-22 01:16:56 +00:00
Taesu and GitHub
23dbe1ad0e
fix: redirect hook rejections to errorCallbackURL across auth callback flows ( #9702 )
2026-05-22 00:14:48 +00:00
5190c2658f
fix: fail fast on unsafe MySQL insert returns ( #9665 )
...
Co-authored-by: Maxwell <145994855+ping-maxwell@users.noreply.github.com >
Co-authored-by: ping-maxwell <maxwell.multinite@gmail.com >
2026-05-21 22:14:04 +00:00
5626e1b437
fix: forward session cookie refresh headers ( #9667 )
...
Co-authored-by: Maxwell <145994855+ping-maxwell@users.noreply.github.com >
2026-05-21 20:17:19 +00:00
3f8f310a0f
fix(session): preserve real session expiry during stateless cache refresh ( #8817 )
...
Co-authored-by: cyphercodes <cyphercodes@users.noreply.github.com >
Co-authored-by: cyphercodes <7407177+cyphercodes@users.noreply.github.com >
Co-authored-by: Maxwell <145994855+ping-maxwell@users.noreply.github.com >
2026-05-21 20:12:04 +00:00
Taesu and GitHub
4cbc823e69
docs: add active state to products nav tab ( #9698 )
2026-05-19 23:47:20 +00:00
2d73ffff44
fix(core): respect dynamic baseURL protocol option in getTrustedOrigins ( #9644 )
...
Co-authored-by: Taesu <166604494+bytaesu@users.noreply.github.com >
2026-05-19 19:27:09 +00:00
04303a92ac
fix(deps): widen Kysely peer dependency range for 0.29 support ( #9683 )
...
Co-authored-by: Maxwell <145994855+ping-maxwell@users.noreply.github.com >
Co-authored-by: ping-maxwell <maxwell.multinite@gmail.com >
2026-05-19 17:28:38 +00:00