Commit Graph
1443 Commits
Author SHA1 Message Date
Bereket Engida 29cdaddd97 docs: hero padding should match the features section 2025-08-11 09:56:42 -07:00
KinfeMichael TarikuandGitHub f242400b1b docs: update missing links on contribution guide (#3922)
* docs: unify component implementations for consistency (#3799)

* fix(docs): unify component implementations for consistency

* update

* docs: contribution guide link

* lint
2025-08-11 14:09:07 +03:00
Bereket Engida a5bddf1675 chore: change examples url 2025-08-10 23:44:16 -07:00
KinfeMichael TarikuandGitHub 0f668c8cb5 docs: add callout to populate event.locals.user and session in handlers (#3910)
* docs: add callout to set event.locals.user/session in handle

* update

* docs
2025-08-10 17:53:48 -07:00
+3 f363681f70 fix: remove deep array merge when merging hooks context (#3160)
* Update to-auth-endpoints.ts

fixed

* biome error

* first commit

* fix(org): use correct slug lookup when setting active org

* docs: adding reference to surrealdb adapter rewrite (#3754)

Adding reference to surrealdb adapter rewrite, with passing tests and schema generation as well as surreal native parameters.

* chore(demo): replace isLoading using `useTransition` (#3775)

* fix: use `useTransition` for isLoading

* fixup! fix: use `useTransition` for isLoading

* fix(reddit): refresh access token should use `basic` auth (#3753)

* reddit auth type

* changesets

* chore: remove changeset

---------

Co-authored-by: Bereket Engida <86073083+Bekacru@users.noreply.github.com>

* docs: unify component implementations for consistency (#3799)

* fix(docs): unify component implementations for consistency

* update

* fix: add missing team reference in teamMember schema (#3801)

* fix(organization): team members should be cleaned up on delete team (#3833)

* feat(stripe): create billing portal session (#3625)

* feat(stripe) : add billing portal session endpoint

* create billing portal session

* update docs

* chore: changeset

* chore: fix stripe

* chore: remove comment

* chore: update docs

---------

Co-authored-by: Bereket Engida <Bekacru@gmail.com>
Co-authored-by: Bereket Engida <86073083+Bekacru@users.noreply.github.com>

* fix(cli): prisma schema generate mismatch on custom plugin table names (#3021)

* fix: generate mismatch

* clean up

* linkt

* lint

* clean up

* clean up

* lint

* lint

* test

* clean up

* clean up

* lint

* update

* docs: update TOTP 2FA docs to state that Better-Auth implements a delay window (#3586)

Better Auth uses a delay window for TOTP code verification to ensure that it is resilient to time delays

* docs: remove unused import of 'auth' type in authClient setup (#3856)

In the previous implementation, the import statement for 'auth' type from './auth' was included as part of the setup for the authClient, but it is no longer being used in the current code. This update removes the unnecessary import to clean up the code and prevent potential confusion.

Additionally, the authClient setup remains intact with the use of 'inferAdditionalFields' plugin to define additional user fields (role type set to 'string').

- Removed unused import: `import type { auth } from "./auth"`
- Kept the authClient initialization with 'inferAdditionalFields' plugin

This resolves a minor issue and ensures that the code remains clean and maintainable.

* docs: enhance trustedOrigins option with examples (#3857)

* docs: enhance trustedOrigins option documentation

* nit

* docs: fix typo in SSR performance section

The line was missing "the".

Co-authored-by: KinfeMichael Tariku <65047246+Kinfe123@users.noreply.github.com>

* chore: update api key docs (#3864)

Closes #3724

* docs: fix google auth prompt (#3894)

Google OAuth2 uses space delimiters instead of + 

https://developers.google.com/identity/protocols/oauth2/web-server

* docs(hono): update RPC client to use init config instead of custom fetch (#3597)

* add test

* chore: lint

---------

Co-authored-by: KinfeMichael Tariku <65047246+Kinfe123@users.noreply.github.com>
Co-authored-by: Manuel Sanchez <manuel@msanchez.dev>
Co-authored-by: Alex Yang <himself65@outlook.com>
Co-authored-by: Bereket Engida <86073083+Bekacru@users.noreply.github.com>
Co-authored-by: dogus <147812199+rhitune2@users.noreply.github.com>
Co-authored-by: Bereket Engida <Bekacru@gmail.com>
Co-authored-by: Hysterelius <71912794+Hysterelius@users.noreply.github.com>
Co-authored-by: Jovan Lanutan <jolanutan@gmail.com>
Co-authored-by: Nate <37544626+ntedvs@users.noreply.github.com>
Co-authored-by: Dagmawi Babi <44819176+dagmawibabi@users.noreply.github.com>
Co-authored-by: Braden Wong <13159333+braden-w@users.noreply.github.com>
2025-08-10 16:46:58 -07:00
c83a8a5ed1 fix(username): remove normalize transform for displayUsername (#3912)
* fix(username): remove normalize transform for displayUsername
feat(username): add displayUsernameValidator

* feat(username): enhance username plugin with display username normalization and validation options

* docs

* update api

* update docs

* update docs

---------

Co-authored-by: Bereket Engida <Bekacru@gmail.com>
2025-08-10 15:34:31 -07:00
Bereket Engida 5fdc9dfb85 chore: remove unused import 2025-08-10 01:24:40 -07:00
Bereket Engida 820d394ac3 chore: remove unused componenet 2025-08-10 01:12:57 -07:00
Fraol LemechaGitHubKinfe123Bereket Engidacubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>Alex YangBereket Engida
2915e4c92d feat: add telemetry (#3822)
* feat: telemetry

Co-authored-by: Kinfe123 <kinfishtech@gmail.com>

* chore: remove changeset

* fix: do not generate project id unless telemetry is enabled

* fix: return `isInsiderContainerCached`

Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>

* chore: remove unused utils file

* fix: properly cache generated project id

* feat: interpret empty env vars as false

Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>

* fix: use nullish coalescing to set fallback

* fix: should be `isInsideContainerCached`

* fix: unique icons + tooltip for telemetry component

* fix: import child process from node

* fix: remove quotes in description

Co-authored-by: Alex Yang <himself65@outlook.com>

* fix: address reviews

Co-authored-by: Alex Yang <himself65@outlook.com>

* chore: refactor

* refactor

* add tests

* cache pkg json

* add cli tracking

* add migrate

* chore fix xi

* skip tet

* update snapshot

* chore: fix typecheck

* Expand telemetry docs: list collected fields, clarify anonymous redaction via getTelemetryAuthConfig, and document CLI events and audit/opt‑out paths.

* docs

* doc cleanup

* fixes

* remove git first commit message

* update docs

---------

Co-authored-by: Kinfe123 <kinfishtech@gmail.com>
Co-authored-by: Bereket Engida <86073083+Bekacru@users.noreply.github.com>
Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>
Co-authored-by: Alex Yang <himself65@outlook.com>
Co-authored-by: Bereket Engida <Bekacru@gmail.com>
2025-08-10 01:11:56 -07:00
Alex YangandGitHub 0a596beb3a docs: hydration fix on wrapping table content (#3876) 2025-08-08 14:31:48 +03:00
Grant GandGitHub 7575ef6a43 feat(oidc-provider): allow passing oauth consent code via query params (#3845)
* feat: pass oauth consent code via query params

* address cubic comments

* fix tests

* address comments
2025-08-07 00:03:05 -07:00
Bereket Engida 0cc68ee9ba docs: fix missing import 2025-08-06 17:02:13 -07:00
422aa488b7 feat(stripe): create billing portal session (#3625)
* feat(stripe) : add billing portal session endpoint

* create billing portal session

* update docs

* chore: changeset

* chore: fix stripe

* chore: remove comment

* chore: update docs

---------

Co-authored-by: Bereket Engida <Bekacru@gmail.com>
Co-authored-by: Bereket Engida <86073083+Bekacru@users.noreply.github.com>
2025-08-06 16:38:50 -07:00
KinfeMichael TarikuandBereket Engida f59343da43 docs: unify component implementations for consistency (#3799)
* fix(docs): unify component implementations for consistency

* update
2025-08-06 16:38:50 -07:00
Alex YangandBereket Engida 3ee67fcca0 chore(demo): replace isLoading using useTransition (#3775)
* fix: use `useTransition` for isLoading

* fixup! fix: use `useTransition` for isLoading
2025-08-06 16:38:41 -07:00
Manuel SanchezandBereket Engida f49a2fbf99 docs: adding reference to surrealdb adapter rewrite (#3754)
Adding reference to surrealdb adapter rewrite, with passing tests and schema generation as well as surreal native parameters.
2025-08-06 16:38:41 -07:00
Grant GandGitHub 9aebc3e9a0 feat(oidc-provider): add client to getAdditionalUserInfoClaim callback (#3790)
* feat: add oidc Client to getAdditionalUserInfoClaim

* address cubic comments

* run format
2025-08-05 21:17:42 -07:00
Alex YangandGitHub 575070f605 chore: bump biome (#3784) 2025-08-04 13:48:54 -07:00
Bereket EngidaandGitHub 5eca938933 feat(organization): add option for requiring email verificaiton (#3785)
* feat(organization): add option for requiring email verificaiton

* add rejection

* docs: add docs
2025-08-04 13:12:46 -07:00
Bereket Engida fbdf2b3a18 chore: update ignore build script 2025-08-01 23:14:16 -07:00
Bereket Engida 3babdbb07c docs: update session mangement caveats 2025-08-01 23:02:40 -07:00
Bereket Engida 640f165a11 chore: add check for docs build 2025-08-01 16:52:38 -07:00
a2474faac6 docs: remove nonexistent invitation.createdAt field, add missing invitation.teamId field (#3741)
* docs: remove invitation.createdAt, add invitation.teamId

* docs: add team id optionally

---------

Co-authored-by: Bereket Engida <Bekacru@gmail.com>
2025-08-01 13:11:10 -07:00
91cae8aa1e docs: fix wrong cancelUrl and returnUrl descriptions (#3647)
* docs: fix wrong cancelUrl and returnUrl descriptions

* chore: changeset

* chore: update changeset

---------

Co-authored-by: Bereket Engida <86073083+Bekacru@users.noreply.github.com>
2025-08-01 09:43:48 -07:00
e5f3f31311 feat(passkey): allow custom passkey name during registration (#3587)
* feat(passkey): allow custom passkey name during registration

* lint

* docs: specify name prop in passkey docs

* chore: add changeset

* chore: changeset

* chore: update changeset

* remove changest

---------

Co-authored-by: Bereket Engida <86073083+Bekacru@users.noreply.github.com>
2025-08-01 09:43:35 -07:00
SaviruandGitHub 884d3d5c1e docs: fix open plugins link in same tab (#3737) 2025-08-01 08:32:47 -07:00
MaxwellandGitHub 3225926889 docs(org): inferOrgAdditionalFields has wrong import path (#3734)
The newly introduced `inferOrgAdditionalFields` has the wrong import path in the docs.
2025-08-01 11:20:15 +03:00
Marcel Losso ForteandGitHub 89a0ad3395 docs: addd better-auth-localization to community plugins (#3727) 2025-07-31 22:39:22 -07:00
Ambuj KumarandGitHub 685f70ae3d docs: update dodopayments docs due to breaking change in the package (#3715)
since version 1.0.0, all the endpoints exposed by the
@dodopayments/better-auth adapter now include a `dodopayments` prefix to
prevent conflict with other payment related better-auth plugins.
2025-07-31 16:23:28 -07:00
KinfeMichael TarikuandGitHub 0656f3ef95 chore: add sitemap (#3720) 2025-07-31 11:22:48 -07:00
Braden WongandGitHub 33b0635c4d docs(hono): clarify CORS middleware must be registered before routes (#3707)
- Add complete example showing app.on() and serve() after CORS setup
- Include important note explaining CORS must come before route registration
- Ensures consistency with middleware section and prevents user confusion
- Critical for proper cross-origin request handling in authentication endpoints
2025-07-31 00:24:22 -07:00
MaxwellandGitHub 15e0e59f6d docs: remove invalid customPaths option (#3709)
Previously a merged PR had this, but that PR was revered however didn't reverse the docs for it.
2025-07-31 00:19:18 -07:00
Mikel SolabarrietaandGitHub 85ef3bd198 docs: update usernameValidator example return type from bool|undefined to bool (#3702) 2025-07-30 14:21:29 -07:00
renovate[bot]GitHubrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
4ad0a419d3 chore(deps): update dependency next to v15.3.3 [security] (#3666)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-29 21:58:56 -07:00
Bereket Engida e27523fd07 chore: cleanup database guide 2025-07-27 22:01:02 -07:00
Bereket Engida de50a5a41c docs: fix typo on cookies guide 2025-07-27 22:01:02 -07:00
Bereket Engida 040092bf7c docs: fix typo 2025-07-27 21:52:59 -07:00
Bereket Engida 65fed29873 docs: improve cookie concept guide 2025-07-27 21:51:33 -07:00
KinfeMichael TarikuandGitHub a066293b35 docs: replace changelog og image (#3661) 2025-07-27 20:30:16 -07:00
Tayfun GülcanandGitHub 76cac0eaa6 docs: fix import typo in svelte kit guide (#3654) 2025-07-27 17:51:41 -07:00
Marcel Losso ForteandGitHub 3afb25a780 docs: update password change instructions (#3641)
* docs: update password change instructions

* docs: add missing `requireSession` to change-password API method
2025-07-27 13:15:02 -07:00
Marcel Losso ForteandGitHub e7af3aa80c docs: typo and wrong ref for additional fields in Email & Password page (#3639) 2025-07-26 20:15:54 -07:00
Bereket Engida 8fdcf54a7b docs: fix account deletion process for OAuth users 2025-07-26 11:47:24 -07:00
8a50ac4b0c chore: improve client inference for organization additional fields (#3612)
* docs(api-key): move schema section to the bottom

* fix: shouldn't refresh a token if access token expires is undefined or null (#3577)

* fix: ensure session is added to context when reading from cookie cache (#3578)

When session data is present in the cookie, `get-session` was
early-returning without adding the session to the context, causing hooks
to receive a null session.
This change ensures the session is consistently added to the context.

* chore: export siwe in better-auth/plugins (#3596)

The docs were using this import path, yet `siwe` wasn't exported there. This PR fixes this.

* chore: fix cookies test

* fix: client inference for organization additional fields

* improve additional fields

* fix build

* fix test

---------

Co-authored-by: Gagan G <80091397+gaganref@users.noreply.github.com>
Co-authored-by: Maxwell <145994855+ping-maxwell@users.noreply.github.com>
2025-07-26 00:35:37 -07:00
Bereket EngidaandBereket Engida 847ee881d6 docs: add list member 2025-07-26 00:35:37 -07:00
Bereket EngidaGagan Gcubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>
518ab70495 feat(organization): add membersLimit param to allow to fetch more or less members than the membership limit (#3580)
* docs(api-key): move schema section to the bottom

* fix: shouldn't refresh a token if access token expires is undefined or null (#3577)

* fix: ensure session is added to context when reading from cookie cache (#3578)

When session data is present in the cookie, `get-session` was
early-returning without adding the session to the context, causing hooks
to receive a null session.
This change ensures the session is consistently added to the context.

* feat(organization): add membersLimit param to allow to fetch more or less members than the membership limit

* add test

* Update packages/better-auth/src/plugins/organization/adapter.ts

Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>

---------

Co-authored-by: Gagan G <80091397+gaganref@users.noreply.github.com>
Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>
2025-07-26 00:35:37 -07:00
MaxwellandBereket Engida a83cf9847b feat(organization): additional fields support separate client-server projects (#3564) 2025-07-26 00:35:37 -07:00
ac6baba2a0 chore: add changesets (#3557)
* chore: consistent package names

* chore: init changesets

* chore: update contribution doc to include generating a changeset

* chore: configure all better auth packages to always have the same version number

* chore: update nextjs demo package name

* chore(changesets): ignore all private packages

* chore(changesets): check for changesets in CI

* chore(changesets): install chagesets cli

* chore(changesets): use orgin as main

* chore(changesets): fix typo

* chore(changesets): check for changes since main in ci

* chore(changesets): check for changes since main in ci with the correct command

* chore(changesets): check against `origin/main`

* chore(changesets): checking for changesets should be the last action

* chore(changesets): run changelog check after stoping the docker containers

* chore(changesets): run changelog check after building

* chore(changesets): run changelog check after starting docker compose

* chore(changesets): run changelog check after linting

* chore(changesets): run changelog check after testing

* Revert "chore(changesets): run changelog check after testing"

This reverts commit 6dc000f78d.

* chore: export siwe in better-auth/plugins (#3596)

The docs were using this import path, yet `siwe` wasn't exported there. This PR fixes this.

* chore: fix cookies test

* docs: make client-side vs. server-side explicit (#3603)

* docs: fix broken link to ERC-4361 in siwe docs (#3604)

* fix(jwt): ensure alg is added to the jwks when generating via /token endpoint (#3601)

* fix: Ensure alg is added to the jwks when generating via /token endpoint

* chore: resolve linting issues

* chore(example): fix SvelteKit example (#1742)

* refactor: upgrade Svelte, Vite and related packages

* refactor: replace no longer supported `body.callbackURL` with `onSuccess`

* fix: add missing `svelte-kit sync` on `prepare`

* fix: add missing `import`s

* chore(svelte-kit-example): show message & redirect to index after sign up

* chore: add npm script to migrate database

* doc: add more commands to set up

* chore: explicitly disable verification email on sign up

The example does not work if you set `sendOnSignUp: true` without setting up the email server.

* refactor(svelte-kit-example): add type for hooks

* chore(svelte-kit-example): redirect to sign in page if users open dashboard without log in

* chore: diable some rules for svelte-kit-example due to Biome's limited Svelte support

* style: fix format

* chore: update pnpm-lock.yaml

* chore: fix lock file

---------

Co-authored-by: Bereket Engida <Bekacru@gmail.com>

* fix: make sveltekit plugin ALS-agnostic (#3533)

* svelte cookie

* udpate

* update

* update

* update

* chore(cli): update zod to v4 (#3618)

* fix: correct typo in freeTrial variable name in Stripe integration

* chore: fix lock file

* chore: add changeset for typo fix in freeTrial

---------

Co-authored-by: Maxwell <145994855+ping-maxwell@users.noreply.github.com>
Co-authored-by: Bereket Engida <Bekacru@gmail.com>
Co-authored-by: Justin <127172022+jl33-ai@users.noreply.github.com>
Co-authored-by: Elliott Minns <elliott.minns@pm.me>
Co-authored-by: Jumpei Ogawa <git@phanective.org>
Co-authored-by: KinfeMichael Tariku <65047246+Kinfe123@users.noreply.github.com>
2025-07-25 20:39:44 -07:00
KinfeMichael TarikuandGitHub b5a4c3fc78 fix: make sveltekit plugin ALS-agnostic (#3533)
* svelte cookie

* udpate

* update

* update

* update
2025-07-25 15:07:28 -07:00
Fraol LemechaandGitHub eb0207f03e docs: fix broken link to ERC-4361 in siwe docs (#3604) 2025-07-24 23:26:04 -07:00