## nextauthjs/next-auth — v4.1.0-next.2…v4.1.0

_412+ commits._

### Features
- **feat: better out-of-the-box `id_token` detection (#3514)** (a0b3814)
- **feat(providers): add support to Twitter OAuth 2.0 (#3446)** (90c7d53)
- **feat(providers): add Patreon provider (#3581)** (0510c9b)
- **feat(providers): ensure GitHub provider always gives an email (#3302)** (d1d0db4)
- **feat(providers): refactor Apple provider (#2875)** (c44b860)
- **feat(oauth): expose `httpOptions` (#3287)** (187a147)
- **feat(providers): add Osu! provider (#3234)** (35ee608)
- **feat(providers): add Pipedrive provider (#3011)** (0f132de)
- **feat: make missing secret an error (#3143)** (76bf524)
- **feat: introduce chunking when session cookie becomes too big (#3101)** (f9e0ef8)
- **feat: rename session strategy (#3144)** (ba39efb)
- **feat: allow relative redirects (#3140)** (6502b63)
- **feat: Clerk to README supporters** (533ed94)
- **feat(react): preserve history on client-side navigation (#2980)** (1d9b7b8)
- **feat: update `jose` and `openid-client` (#3039)** (72408ab)
- **feat(signin): Support passing any argument to credentials input (#2876)** (c5bd99d)
- **feat(providers): refactor Azure B2C provider (#2862)** (72d4c5b)
- **feat(providers): expose `openid-client` options `client` and `jwks` (#2717)** (50e6a64)
- **feat(providers): refactor Slack provider (#2848)** (f0551b0)
- **feat(providers): refactor Cognito provider (#2829)** (5066726)
- **feat: built-in page theme updates (#2788)** (cabcdc9)
- **feat(client): remove `staleTime` (#2613)** (08349c3)
- **feat(provider): add Keycloak provider (#2485)** (eb8ba69)
- **feat(provider): use more restrictive default scope for GitHub (#2579)** (e15bf9b)
- **feat(provider): return image for Yandex by default (#2563)** (90a6a00)
- **feat: simplify Adapter API (#2361)** (8914f88)
- **feat(provider): require to import every provider individually (#2518)** (55132e5)
- **feat: improve OAuth provider configuration (#2411)** (7c65bda)

### Fixes
- **fix: display inline errors when using custom error page. (#3576)** (82447f8)
- **fix(providers): refactor naver provider profile (#3500)** (49e4af1)
- **fix(providers): fix url and auth method for Kakao provider (#3501)** (db65afe)
- **fix(oauth): set `httpOptions` before issuer discovery  (#3537)** (c71cb84)
- **fix(providers): make Strava work again (#3520)** (a09a75b)
- **fix(providers): use `idToken` by default in Cognito provider (#3448)** (d1d2d97)
- **fix(pages): remove default placeholder for credentials provider (#3451)** (48749d7)
- **fix(jwt): use authorization header as fallback (#3453)** (87d0beb)
- **fix(providers): use `id_token` by default on Okta provider (#3418)** (2c269a6)
- **fix(providers): refactor FusionAuth to v4 (#3376)** (8b9a109)
- **fix: properly handle callback URL fallback  (#3402)** (30a0fc6)
- **fix: default to `VERCEL_URL`  for `callbackUrl`** (1c7fe57)
- **fix: use `VERCEL_URL` by default for `secureCookie` (#3399)** (59797bb)
- **fix(ts): improve types for `encode`/`decode` functions (#3346)** (0431c2a)
- **fix(providers): convert 42 School profile `id` to string (#3351)** (5ac688c)
- **fix(ts): typo in `Auth0Profile` interface (#3347)** (8ea75f0)
- **fix: remove `nextauth` from authorization params (#3332)** (4dcdb62)
- **fix: Fallback to --color-text when no color-brand (#3313)** (cc17ddf)
- **fix(providers): correct authorization url for Atlassian (#2999)** (22f74d7)
- **fix: add custom error message when session required (#3288)** (2570168)
- **fix(providers): Rewrite EVEOnline in TS, fix default scopes (#2759)** (4dc7674)
- **fix(providers): match filename with 42 Provider's `id` (#3225)** (31426b9)
- **fix: assert `action` when `req.query` isn't available (#3222)** (64b2a2c)
- **fix(providers): refactor Zoom** (432876c)
- **fix: correct assertion when Credentials only (#3217)** (15d1fab)
- **fix(providers): set 42 default scope (#3189)** (38cefdd)
- **fix: allow configuring http timeout (#3188)** (b871b47)
- **fix: respect `host` in `getServerSession` (#3179)** (e9ac11b)
- **fix: use `error` query param if set (#3141)** (0d7d8da)
- **fix: correctly transpile all client-side submodules (#3100)** (1597369)
- **fix(oauth): allow 10 sec clock tolerance (#3071)** (4181988)
- **fix: normalize URL before parsing (#3077)** (b66afcc)
- **fix: bump openid-client (#3063)** (da991de)
- **fix(providers): add default `id_token_signed_response_alg` to LINE (#3059)** (5725931)
- **fix: uuid import (#3056)** (c8b7e2e)
- **fix(providers): resize default AzureAD profile picture (#2910)** (58a98b6)
- **fix(providers): Refactor Line Provider (#2917)** (129d161)
- **fix: conditionally render theme logo on builtin pages (#2916)** (19e326e)
- **fix: correctly set authorization url for OAuth1 (#2884)** (dfff2e6)
- **fix(signin): Set default input type to text to fix CSS (#2881)** (0707ba6)
- **fix(provider): refactor Okta provider (#2856)** (f635035)
- **fix(providers): convert to TS, add `picture` (#2851)** (9e1eab0)
- **fix(providers): make string endpoint handlers overrideable (#2842)** (b052d4c)
- **fix: use default export map syntax for ESM/CJS (#2830)** (ffa2b1b)
- **fix(provider): refactor LinkedIn provider (#2821)** (1d52600)
- **fix(providers): refactor Azure AD provider to support v4 (#2818)** (424bd04)
- **fix: login logo height** (a177bbb)
- **fix(provider): remove extra brace from `jwks_uri` (#2813)** (04fc3fd)
- **fix(ts): add defaults to `OAuthConfig` generics** (a2c4046)
- **fix: respect `id` from user options in `signinUrl` and `callbackUrl` id (#2698)** (819e97e)
- **fix(ts): hint built-in provider types in `signIn` (#2655)** (17bea4a)
- **fix(ts): make OAuth profile overrideable (#2682)** (0989acc)
- **fix(ts): forward credentials fields to authorize (#2683)** (3b23cfe)
- **fix(ts): make `options` on `useSession` optional** (419ffe7)
- **fix: avoid infinite loop in error handlers (#2647)** (245567b)
- **fix(callback): respect `callbackUrl` in Email Provider (#2574)** (a9f699f)
- **fix(deps): update built-in adapter dependencies (#2589)** (ead7152)
- **fix(provider): remove double CSS from email template** (2c43fbd)
- **fix(ts): allow void return type on delete operations** (78d8f28)
- **fix(provider): make `userinfo.params` optional (#2517)** (65040dc)
- **fix(ts): allow `scope` as string array type (#2511)** (66d16f8)
- **fix(ts): fix internal react type import (#2450)** (92b9d22)

### Backend
- **Release v4** (50fe115)
- **Merge branch 'main' into beta** (8644e55)
- **Merge beta into next** (3f943d2)
- **Merge main into next** (da8d729)
- **Merge main into next** (a49903f)
- **Merge main into next** (e5fe470)

### Tests
- **test(client): fully cover client module (#2295)** (d76f15b)

### Docs
- **docs: update contributing guide link (#3595)** (36ca1f9)
- **docs: fix OpenCollective link in `README.md` (#3494)** (0e8be0c)
- **docs: Fix README.md typo (#3412)** (ac35d9f)
- **docs: match docs page wording for `SECURITY.md`** (2670bbb)
- **docs: add top contributors to package.json** (fedb848)
- **docs: upgrade README** (c0dddfb)
- **docs(readme): opencollective domain (#3066)** (78fa333)
- **docs: mention other repos in readme and issue forms (#2989)** (932d05d)
- **docs(contributing): fixed numeration type (#2624)** (e8a58a0)
- **docs(providers): split provider type docs into individual pages (#2480)** (55ab95e)
- **docs: add v4 migration docs page (#2350)** (5da6288)
- **docs(providers): add tip about async provider code (#2443)** (91de463)
- **docs(www): add more algolia no-result terms (#2442)** (4a9d871)
- **docs: Fix grammar (#2602)** (0ce15c4)
- **docs: add suggestions for secret and encryption key generation (#2578)** (8faa755)
- **docs(provider): remove en-us from Azure urls (#2554)** (cb844a2)
- **docs(email): remove duplicate CSS property from html (#2546)** (74558d6)
- **docs(ts): mention module augmentation on callbacks (#2541)** (d03125a)
- **docs(security): email contact update (#2467)** (be74dd0)
- **docs: Update faq.md (#2458)** (9bf867d)
- **docs(client): add text regarding 'logout' (#2432)** (0f460c2)
- **docs(adapter): Typo in filepath for firebase auth in docs. (#2436)** (887cb00)

### Chore
- **chore(dev): add `postinstall` in `app` to remove `next-auth` (#3575)** (9bec967)
- **chore: add eslintIgnore in package.json (#3548)** (227ff22)
- **chore(app): upgrade dev app dependencies** (c493699)
- **chore(dev): fix start email script (#3541)** (e2add6a)
- **chore(dev): minor fixes on dev app** (978e2ee)
- **chore(deps): ugprade dependencies (#3415)** (8ab057e)
- **chore(deps): upgrade `next` dev dependency** (b0f6175)
- **chore: fix typo in comment (#3388)** (9eb78a9)
- **chore: add opencollective to package.json (#3333)** (1f4b7d8)
- **chore(providers): TS improvements (#3295)** (b01f680)
- **refactor(providers): cleanup 42 (#3221)** (7beb3ff)
- **refactor(providers): convert 42 to TypeScript (#3211)** (5e803cd)
- **refactor: decouple CSRF-state (#3142)** (043b252)
- **refactor: strict types (#2802)** (f998bf2)
- **refactor: use universal modules in `next-auth/jwt` (#3062)** (c089ede)
- **refactor: decouple Next.js from core (#2857)** (eb33c9d)
- **chore(deps): upgrade dependencies (#2900)** (a0b9577)
- **chore: trigger CI** (5149a5d)
- **chore: remove unused `www` reference** (c2fd58d)
- **chore(app): add SpotifyProvider to dev app** (9693277)
- **chore(dev): add AzureADProvider to dev app** (19a33f3)
- **refactor(ts): move Twitch to TypeScript** (ea3f0d6)
- **chore: remove `test:types` script in release workflow** (2cb763c)
- **chore: fix build due to Next.js type error** (8bfbaa4)
- **chore: remove docs after merge** (7dfc581)
- **refactor(dev): use Next.js `externalDir` to fix dev app (#2631)** (8f32b5d)
- **refactor(ts): rewrite core to TypeScript (#2552)** (e099223)
- **chore(docs): remove docs from repo (#2609)** (1c1e841)
- **chore(docs): fix dependency name (#2607)** (c2119b1)
- **chore: add FaunaAdapter to dev app** (e06ced5)
- **refactor: remove wrapping Promise (#2514)** (b50a2eb)

_Recap by [Repo Wrapped](https://repowrapped.com/gh/nextauthjs/next-auth?utm_source=github-action)._