Commit Graph

1400 Commits

Author SHA1 Message Date
Bereket Engida
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 Engida
847ee881d6 docs: add list member 2025-07-26 00:35:37 -07:00
Bereket Engida
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
Maxwell
a83cf9847b feat(organization): additional fields support separate client-server projects (#3564) 2025-07-26 00:35:37 -07:00
Fraol Lemecha
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 Tariku
b5a4c3fc78 fix: make sveltekit plugin ALS-agnostic (#3533)
* svelte cookie

* udpate

* update

* update

* update
2025-07-25 15:07:28 -07:00
Fraol Lemecha
eb0207f03e docs: fix broken link to ERC-4361 in siwe docs (#3604) 2025-07-24 23:26:04 -07:00
Justin
f27a579169 docs: make client-side vs. server-side explicit (#3603) 2025-07-24 23:25:12 -07:00
Bereket Engida
c83b23c6ba docs(api-key): move schema section to the bottom 2025-07-23 21:16:22 -07:00
Khiet Tam Nguyen
e11c51e210 feat(cli): added --yes for generate/migrate, deprecated --y (#3542)
* feat(cli): added --yes option, deprecated --y, as per #1937

* feat:(cli): add deprecation warning to console if --y is used

* style(cli): linted migrate.ts & generate.ts

* docs(cli): revert 1.0 changelog
2025-07-23 09:31:06 -07:00
Bereket Engida
dea6419e09 feat(sso): support disabling setting email verified from a provider (#3551)
* feat: support disabling setting email verified

* Update docs/content/docs/plugins/sso.mdx

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

* fix: update account handling in SSO to support trusted providers

* default to not setting email verified

* docs: update documentation

* add attribute map

---------

Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>
2025-07-22 18:19:25 -07:00
Bereket Engida
6d84138c80 docs: fix installtion guide in dodopayments 2025-07-21 20:12:59 -07:00
Ayush Agarwal
23f142e4b6 docs: added dodo payments plugin (#3468)
* docs: added dodo payments better auth adapter docs

* cleanup

* cleanup

* cleanup

---------

Co-authored-by: Bereket Engida <Bekacru@gmail.com>
2025-07-21 19:54:04 -07:00
Charlie ✨
f8caeb9185 docs: add NuxtOne link as example integration with Nuxt (#3492) 2025-07-20 22:09:24 -07:00
Saurabh
9abf1165b8 docs: update SvelteKit installation (#3506) 2025-07-20 16:24:33 -07:00
TheUntraceable
02ae10ca43 docs: fix typo in organization invitation docs (#3508)
* Fix typo in organization invitation docs

* Fix typo in code for invitations
2025-07-20 16:23:11 -07:00
Bereket Engida
3a824f9660 docs: remove border from blog 2025-07-19 18:19:47 -07:00
Dagmawi Babi
adee10d522 docs: better blog preview (#3489) 2025-07-19 17:39:17 -07:00
Bereket Engida
84a8af814e docs: fix hero light mode 2025-07-19 16:14:38 -07:00
Maxwell
9a470865d2 fiz(organization): additional fields improvements (#3483)
* update(org): additional fields improvements

Fix: type error in client plugin auth generic
update: improved change-logs blog

* fix: teams still inferred

* update: changelog
2025-07-19 15:22:45 -07:00
Maxwell
9d9798abf1 docs: remove old new tags (#3482) 2025-07-19 15:22:08 -07:00
Bereket Engida
79629fa351 docs: update oidc provider link 2025-07-19 13:54:50 -07:00
KinfeMichael Tariku
374c1a20b3 chore: fix typo on v1.3 release blog (#3479)
* update

* lint
2025-07-19 13:05:28 -07:00
Bereket Engida
dd7a158d47 docs: v1.3 announcement changelog (#3476)
* v1.3 init anouncement changelog docs

* revamp on guide

* stale

* saml

* code block

* update

* update

* revamp and update

* feat: changelog image

* docs and og image

* revert

* update

* v1.3

* cont

* init

* update

* chore add count method

* update og

* update og

---------

Co-authored-by: Kinfe123 <kinfishtech@gmail.com>
2025-07-19 12:51:15 -07:00
Bereket Engida
28c846a7cc feat(organization): multi-team support 2025-07-19 12:07:35 -07:00
Maxwell
8e4f9b6c6f feat(magic-link): support errorCallbackURL & newUserCallbackURL (#3268)
* feat(magic-link): Support errorCallbackURL & newUserCallbackURL

* chore: lint

* fix: missing path

* chore:lint

* fix: type error due to zod4

---------

Co-authored-by: Bereket Engida <86073083+Bekacru@users.noreply.github.com>
Co-authored-by: Bereket Engida <Bekacru@gmail.com>
2025-07-18 22:08:33 -07:00
Bereket Engida
ace859c381 chore: remove stripe warning 2025-07-18 20:49:38 -07:00
Bereket Engida
5b1b242a88 Merge branch 'main' into v1.3 2025-07-18 20:09:14 -07:00
rokitg
370e8515e5 feat: SIWE plugin (#2579)
* feat: first draft of SIWE plugin

* fix: run biome linter

* refactor(siwe): rename publicKey to walletAddress for clarity

 - Add ensName as an optional param from the client
 - Add emailDomainName to plugin options - fallback to getOrigin()
- Move schema to a separate file

* fix(siwe): update emailDomainName assignment to use nullish coalescing operator

* run biome linter

* fix(siwe): avatar field is not included in createUser call

* refactor(siwe): remove siwe dependency and implement nonce generation and message verification through plugin options

- Removed direct dependency on 'siwe' package.
- Introduced 'generateSiweNonce' and 'verifySiweMessage' as user functions
- Updated tests to reflect changes in nonce handling and message verification logic (WIP)

* feat: add anonymous flag to plugin options

* refactor(siwe): improve test coverage - anonymous flag, missing nonce & other edge cases

* feat(siwe): add checksum address validation using keccak256 + test case

* fix(siwe): refactor hashing utility to use @noble/hashes

* feat(siwe): enhance SIWE plugin with chainId support, strong typing, dedicated table for wallet adresses and more test coverage

* refactor(siwe): remove unused SIWE interfaces

* fix(siwe): PR review issues

* fix(siwe): rename const "siweClientPlugin" to "siweClient" for simplicity

* feat(siwe): add docs

* chore: fix lock file

* fix: account linking & code formatting

* run pnpm lint

---------

Co-authored-by: Bereket Engida <Bekacru@gmail.com>
2025-07-18 19:21:55 -07:00
KinfeMichael Tariku
1a1594d7f9 feat: afterEmailVerification callback (#3046)
* fix: callback to run after successful email verification

* lint

* update

* chore: update

* callback label
2025-07-18 19:10:19 -07:00
KinfeMichael Tariku
68feed668f docs: add custom table name ref on jwks (#2996) 2025-07-18 19:05:34 -07:00
KinfeMichael Tariku
a342b61357 feat: onPasswordReset callback (#2994)
* fix: otp value and tries separator

* feat: onPasswordReset callback

* lint

* clean up

* test

* docs
2025-07-18 19:04:36 -07:00
KinfeMichael Tariku
3178c5fad8 docs: getting session from the context in db hook (#3051)
* docs: getting session from the context in db hook

* update

* update
2025-07-18 19:03:41 -07:00
KinfeMichael Tariku
1b2f383350 feat(sso): configurable provider limit (#3433) 2025-07-18 18:58:14 -07:00
Maxwell
7cc68b82f6 docs(faq): remove name, image, or email fields (#2688) 2025-07-18 18:54:26 -07:00
Maxwell
e954c93361 docs(typescript): warn ts inference error regarding tsconfig (#3055) 2025-07-18 18:53:57 -07:00
Maxwell
93698afd45 feat(organization): additionalFields for org, member, invitation & team (#3447)
* feat(org): additionalFields for org, member, invitation & team

* fix: tests

* chore: lint

* add: docs

* update(docs): improve wording

* feat: support client side inference

* chore: lint
2025-07-18 17:31:17 -07:00
Robi
5a24661fb6 refactor: pass both building and getRequestEvent from outside of library (#3449)
* refactor: Pass both building and getRequestEvent from outside of library
- Removes the need for importing from virtual modules at the expense of more user boilerplate

* chore: add Svelte and related dependencies to externals

* chore: lint

* refactor(docs): update SvelteKit integration docs with new building and getRequestEvent usage
2025-07-18 15:00:15 -07:00
Bereket Engida
7d03460470 feat: add an option to encrypt oauth tokens by default (#2552)
* feat: add an option to encrypt tokens by default

* feat(auth): add OAuth token encryption support

* refactor(auth): streamline token handling in OAuth callback by utilizing setTokenUtil

* refactor(auth): replace direct token handling with setTokenUtil for improved clarity and maintainability

* refactor(auth): unify token handling by utilizing setTokenUtil for access and refresh tokens

* docs(auth): enhance documentation for OAuth token encryption, clarifying security risks and benefits

* chore: cleanup

* update test
2025-07-18 14:00:48 -07:00
Alessandro Bortolin
41fb4d15a8 feat(username): add custom username normalization option (#3412)
* feat(username): add custom username normalization option

* add transformer

* handle nullish values

---------

Co-authored-by: Bereket Engida <Bekacru@gmail.com>
2025-07-18 10:03:28 -07:00
KinfeMichael Tariku
f521d7bf11 docs: organization option for cancelPendingInvitationsOnReInvite (#3440)
* docs: organization option for canceling on reinvite

* default val

* lint
2025-07-18 10:02:46 -07:00
Dagmawi Babi
4c9479ee2b docs: automatic-tax-collection (#3415) 2025-07-17 21:09:42 -07:00
Maxwell
1ed38cd28b feat(docs): APIMethod, documents all server & client auth examples (#2577) 2025-07-17 16:20:10 -07:00
KinfeMichael Tariku
8bcc352856 docs: fix request lifecycle hooks example (#3434) 2025-07-17 15:48:06 -07:00
Bereket Engida
8fa4c9ce7e feat(stripe): pass context obejct to stripe plugin callbacks (#2990)
* feat(stripe): pass context obejct to stripe plugin callbacks

* cleanup

* cleanup

* cleanup

* chore: lint

* fix: tests

---------

Co-authored-by: ping-maxwell <maxwell.multinite@gmail.com>
2025-07-17 14:48:11 -07:00
KinfeMichael Tariku
c27ff747ce docs: callout on getSessionCookies on security check (#3110)
* docs: add callout for getSessionCookies

* clean up

* clean up
2025-07-17 14:47:30 -07:00
Bereket Engida
ea0fcdab70 Revert "feat(social-providers): add Faceit Social Provider (#3140)" (#3432)
This reverts commit 8792717b4b.
2025-07-17 10:11:45 -07:00
Matt Russell
8792717b4b feat(social-providers): add Faceit Social Provider (#3140)
* create faceit provider

* include new faceit provider

* updating docs to include faceit

* Update docs/content/docs/authentication/faceit.mdx

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

* Update docs/components/builder/social-provider.tsx

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

* formatting

* formatting

* formatting

* Update documentation

Updated to include callout about Faceit's Redirect URL requirements

* fix: docs

* chore: cleanup

---------

Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>
Co-authored-by: ping-maxwell <maxwell.multinite@gmail.com>
2025-07-17 10:10:07 -07:00
Bereket Engida
56bd676534 Merge branch 'main' into v1.3 2025-07-17 10:08:46 -07:00
KinfeMichael Tariku
d9a925b315 docs: add logger option (#3171)
* docs/logging-docs

* update
2025-07-17 09:39:52 -07:00