Commit Graph
6741 Commits
Author SHA1 Message Date
39d6af2a39 chore(adapters): require patched drizzle-orm and kysely peer versions (#9165)
Co-authored-by: Maxwell <145994855+ping-maxwell@users.noreply.github.com>
2026-04-15 11:37:50 +00:00
Gustavo ValverdeandGitHub ba03fb59f4 chore(deps): bump electron and next devDependencies to patched versions (#9166) 2026-04-15 11:24:20 +00:00
Gustavo ValverdeandGitHub 9aed910499 fix(two-factor): revert enforcement broadening from #9122 (#9205) 2026-04-15 10:59:53 +00:00
Gustavo ValverdeandGitHub d2a1ec091f chore(cimd): add to fixed version group and align at 1.7.0-beta.1 (#9200) @better-auth/cimd@1.7.0-beta.1 v1.7.0-beta.1 2026-04-15 07:53:04 +01:00
TaesuandGitHub a0caa1f6f8 docs(device-authorization): fix approval page query param (#9197) 2026-04-14 23:36:23 +00:00
Jonathan SaminesandGitHub 7be52d9403 docs: add docs email normalization on sentinel (#9188) 2026-04-14 14:21:36 -06:00
acbd6ef69f fix: honor forceAllowId UUIDs on postgres adapters (#9068)
Co-authored-by: Maxwell <145994855+ping-maxwell@users.noreply.github.com>
2026-04-14 13:05:11 +00:00
dd6528f45b docs(guides): move dynamic base url from concepts to guides and options (#9145)
Co-authored-by: Maxwell <145994855+ping-maxwell@users.noreply.github.com>
2026-04-14 11:36:59 +00:00
better-release[bot]andGitHub d8dfa515e2 chore: release v1.7.0-beta.1 (#9120) 2026-04-14 12:29:23 +01:00
Gustavo ValverdeandGitHub 91b7ea7cb6 chore: sync main to next
chore: sync main to next
2026-04-14 12:20:13 +01:00
Gustavo Valverde 834841fbc9 chore: sync v1.6.3 release into next
Brings main's `chore: release v1.6.3 (#9081)` commit into next after the
stable release. Conflict resolution:

- `packages/*/package.json`: keep next's `1.7.0-beta.0` (per the release
  bot's standard rule: next is always ahead of main in version).
- `packages/*/CHANGELOG.md`: keep both version entries side-by-side. Next's
  `1.7.0-beta.0` section stays on top; main's new `1.6.3` section slots in
  below. Each entry describes its own branch's release.
- `.changeset/*.md`: restore the 14 changesets git auto-deleted. Next is in
  pre-release mode (`.changeset/pre.json` `mode: "pre"`), so changesets
  accumulate across beta cuts and are only consumed on `exit-pre`. Main's
  release deleted them from main; next must keep them for its own pre-release
  accumulator.
2026-04-14 12:10:23 +01:00
better-release[bot]andGitHub 6f17bb3ebd chore: release v1.6.3 (#9081) @better-auth/core@1.6.3 @better-auth/drizzle-adapter@1.6.3 @better-auth/electron@1.6.3 @better-auth/expo@1.6.3 @better-auth/i18n@1.6.3 @better-auth/kysely-adapter@1.6.3 @better-auth/memory-adapter@1.6.3 @better-auth/mongo-adapter@1.6.3 @better-auth/oauth-provider@1.6.3 @better-auth/passkey@1.6.3 @better-auth/prisma-adapter@1.6.3 @better-auth/redis-storage@1.6.3 @better-auth/scim@1.6.3 @better-auth/sso@1.6.3 @better-auth/stripe@1.6.3 @better-auth/telemetry@1.6.3 @better-auth/test-utils@1.6.3 auth@1.6.3 better-auth@1.6.3 @better-auth/api-key@1.6.3 v1.6.3 2026-04-14 12:04:31 +01:00
Gustavo Valverde b7850f90a4 fix: address merge follow-ups from PR #9172 review
- packages/oauth-provider/src/types/zod.ts: make `state` optional in
  `verificationValueSchema`. Main's PR #9118 hardened authorization code
  validation with a required `state`, but CIMD (next, PR #9159) doesn't send
  state in test flows. Per OAuth 2.0 §4.1.1 state is RECOMMENDED, not
  REQUIRED. Fixes CIMD token exchange (`401 !== 200`) in ci test and smoke.

- docs/content/docs/plugins/sso.mdx: replace remaining `/sso/saml2/callback/`
  references with `/sso/saml2/sp/acs/` to match the endpoint rename from
  next's PR #9117. The merge took main verbatim here, regressing docs that
  next had already updated.
2026-04-14 11:54:29 +01:00
Gustavo Valverde 3fbab44068 chore: sync main to next
Resolves conflicts in PR #9115 which the release bot cannot auto-merge.

Conflict resolutions:
- .github/workflows/release.yml: take main's hardened grep fallback (92256a2d0)
- docs/content/docs/plugins/sso.mdx: take main's named-exports refactor verbatim (#9144)
- packages/oauth-provider/src/token.ts: keep next's at_hash sequencing (#9079),
  add main's customTokenResponseFields spread and credential helper rename (#9118)
- packages/oauth-provider/src/token.test.ts: keep both new describe blocks
  (at_hash in id tokens from next, customTokenResponseFields from main)

Semantic fixes on auto-merged files where git silently dropped main's changes
around next's discriminated-response refactor:
- two-factor/index.ts: restore skipVerificationOnEnable handling in the totp
  enablement path
- two-factor/types.ts: restore the skipVerificationOnEnable type field
- two-factor/two-factor.test.ts: narrow the discriminated enable response via
  method === "totp" guard
2026-04-14 11:30:13 +01:00
9a6d4759cd fix(client): prevent isMounted race condition causing many rps (#9078)
Co-authored-by: Taesu <bytaesu@gmail.com>
Co-authored-by: Gustavo Valverde <g.valverde02@gmail.com>
2026-04-14 09:36:59 +00:00
Gustavo ValverdeandGitHub 390a03190c fix(stripe): prevent prototype pollution via user-supplied metadata (#9164) 2026-04-14 08:05:31 +00:00
Gustavo ValverdeandGitHub 5142e9cec5 fix(auth): harden dynamic baseURL resolution (#9131) 2026-04-14 08:01:13 +00:00
Gustavo ValverdeandGitHub 92256a2d0d chore: minor review followups on recent main commits (#9163) 2026-04-14 07:22:10 +00:00
TaesuandGitHub 513dabb132 fix: resolve dynamic baseURL for direct auth.api calls (#9113) 2026-04-14 06:16:53 +00:00
Jaden StantonandGitHub 2514c3d970 docs: correct wording for invocable endpoints in integration guides (#9160) 2026-04-14 05:59:29 +00:00
Sean FilimonandGitHub a1f619969d docs: update Convex Labs link in documentation (#9161) 2026-04-14 05:55:27 +00:00
cd8313ba00 feat(cimd): add Client ID Metadata Document plugin (#9159)
Co-authored-by: Dylan Vanmali <dylanvanmali@yahoo.com>
2026-04-13 20:52:34 +00:00
TaesuandGitHub 8dcb98873e docs: update not-found page (#9158) 2026-04-13 19:54:32 +00:00
Gustavo ValverdeandGitHub c7d22539ec refactor(generic-oauth)!: rewrite as first-class social provider with RFC compliance (#9069) 2026-04-13 12:02:16 +00:00
TaesuandGitHub 6c946a3e0c docs(sso): extract inline fields to named exports (#9144) 2026-04-13 03:01:29 +00:00
TaesuandGitHub daf7ab7aaa docs: fix fk references in schema tables to match actual plugin schemas (#9143) 2026-04-13 02:37:17 +00:00
TaesuandGitHub a6f31972ca docs(landing): polish sentinel section (#9142) 2026-04-13 01:19:15 +00:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>TaesuTaesu
ed2c18df31 chore(deps): bump next from 16.2.2 to 16.2.3 in /docs (#9112)
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>
Co-authored-by: Taesu <166604494+bytaesu@users.noreply.github.com>
2026-04-12 08:47:53 +00:00
TaesuandGitHub a6e9b94318 docs: improve enterprise contact form (#9128) 2026-04-12 08:30:35 +00:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
504ea253ac chore(deps-dev): bump @sveltejs/kit from 2.53.3 to 2.57.1 (#9109)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-12 08:24:12 +00:00
Gustavo ValverdeandGitHub e2e25a4954 fix(oauth-provider): graceful DCR override for unauthenticated confidential clients (#9123) 2026-04-11 15:25:06 +00:00
f8758975ae fix(two-factor): updated backup codes respect storeBackupCodes option (#7231)
Co-authored-by: Gustavo Valverde <g.valverde02@gmail.com>
2026-04-11 13:19:46 +00:00
Gustavo ValverdeandGitHub 484ce6a262 fix(two-factor): enforce 2FA on all sign-in paths (#9122) 2026-04-11 12:33:58 +00:00
Gustavo ValverdeandGitHub 960304354a fix(sso): upgrade samlify to 2.12.0 with XPath injection and XXE fixes (#9121) 2026-04-11 10:46:50 +00:00
Gustavo ValverdeandGitHub 6f2948e87b feat(oauth-provider): compute at_hash in id tokens per OIDC Core §3.1.3.6 (#9079) 2026-04-11 10:29:20 +00:00
Gustavo ValverdeandGitHub b70f025bfa refactor(sso)!: remove callbackUrl, consolidate ACS endpoint, fix SLO (#9117) 2026-04-11 10:03:56 +00:00
Gustavo ValverdeandGitHub 314e06f0fd feat(oauth-provider): add customTokenResponseFields and harden authorization code validation (#9118) 2026-04-11 09:54:48 +00:00
Gustavo Valverde 9fd0192d0e 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-11 07:53:07 +01:00
better-release[bot]andGitHub 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 ValverdeandGitHub 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
TaesuandGitHub f32099449e chore: fix typecheck command in CLAUDE.md (#9110) 2026-04-10 19:43:07 +00: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
TaesuandGitHub 4673c6d83c fix(cli): handle extends and mid-path wildcards in tsconfig paths (#9032) 2026-04-10 16:26:53 +00:00
Gustavo ValverdeandGitHub 52c47517a2 fix(sso): unify SAML response processing and fix bugs (#9097) 2026-04-10 15:00:26 +00:00
Gustavo ValverdeandGitHub 7fb4a55b65 fix(ci): rename release PR with actual version (#9066) 2026-04-10 14:58:56 +00:00
Gustavo ValverdeandGitHub 544f1c63c9 feat(two-factor)!: add OTP enablement and discriminated response (#9057) 2026-04-10 14:23:20 +00:00
TaesuGitHubbetter-release[bot] <273320539+better-release[bot]@users.noreply.github.com>
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