Commit Graph
100 Commits
Author SHA1 Message Date
Gustavo ValverdeandGitHub d9b16d2551 chore: sync main to next
chore: sync main to next
2026-04-06 16:47:42 +01:00
Gustavo ValverdeandGitHub 535655bc0d chore: fix release-blocking Changesets null versions on next (#8992) 2026-04-06 15:31:00 +00:00
TaesuandGitHub 141781d6fc fix: generate session id when using secondary storage without database (#8927) 2026-04-06 14:43:47 +00:00
better-release[bot] d666a03372 chore: exit pre-release mode for v1.6.0 2026-04-06 14:41:56 +00:00
Gustavo ValverdeandGitHub d06b5865f4 fix(ci): mark test packages as private and remove duplicate beta title suffix (#8950) 2026-04-04 06:10:47 +00:00
Gustavo ValverdeandGitHub 7c2ce8a371 feat(passkey): add pre-auth registration and extensions (#7154) 2026-03-30 06:43:10 +00:00
Jonathan SaminesandGitHub a1b0fdcd70 feat(db): add case insensitive queries support (#8556) 2026-03-23 13:09:29 -07:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1486fafb77 chore(deps): bump kysely from 0.28.12 to 0.28.14 (#8718)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-20 21:43:42 +00:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
ab158b1e8c chore(deps): bump kysely from 0.28.11 to 0.28.12 (#8700)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-20 00:08:17 +00:00
Alex YangandGitHub a67630edb4 fix(sso): use namespace import for samlify to fix ESM compatibility (#8697) 2026-03-19 19:31:11 +00:00
TaesuandGitHub 3aa107291e feat(mongo-adapter): store UUIDs as native BSON UUID (#8681) 2026-03-18 20:54:59 +00:00
TaesuandGitHub 6578bd89ae feat(test-utils): export adapter test suites from @better-auth/test-utils/adapter (#8564) 2026-03-12 22:27:44 +00:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
58883e97b5 chore(deps): bump hono from 4.12.5 to 4.12.7 (#8541)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-11 02:13:10 +00:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
7caec1727a chore(deps): bump @hono/node-server from 1.19.9 to 1.19.10 (#8396)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-06 02:20:06 +00:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
938f25d554 chore(deps): bump hono from 4.12.3 to 4.12.4 (#8390)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-05 20:40:54 +00:00
Alex YangandGitHub c9b9c91ec5 fix(prisma-adapter): use deleteMany when deleting by non-unique field (#8314) 2026-03-03 04:32:18 +00:00
Alex YangandGitHub 913bd5babe test(cookies): add Playwright e2e test for sign-out cookie clearing (#8275) 2026-03-02 06:07:34 +00:00
Alex YangandGitHub af9e010e36 fix: updateAge should extend session_token cookie on stateless mode (#7995) 2026-02-28 14:19:53 -08:00
Alexis WilliamsandGitHub 1dc9627400 fix(drizzle-adapter): resolve db.query key mismatch when config.schema keys differ from schema exports (#8117) 2026-02-28 14:13:31 -08:00
Alex YangandGitHub 8048a1d367 chore: upgrade dependencies (#8183) 2026-02-27 08:11:46 +00:00
f77c391393 chore: bump prisma to v7 (#8166)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 02:24:32 +00:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
87767a97e1 chore(deps): bump hono from 4.11.7 to 4.11.10 (#8074)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-20 13:07:53 +00:00
Alex YangandGitHub 425ec38f84 fix(sso): import cjs dep (#8041) 2026-02-18 10:44:43 +00:00
Alex YangandGitHub 62d51d00c7 test: check client output (#7979) 2026-02-15 09:29:23 +00:00
MaxwellandGitHub ad111866cd fix(mongo-adapter): updating a FK id should store as ObjectID (#7977) 2026-02-15 01:05:35 -08:00
Alex YangandGitHub d5955d6ab2 chore: bump version (#7882) 2026-02-12 13:27:12 +00:00
Alex Yang 00c95728f1 Revert "feat: make name field optional (#7617)"
This reverts commit e0df7c9e38.
2026-02-02 10:52:19 -08:00
Alex YangandGitHub 8d2a4f46c9 chore: move generic type into db schema (#7711) 2026-01-30 22:03:37 +00:00
Joél SolanoandGitHub 20d08ede10 feat(adapter): improve select support (#7667) 2026-01-30 00:02:39 +00:00
TaesuandGitHub e0df7c9e38 feat: make name field optional (#7617) 2026-01-29 23:42:52 +00:00
8630f6f56b fix(anonymous): export types (#7661)
Co-authored-by: Alex Yang <himself65@outlook.com>
2026-01-27 23:44:58 -08:00
Alex YangandGitHub 1251787f72 feat: remove deprecated API (#7623) 2026-01-28 01:49:50 +00:00
Alex YangandGitHub c1f046f588 chore: bump version (#7646) 2026-01-27 23:12:31 +00:00
Alex YangandGitHub b0a6fb89c4 chore: bump version (#7626) 2026-01-27 21:05:02 +00:00
Alex YangandGitHub 0f2287891e refactor: remove duplicate session id generation (#7583) 2026-01-26 22:56:59 +00:00
Alex YangandGitHub 2398811cd7 test(smoke): secdonary storage with redis (#7590) 2026-01-26 19:22:08 +00:00
Alex YangandGitHub 4b297168b8 test(adapters): use turbopack for caching (#7506) 2026-01-21 01:45:55 +00:00
Alex YangandGitHub 80a1c7daca chore: bump deps (#7508) 2026-01-20 23:55:35 +00:00
7baa661331 refactor: add @better-auth/test-utils (#7497)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-20 21:15:54 +00:00
Alex YangandGitHub 7065c2fac2 refactor: rename test packages (#7503) 2026-01-20 20:44:24 +00:00
Alex YangandGitHub 4bf407d161 refactor: separate adapters into different packages (#7439) 2026-01-20 06:25:17 +00:00
Alex YangandGitHub 57af0f7b91 fix(rate-limit): support IPv6 address normalization and subnet (#7470) 2026-01-19 23:30:38 +00:00
Alex YangandGitHub 1668a33372 fix: /minimal includes unexpected deps (#7467) 2026-01-19 20:32:29 +00:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
8f6c46d91f chore(deps): bump hono from 4.11.3 to 4.11.4 (#7343)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-13 15:25:45 -08:00
Alex YangandGitHub 47b9aa90da chore: update cloudflare fixture (#7293) 2026-01-12 09:03:52 -08:00
Alex YangandGitHub 4c897d19d2 chore: bump dev deps (#7287) 2026-01-12 03:36:24 -08:00
e8aa51c052 feat: support form data for email sign-in/sign-up and fallback to checking fetch Metadata for first login (#6314)
Co-authored-by: Taesu <166604494+bytaesu@users.noreply.github.com>
Co-authored-by: Bereket Engida <86073083+Bekacru@users.noreply.github.com>
Co-authored-by: Jonathan Samines <jn.samines@gmail.com>
2025-12-25 11:05:23 -08:00
Dylan VanmaliandGitHub 686fba4e11 feat(oauth-provider): an oauth 2.1 compliant plugin (#4163)
An upgrade to oidc-provider plugin that makes it oauth2.1 compliant and has a configuration that is secure by default.

Plans for the deprecation of oidc-provider plugin due to many inherent flaws in its design. Internally, plugin functions now share logic, providing for better future extensibility if new code_grants need to be written or user/client jwt or opaque tokens need to be written. Furthermore, as an oAuth 2.1 provider, it provides logic valid for an MCP server. When using the scope "openid" (optional, enabled by default), the server acts like an OpenId server able to issue id tokens and provides a /userinfo endpoint.

Features

OAuth 2.1 by default
Properly supports authorization_code, refresh_token, and client_credentials grants
PKCE by default (removes plain completely)
Public and confidential client registration
JWT plugin is required by default, but can be disabled using disableJWTPlugin flag
Access tokens can now be received in JWT verifiable format using the resource parameter (ie JWT aud field)
Id tokens are still verifiable by JWKS when using JWT Plugin, or clientSecret if disabled. Fixes issue to prevent public clients when disableJWTPlugin: true from obtaining id tokens directly even when they shouldn't be allowed an id token and should use /userinfo instead.
Protects /userinfo with scope check
Separates Refresh Token and Access token on database schema to allow multiple access tokens per refresh and multiple refresh tokens per login session.
oauthAccessToken strictly deals with opaque tokens
Opaque tokens are given only when resource parameter (aka audience) is not provided
Option to Encode and Decode refresh tokens
allowDynamicClientRegistration with allowUnauthenticatedClientRegistration flags
Separation of default expiration times
Proper creation of public and confidential clients
Prevents misconfiguration between .well-known/openid-configuration endpoint and plugin settings
scopeExpirations to assign scopes specific expiration
Custom claims through separated functions: customAccessTokenClaims, customIdTokenClaims, and customUserInfoClaims
Organizational support through activeOrganizationalId on a session such as through the organizational plugin. Attaches to oAuthClient via reference_id.
Rp-initiated logout
Account Selection via prompt=select_account.
Account Creation via prompt=create.
Prompt combinations prompt=select_account+consent and prompt=login+consent

Docs available at https://www.better-auth.com/docs/plugins/oauth-provider (pr: https://github.com/better-auth/better-auth/blob/main/docs/content/docs/plugins/oauth-provider.mdx)
2025-12-22 11:16:42 -08:00
Alex YangandGitHub cbd215f6ac fix: export necessary adapter types (#6903) 2025-12-20 16:33:13 +08:00
a96e907b7d test: ensure no unexpected output for cloudflare worker (#6704)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-12-14 14:47:01 +09:00