better-release[bot] and GitHub
c8cf0f7c1a
chore: release v1.7.0-beta.0 ( #9073 )
@better-auth/core@1.7.0-beta.0
@better-auth/drizzle-adapter@1.7.0-beta.0
@better-auth/electron@1.7.0-beta.0
@better-auth/expo@1.7.0-beta.0
@better-auth/i18n@1.7.0-beta.0
@better-auth/kysely-adapter@1.7.0-beta.0
@better-auth/memory-adapter@1.7.0-beta.0
@better-auth/mongo-adapter@1.7.0-beta.0
@better-auth/oauth-provider@1.7.0-beta.0
@better-auth/passkey@1.7.0-beta.0
@better-auth/prisma-adapter@1.7.0-beta.0
@better-auth/redis-storage@1.7.0-beta.0
@better-auth/scim@1.7.0-beta.0
@better-auth/sso@1.7.0-beta.0
@better-auth/stripe@1.7.0-beta.0
@better-auth/telemetry@1.7.0-beta.0
@better-auth/test-utils@1.7.0-beta.0
auth@1.7.0-beta.0
better-auth@1.7.0-beta.0
@better-auth/api-key@1.7.0-beta.0
v1.7.0-beta.0
2026-04-10 21:29:25 +01:00
Gustavo Valverde and GitHub
bee0df595d
chore: sync main to next
...
chore: sync main to next
2026-04-10 21:16:58 +01:00
Gustavo Valverde
2e0ad30369
fix(ci): fix grep -c fallback producing invalid integer in release validation
...
grep -coP outputs "0" to stdout on no matches but exits 1, causing
the || echo 0 fallback to append a second "0". The resulting "0\n0"
value fails the -lt integer comparison. Use || true instead since
grep -c already outputs the correct count.
2026-04-10 21:10:10 +01:00
Gustavo Valverde
ca5d303607
fix(sso): guard toLowerCase against falsy email and use safe redirect
...
- Add empty string fallback before .toLowerCase() to prevent TypeError
when both mapped email attribute and extract.nameID are falsy
- Use validated samlRedirectUrl instead of raw callbackUrl in error
redirect to maintain open-redirect and loop-protection guarantees
2026-04-10 21:06:47 +01:00
Gustavo Valverde
97fca6a1cf
refactor(sso): adopt saml-pipeline and port security fixes
...
Use main's saml-pipeline.ts for SAML response processing, replacing
~1000 lines of duplicated inline code in sso.ts. Port the four
security fixes from #9055 into the pipeline:
- Fix InResponseTo field path (extract.response?.inResponseTo)
- Add Audience Restriction validation
- Fix SessionIndex stored as string, not object
- Fix allowIdpInitiated default to false
Delegate to validateInResponseTo/validateAudience from
response-validation.ts instead of reimplementing inline.
Graft private_key_jwt (RFC 7523) support from #8836 onto main's
pipeline-based sso.ts.
2026-04-10 20:25:41 +01:00
Gustavo Valverde
28ccc8cda9
chore: resolve main-to-next sync conflicts
...
Conflicts resolved:
- docs/content/docs/plugins/2fa.mdx: kept next's OTP feature, applied main's exported const pattern
- docs/content/docs/plugins/oauth-provider.mdx: kept main's formatting, added back private_key_jwt docs
- docs/content/docs/plugins/sso.mdx: kept next's version with private_key_jwt and SAML options
- packages/sso/src/routes/sso.ts: kept next's version (has security fixes and private_key_jwt)
2026-04-10 19:11:05 +01:00
Taesu and GitHub
4673c6d83c
fix(cli): handle extends and mid-path wildcards in tsconfig paths ( #9032 )
2026-04-10 16:26:53 +00:00
Gustavo Valverde and GitHub
52c47517a2
fix(sso): unify SAML response processing and fix bugs ( #9097 )
2026-04-10 15:00:26 +00:00
Gustavo Valverde and GitHub
7fb4a55b65
fix(ci): rename release PR with actual version ( #9066 )
2026-04-10 14:58:56 +00:00
Gustavo Valverde and GitHub
544f1c63c9
feat(two-factor)!: add OTP enablement and discriminated response ( #9057 )
2026-04-10 14:23:20 +00:00
c5066fe5d6
fix(stripe): omit quantity for metered prices in checkout and upgrades ( #8926 )
...
Co-authored-by: better-release[bot] <273320539+better-release[bot]@users.noreply.github.com>
2026-04-10 12:55:44 +00:00
684154d3d1
chore: replace z.union with z.xor for permission schemas in admin plugin ( #8982 )
...
Co-authored-by: Maxwell <145994855+ping-maxwell@users.noreply.github.com >
Co-authored-by: Taesu <bytaesu@gmail.com >
Co-authored-by: Taesu <166604494+bytaesu@users.noreply.github.com >
2026-04-10 12:47:23 +00:00
Gustavo Valverde and GitHub
93d3871bd2
feat(oauth): add private_key_jwt client authentication (RFC 7523) ( #8836 )
2026-04-10 08:22:05 +00:00
5f84335815
feat(stripe): support Stripe SDK v21 and v22 ( #9084 )
...
Co-authored-by: leonardo2204 <1509421+leonardo2204@users.noreply.github.com >
Co-authored-by: better-release[bot] <273320539+better-release[bot]@users.noreply.github.com>
2026-04-10 06:19:34 +00:00
Tony and GitHub
d141a3b190
docs: fix PostgreSQL Prisma native type typo ( #9090 )
2026-04-10 05:21:45 +00:00
Taesu and GitHub
099ee48c41
chore(docs): format markdown including mdx files ( #9085 )
2026-04-10 05:09:33 +00:00
f6428d02fc
fix(open-api): correct get-session nullable schema for OAS 3.1 ( #8389 )
...
Co-authored-by: Maxwell <145994855+ping-maxwell@users.noreply.github.com >
Co-authored-by: ping-maxwell <maxwell.multinite@gmail.com >
2026-04-09 20:44:35 +00:00
6ce30cf138
fix: incorrect operationId in password reset callback endpoint ( #9072 )
...
Co-authored-by: Maxwell <145994855+ping-maxwell@users.noreply.github.com >
2026-04-09 20:13:06 +00:00
41679fa817
docs: add database table names ( #9062 )
...
Co-authored-by: Maxwell <145994855+ping-maxwell@users.noreply.github.com >
2026-04-09 19:17:40 +00:00
Gustavo Valverde and GitHub
a2fbe079f8
refactor(ci): simplify release notes to one-line entries ( #9067 )
2026-04-09 18:24:25 +00:00
Gustavo Valverde and GitHub
83ed1fe360
fix(ci): prevent label explosion on PRs targeting the next branch ( #9071 )
2026-04-09 18:15:14 +00:00
Gustavo Valverde and GitHub
b790144a2e
fix(sso)!: harden SAML response validation (InResponseTo, Audience, SessionIndex) ( #9055 )
2026-04-09 17:30:01 +00:00
Gustavo Valverde and GitHub
3d9ea81232
chore: sync main to next
...
chore: sync main to next
2026-04-09 15:25:00 +01:00
better-release[bot] and GitHub
700d298e1e
chore: version packages ( #9052 )
@better-auth/api-key@1.6.2
@better-auth/core@1.6.2
@better-auth/drizzle-adapter@1.6.2
@better-auth/electron@1.6.2
@better-auth/expo@1.6.2
@better-auth/i18n@1.6.2
@better-auth/kysely-adapter@1.6.2
@better-auth/memory-adapter@1.6.2
@better-auth/mongo-adapter@1.6.2
@better-auth/oauth-provider@1.6.2
@better-auth/passkey@1.6.2
@better-auth/prisma-adapter@1.6.2
@better-auth/redis-storage@1.6.2
@better-auth/scim@1.6.2
@better-auth/sso@1.6.2
@better-auth/stripe@1.6.2
@better-auth/telemetry@1.6.2
@better-auth/test-utils@1.6.2
auth@1.6.2
better-auth@1.6.2
v1.6.2
2026-04-09 15:19:07 +01:00
Gustavo Valverde and GitHub
ef7cd5ba79
ci: restructure release notes to group by npm package ( #9011 )
2026-04-09 15:15:58 +01:00
7ac092ec52
docs: fix missing secret param in getSignedCookie example ( #8827 )
...
Co-authored-by: Maxwell <145994855+ping-maxwell@users.noreply.github.com >
2026-04-09 13:57:45 +00:00
809da03968
docs: add paragraph specifying need for cookie passage for server methods ( #6546 )
...
Co-authored-by: Maxwell <145994855+ping-maxwell@users.noreply.github.com >
2026-04-09 13:26:13 +00:00
31fd092896
docs: clarify that the redirectURI must include providerId parameter in generic oauth ( #6021 )
...
Co-authored-by: Maxwell <145994855+ping-maxwell@users.noreply.github.com >
2026-04-09 13:23:33 +00:00
cf25761bc1
docs: clarify credential account requirement for phone number plugin ( #6401 )
...
Signed-off-by: GautamBytes <manchandanigautam@gmail.com >
Co-authored-by: Maxwell <145994855+ping-maxwell@users.noreply.github.com >
2026-04-09 13:19:50 +00:00
b834782e2b
docs: add 'better-auth-audit-logs' plugin to community table ( #9051 )
...
Co-authored-by: Maxwell <145994855+ping-maxwell@users.noreply.github.com >
2026-04-09 13:14:25 +00:00
Gustavo Valverde and GitHub
4c829bf289
fix(oauth-provider): preserve multi-valued query params through prompt redirects ( #9060 )
2026-04-09 13:13:39 +00:00
b20fa424c3
fix(next-js): replace cookie probe with header-based RSC detection in nextCookies ( #9059 )
...
Co-authored-by: Maxwell <145994855+ping-maxwell@users.noreply.github.com >
2026-04-09 12:41:10 +00:00
Gustavo Valverde and GitHub
608d8c3082
fix(sso): include RelayState in signed SAML AuthnRequests ( #9058 )
2026-04-09 12:05:02 +00:00
Dylan Vanmali and GitHub
c6922dce8e
refactor(oauth-provider): reject skip_consent at schema level in DCR ( #8998 )
2026-04-09 11:56:29 +00:00
5e5d3f62fc
fix(sso): normalize SAMLResponse whitespace at request boundary ( #8968 )
...
Co-authored-by: Gustavo Valverde <g.valverde02@gmail.com >
2026-04-09 11:04:10 +00:00
2cbcb9baac
fix(oauth2): prevent cross-provider account collision in link-social callback ( #8983 )
...
Co-authored-by: Gustavo Valverde <g.valverde02@gmail.com >
2026-04-09 10:17:42 +00:00
9deb7936ab
fix: cookie store strategy should verify oauth state ( #8949 )
...
Co-authored-by: Bereket Engida <86073083+Bekacru@users.noreply.github.com >
Co-authored-by: Gustavo Valverde <g.valverde02@gmail.com >
2026-04-09 09:26:36 +00:00
84098432ad
feat(two-factor): include enabled 2fa methods in sign-in redirect response ( #8772 )
...
Co-authored-by: Gustavo Valverde <g.valverde02@gmail.com >
2026-04-09 09:25:49 +00:00
e78a7b120d
fix(two-factor): prevent unverified TOTP enrollment from gating sign-in ( #8711 )
...
Co-authored-by: Gustavo Valverde <g.valverde02@gmail.com >
2026-04-09 08:48:10 +00:00
Gustavo Valverde and GitHub
4e6136516c
chore: optimize pre-commit hooks for faster commits ( #9044 )
2026-04-09 06:53:36 +00:00
Taesu and GitHub
01f85ce807
chore: rewrite CONTRIBUTING.md ( #9048 )
2026-04-08 23:32:31 +00:00
Taesu and GitHub
438d10d22e
docs: scale inline code size inside changelog headings ( #9047 )
2026-04-08 22:50:40 +00:00
Gustavo Valverde and GitHub
b5497dcc90
fix(ci): make lint:dependencies script cross-platform ( #9042 )
2026-04-08 20:55:38 +01:00
85bb710edc
chore: version packages ( #9018 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
@better-auth/core@1.6.1
@better-auth/drizzle-adapter@1.6.1
@better-auth/electron@1.6.1
@better-auth/expo@1.6.1
@better-auth/i18n@1.6.1
@better-auth/kysely-adapter@1.6.1
@better-auth/memory-adapter@1.6.1
@better-auth/mongo-adapter@1.6.1
@better-auth/oauth-provider@1.6.1
@better-auth/passkey@1.6.1
@better-auth/prisma-adapter@1.6.1
@better-auth/redis-storage@1.6.1
@better-auth/scim@1.6.1
@better-auth/sso@1.6.1
@better-auth/stripe@1.6.1
@better-auth/telemetry@1.6.1
@better-auth/test-utils@1.6.1
auth@1.6.1
better-auth@1.6.1
v1.6.1
@better-auth/api-key@1.6.1
2026-04-08 19:22:59 +00:00
Taesu and GitHub
7495830659
fix(api): restore getSession accessibility in generic Auth<O> context ( #9017 )
2026-04-08 17:34:12 +00:00
Taesu and GitHub
54713e2fad
docs: fix sidebar SVG icon colors and clean up New tags ( #9041 )
2026-04-08 17:14:40 +00:00
Taesu and GitHub
0a09441200
chore: fix lockfiles and cspell pre-commit hook ( #9039 )
2026-04-08 14:03:24 +00:00
514a3062ec
chore(deps-dev): bump vite from 7.3.1 to 7.3.2 ( #9001 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Taesu <bytaesu@gmail.com >
2026-04-08 08:02:56 +00:00
8ad1995077
chore(deps): bump drizzle-orm from 0.45.1 to 0.45.2 ( #9033 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-08 07:40:52 +00:00
Taesu and GitHub
538e949eb3
docs: switch npm download stats to weekly ( #9035 )
2026-04-08 07:16:13 +00:00