#
tokens: 168451/50000 1/3442 files (page 3441/3442)
lines: off (toggle) GitHub
raw markdown copy
This is page 3441 of 3442. Use http://codebase.md/clerk/javascript?page={x} to view the full context.

# Directory Structure

```
├── .changeset
│   ├── changelog.js
│   ├── cold-bottles-watch.md
│   ├── config.json
│   ├── deprecate-clerk-types.md
│   ├── gold-planes-wear.md
│   ├── heavy-badgers-beam.md
│   ├── modern-cars-fall.md
│   ├── README.md
│   └── silly-jars-shave.md
├── .coderabbit.yaml
├── .cursor
│   └── rules
│       ├── clerk-js-ui.mdc
│       ├── development.mdc
│       ├── global.mdc
│       ├── monorepo.mdc
│       ├── nextjs.mdc
│       ├── react.mdc
│       └── typescript.mdc
├── .dockerignore
├── .editorconfig
├── .github
│   ├── .cache-version
│   ├── actions
│   │   ├── ensure-stable-pr
│   │   │   └── action.yml
│   │   ├── init
│   │   │   └── action.yml
│   │   ├── init-blacksmith
│   │   │   └── action.yml
│   │   ├── verdaccio
│   │   │   └── action.yml
│   │   └── version-prepatch
│   │       └── action.yml
│   ├── ISSUE_TEMPLATE
│   │   ├── BUG_REPORT.yml
│   │   └── config.yml
│   ├── labeler.yml
│   ├── PULL_REQUEST_TEMPLATE.md
│   └── workflows
│       ├── ci.yml
│       ├── e2e-cleanups.yml
│       ├── labeler.yml
│       ├── lock-threads.yml
│       ├── major-version-check.yml
│       ├── nightly-checks.yml
│       ├── pr-title-linter.yml
│       ├── preview.retheme.yml
│       ├── preview.yml
│       ├── release-canary.yml
│       ├── release-snapshot.yml
│       ├── release.yml
│       └── validate-renovate-config.yml
├── .gitignore
├── .husky
│   └── pre-commit
├── .jit
│   └── config.yml
├── .lintstagedrc.json
├── .npmrc
├── .nvmrc
├── .prettierignore
├── .typedoc
│   ├── __tests__
│   │   ├── __snapshots__
│   │   │   └── file-structure.test.ts.snap
│   │   └── file-structure.test.ts
│   ├── custom-plugin.mjs
│   ├── custom-router.mjs
│   ├── custom-theme.mjs
│   ├── README.md
│   ├── tsconfig.json
│   └── typedoc-prettier-config.json
├── .vscode
│   ├── extensions.json
│   ├── launch.json
│   ├── settings.json
│   └── tasks.json
├── commitlint.config.ts
├── docs
│   ├── CICD.md
│   ├── CODE_OF_CONDUCT.md
│   ├── CONTRIBUTING.md
│   ├── PUBLISH.md
│   └── SECURITY.md
├── eslint.config.mjs
├── integration
│   ├── .env.local.sample
│   ├── .keys.json.sample
│   ├── certs
│   │   └── README.md
│   ├── cleanup
│   │   └── cleanup.setup.ts
│   ├── constants.ts
│   ├── deployments
│   │   └── vercel.test.ts
│   ├── models
│   │   ├── application.ts
│   │   ├── applicationConfig.ts
│   │   ├── deployment.ts
│   │   ├── environment.ts
│   │   ├── helpers.ts
│   │   ├── longRunningApplication.ts
│   │   └── stateFile.ts
│   ├── playwright.cleanup.config.ts
│   ├── playwright.config.ts
│   ├── playwright.deployments.config.ts
│   ├── presets
│   │   ├── astro.ts
│   │   ├── custom-flows.ts
│   │   ├── elements.ts
│   │   ├── envs.ts
│   │   ├── expo.ts
│   │   ├── express.ts
│   │   ├── index.ts
│   │   ├── longRunningApps.ts
│   │   ├── next.ts
│   │   ├── nuxt.ts
│   │   ├── react-router.ts
│   │   ├── react.ts
│   │   ├── tanstack.ts
│   │   ├── utils.ts
│   │   └── vue.ts
│   ├── README.md
│   ├── scripts
│   │   ├── awaitableTreekill.ts
│   │   ├── clerkJsServer.ts
│   │   ├── index.ts
│   │   ├── logger.ts
│   │   ├── proxyServer.ts
│   │   ├── range.ts
│   │   ├── run.ts
│   │   ├── setup.ts
│   │   ├── waitForIdleProcess.ts
│   │   └── waitForServer.ts
│   ├── templates
│   │   ├── astro-hybrid
│   │   │   ├── .gitignore
│   │   │   ├── astro.config.mjs
│   │   │   ├── package.json
│   │   │   ├── public
│   │   │   │   └── favicon.svg
│   │   │   ├── src
│   │   │   │   ├── layouts
│   │   │   │   │   └── Layout.astro
│   │   │   │   ├── middleware.ts
│   │   │   │   └── pages
│   │   │   │       ├── index.astro
│   │   │   │       ├── only-admins.astro
│   │   │   │       ├── only-members.astro
│   │   │   │       └── ssr.astro
│   │   │   └── tsconfig.json
│   │   ├── astro-node
│   │   │   ├── .gitignore
│   │   │   ├── astro.config.mjs
│   │   │   ├── package.json
│   │   │   ├── public
│   │   │   │   └── favicon.svg
│   │   │   ├── README.md
│   │   │   ├── src
│   │   │   │   ├── components
│   │   │   │   │   ├── Card.astro
│   │   │   │   │   ├── CustomUserButton.astro
│   │   │   │   │   ├── LanguagePicker.tsx
│   │   │   │   │   ├── page-with-user.tsx
│   │   │   │   │   ├── SignOutReact.tsx
│   │   │   │   │   └── StreamUser.astro
│   │   │   │   ├── env.d.ts
│   │   │   │   ├── layouts
│   │   │   │   │   ├── Layout.astro
│   │   │   │   │   ├── react
│   │   │   │   │   │   └── Layout.astro
│   │   │   │   │   ├── Streaming.astro
│   │   │   │   │   └── ViewTransitionsLayout.astro
│   │   │   │   ├── middleware.ts
│   │   │   │   └── pages
│   │   │   │       ├── api
│   │   │   │       │   ├── auth
│   │   │   │       │   │   └── me.ts
│   │   │   │       │   └── protected
│   │   │   │       │       ├── current-org.ts
│   │   │   │       │       └── only-admin.ts
│   │   │   │       ├── billing
│   │   │   │       │   ├── checkout-btn.astro
│   │   │   │       │   ├── plan-details-btn.astro
│   │   │   │       │   └── subscription-details-btn.astro
│   │   │   │       ├── buttons.astro
│   │   │   │       ├── custom-pages
│   │   │   │       │   ├── organization-profile.astro
│   │   │   │       │   └── user-profile.astro
│   │   │   │       ├── discover.astro
│   │   │   │       ├── index.astro
│   │   │   │       ├── only-admins.astro
│   │   │   │       ├── only-members.astro
│   │   │   │       ├── organization.astro
│   │   │   │       ├── pricing-table.astro
│   │   │   │       ├── react
│   │   │   │       │   ├── index.astro
│   │   │   │       │   ├── only-admins.astro
│   │   │   │       │   ├── only-members.astro
│   │   │   │       │   ├── sign-in.astro
│   │   │   │       │   └── user.astro
│   │   │   │       ├── server-islands.astro
│   │   │   │       ├── sign-in.astro
│   │   │   │       ├── transitions
│   │   │   │       │   ├── index.astro
│   │   │   │       │   └── sign-in.astro
│   │   │   │       ├── user.astro
│   │   │   │       └── utility.astro
│   │   │   ├── tailwind.config.cjs
│   │   │   └── tsconfig.json
│   │   ├── custom-flows-react-vite
│   │   │   ├── .gitignore
│   │   │   ├── components.json
│   │   │   ├── eslint.config.js
│   │   │   ├── index.html
│   │   │   ├── package.json
│   │   │   ├── src
│   │   │   │   ├── components
│   │   │   │   │   └── ui
│   │   │   │   │       ├── button.tsx
│   │   │   │   │       ├── card.tsx
│   │   │   │   │       ├── input.tsx
│   │   │   │   │       └── label.tsx
│   │   │   │   ├── index.css
│   │   │   │   ├── lib
│   │   │   │   │   └── utils.ts
│   │   │   │   ├── main.tsx
│   │   │   │   ├── routes
│   │   │   │   │   ├── Home.tsx
│   │   │   │   │   ├── Protected.tsx
│   │   │   │   │   ├── SignIn.tsx
│   │   │   │   │   └── SignUp.tsx
│   │   │   │   └── vite-env.d.ts
│   │   │   ├── tsconfig.app.json
│   │   │   ├── tsconfig.json
│   │   │   ├── tsconfig.node.json
│   │   │   └── vite.config.ts
│   │   ├── elements-next
│   │   │   ├── .gitignore
│   │   │   ├── next.config.js
│   │   │   ├── package.json
│   │   │   ├── postcss.config.js
│   │   │   ├── README.md
│   │   │   ├── src
│   │   │   │   ├── app
│   │   │   │   │   ├── favicon.ico
│   │   │   │   │   ├── globals.css
│   │   │   │   │   ├── layout.tsx
│   │   │   │   │   ├── otp
│   │   │   │   │   │   └── page.tsx
│   │   │   │   │   ├── page.tsx
│   │   │   │   │   ├── sign-in
│   │   │   │   │   │   └── [[...sign-in]]
│   │   │   │   │   │       └── page.tsx
│   │   │   │   │   ├── sign-up
│   │   │   │   │   │   └── [[...sign-up]]
│   │   │   │   │   │       └── page.tsx
│   │   │   │   │   └── validate-password
│   │   │   │   │       └── page.tsx
│   │   │   │   └── middleware.ts
│   │   │   ├── tailwind.config.js
│   │   │   └── tsconfig.json
│   │   ├── expo-web
│   │   │   ├── .gitignore
│   │   │   ├── app
│   │   │   │   ├── _layout.tsx
│   │   │   │   ├── +html.tsx
│   │   │   │   ├── +not-found.tsx
│   │   │   │   ├── custom-sign-in.tsx
│   │   │   │   ├── custom-sign-up.tsx
│   │   │   │   ├── index.tsx
│   │   │   │   └── sign-in.tsx
│   │   │   ├── app.json
│   │   │   ├── assets
│   │   │   │   └── images
│   │   │   │       ├── icon.png
│   │   │   │       └── splash.png
│   │   │   ├── babel.config.js
│   │   │   ├── constants
│   │   │   │   └── Colors.ts
│   │   │   ├── metro.config.js
│   │   │   ├── package.json
│   │   │   ├── README.md
│   │   │   └── tsconfig.json
│   │   ├── express-vite
│   │   │   ├── .gitignore
│   │   │   ├── index.html
│   │   │   ├── package.json
│   │   │   ├── src
│   │   │   │   ├── client
│   │   │   │   │   ├── main.ts
│   │   │   │   │   ├── tsconfig.json
│   │   │   │   │   └── vite-env.d.ts
│   │   │   │   └── server
│   │   │   │       └── main.ts
│   │   │   └── tsconfig.json
│   │   ├── index.ts
│   │   ├── next-app-router
│   │   │   ├── .gitignore
│   │   │   ├── next.config.js
│   │   │   ├── package.json
│   │   │   ├── public
│   │   │   │   ├── next.svg
│   │   │   │   └── vercel.svg
│   │   │   ├── README.md
│   │   │   ├── src
│   │   │   │   ├── app
│   │   │   │   │   ├── (reverification)
│   │   │   │   │   │   ├── action-with-use-reverification
│   │   │   │   │   │   │   └── page.tsx
│   │   │   │   │   │   ├── actions.ts
│   │   │   │   │   │   ├── button-action.tsx
│   │   │   │   │   │   └── requires-re-verification
│   │   │   │   │   │       └── page.tsx
│   │   │   │   │   ├── api
│   │   │   │   │   │   ├── me
│   │   │   │   │   │   │   └── route.ts
│   │   │   │   │   │   └── settings
│   │   │   │   │   │       └── route.ts
│   │   │   │   │   ├── api-keys
│   │   │   │   │   │   └── page.tsx
│   │   │   │   │   ├── billing
│   │   │   │   │   │   ├── checkout-btn
│   │   │   │   │   │   │   └── page.tsx
│   │   │   │   │   │   ├── plan-details-btn
│   │   │   │   │   │   │   └── page.tsx
│   │   │   │   │   │   └── subscription-details-btn
│   │   │   │   │   │       └── page.tsx
│   │   │   │   │   ├── buttons
│   │   │   │   │   │   └── page.tsx
│   │   │   │   │   ├── client-id.tsx
│   │   │   │   │   ├── create-organization
│   │   │   │   │   │   └── page.tsx
│   │   │   │   │   ├── csp
│   │   │   │   │   │   └── page.tsx
│   │   │   │   │   ├── favicon.ico
│   │   │   │   │   ├── globals.css
│   │   │   │   │   ├── hash
│   │   │   │   │   │   └── sign-in
│   │   │   │   │   │       └── [[...page]]
│   │   │   │   │   │           └── page.tsx
│   │   │   │   │   ├── jwt-v2-organizations
│   │   │   │   │   │   ├── (tests)
│   │   │   │   │   │   │   ├── conditionals.tsx
│   │   │   │   │   │   │   ├── has-client
│   │   │   │   │   │   │   │   └── page.tsx
│   │   │   │   │   │   │   ├── has-server
│   │   │   │   │   │   │   │   └── page.tsx
│   │   │   │   │   │   │   ├── has-ssr
│   │   │   │   │   │   │   │   ├── client.tsx
│   │   │   │   │   │   │   │   └── page.tsx
│   │   │   │   │   │   │   ├── layout.tsx
│   │   │   │   │   │   │   └── page.tsx
│   │   │   │   │   │   ├── client-jwt.tsx
│   │   │   │   │   │   └── server-jwt.tsx
│   │   │   │   │   ├── layout.tsx
│   │   │   │   │   ├── only-admin
│   │   │   │   │   │   └── page.tsx
│   │   │   │   │   ├── organization-list
│   │   │   │   │   │   └── page.tsx
│   │   │   │   │   ├── organization-profile
│   │   │   │   │   │   └── page.tsx
│   │   │   │   │   ├── organization-switcher
│   │   │   │   │   │   └── page.tsx
│   │   │   │   │   ├── organizations-by-id
│   │   │   │   │   │   └── [id]
│   │   │   │   │   │       ├── page.tsx
│   │   │   │   │   │       └── settings
│   │   │   │   │   │           └── page.tsx
│   │   │   │   │   ├── organizations-by-slug
│   │   │   │   │   │   └── [slug]
│   │   │   │   │   │       ├── page.tsx
│   │   │   │   │   │       └── settings
│   │   │   │   │   │           └── page.tsx
│   │   │   │   │   ├── page-protected
│   │   │   │   │   │   └── page.tsx
│   │   │   │   │   ├── page.module.css
│   │   │   │   │   ├── page.tsx
│   │   │   │   │   ├── personal-account
│   │   │   │   │   │   └── page.tsx
│   │   │   │   │   ├── pricing-table
│   │   │   │   │   │   └── page.tsx
│   │   │   │   │   ├── protected
│   │   │   │   │   │   └── page.tsx
│   │   │   │   │   ├── settings
│   │   │   │   │   │   ├── auth-has
│   │   │   │   │   │   │   └── page.tsx
│   │   │   │   │   │   ├── auth-protect
│   │   │   │   │   │   │   └── page.tsx
│   │   │   │   │   │   ├── rcc-protect
│   │   │   │   │   │   │   └── page.tsx
│   │   │   │   │   │   ├── rsc-protect
│   │   │   │   │   │   │   └── page.tsx
│   │   │   │   │   │   └── useAuth-has
│   │   │   │   │   │       ├── layout.tsx
│   │   │   │   │   │       └── page.tsx
│   │   │   │   │   ├── sign-in
│   │   │   │   │   │   └── [[...catchall]]
│   │   │   │   │   │       └── page.tsx
│   │   │   │   │   ├── sign-in-or-up
│   │   │   │   │   │   └── [[...catchall]]
│   │   │   │   │   │       └── page.tsx
│   │   │   │   │   ├── sign-up
│   │   │   │   │   │   └── [[...catchall]]
│   │   │   │   │   │       └── page.tsx
│   │   │   │   │   ├── switcher
│   │   │   │   │   │   └── page.tsx
│   │   │   │   │   ├── user
│   │   │   │   │   │   └── [[...catchall]]
│   │   │   │   │   │       └── page.tsx
│   │   │   │   │   ├── user-avatar
│   │   │   │   │   │   └── page.tsx
│   │   │   │   │   ├── user-button
│   │   │   │   │   │   └── page.tsx
│   │   │   │   │   └── waitlist
│   │   │   │   │       └── page.tsx
│   │   │   │   └── middleware.ts
│   │   │   └── tsconfig.json
│   │   ├── next-app-router-quickstart
│   │   │   ├── .gitignore
│   │   │   ├── next.config.js
│   │   │   ├── package.json
│   │   │   ├── public
│   │   │   │   ├── next.svg
│   │   │   │   └── vercel.svg
│   │   │   ├── README.md
│   │   │   ├── src
│   │   │   │   ├── app
│   │   │   │   │   ├── favicon.ico
│   │   │   │   │   ├── globals.css
│   │   │   │   │   ├── layout.tsx
│   │   │   │   │   ├── page.module.css
│   │   │   │   │   └── page.tsx
│   │   │   │   └── middleware.ts
│   │   │   └── tsconfig.json
│   │   ├── nuxt-node
│   │   │   ├── app
│   │   │   │   ├── app.vue
│   │   │   │   ├── middleware
│   │   │   │   │   └── auth.global.js
│   │   │   │   └── pages
│   │   │   │       ├── index.vue
│   │   │   │       ├── only-admin.vue
│   │   │   │       ├── pricing-table.vue
│   │   │   │       ├── sign-in.vue
│   │   │   │       └── user.vue
│   │   │   ├── nuxt.config.js
│   │   │   ├── package.json
│   │   │   └── server
│   │   │       └── api
│   │   │           └── me.js
│   │   ├── react-cra
│   │   │   ├── .gitignore
│   │   │   ├── package.json
│   │   │   ├── public
│   │   │   │   ├── favicon.ico
│   │   │   │   ├── index.html
│   │   │   │   ├── logo192.png
│   │   │   │   ├── logo512.png
│   │   │   │   ├── manifest.json
│   │   │   │   └── robots.txt
│   │   │   ├── README.md
│   │   │   ├── src
│   │   │   │   ├── App.css
│   │   │   │   ├── App.tsx
│   │   │   │   ├── index.css
│   │   │   │   ├── index.tsx
│   │   │   │   ├── logo.svg
│   │   │   │   └── react-app-env.d.ts
│   │   │   └── tsconfig.json
│   │   ├── react-router-library
│   │   │   ├── index.html
│   │   │   ├── package.json
│   │   │   ├── public
│   │   │   │   └── vite.svg
│   │   │   ├── README.md
│   │   │   ├── src
│   │   │   │   ├── App.css
│   │   │   │   ├── App.tsx
│   │   │   │   ├── assets
│   │   │   │   │   └── react.svg
│   │   │   │   ├── index.css
│   │   │   │   ├── main.tsx
│   │   │   │   └── vite-env.d.ts
│   │   │   ├── tsconfig.app.json
│   │   │   ├── tsconfig.json
│   │   │   ├── tsconfig.node.json
│   │   │   └── vite.config.ts
│   │   ├── react-router-node
│   │   │   ├── .gitignore
│   │   │   ├── app
│   │   │   │   ├── root.tsx
│   │   │   │   ├── routes
│   │   │   │   │   ├── home.tsx
│   │   │   │   │   ├── protected.tsx
│   │   │   │   │   ├── sign-in.tsx
│   │   │   │   │   └── sign-up.tsx
│   │   │   │   └── routes.ts
│   │   │   ├── package.json
│   │   │   ├── public
│   │   │   │   └── favicon.ico
│   │   │   ├── react-router.config.ts
│   │   │   ├── README.md
│   │   │   ├── tsconfig.json
│   │   │   └── vite.config.ts
│   │   ├── react-vite
│   │   │   ├── .gitignore
│   │   │   ├── index.html
│   │   │   ├── package.json
│   │   │   ├── public
│   │   │   │   └── vite.svg
│   │   │   ├── src
│   │   │   │   ├── App.css
│   │   │   │   ├── App.tsx
│   │   │   │   ├── assets
│   │   │   │   │   └── react.svg
│   │   │   │   ├── buttons
│   │   │   │   │   └── index.tsx
│   │   │   │   ├── clerk-status
│   │   │   │   │   └── index.tsx
│   │   │   │   ├── client-id.tsx
│   │   │   │   ├── create-organization
│   │   │   │   │   └── index.tsx
│   │   │   │   ├── custom-user-button
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── with-dynamic-items.tsx
│   │   │   │   │   ├── with-dynamic-label-and-custom-pages.tsx
│   │   │   │   │   └── with-dynamic-labels.tsx
│   │   │   │   ├── custom-user-button-trigger
│   │   │   │   │   └── index.tsx
│   │   │   │   ├── custom-user-profile
│   │   │   │   │   └── index.tsx
│   │   │   │   ├── index.css
│   │   │   │   ├── main.tsx
│   │   │   │   ├── organization-list
│   │   │   │   │   └── index.tsx
│   │   │   │   ├── organization-profile
│   │   │   │   │   └── index.tsx
│   │   │   │   ├── organization-switcher
│   │   │   │   │   └── index.tsx
│   │   │   │   ├── PageContext.tsx
│   │   │   │   ├── protected
│   │   │   │   │   └── index.tsx
│   │   │   │   ├── sign-in
│   │   │   │   │   └── index.tsx
│   │   │   │   ├── sign-up
│   │   │   │   │   └── index.tsx
│   │   │   │   ├── user
│   │   │   │   │   └── index.tsx
│   │   │   │   ├── user-avatar
│   │   │   │   │   └── index.tsx
│   │   │   │   ├── user-button
│   │   │   │   │   └── index.tsx
│   │   │   │   ├── vite-env.d.ts
│   │   │   │   └── waitlist
│   │   │   │       └── index.tsx
│   │   │   ├── tsconfig.json
│   │   │   ├── tsconfig.node.json
│   │   │   └── vite.config.ts
│   │   ├── tanstack-react-start
│   │   │   ├── .gitignore
│   │   │   ├── package.json
│   │   │   ├── README.md
│   │   │   ├── src
│   │   │   │   ├── router.tsx
│   │   │   │   ├── routes
│   │   │   │   │   ├── __root.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── sign-in.tsx
│   │   │   │   │   └── user.tsx
│   │   │   │   ├── routeTree.gen.ts
│   │   │   │   ├── start.ts
│   │   │   │   └── styles
│   │   │   │       └── app.css
│   │   │   ├── tsconfig.json
│   │   │   └── vite.config.ts
│   │   └── vue-vite
│   │       ├── .gitignore
│   │       ├── index.html
│   │       ├── package.json
│   │       ├── public
│   │       │   └── vite.svg
│   │       ├── src
│   │       │   ├── App.vue
│   │       │   ├── assets
│   │       │   │   └── styles.css
│   │       │   ├── components
│   │       │   │   ├── CustomUserButton.vue
│   │       │   │   └── LanguagePicker.vue
│   │       │   ├── main.ts
│   │       │   ├── router.ts
│   │       │   ├── views
│   │       │   │   ├── Admin.vue
│   │       │   │   ├── billing
│   │       │   │   │   ├── CheckoutBtn.vue
│   │       │   │   │   ├── PlanDetailsBtn.vue
│   │       │   │   │   └── SubscriptionDetailsBtn.vue
│   │       │   │   ├── custom-pages
│   │       │   │   │   ├── OrganizationProfile.vue
│   │       │   │   │   └── UserProfile.vue
│   │       │   │   ├── Home.vue
│   │       │   │   ├── PricingTable.vue
│   │       │   │   ├── Profile.vue
│   │       │   │   ├── SignIn.vue
│   │       │   │   ├── Unstyled.vue
│   │       │   │   └── UserAvatar.vue
│   │       │   └── vite-env.d.ts
│   │       ├── tsconfig.app.json
│   │       ├── tsconfig.json
│   │       ├── tsconfig.node.json
│   │       └── vite.config.ts
│   ├── tests
│   │   ├── appearance.test.ts
│   │   ├── astro
│   │   │   ├── components.test.ts
│   │   │   ├── hybrid.test.ts
│   │   │   └── machine.test.ts
│   │   ├── components.test.ts
│   │   ├── content-security-policy.test.ts
│   │   ├── custom-flows
│   │   │   ├── sign-in.test.ts
│   │   │   └── sign-up.test.ts
│   │   ├── custom-pages.test.ts
│   │   ├── db-jwt.test.ts
│   │   ├── dynamic-keys.test.ts
│   │   ├── elements
│   │   │   ├── next-sign-in.test.ts
│   │   │   ├── next-sign-up.test.ts
│   │   │   ├── otp.test.ts
│   │   │   └── validate-password.test.ts
│   │   ├── email-code.test.ts
│   │   ├── email-link.test.ts
│   │   ├── expo-web
│   │   │   ├── basic.test.ts
│   │   │   └── custom-flows.test.ts
│   │   ├── express
│   │   │   └── basic.test.ts
│   │   ├── global.setup.ts
│   │   ├── global.teardown.ts
│   │   ├── handshake
│   │   │   └── handshake.test.ts
│   │   ├── handshake.test.ts
│   │   ├── impersonation-flow.test.ts
│   │   ├── last-authentication-strategy.test.ts
│   │   ├── legal-consent.test.ts
│   │   ├── localhost
│   │   │   ├── localhost-different-port-different-instance.test.ts
│   │   │   ├── localhost-different-port-same-instance.test.ts
│   │   │   └── localhost-switch-instance.test.ts
│   │   ├── machine-auth
│   │   │   ├── api-keys.test.ts
│   │   │   ├── component.test.ts
│   │   │   └── m2m.test.ts
│   │   ├── middleware-placement.test.ts
│   │   ├── navigation.test.ts
│   │   ├── next-account-portal
│   │   │   ├── clerk-v4-ap-core-1.test.ts
│   │   │   ├── clerk-v4-ap-core-2.test.ts
│   │   │   ├── clerk-v5-ap-core-1.test.ts
│   │   │   ├── clerk-v5-ap-core-2.test.ts
│   │   │   └── common.ts
│   │   ├── next-build.test.ts
│   │   ├── next-quickstart-keyless.test.ts
│   │   ├── next-quickstart.test.ts
│   │   ├── non-secure-context.test.ts
│   │   ├── nuxt
│   │   │   ├── basic.test.ts
│   │   │   └── middleware.test.ts
│   │   ├── oauth-flows.test.ts
│   │   ├── pricing-table.test.ts
│   │   ├── protect-jwt-v2.test.ts
│   │   ├── protect.test.ts
│   │   ├── react-router
│   │   │   ├── basic.test.ts
│   │   │   ├── library-mode.test.ts
│   │   │   └── pre-middleware.test.ts
│   │   ├── redirects.test.ts
│   │   ├── resiliency.test.ts
│   │   ├── restricted-mode.test.ts
│   │   ├── reverification.test.ts
│   │   ├── session-tasks-eject-flow.test.ts
│   │   ├── session-tasks-multi-session.test.ts
│   │   ├── session-tasks-sign-in.test.ts
│   │   ├── session-tasks-sign-up.test.ts
│   │   ├── session-token-cache
│   │   │   ├── multi-session.test.ts
│   │   │   └── single-session.test.ts
│   │   ├── sessions
│   │   │   ├── root-subdomain-prod-instances.test.ts
│   │   │   └── utils.ts
│   │   ├── sign-in-flow.test.ts
│   │   ├── sign-in-or-up-component.test.ts
│   │   ├── sign-in-or-up-email-links-flow.test.ts
│   │   ├── sign-in-or-up-flow.test.ts
│   │   ├── sign-in-or-up-restricted-mode.test.ts
│   │   ├── sign-out-smoke.test.ts
│   │   ├── sign-up-flow.test.ts
│   │   ├── snapshots
│   │   │   └── appearance.test.ts-snapshots
│   │   │       └── appearance-prop-all-clerk-themes-render-1-chrome-darwin.png
│   │   ├── tanstack-start
│   │   │   └── basic.test.ts
│   │   ├── unsafeMetadata.test.ts
│   │   ├── update-props.test.ts
│   │   ├── user-avatar.test.ts
│   │   ├── user-profile.test.ts
│   │   ├── vue
│   │   │   └── components.test.ts
│   │   ├── waitlist-mode.test.ts
│   │   └── whatsapp-phone-code.test.ts
│   ├── testUtils
│   │   ├── emailService.ts
│   │   ├── handshake.ts
│   │   ├── index.ts
│   │   ├── invitationsService.ts
│   │   ├── organizationsService.ts
│   │   ├── phoneUtils.ts
│   │   ├── testAgainstRunningApps.ts
│   │   └── usersService.ts
│   ├── tsconfig.json
│   └── types.d.ts
├── jest.setup-after-env.ts
├── LICENSE
├── package.json
├── packages
│   ├── agent-toolkit
│   │   ├── CHANGELOG.md
│   │   ├── LICENSE
│   │   ├── package.json
│   │   ├── README.md
│   │   ├── src
│   │   │   ├── ai-sdk
│   │   │   │   ├── adapter.ts
│   │   │   │   └── index.ts
│   │   │   ├── global.d.ts
│   │   │   ├── langchain
│   │   │   │   ├── adapter.ts
│   │   │   │   └── index.ts
│   │   │   ├── lib
│   │   │   │   ├── clerk-client.ts
│   │   │   │   ├── clerk-tool.ts
│   │   │   │   ├── constants.ts
│   │   │   │   ├── inject-session-claims.ts
│   │   │   │   ├── tools
│   │   │   │   │   ├── index.ts
│   │   │   │   │   ├── invitations.ts
│   │   │   │   │   ├── organizations.ts
│   │   │   │   │   └── users.ts
│   │   │   │   ├── types.ts
│   │   │   │   ├── utils.ts
│   │   │   │   └── utilts.test.ts
│   │   │   └── modelcontextprotocol
│   │   │       ├── adapter.ts
│   │   │       ├── index.ts
│   │   │       └── local-server.ts
│   │   ├── tsconfig.json
│   │   ├── tsconfig.test.json
│   │   └── tsup.config.ts
│   ├── astro
│   │   ├── .gitignore
│   │   ├── CHANGELOG.md
│   │   ├── client
│   │   │   └── package.json
│   │   ├── env.d.ts
│   │   ├── hotload
│   │   │   └── package.json
│   │   ├── internal
│   │   │   └── package.json
│   │   ├── LICENSE
│   │   ├── package.json
│   │   ├── react
│   │   │   └── package.json
│   │   ├── README.md
│   │   ├── server
│   │   │   └── package.json
│   │   ├── src
│   │   │   ├── astro-components
│   │   │   │   ├── control
│   │   │   │   │   ├── AuthenticateWithRedirectCallback.astro
│   │   │   │   │   ├── BaseClerkControlElement.ts
│   │   │   │   │   ├── Protect.astro
│   │   │   │   │   ├── ProtectCSR.astro
│   │   │   │   │   ├── ProtectSSR.astro
│   │   │   │   │   ├── SignedIn.astro
│   │   │   │   │   ├── SignedInCSR.astro
│   │   │   │   │   ├── SignedInSSR.astro
│   │   │   │   │   ├── SignedOut.astro
│   │   │   │   │   ├── SignedOutCSR.astro
│   │   │   │   │   └── SignedOutSSR.astro
│   │   │   │   ├── index.ts
│   │   │   │   ├── interactive
│   │   │   │   │   ├── CreateOrganization.astro
│   │   │   │   │   ├── CustomProfilePageRenderer.astro
│   │   │   │   │   ├── GoogleOneTap.astro
│   │   │   │   │   ├── InternalUIComponentRenderer.astro
│   │   │   │   │   ├── OrganizationList.astro
│   │   │   │   │   ├── OrganizationProfile
│   │   │   │   │   │   ├── index.ts
│   │   │   │   │   │   ├── OrganizationProfile.astro
│   │   │   │   │   │   ├── OrganizationProfileLink.astro
│   │   │   │   │   │   └── OrganizationProfilePage.astro
│   │   │   │   │   ├── OrganizationSwitcher
│   │   │   │   │   │   ├── index.ts
│   │   │   │   │   │   ├── OrganizationProfileLink.astro
│   │   │   │   │   │   ├── OrganizationProfilePage.astro
│   │   │   │   │   │   └── OrganizationSwitcher.astro
│   │   │   │   │   ├── OrganizationSwitcher.astro
│   │   │   │   │   ├── PricingTable.astro
│   │   │   │   │   ├── SignIn.astro
│   │   │   │   │   ├── SignUp.astro
│   │   │   │   │   ├── UserAvatar.astro
│   │   │   │   │   ├── UserButton
│   │   │   │   │   │   ├── index.ts
│   │   │   │   │   │   ├── MenuItemRenderer.astro
│   │   │   │   │   │   ├── UserButton.astro
│   │   │   │   │   │   ├── UserButtonAction.astro
│   │   │   │   │   │   ├── UserButtonLink.astro
│   │   │   │   │   │   ├── UserButtonMenuItems.astro
│   │   │   │   │   │   └── UserButtonUserProfilePage.astro
│   │   │   │   │   ├── UserProfile
│   │   │   │   │   │   ├── index.ts
│   │   │   │   │   │   ├── UserProfile.astro
│   │   │   │   │   │   ├── UserProfileLink.astro
│   │   │   │   │   │   └── UserProfilePage.astro
│   │   │   │   │   └── Waitlist.astro
│   │   │   │   └── unstyled
│   │   │   │       ├── CheckoutButton.astro
│   │   │   │       ├── PlanDetailsButton.astro
│   │   │   │       ├── SignInButton.astro
│   │   │   │       ├── SignOutButton.astro
│   │   │   │       ├── SignUpButton.astro
│   │   │   │       ├── SubscriptionDetailsButton.astro
│   │   │   │       └── utils.ts
│   │   │   ├── async-local-storage.client.ts
│   │   │   ├── async-local-storage.server.ts
│   │   │   ├── client
│   │   │   │   └── index.ts
│   │   │   ├── env.d.ts
│   │   │   ├── global.d.ts
│   │   │   ├── index.ts
│   │   │   ├── integration
│   │   │   │   ├── create-integration.ts
│   │   │   │   └── vite-plugin-astro-config.ts
│   │   │   ├── internal
│   │   │   │   ├── create-clerk-instance.ts
│   │   │   │   ├── create-injection-script-runner.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── invoke-clerk-astro-js-functions.ts
│   │   │   │   ├── merge-env-vars-with-params.ts
│   │   │   │   ├── mount-clerk-astro-js-components.ts
│   │   │   │   ├── run-once.ts
│   │   │   │   ├── swap-document.ts
│   │   │   │   ├── types.ts
│   │   │   │   └── utils
│   │   │   │       └── generateSafeId.ts
│   │   │   ├── react
│   │   │   │   ├── CheckoutButton.tsx
│   │   │   │   ├── controlComponents.tsx
│   │   │   │   ├── hooks.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── PlanDetailsButton.tsx
│   │   │   │   ├── SignInButton.tsx
│   │   │   │   ├── SignOutButton.tsx
│   │   │   │   ├── SignUpButton.tsx
│   │   │   │   ├── SubscriptionDetailsButton.tsx
│   │   │   │   ├── types.ts
│   │   │   │   ├── uiComponents.tsx
│   │   │   │   └── utils.tsx
│   │   │   ├── server
│   │   │   │   ├── build-clerk-hotload-script.ts
│   │   │   │   ├── clerk-client.ts
│   │   │   │   ├── clerk-middleware.ts
│   │   │   │   ├── current-user.ts
│   │   │   │   ├── get-safe-env.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── route-matcher.ts
│   │   │   │   ├── server-redirect-with-auth.ts
│   │   │   │   ├── types.ts
│   │   │   │   └── utils.ts
│   │   │   ├── stores
│   │   │   │   ├── external.ts
│   │   │   │   └── internal.ts
│   │   │   ├── types.ts
│   │   │   └── webhooks.ts
│   │   ├── tsconfig.json
│   │   ├── tsup.config.ts
│   │   ├── turbo.json
│   │   └── webhooks
│   │       └── package.json
│   ├── backend
│   │   ├── .gitignore
│   │   ├── CHANGELOG.md
│   │   ├── errors
│   │   │   └── package.json
│   │   ├── internal
│   │   │   └── package.json
│   │   ├── jwt
│   │   │   └── package.json
│   │   ├── LICENSE
│   │   ├── package.json
│   │   ├── README.md
│   │   ├── src
│   │   │   ├── __tests__
│   │   │   │   ├── createRedirect.test.ts
│   │   │   │   ├── exports.test.ts
│   │   │   │   └── webhooks.test.ts
│   │   │   ├── api
│   │   │   │   ├── __tests__
│   │   │   │   │   ├── ClientApi.test.ts
│   │   │   │   │   ├── factory.test.ts
│   │   │   │   │   ├── M2MTokenApi.test.ts
│   │   │   │   │   ├── MachineApi.test.ts
│   │   │   │   │   ├── SamlConnectionApi.test.ts
│   │   │   │   │   └── SessionApi.test.ts
│   │   │   │   ├── endpoints
│   │   │   │   │   ├── AbstractApi.ts
│   │   │   │   │   ├── AccountlessApplicationsAPI.ts
│   │   │   │   │   ├── ActorTokenApi.ts
│   │   │   │   │   ├── AllowlistIdentifierApi.ts
│   │   │   │   │   ├── APIKeysApi.ts
│   │   │   │   │   ├── BetaFeaturesApi.ts
│   │   │   │   │   ├── BillingApi.ts
│   │   │   │   │   ├── BlocklistIdentifierApi.ts
│   │   │   │   │   ├── ClientApi.ts
│   │   │   │   │   ├── DomainApi.ts
│   │   │   │   │   ├── EmailAddressApi.ts
│   │   │   │   │   ├── IdPOAuthAccessTokenApi.ts
│   │   │   │   │   ├── index.ts
│   │   │   │   │   ├── InstanceApi.ts
│   │   │   │   │   ├── InvitationApi.ts
│   │   │   │   │   ├── JwksApi.ts
│   │   │   │   │   ├── JwtTemplatesApi.ts
│   │   │   │   │   ├── M2MTokenApi.ts
│   │   │   │   │   ├── MachineApi.ts
│   │   │   │   │   ├── OAuthApplicationsApi.ts
│   │   │   │   │   ├── OrganizationApi.ts
│   │   │   │   │   ├── PhoneNumberApi.ts
│   │   │   │   │   ├── ProxyCheckApi.ts
│   │   │   │   │   ├── RedirectUrlApi.ts
│   │   │   │   │   ├── SamlConnectionApi.ts
│   │   │   │   │   ├── SessionApi.ts
│   │   │   │   │   ├── SignInTokenApi.ts
│   │   │   │   │   ├── SignUpApi.ts
│   │   │   │   │   ├── TestingTokenApi.ts
│   │   │   │   │   ├── UserApi.ts
│   │   │   │   │   ├── util-types.ts
│   │   │   │   │   ├── WaitlistEntryApi.ts
│   │   │   │   │   └── WebhookApi.ts
│   │   │   │   ├── factory.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── request.ts
│   │   │   │   └── resources
│   │   │   │       ├── AccountlessApplication.ts
│   │   │   │       ├── ActorToken.ts
│   │   │   │       ├── AllowlistIdentifier.ts
│   │   │   │       ├── APIKey.ts
│   │   │   │       ├── BlocklistIdentifier.ts
│   │   │   │       ├── Client.ts
│   │   │   │       ├── CnameTarget.ts
│   │   │   │       ├── CommercePlan.ts
│   │   │   │       ├── CommerceSubscription.ts
│   │   │   │       ├── CommerceSubscriptionItem.ts
│   │   │   │       ├── Cookies.ts
│   │   │   │       ├── DeletedObject.ts
│   │   │   │       ├── Deserializer.ts
│   │   │   │       ├── Domain.ts
│   │   │   │       ├── Email.ts
│   │   │   │       ├── EmailAddress.ts
│   │   │   │       ├── Enums.ts
│   │   │   │       ├── ExternalAccount.ts
│   │   │   │       ├── Feature.ts
│   │   │   │       ├── HandshakePayload.ts
│   │   │   │       ├── IdentificationLink.ts
│   │   │   │       ├── IdPOAuthAccessToken.ts
│   │   │   │       ├── index.ts
│   │   │   │       ├── Instance.ts
│   │   │   │       ├── InstanceRestrictions.ts
│   │   │   │       ├── InstanceSettings.ts
│   │   │   │       ├── Invitation.ts
│   │   │   │       ├── JSON.ts
│   │   │   │       ├── JwtTemplate.ts
│   │   │   │       ├── M2MToken.ts
│   │   │   │       ├── Machine.ts
│   │   │   │       ├── MachineScope.ts
│   │   │   │       ├── MachineSecretKey.ts
│   │   │   │       ├── OauthAccessToken.ts
│   │   │   │       ├── OAuthApplication.ts
│   │   │   │       ├── Organization.ts
│   │   │   │       ├── OrganizationDomain.ts
│   │   │   │       ├── OrganizationInvitation.ts
│   │   │   │       ├── OrganizationMembership.ts
│   │   │   │       ├── OrganizationSettings.ts
│   │   │   │       ├── PhoneNumber.ts
│   │   │   │       ├── ProxyCheck.ts
│   │   │   │       ├── RedirectUrl.ts
│   │   │   │       ├── SamlAccount.ts
│   │   │   │       ├── SamlConnection.ts
│   │   │   │       ├── Session.ts
│   │   │   │       ├── SignInTokens.ts
│   │   │   │       ├── SignUpAttempt.ts
│   │   │   │       ├── SMSMessage.ts
│   │   │   │       ├── TestingToken.ts
│   │   │   │       ├── Token.ts
│   │   │   │       ├── User.ts
│   │   │   │       ├── Verification.ts
│   │   │   │       ├── WaitlistEntry.ts
│   │   │   │       ├── Web3Wallet.ts
│   │   │   │       └── Webhooks.ts
│   │   │   ├── constants.ts
│   │   │   ├── createRedirect.ts
│   │   │   ├── errors.ts
│   │   │   ├── fixtures
│   │   │   │   ├── index.ts
│   │   │   │   ├── jwks.json
│   │   │   │   ├── machine.ts
│   │   │   │   └── user.json
│   │   │   ├── global.d.ts
│   │   │   ├── index.ts
│   │   │   ├── internal.ts
│   │   │   ├── jwt
│   │   │   │   ├── __tests__
│   │   │   │   │   ├── assertions.test.ts
│   │   │   │   │   ├── cryptoKeys.test.ts
│   │   │   │   │   ├── signJwt.test.ts
│   │   │   │   │   └── verifyJwt.test.ts
│   │   │   │   ├── algorithms.ts
│   │   │   │   ├── assertions.ts
│   │   │   │   ├── cryptoKeys.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── legacyReturn.ts
│   │   │   │   ├── signJwt.ts
│   │   │   │   ├── types.ts
│   │   │   │   └── verifyJwt.ts
│   │   │   ├── mock-server.ts
│   │   │   ├── runtime
│   │   │   │   ├── browser
│   │   │   │   │   └── crypto.mjs
│   │   │   │   └── node
│   │   │   │       ├── crypto.js
│   │   │   │       └── crypto.mjs
│   │   │   ├── runtime.ts
│   │   │   ├── tokens
│   │   │   │   ├── __tests__
│   │   │   │   │   ├── authenticateContext.test.ts
│   │   │   │   │   ├── authObjects.test.ts
│   │   │   │   │   ├── authStatus.test.ts
│   │   │   │   │   ├── clerkRequest.test.ts
│   │   │   │   │   ├── factory.test.ts
│   │   │   │   │   ├── getAuth.test-d.ts
│   │   │   │   │   ├── handshake.test.ts
│   │   │   │   │   ├── keys.test.ts
│   │   │   │   │   ├── machine.test.ts
│   │   │   │   │   ├── organizationMatcher.test.ts
│   │   │   │   │   ├── request.test-d.ts
│   │   │   │   │   ├── request.test.ts
│   │   │   │   │   └── verify.test.ts
│   │   │   │   ├── authenticateContext.ts
│   │   │   │   ├── authObjects.ts
│   │   │   │   ├── authStatus.ts
│   │   │   │   ├── clerkRequest.ts
│   │   │   │   ├── clerkUrl.ts
│   │   │   │   ├── cookie.ts
│   │   │   │   ├── factory.ts
│   │   │   │   ├── handshake.ts
│   │   │   │   ├── keys.ts
│   │   │   │   ├── machine.ts
│   │   │   │   ├── organizationMatcher.ts
│   │   │   │   ├── request.ts
│   │   │   │   ├── tokenTypes.ts
│   │   │   │   ├── types.ts
│   │   │   │   └── verify.ts
│   │   │   ├── util
│   │   │   │   ├── __tests__
│   │   │   │   │   └── path.test.ts
│   │   │   │   ├── decorateObjectWithResources.ts
│   │   │   │   ├── mergePreDefinedOptions.ts
│   │   │   │   ├── optionsAssertions.ts
│   │   │   │   ├── path.ts
│   │   │   │   ├── rfc4648.ts
│   │   │   │   └── shared.ts
│   │   │   └── webhooks.ts
│   │   ├── tsconfig.declarations.json
│   │   ├── tsconfig.json
│   │   ├── tsup.config.ts
│   │   ├── typedoc.json
│   │   ├── vitest.config.mts
│   │   ├── vitest.setup.mts
│   │   └── webhooks
│   │       └── package.json
│   ├── chrome-extension
│   │   ├── .gitignore
│   │   ├── background
│   │   │   └── package.json
│   │   ├── CHANGELOG.md
│   │   ├── docs
│   │   │   ├── clerk-provider.md
│   │   │   ├── manifest.md
│   │   │   └── service-worker.md
│   │   ├── internal
│   │   │   └── package.json
│   │   ├── LICENSE
│   │   ├── package.json
│   │   ├── react
│   │   │   └── package.json
│   │   ├── README.md
│   │   ├── src
│   │   │   ├── __tests__
│   │   │   │   ├── __snapshots__
│   │   │   │   │   └── exports.test.ts.snap
│   │   │   │   └── exports.test.ts
│   │   │   ├── background
│   │   │   │   ├── clerk.ts
│   │   │   │   └── index.ts
│   │   │   ├── global.d.ts
│   │   │   ├── index.ts
│   │   │   ├── internal
│   │   │   │   ├── clerk.ts
│   │   │   │   ├── constants.ts
│   │   │   │   ├── index.ts
│   │   │   │   └── utils
│   │   │   │       ├── __tests__
│   │   │   │       │   ├── cookies.test.ts
│   │   │   │       │   ├── manifest.test.ts
│   │   │   │       │   └── storage.test.ts
│   │   │   │       ├── cookies.ts
│   │   │   │       ├── errors.ts
│   │   │   │       ├── jwt-handler.ts
│   │   │   │       ├── manifest.ts
│   │   │   │       ├── request-handler.ts
│   │   │   │       ├── response-handler.ts
│   │   │   │       └── storage.ts
│   │   │   ├── react
│   │   │   │   ├── ClerkProvider.tsx
│   │   │   │   ├── index.ts
│   │   │   │   ├── NotSupported.tsx
│   │   │   │   └── re-exports.ts
│   │   │   └── types.ts
│   │   ├── tsconfig.declarations.json
│   │   ├── tsconfig.json
│   │   ├── tsconfig.test.json
│   │   ├── tsup.config.ts
│   │   ├── vitest.config.mts
│   │   └── vitest.setup.mts
│   ├── clerk-js
│   │   ├── .gitignore
│   │   ├── bundle-check.mjs
│   │   ├── bundlewatch-fix.mjs
│   │   ├── bundlewatch.config.json
│   │   ├── CHANGELOG.md
│   │   ├── clerk.png
│   │   ├── docs
│   │   │   └── events.md
│   │   ├── headless
│   │   │   ├── index.d.ts
│   │   │   └── index.js
│   │   ├── LICENSE
│   │   ├── no-rhc
│   │   │   ├── index.d.ts
│   │   │   └── index.js
│   │   ├── package.json
│   │   ├── playwright.config.ts
│   │   ├── README.md
│   │   ├── rspack.config.js
│   │   ├── sandbox
│   │   │   ├── app.ts
│   │   │   ├── integration
│   │   │   │   ├── create-organization.spec.ts
│   │   │   │   ├── create-organization.spec.ts-snapshots
│   │   │   │   │   └── create-organization-chromium-darwin.png
│   │   │   │   ├── global.setup.ts
│   │   │   │   ├── helpers.ts
│   │   │   │   ├── oauth-consent.spec.ts
│   │   │   │   ├── oauth-consent.spec.ts-snapshots
│   │   │   │   │   └── oauth-consent-chromium-darwin.png
│   │   │   │   ├── org-switcher.spec.ts
│   │   │   │   ├── org-switcher.spec.ts-snapshots
│   │   │   │   │   ├── organization-switcher-action-hover-chromium-darwin.png
│   │   │   │   │   └── organization-switcher-popover-chromium-darwin.png
│   │   │   │   ├── organization-list.spec.ts
│   │   │   │   ├── organization-list.spec.ts-snapshots
│   │   │   │   │   └── organization-list-chromium-darwin.png
│   │   │   │   ├── sign-in-modal.spec.ts
│   │   │   │   ├── sign-in-modal.spec.ts-snapshots
│   │   │   │   │   └── sign-in-modal-chromium-darwin.png
│   │   │   │   ├── sign-in.spec.ts
│   │   │   │   ├── sign-in.spec.ts-snapshots
│   │   │   │   │   ├── sign-in-action-link-hover-chromium-darwin.png
│   │   │   │   │   ├── sign-in-chromium-darwin.png
│   │   │   │   │   ├── sign-in-primary-button-hover-chromium-darwin.png
│   │   │   │   │   └── sign-in-secondary-button-hover-chromium-darwin.png
│   │   │   │   ├── sign-up.spec.ts
│   │   │   │   ├── sign-up.spec.ts-snapshots
│   │   │   │   │   └── sign-up-chromium-darwin.png
│   │   │   │   ├── user-button.spec.ts
│   │   │   │   ├── user-button.spec.ts-snapshots
│   │   │   │   │   └── user-button-popover-chromium-darwin.png
│   │   │   │   ├── user-profile.spec.ts
│   │   │   │   └── user-profile.spec.ts-snapshots
│   │   │   │       └── user-profile-chromium-darwin.png
│   │   │   └── template.html
│   │   ├── src
│   │   │   ├── __tests__
│   │   │   │   └── headless.test.ts
│   │   │   ├── core
│   │   │   │   ├── __tests__
│   │   │   │   │   ├── clerk.redirects.test.ts
│   │   │   │   │   ├── clerk.test.ts
│   │   │   │   │   ├── fapiClient.test.ts
│   │   │   │   │   └── tokenCache.test.ts
│   │   │   │   ├── auth
│   │   │   │   │   ├── __tests__
│   │   │   │   │   │   ├── cookieSuffix.test.ts
│   │   │   │   │   │   ├── devBrowser.test.ts
│   │   │   │   │   │   ├── getCookieDomain.test.ts
│   │   │   │   │   │   └── getSecureAttribute.test.ts
│   │   │   │   │   ├── AuthCookieService.ts
│   │   │   │   │   ├── CaptchaHeartbeat.ts
│   │   │   │   │   ├── cookies
│   │   │   │   │   │   ├── __tests__
│   │   │   │   │   │   │   ├── clientUat.test.ts
│   │   │   │   │   │   │   └── session.test.ts
│   │   │   │   │   │   ├── activeContext.ts
│   │   │   │   │   │   ├── clientUat.ts
│   │   │   │   │   │   ├── devBrowser.ts
│   │   │   │   │   │   └── session.ts
│   │   │   │   │   ├── cookieSuffix.ts
│   │   │   │   │   ├── devBrowser.ts
│   │   │   │   │   ├── getCookieDomain.ts
│   │   │   │   │   ├── getSecureAttribute.ts
│   │   │   │   │   ├── safeLock.ts
│   │   │   │   │   └── SessionCookiePoller.ts
│   │   │   │   ├── clerk.ts
│   │   │   │   ├── constants.ts
│   │   │   │   ├── errors.ts
│   │   │   │   ├── events.ts
│   │   │   │   ├── fapiClient.ts
│   │   │   │   ├── fraudProtection.test.ts
│   │   │   │   ├── fraudProtection.ts
│   │   │   │   ├── jwt-client.ts
│   │   │   │   ├── modules
│   │   │   │   │   ├── apiKeys
│   │   │   │   │   │   └── index.ts
│   │   │   │   │   ├── billing
│   │   │   │   │   │   ├── index.ts
│   │   │   │   │   │   ├── namespace.ts
│   │   │   │   │   │   └── payment-source-methods.ts
│   │   │   │   │   ├── checkout
│   │   │   │   │   │   ├── __tests__
│   │   │   │   │   │   │   └── manager.test.ts
│   │   │   │   │   │   ├── instance.ts
│   │   │   │   │   │   └── manager.ts
│   │   │   │   │   └── debug
│   │   │   │   │       ├── __tests__
│   │   │   │   │       │   └── logger.test.ts
│   │   │   │   │       ├── index.ts
│   │   │   │   │       ├── logger.ts
│   │   │   │   │       ├── transports
│   │   │   │   │       │   ├── __tests__
│   │   │   │   │       │   │   └── telemetry.test.ts
│   │   │   │   │       │   ├── composite.ts
│   │   │   │   │       │   ├── console.ts
│   │   │   │   │       │   └── telemetry.ts
│   │   │   │   │       └── types.ts
│   │   │   │   ├── resources
│   │   │   │   │   ├── __tests__
│   │   │   │   │   │   ├── AuthConfig.test.ts
│   │   │   │   │   │   ├── Base.test.ts
│   │   │   │   │   │   ├── Client.test.ts
│   │   │   │   │   │   ├── Environment.test.ts
│   │   │   │   │   │   ├── ExternalAccount.test.ts
│   │   │   │   │   │   ├── Image.test.ts
│   │   │   │   │   │   ├── Organization.test.ts
│   │   │   │   │   │   ├── OrganizationDomain.test.ts
│   │   │   │   │   │   ├── OrganizationInvitation.test.ts
│   │   │   │   │   │   ├── OrganizationMembership.test.ts
│   │   │   │   │   │   ├── OrganizationMembershipRequest.test.ts
│   │   │   │   │   │   ├── OrganizationSuggestion.test.ts
│   │   │   │   │   │   ├── PublicUserData.test.ts
│   │   │   │   │   │   ├── Session.test.ts
│   │   │   │   │   │   ├── SignIn.test.ts
│   │   │   │   │   │   ├── Token.test.ts
│   │   │   │   │   │   ├── User.test.ts
│   │   │   │   │   │   ├── UserSettings.test.ts
│   │   │   │   │   │   ├── Waitlist.test.ts
│   │   │   │   │   │   └── Web3Wallet.test.ts
│   │   │   │   │   ├── APIKey.ts
│   │   │   │   │   ├── APIKeySettings.ts
│   │   │   │   │   ├── AuthConfig.ts
│   │   │   │   │   ├── BackupCode.ts
│   │   │   │   │   ├── Base.ts
│   │   │   │   │   ├── BillingCheckout.ts
│   │   │   │   │   ├── BillingPayer.ts
│   │   │   │   │   ├── BillingPayment.ts
│   │   │   │   │   ├── BillingPaymentMethod.ts
│   │   │   │   │   ├── BillingPlan.ts
│   │   │   │   │   ├── BillingStatement.ts
│   │   │   │   │   ├── BillingSubscription.ts
│   │   │   │   │   ├── Client.ts
│   │   │   │   │   ├── CommerceSettings.ts
│   │   │   │   │   ├── DeletedObject.ts
│   │   │   │   │   ├── DisplayConfig.ts
│   │   │   │   │   ├── EmailAddress.ts
│   │   │   │   │   ├── EnterpriseAccount.ts
│   │   │   │   │   ├── Environment.ts
│   │   │   │   │   ├── ExternalAccount.ts
│   │   │   │   │   ├── Feature.ts
│   │   │   │   │   ├── IdentificationLink.ts
│   │   │   │   │   ├── Image.ts
│   │   │   │   │   ├── index.ts
│   │   │   │   │   ├── internal.ts
│   │   │   │   │   ├── Organization.ts
│   │   │   │   │   ├── OrganizationDomain.ts
│   │   │   │   │   ├── OrganizationInvitation.ts
│   │   │   │   │   ├── OrganizationMembership.ts
│   │   │   │   │   ├── OrganizationMembershipRequest.ts
│   │   │   │   │   ├── OrganizationSettings.ts
│   │   │   │   │   ├── OrganizationSuggestion.ts
│   │   │   │   │   ├── Passkey.ts
│   │   │   │   │   ├── Permission.ts
│   │   │   │   │   ├── PhoneNumber.ts
│   │   │   │   │   ├── PublicUserData.ts
│   │   │   │   │   ├── Role.ts
│   │   │   │   │   ├── SamlAccount.ts
│   │   │   │   │   ├── Session.ts
│   │   │   │   │   ├── SessionVerification.ts
│   │   │   │   │   ├── SessionWithActivities.ts
│   │   │   │   │   ├── SignIn.ts
│   │   │   │   │   ├── SignUp.ts
│   │   │   │   │   ├── Token.ts
│   │   │   │   │   ├── TOTP.ts
│   │   │   │   │   ├── User.ts
│   │   │   │   │   ├── UserData.ts
│   │   │   │   │   ├── UserOrganizationInvitation.ts
│   │   │   │   │   ├── UserSettings.ts
│   │   │   │   │   ├── Verification.ts
│   │   │   │   │   ├── Waitlist.ts
│   │   │   │   │   └── Web3Wallet.ts
│   │   │   │   ├── sessionTasks.ts
│   │   │   │   ├── signals.ts
│   │   │   │   ├── state.ts
│   │   │   │   ├── tokenCache.ts
│   │   │   │   └── warnings.ts
│   │   │   ├── emotion.d.ts
│   │   │   ├── global.d.ts
│   │   │   ├── index.browser.ts
│   │   │   ├── index.headless.browser.ts
│   │   │   ├── index.headless.ts
│   │   │   ├── index.legacy.browser.ts
│   │   │   ├── index.ts
│   │   │   ├── test
│   │   │   │   ├── core-fixtures.ts
│   │   │   │   ├── create-fixtures.tsx
│   │   │   │   ├── fixture-helpers.ts
│   │   │   │   ├── fixtures.ts
│   │   │   │   ├── mock-helpers.ts
│   │   │   │   └── utils.ts
│   │   │   ├── ui
│   │   │   │   ├── baseTheme.ts
│   │   │   │   ├── common
│   │   │   │   │   ├── __tests__
│   │   │   │   │   │   ├── redirects.test.ts
│   │   │   │   │   │   ├── verification.test.ts
│   │   │   │   │   │   └── withRedirect.test.tsx
│   │   │   │   │   ├── CalloutWithAction.tsx
│   │   │   │   │   ├── ChooseEnterpriseConnectionCard.tsx
│   │   │   │   │   ├── constants.ts
│   │   │   │   │   ├── CustomPageContentContainer.tsx
│   │   │   │   │   ├── DevOnly.tsx
│   │   │   │   │   ├── EmailLinkCompleteFlowCard.tsx
│   │   │   │   │   ├── EmailLinkStatusCard.tsx
│   │   │   │   │   ├── EmailLinkVerify.tsx
│   │   │   │   │   ├── forms.ts
│   │   │   │   │   ├── Gate.tsx
│   │   │   │   │   ├── index.ts
│   │   │   │   │   ├── InfiniteListSpinner.tsx
│   │   │   │   │   ├── NotificationCountBadge.tsx
│   │   │   │   │   ├── organizations
│   │   │   │   │   │   └── OrganizationPreview.tsx
│   │   │   │   │   ├── PrintableComponent.tsx
│   │   │   │   │   ├── ProviderInitialIcon.tsx
│   │   │   │   │   ├── QRCode.tsx
│   │   │   │   │   ├── redirects.ts
│   │   │   │   │   ├── RemoveResourceForm.tsx
│   │   │   │   │   ├── SSOCallback.tsx
│   │   │   │   │   ├── verification.ts
│   │   │   │   │   ├── withRedirect.tsx
│   │   │   │   │   └── Wizard.tsx
│   │   │   │   ├── components
│   │   │   │   │   ├── ApiKeys
│   │   │   │   │   │   ├── ApiKeys.tsx
│   │   │   │   │   │   ├── ApiKeysTable.tsx
│   │   │   │   │   │   ├── CreateApiKeyForm.tsx
│   │   │   │   │   │   ├── RevokeAPIKeyConfirmationModal.tsx
│   │   │   │   │   │   └── useApiKeys.ts
│   │   │   │   │   ├── BlankCaptchaModal
│   │   │   │   │   │   └── index.tsx
│   │   │   │   │   ├── Checkout
│   │   │   │   │   │   ├── __tests__
│   │   │   │   │   │   │   └── Checkout.test.tsx
│   │   │   │   │   │   ├── CheckoutComplete.tsx
│   │   │   │   │   │   ├── CheckoutForm.tsx
│   │   │   │   │   │   ├── CheckoutPage.tsx
│   │   │   │   │   │   ├── index.tsx
│   │   │   │   │   │   └── parts.tsx
│   │   │   │   │   ├── CreateOrganization
│   │   │   │   │   │   ├── __tests__
│   │   │   │   │   │   │   └── CreateOrganization.test.tsx
│   │   │   │   │   │   ├── CreateOrganization.tsx
│   │   │   │   │   │   ├── CreateOrganizationForm.tsx
│   │   │   │   │   │   ├── CreateOrganizationPage.tsx
│   │   │   │   │   │   └── index.tsx
│   │   │   │   │   ├── GoogleOneTap
│   │   │   │   │   │   ├── index.tsx
│   │   │   │   │   │   └── one-tap-start.tsx
│   │   │   │   │   ├── ImpersonationFab
│   │   │   │   │   │   └── index.tsx
│   │   │   │   │   ├── KeylessPrompt
│   │   │   │   │   │   ├── ClerkLogoIcon.tsx
│   │   │   │   │   │   ├── index.tsx
│   │   │   │   │   │   ├── KeySlashIcon.tsx
│   │   │   │   │   │   └── use-revalidate-environment.ts
│   │   │   │   │   ├── OAuthConsent
│   │   │   │   │   │   └── OAuthConsent.tsx
│   │   │   │   │   ├── OrganizationList
│   │   │   │   │   │   ├── __tests__
│   │   │   │   │   │   │   └── OrganizationList.test.tsx
│   │   │   │   │   │   ├── index.tsx
│   │   │   │   │   │   ├── OrganizationListPage.tsx
│   │   │   │   │   │   ├── shared.tsx
│   │   │   │   │   │   ├── UserInvitationList.tsx
│   │   │   │   │   │   ├── UserMembershipList.tsx
│   │   │   │   │   │   ├── UserSuggestionList.tsx
│   │   │   │   │   │   └── utils.ts
│   │   │   │   │   ├── OrganizationProfile
│   │   │   │   │   │   ├── __tests__
│   │   │   │   │   │   │   ├── InviteMembersPage.test.tsx
│   │   │   │   │   │   │   ├── LeaveOrganizationPage.test.tsx
│   │   │   │   │   │   │   ├── OrganizationGeneralPage.test.tsx
│   │   │   │   │   │   │   ├── OrganizationMembers.test.tsx
│   │   │   │   │   │   │   ├── OrganizationProfile.test.tsx
│   │   │   │   │   │   │   ├── ProfileSettingsPage.test.tsx
│   │   │   │   │   │   │   └── utils.ts
│   │   │   │   │   │   ├── ActionConfirmationPage.tsx
│   │   │   │   │   │   ├── ActiveMembersList.tsx
│   │   │   │   │   │   ├── AddDomainForm.tsx
│   │   │   │   │   │   ├── BillingWidget.tsx
│   │   │   │   │   │   ├── DomainList.tsx
│   │   │   │   │   │   ├── EnrollmentBadge.tsx
│   │   │   │   │   │   ├── index.tsx
│   │   │   │   │   │   ├── InvitedMembersList.tsx
│   │   │   │   │   │   ├── InviteMembersForm.tsx
│   │   │   │   │   │   ├── InviteMembersScreen.tsx
│   │   │   │   │   │   ├── MemberListTable.tsx
│   │   │   │   │   │   ├── MembersActions.tsx
│   │   │   │   │   │   ├── MembershipWidget.tsx
│   │   │   │   │   │   ├── MembersSearch.tsx
│   │   │   │   │   │   ├── OrganizationApiKeysPage.tsx
│   │   │   │   │   │   ├── OrganizationBillingPage.tsx
│   │   │   │   │   │   ├── OrganizationGeneralPage.tsx
│   │   │   │   │   │   ├── OrganizationMembers.tsx
│   │   │   │   │   │   ├── OrganizationMembersTabInvitations.tsx
│   │   │   │   │   │   ├── OrganizationMembersTabRequests.tsx
│   │   │   │   │   │   ├── OrganizationPaymentAttemptPage.tsx
│   │   │   │   │   │   ├── OrganizationPlansPage.tsx
│   │   │   │   │   │   ├── OrganizationProfileAvatarUploader.tsx
│   │   │   │   │   │   ├── OrganizationProfileNavbar.tsx
│   │   │   │   │   │   ├── OrganizationProfileRoutes.tsx
│   │   │   │   │   │   ├── OrganizationStatementPage.tsx
│   │   │   │   │   │   ├── ProfileForm.tsx
│   │   │   │   │   │   ├── RemoveDomainForm.tsx
│   │   │   │   │   │   ├── RemoveDomainScreen.tsx
│   │   │   │   │   │   ├── RequestToJoinList.tsx
│   │   │   │   │   │   ├── VerifiedDomainForm.tsx
│   │   │   │   │   │   ├── VerifiedDomainScreen.tsx
│   │   │   │   │   │   ├── VerifyDomainForm.tsx
│   │   │   │   │   │   └── VerifyDomainScreen.tsx
│   │   │   │   │   ├── OrganizationSwitcher
│   │   │   │   │   │   ├── __tests__
│   │   │   │   │   │   │   ├── OrganizationSwitcher.test.tsx
│   │   │   │   │   │   │   ├── test-utils.ts
│   │   │   │   │   │   │   └── utils.test.ts
│   │   │   │   │   │   ├── index.tsx
│   │   │   │   │   │   ├── OrganizationSwitcherPopover.tsx
│   │   │   │   │   │   ├── OrganizationSwitcherTrigger.tsx
│   │   │   │   │   │   ├── OtherOrganizationActions.tsx
│   │   │   │   │   │   ├── UserInvitationSuggestionList.tsx
│   │   │   │   │   │   ├── UserMembershipList.tsx
│   │   │   │   │   │   └── utils.ts
│   │   │   │   │   ├── PaymentAttempts
│   │   │   │   │   │   ├── index.ts
│   │   │   │   │   │   ├── PaymentAttemptPage.tsx
│   │   │   │   │   │   └── PaymentAttemptsList.tsx
│   │   │   │   │   ├── PaymentMethods
│   │   │   │   │   │   ├── AddPaymentMethod.tsx
│   │   │   │   │   │   ├── index.ts
│   │   │   │   │   │   ├── PaymentElementSkeleton.tsx
│   │   │   │   │   │   ├── PaymentMethodRow.tsx
│   │   │   │   │   │   ├── PaymentMethods.tsx
│   │   │   │   │   │   └── TestPaymentMethod.tsx
│   │   │   │   │   ├── Plans
│   │   │   │   │   │   ├── __tests__
│   │   │   │   │   │   │   └── PlanDetails.test.tsx
│   │   │   │   │   │   └── PlanDetails.tsx
│   │   │   │   │   ├── prefetch-organization-list.tsx
│   │   │   │   │   ├── PricingTable
│   │   │   │   │   │   ├── __tests__
│   │   │   │   │   │   │   └── PricingTable.test.tsx
│   │   │   │   │   │   ├── index.tsx
│   │   │   │   │   │   ├── PricingTable.tsx
│   │   │   │   │   │   ├── PricingTableDefault.tsx
│   │   │   │   │   │   ├── PricingTableMatrix.tsx
│   │   │   │   │   │   └── utils
│   │   │   │   │   │       ├── pricing-footer-state.spec.ts
│   │   │   │   │   │       └── pricing-footer-state.ts
│   │   │   │   │   ├── SessionTasks
│   │   │   │   │   │   ├── index.tsx
│   │   │   │   │   │   └── tasks
│   │   │   │   │   │       ├── TaskChooseOrganization
│   │   │   │   │   │       │   ├── __tests__
│   │   │   │   │   │       │   │   └── TaskChooseOrganization.test.tsx
│   │   │   │   │   │       │   ├── ChooseOrganizationScreen.tsx
│   │   │   │   │   │       │   ├── CreateOrganizationScreen.tsx
│   │   │   │   │   │       │   └── index.tsx
│   │   │   │   │   │       └── withTaskGuard.ts
│   │   │   │   │   ├── SignIn
│   │   │   │   │   │   ├── __tests__
│   │   │   │   │   │   │   ├── handleCombinedFlowTransfer.test.ts
│   │   │   │   │   │   │   ├── ResetPassword.test.tsx
│   │   │   │   │   │   │   ├── ResetPasswordSuccess.test.tsx
│   │   │   │   │   │   │   ├── SignInAccountSwitcher.test.tsx
│   │   │   │   │   │   │   ├── SignInFactorOne.test.tsx
│   │   │   │   │   │   │   ├── SignInFactorOneCodeForm.test.tsx
│   │   │   │   │   │   │   ├── SignInFactorTwo.test.tsx
│   │   │   │   │   │   │   ├── SignInStart.test.tsx
│   │   │   │   │   │   │   └── utils.test.ts
│   │   │   │   │   │   ├── AlternativeMethods.tsx
│   │   │   │   │   │   ├── handleCombinedFlowTransfer.ts
│   │   │   │   │   │   ├── HavingTrouble.tsx
│   │   │   │   │   │   ├── index.tsx
│   │   │   │   │   │   ├── lazy-sign-up.ts
│   │   │   │   │   │   ├── ResetPassword.tsx
│   │   │   │   │   │   ├── ResetPasswordSuccess.tsx
│   │   │   │   │   │   ├── shared.ts
│   │   │   │   │   │   ├── SignInAccountSwitcher.tsx
│   │   │   │   │   │   ├── SignInAlternativePhoneCodePhoneNumberCard.tsx
│   │   │   │   │   │   ├── SignInFactorOne.tsx
│   │   │   │   │   │   ├── SignInFactorOneAlternativeChannelCodeForm.tsx
│   │   │   │   │   │   ├── SignInFactorOneAlternativePhoneCodeCard.tsx
│   │   │   │   │   │   ├── SignInFactorOneCodeForm.tsx
│   │   │   │   │   │   ├── SignInFactorOneEmailCodeCard.tsx
│   │   │   │   │   │   ├── SignInFactorOneEmailLinkCard.tsx
│   │   │   │   │   │   ├── SignInFactorOneEnterpriseConnections.tsx
│   │   │   │   │   │   ├── SignInFactorOneForgotPasswordCard.tsx
│   │   │   │   │   │   ├── SignInFactorOnePasskey.tsx
│   │   │   │   │   │   ├── SignInFactorOnePasswordCard.tsx
│   │   │   │   │   │   ├── SignInFactorOnePhoneCodeCard.tsx
│   │   │   │   │   │   ├── SignInFactorTwo.tsx
│   │   │   │   │   │   ├── SignInFactorTwoAlternativeMethods.tsx
│   │   │   │   │   │   ├── SignInFactorTwoBackupCodeCard.tsx
│   │   │   │   │   │   ├── SignInFactorTwoCodeForm.tsx
│   │   │   │   │   │   ├── SignInFactorTwoPhoneCodeCard.tsx
│   │   │   │   │   │   ├── SignInFactorTwoTOTPCard.tsx
│   │   │   │   │   │   ├── SignInSocialButtons.tsx
│   │   │   │   │   │   ├── SignInSSOCallback.tsx
│   │   │   │   │   │   ├── SignInStart.tsx
│   │   │   │   │   │   ├── useResetPasswordFactor.tsx
│   │   │   │   │   │   ├── utils.ts
│   │   │   │   │   │   └── withHavingTrouble.tsx
│   │   │   │   │   ├── SignUp
│   │   │   │   │   │   ├── __tests__
│   │   │   │   │   │   │   ├── SignUpContinue.test.tsx
│   │   │   │   │   │   │   ├── SignUpEmailLinkFlowComplete.test.tsx
│   │   │   │   │   │   │   ├── signUpFormHelpers.test.ts
│   │   │   │   │   │   │   ├── SignUpStart.test.tsx
│   │   │   │   │   │   │   ├── SignUpVerifyEmail.test.tsx
│   │   │   │   │   │   │   └── SignUpVerifyPhone.test.tsx
│   │   │   │   │   │   ├── index.tsx
│   │   │   │   │   │   ├── SignUpContinue.tsx
│   │   │   │   │   │   ├── SignUpEmailCodeCard.tsx
│   │   │   │   │   │   ├── SignUpEmailLinkCard.tsx
│   │   │   │   │   │   ├── SignUpEnterpriseConnections.tsx
│   │   │   │   │   │   ├── SignUpForm.tsx
│   │   │   │   │   │   ├── signUpFormHelpers.ts
│   │   │   │   │   │   ├── SignUpPhoneCodeCard.tsx
│   │   │   │   │   │   ├── SignUpRestrictedAccess.tsx
│   │   │   │   │   │   ├── SignUpSocialButtons.tsx
│   │   │   │   │   │   ├── SignUpSSOCallback.tsx
│   │   │   │   │   │   ├── SignUpStart.tsx
│   │   │   │   │   │   ├── SignUpStartAlternativePhoneCodePhoneNumberCard.tsx
│   │   │   │   │   │   ├── SignUpVerificationCodeForm.tsx
│   │   │   │   │   │   ├── SignUpVerifyEmail.tsx
│   │   │   │   │   │   ├── SignUpVerifyPhone.tsx
│   │   │   │   │   │   └── util.ts
│   │   │   │   │   ├── Statements
│   │   │   │   │   │   ├── index.ts
│   │   │   │   │   │   ├── Statement.tsx
│   │   │   │   │   │   ├── StatementPage.tsx
│   │   │   │   │   │   └── StatementsList.tsx
│   │   │   │   │   ├── SubscriptionDetails
│   │   │   │   │   │   ├── __tests__
│   │   │   │   │   │   │   └── SubscriptionDetails.test.tsx
│   │   │   │   │   │   └── index.tsx
│   │   │   │   │   ├── Subscriptions
│   │   │   │   │   │   ├── __tests__
│   │   │   │   │   │   │   └── SubscriptionsList.test.tsx
│   │   │   │   │   │   ├── badge.tsx
│   │   │   │   │   │   ├── index.tsx
│   │   │   │   │   │   └── SubscriptionsList.tsx
│   │   │   │   │   ├── UserAvatar
│   │   │   │   │   │   └── index.tsx
│   │   │   │   │   ├── UserButton
│   │   │   │   │   │   ├── __tests__
│   │   │   │   │   │   │   └── UserButton.test.tsx
│   │   │   │   │   │   ├── index.tsx
│   │   │   │   │   │   ├── SessionActions.tsx
│   │   │   │   │   │   ├── useMultisessionActions.tsx
│   │   │   │   │   │   ├── UserButtonPopover.tsx
│   │   │   │   │   │   ├── UserButtonTopLevelIdentifier.tsx
│   │   │   │   │   │   └── UserButtonTrigger.tsx
│   │   │   │   │   ├── UserProfile
│   │   │   │   │   │   ├── __tests__
│   │   │   │   │   │   │   ├── AccountPage.test.tsx
│   │   │   │   │   │   │   ├── ConnectedAccountsSection.test.tsx
│   │   │   │   │   │   │   ├── EmailsSection.test.tsx
│   │   │   │   │   │   │   ├── EnterpriseAccountsSection.test.tsx
│   │   │   │   │   │   │   ├── MfaPage.test.tsx
│   │   │   │   │   │   │   ├── PasskeysSection.test.tsx
│   │   │   │   │   │   │   ├── PasswordSection.test.tsx
│   │   │   │   │   │   │   ├── PhoneSection.test.tsx
│   │   │   │   │   │   │   ├── SecurityPage.test.tsx
│   │   │   │   │   │   │   ├── UsernameSection.test.tsx
│   │   │   │   │   │   │   ├── UserProfile.test.tsx
│   │   │   │   │   │   │   ├── UserProfileSection.test.tsx
│   │   │   │   │   │   │   └── utils.test.ts
│   │   │   │   │   │   ├── AccountPage.tsx
│   │   │   │   │   │   ├── ActiveDevicesSection.tsx
│   │   │   │   │   │   ├── AddAuthenticatorApp.tsx
│   │   │   │   │   │   ├── ApiKeysPage.tsx
│   │   │   │   │   │   ├── BillingPage.tsx
│   │   │   │   │   │   ├── ConnectedAccountsMenu.tsx
│   │   │   │   │   │   ├── ConnectedAccountsSection.tsx
│   │   │   │   │   │   ├── DeleteSection.tsx
│   │   │   │   │   │   ├── DeleteUserForm.tsx
│   │   │   │   │   │   ├── EmailForm.tsx
│   │   │   │   │   │   ├── EmailsSection.tsx
│   │   │   │   │   │   ├── EnterpriseAccountsSection.tsx
│   │   │   │   │   │   ├── index.tsx
│   │   │   │   │   │   ├── LinkButtonWithDescription.tsx
│   │   │   │   │   │   ├── MfaBackupCodeCreateForm.tsx
│   │   │   │   │   │   ├── MfaBackupCodeList.tsx
│   │   │   │   │   │   ├── MfaBackupCodeScreen.tsx
│   │   │   │   │   │   ├── MfaBackupCodeTile.tsx
│   │   │   │   │   │   ├── MfaForm.tsx
│   │   │   │   │   │   ├── MfaPhoneCodeScreen.tsx
│   │   │   │   │   │   ├── MfaScreens.tsx
│   │   │   │   │   │   ├── MfaSection.tsx
│   │   │   │   │   │   ├── MfaTOTPScreen.tsx
│   │   │   │   │   │   ├── PasskeySection.tsx
│   │   │   │   │   │   ├── PasswordForm.tsx
│   │   │   │   │   │   ├── PasswordSection.tsx
│   │   │   │   │   │   ├── PhoneForm.tsx
│   │   │   │   │   │   ├── PhoneSection.tsx
│   │   │   │   │   │   ├── PlansPage.tsx
│   │   │   │   │   │   ├── ProfileForm.tsx
│   │   │   │   │   │   ├── RemoveResourceForm.tsx
│   │   │   │   │   │   ├── SecurityPage.tsx
│   │   │   │   │   │   ├── UsernameForm.tsx
│   │   │   │   │   │   ├── UsernameSection.tsx
│   │   │   │   │   │   ├── UserProfileAvatarUploader.tsx
│   │   │   │   │   │   ├── UserProfileNavbar.tsx
│   │   │   │   │   │   ├── UserProfileRoutes.tsx
│   │   │   │   │   │   ├── UserProfileSection.tsx
│   │   │   │   │   │   ├── utils.ts
│   │   │   │   │   │   ├── VerifyTOTP.tsx
│   │   │   │   │   │   ├── VerifyWithCode.tsx
│   │   │   │   │   │   ├── VerifyWithEnterpriseConnection.tsx
│   │   │   │   │   │   ├── VerifyWithLink.tsx
│   │   │   │   │   │   ├── Web3Form.tsx
│   │   │   │   │   │   └── Web3Section.tsx
│   │   │   │   │   ├── UserVerification
│   │   │   │   │   │   ├── __tests__
│   │   │   │   │   │   │   ├── UVFactorOne.test.tsx
│   │   │   │   │   │   │   └── UVFactorTwo.test.tsx
│   │   │   │   │   │   ├── AlternativeMethods.tsx
│   │   │   │   │   │   ├── HavingTrouble.tsx
│   │   │   │   │   │   ├── index.tsx
│   │   │   │   │   │   ├── use-after-verification.ts
│   │   │   │   │   │   ├── useReverificationAlternativeStrategies.ts
│   │   │   │   │   │   ├── UserVerificationFactorOne.tsx
│   │   │   │   │   │   ├── UserVerificationFactorOnePassword.tsx
│   │   │   │   │   │   ├── UserVerificationFactorTwo.tsx
│   │   │   │   │   │   ├── UserVerificationFactorTwoTOTP.tsx
│   │   │   │   │   │   ├── useUserVerificationSession.tsx
│   │   │   │   │   │   ├── utils.ts
│   │   │   │   │   │   ├── UVFactorOneCodeForm.tsx
│   │   │   │   │   │   ├── UVFactorOneEmailCodeCard.tsx
│   │   │   │   │   │   ├── UVFactorOnePasskeysCard.tsx
│   │   │   │   │   │   ├── UVFactorOnePhoneCodeCard.tsx
│   │   │   │   │   │   ├── UVFactorTwoAlternativeMethods.tsx
│   │   │   │   │   │   ├── UVFactorTwoBackupCodeCard.tsx
│   │   │   │   │   │   ├── UVFactorTwoCodeForm.tsx
│   │   │   │   │   │   ├── UVFactorTwoPhoneCodeCard.tsx
│   │   │   │   │   │   └── withHavingTrouble.tsx
│   │   │   │   │   └── Waitlist
│   │   │   │   │       ├── __tests__
│   │   │   │   │       │   └── Waitlist.test.tsx
│   │   │   │   │       ├── index.tsx
│   │   │   │   │       ├── WaitlistForm.tsx
│   │   │   │   │       └── waitlistFormHelpers.ts
│   │   │   │   ├── Components.tsx
│   │   │   │   ├── constants.ts
│   │   │   │   ├── contexts
│   │   │   │   │   ├── AcceptedUserInvitations.tsx
│   │   │   │   │   ├── ClerkUIComponentsContext.tsx
│   │   │   │   │   ├── components
│   │   │   │   │   │   ├── ApiKeys.ts
│   │   │   │   │   │   ├── Checkout.ts
│   │   │   │   │   │   ├── CreateOrganization.ts
│   │   │   │   │   │   ├── GoogleOneTap.ts
│   │   │   │   │   │   ├── index.ts
│   │   │   │   │   │   ├── OAuthConsent.ts
│   │   │   │   │   │   ├── OrganizationList.ts
│   │   │   │   │   │   ├── OrganizationProfile.ts
│   │   │   │   │   │   ├── OrganizationSwitcher.ts
│   │   │   │   │   │   ├── Plans.tsx
│   │   │   │   │   │   ├── PricingTable.ts
│   │   │   │   │   │   ├── SessionTasks.ts
│   │   │   │   │   │   ├── SignIn.ts
│   │   │   │   │   │   ├── SignOut.ts
│   │   │   │   │   │   ├── SignUp.ts
│   │   │   │   │   │   ├── SubscriberType.ts
│   │   │   │   │   │   ├── SubscriptionDetails.ts
│   │   │   │   │   │   ├── UserAvatar.ts
│   │   │   │   │   │   ├── UserButton.ts
│   │   │   │   │   │   ├── UserProfile.ts
│   │   │   │   │   │   ├── UserVerification.ts
│   │   │   │   │   │   └── Waitlist.ts
│   │   │   │   │   ├── CoreClerkContextWrapper.tsx
│   │   │   │   │   ├── CoreClientContext.tsx
│   │   │   │   │   ├── CoreSessionContext.tsx
│   │   │   │   │   ├── CoreUserContext.tsx
│   │   │   │   │   ├── EnvironmentContext.tsx
│   │   │   │   │   ├── index.ts
│   │   │   │   │   ├── OptionsContext.tsx
│   │   │   │   │   └── utils.ts
│   │   │   │   ├── customizables
│   │   │   │   │   ├── __tests__
│   │   │   │   │   │   ├── elementDescriptors.test.tsx
│   │   │   │   │   │   ├── FlowRoot.spec.tsx
│   │   │   │   │   │   ├── makeCustomizable.test.tsx
│   │   │   │   │   │   ├── parseAppearance.test.tsx
│   │   │   │   │   │   ├── parseVariables.test.ts
│   │   │   │   │   │   └── test-utils.ts
│   │   │   │   │   ├── AppearanceContext.tsx
│   │   │   │   │   ├── classGeneration.ts
│   │   │   │   │   ├── elementDescriptors.ts
│   │   │   │   │   ├── Flow.tsx
│   │   │   │   │   ├── index.ts
│   │   │   │   │   ├── makeCustomizable.tsx
│   │   │   │   │   ├── makeResponsive.tsx
│   │   │   │   │   ├── parseAppearance.ts
│   │   │   │   │   ├── parseVariables.ts
│   │   │   │   │   └── sanitizeDomProps.tsx
│   │   │   │   ├── elements
│   │   │   │   │   ├── __mocks__
│   │   │   │   │   │   └── @formkit
│   │   │   │   │   │       └── auto-animate
│   │   │   │   │   │           └── react
│   │   │   │   │   │               └── index.ts
│   │   │   │   │   ├── __tests__
│   │   │   │   │   │   ├── CodeControl.test.tsx
│   │   │   │   │   │   ├── LinkRenderer.test.tsx
│   │   │   │   │   │   ├── PlainInput.test.tsx
│   │   │   │   │   │   ├── RadioGroup.test.tsx
│   │   │   │   │   │   └── TimerButton.test.tsx
│   │   │   │   │   ├── Action
│   │   │   │   │   │   ├── ActionCard.tsx
│   │   │   │   │   │   ├── ActionClosed.tsx
│   │   │   │   │   │   ├── ActionOpen.tsx
│   │   │   │   │   │   ├── ActionRoot.tsx
│   │   │   │   │   │   ├── ActionTrigger.tsx
│   │   │   │   │   │   └── index.tsx
│   │   │   │   │   ├── Actions.tsx
│   │   │   │   │   ├── Alert.tsx
│   │   │   │   │   ├── Animated.tsx
│   │   │   │   │   ├── ApplicationLogo.tsx
│   │   │   │   │   ├── ArrowBlockButton.tsx
│   │   │   │   │   ├── Avatar.tsx
│   │   │   │   │   ├── AvatarUploader.tsx
│   │   │   │   │   ├── BackLink.tsx
│   │   │   │   │   ├── Badge.tsx
│   │   │   │   │   ├── CaptchaElement.tsx
│   │   │   │   │   ├── Card
│   │   │   │   │   │   ├── CardAction.tsx
│   │   │   │   │   │   ├── CardAlert.tsx
│   │   │   │   │   │   ├── CardClerkAndPagesTag.tsx
│   │   │   │   │   │   ├── CardContent.tsx
│   │   │   │   │   │   ├── CardFooter.tsx
│   │   │   │   │   │   ├── CardRoot.tsx
│   │   │   │   │   │   └── index.ts
│   │   │   │   │   ├── ClipboardInput.tsx
│   │   │   │   │   ├── CodeControl.tsx
│   │   │   │   │   ├── contexts
│   │   │   │   │   │   └── index.tsx
│   │   │   │   │   ├── DataTable.tsx
│   │   │   │   │   ├── DevModeNotice.tsx
│   │   │   │   │   ├── Divider.tsx
│   │   │   │   │   ├── Drawer.tsx
│   │   │   │   │   ├── ErrorCard.tsx
│   │   │   │   │   ├── FieldControl.tsx
│   │   │   │   │   ├── Form.tsx
│   │   │   │   │   ├── FormattedPhoneNumber.tsx
│   │   │   │   │   ├── FormButtons.tsx
│   │   │   │   │   ├── FormContainer.tsx
│   │   │   │   │   ├── FormControl.tsx
│   │   │   │   │   ├── FullHeightLoader.tsx
│   │   │   │   │   ├── Gauge.tsx
│   │   │   │   │   ├── Header.tsx
│   │   │   │   │   ├── IconButton.tsx
│   │   │   │   │   ├── IconCircle.tsx
│   │   │   │   │   ├── IdentityPreview.tsx
│   │   │   │   │   ├── InformationBox.tsx
│   │   │   │   │   ├── InputGroup.tsx
│   │   │   │   │   ├── InputWithIcon.tsx
│   │   │   │   │   ├── InvisibleRootBox.tsx
│   │   │   │   │   ├── LegalConsentCheckbox.tsx
│   │   │   │   │   ├── LineItems.tsx
│   │   │   │   │   ├── LinkRenderer.tsx
│   │   │   │   │   ├── LoadingCard.tsx
│   │   │   │   │   ├── Menu.tsx
│   │   │   │   │   ├── Modal.tsx
│   │   │   │   │   ├── Navbar.tsx
│   │   │   │   │   ├── OrganizationAvatar.tsx
│   │   │   │   │   ├── OrganizationPreview.tsx
│   │   │   │   │   ├── Pagination.tsx
│   │   │   │   │   ├── PasswordInput.tsx
│   │   │   │   │   ├── PersonalWorkspacePreview.tsx
│   │   │   │   │   ├── PhoneInput
│   │   │   │   │   │   ├── __tests__
│   │   │   │   │   │   │   └── useFormattedPhoneNumber.test.ts
│   │   │   │   │   │   ├── countryCodeData.ts
│   │   │   │   │   │   ├── index.tsx
│   │   │   │   │   │   └── useFormattedPhoneNumber.ts
│   │   │   │   │   ├── Popover.tsx
│   │   │   │   │   ├── PopoverCard.tsx
│   │   │   │   │   ├── Portal.tsx
│   │   │   │   │   ├── PreviewButton.tsx
│   │   │   │   │   ├── ProfileCard
│   │   │   │   │   │   ├── index.ts
│   │   │   │   │   │   ├── ProfileCardContent.tsx
│   │   │   │   │   │   └── ProfileCardRoot.tsx
│   │   │   │   │   ├── RadioGroup.tsx
│   │   │   │   │   ├── ReversibleContainer.tsx
│   │   │   │   │   ├── RootBox.tsx
│   │   │   │   │   ├── RouterLink.tsx
│   │   │   │   │   ├── Section.tsx
│   │   │   │   │   ├── SegmentedControl.tsx
│   │   │   │   │   ├── Select.tsx
│   │   │   │   │   ├── SocialButtons.tsx
│   │   │   │   │   ├── SuccessPage.tsx
│   │   │   │   │   ├── Switch.tsx
│   │   │   │   │   ├── Tabs.tsx
│   │   │   │   │   ├── TagInput.tsx
│   │   │   │   │   ├── ThreeDotsMenu.tsx
│   │   │   │   │   ├── TimerButton.tsx
│   │   │   │   │   ├── Tooltip.tsx
│   │   │   │   │   ├── UserAvatar.tsx
│   │   │   │   │   ├── UserPreview.tsx
│   │   │   │   │   ├── utils.ts
│   │   │   │   │   ├── VerificationCodeCard.tsx
│   │   │   │   │   ├── VerificationLinkCard.tsx
│   │   │   │   │   └── withAvatarShimmer.tsx
│   │   │   │   ├── foundations
│   │   │   │   │   ├── __tests__
│   │   │   │   │   │   └── createInternalTheme.test.ts
│   │   │   │   │   ├── borders.ts
│   │   │   │   │   ├── colors.ts
│   │   │   │   │   ├── createInternalTheme.ts
│   │   │   │   │   ├── defaultFoundations.ts
│   │   │   │   │   ├── index.ts
│   │   │   │   │   ├── opacity.ts
│   │   │   │   │   ├── shadows.ts
│   │   │   │   │   ├── sizes.ts
│   │   │   │   │   ├── transitions.ts
│   │   │   │   │   ├── typography.ts
│   │   │   │   │   └── zIndices.ts
│   │   │   │   ├── hooks
│   │   │   │   │   ├── __tests__
│   │   │   │   │   │   ├── useCoreOrganization.test.tsx
│   │   │   │   │   │   ├── useCoreOrganizationList.test.tsx
│   │   │   │   │   │   ├── useDevMode.test.tsx
│   │   │   │   │   │   ├── useDirection.test.ts
│   │   │   │   │   │   ├── useEnabledThirdPartyProviders.test.tsx
│   │   │   │   │   │   ├── usePasswordComplexity.test.tsx
│   │   │   │   │   │   └── useSupportEmail.test.tsx
│   │   │   │   │   ├── index.ts
│   │   │   │   │   ├── useAlternativeStrategies.ts
│   │   │   │   │   ├── useClerkModalStateParams.tsx
│   │   │   │   │   ├── useClipboard.ts
│   │   │   │   │   ├── useDebounce.ts
│   │   │   │   │   ├── useDevMode.tsx
│   │   │   │   │   ├── useDirection.ts
│   │   │   │   │   ├── useEmailLink.ts
│   │   │   │   │   ├── useEnabledThirdPartyProviders.tsx
│   │   │   │   │   ├── useEnterpriseSSOLink.ts
│   │   │   │   │   ├── useFetch.ts
│   │   │   │   │   ├── useFetchRoles.ts
│   │   │   │   │   ├── useInView.ts
│   │   │   │   │   ├── useLoadingStatus.ts
│   │   │   │   │   ├── useMultipleSessions.ts
│   │   │   │   │   ├── useNavigateToFlowStart.ts
│   │   │   │   │   ├── useOrganizationListInView.ts
│   │   │   │   │   ├── usePassword.ts
│   │   │   │   │   ├── usePasswordComplexity.ts
│   │   │   │   │   ├── usePopover.ts
│   │   │   │   │   ├── usePrefersReducedMotion.ts
│   │   │   │   │   ├── usePreloadTasks.ts
│   │   │   │   │   ├── useSafeState.ts
│   │   │   │   │   ├── useScrollLock.ts
│   │   │   │   │   ├── useSearchInput.ts
│   │   │   │   │   ├── useSetSessionWithTimeout.ts
│   │   │   │   │   ├── useSupportEmail.ts
│   │   │   │   │   ├── useTabState.ts
│   │   │   │   │   └── useWindowEventListener.ts
│   │   │   │   ├── icons
│   │   │   │   │   ├── add.svg
│   │   │   │   │   ├── apple-pay.svg
│   │   │   │   │   ├── arrow-left.svg
│   │   │   │   │   ├── arrow-right-button.svg
│   │   │   │   │   ├── arrow-right.svg
│   │   │   │   │   ├── arrows-up-down.svg
│   │   │   │   │   ├── auth-app.svg
│   │   │   │   │   ├── billing.svg
│   │   │   │   │   ├── block.svg
│   │   │   │   │   ├── caret-left.svg
│   │   │   │   │   ├── caret-right.svg
│   │   │   │   │   ├── caret.svg
│   │   │   │   │   ├── chat-alt.svg
│   │   │   │   │   ├── check-circle.svg
│   │   │   │   │   ├── check.svg
│   │   │   │   │   ├── checkmark-filled.svg
│   │   │   │   │   ├── chevron-down.svg
│   │   │   │   │   ├── chevron-up-down.svg
│   │   │   │   │   ├── clipboard-outline.svg
│   │   │   │   │   ├── clipboard.svg
│   │   │   │   │   ├── close.svg
│   │   │   │   │   ├── code.svg
│   │   │   │   │   ├── cog-filled.svg
│   │   │   │   │   ├── cog.svg
│   │   │   │   │   ├── copy.svg
│   │   │   │   │   ├── credit-card.svg
│   │   │   │   │   ├── device-laptop.svg
│   │   │   │   │   ├── device-mobile.svg
│   │   │   │   │   ├── dot-circle-horizontal.svg
│   │   │   │   │   ├── download.svg
│   │   │   │   │   ├── email.svg
│   │   │   │   │   ├── exclamation-circle.svg
│   │   │   │   │   ├── exclamation-triangle.svg
│   │   │   │   │   ├── eye-slash.svg
│   │   │   │   │   ├── eye.svg
│   │   │   │   │   ├── fingerprint.svg
│   │   │   │   │   ├── folder.svg
│   │   │   │   │   ├── generic-pay.svg
│   │   │   │   │   ├── index.ts
│   │   │   │   │   ├── information-circle.svg
│   │   │   │   │   ├── link.svg
│   │   │   │   │   ├── lock-closed.svg
│   │   │   │   │   ├── lock-dotted-circle.svg
│   │   │   │   │   ├── logo-mark-new.svg
│   │   │   │   │   ├── logo-mark.svg
│   │   │   │   │   ├── magnifying-glass.svg
│   │   │   │   │   ├── menu.svg
│   │   │   │   │   ├── minus.svg
│   │   │   │   │   ├── mobile-small.svg
│   │   │   │   │   ├── mobile.svg
│   │   │   │   │   ├── organization.svg
│   │   │   │   │   ├── pencil-edit.svg
│   │   │   │   │   ├── pencil.svg
│   │   │   │   │   ├── plans.svg
│   │   │   │   │   ├── plus.svg
│   │   │   │   │   ├── print.svg
│   │   │   │   │   ├── question-mark.svg
│   │   │   │   │   ├── request-auth.svg
│   │   │   │   │   ├── rotate-left-right.svg
│   │   │   │   │   ├── selector.svg
│   │   │   │   │   ├── signout-double.svg
│   │   │   │   │   ├── signout.svg
│   │   │   │   │   ├── spinner-jumbo.svg
│   │   │   │   │   ├── switch-arrow-right.svg
│   │   │   │   │   ├── switch-arrows.svg
│   │   │   │   │   ├── threeDots.svg
│   │   │   │   │   ├── tick-shield.svg
│   │   │   │   │   ├── times.svg
│   │   │   │   │   ├── trash.svg
│   │   │   │   │   ├── upload.svg
│   │   │   │   │   ├── user.svg
│   │   │   │   │   ├── userAdd.svg
│   │   │   │   │   └── users.svg
│   │   │   │   ├── lazyModules
│   │   │   │   │   ├── common.ts
│   │   │   │   │   ├── components.ts
│   │   │   │   │   ├── drawers.tsx
│   │   │   │   │   ├── MountedCheckoutDrawer.tsx
│   │   │   │   │   ├── MountedPlanDetailDrawer.tsx
│   │   │   │   │   ├── MountedSubscriptionDetailDrawer.tsx
│   │   │   │   │   └── providers.tsx
│   │   │   │   ├── localization
│   │   │   │   │   ├── __tests__
│   │   │   │   │   │   ├── applyTokensToString.test.ts
│   │   │   │   │   │   ├── makeLocalizable.test.tsx
│   │   │   │   │   │   └── parseLocalization.test.tsx
│   │   │   │   │   ├── applyTokensToString.ts
│   │   │   │   │   ├── defaultEnglishResource.ts
│   │   │   │   │   ├── index.ts
│   │   │   │   │   ├── localizationKeys.ts
│   │   │   │   │   ├── localizationModifiers.ts
│   │   │   │   │   ├── makeLocalizable.tsx
│   │   │   │   │   └── parseLocalization.ts
│   │   │   │   ├── portal
│   │   │   │   │   └── index.tsx
│   │   │   │   ├── primitives
│   │   │   │   │   ├── Alert.tsx
│   │   │   │   │   ├── AlertIcon.tsx
│   │   │   │   │   ├── applyDataStateProps.ts
│   │   │   │   │   ├── Badge.tsx
│   │   │   │   │   ├── Box.tsx
│   │   │   │   │   ├── Button.tsx
│   │   │   │   │   ├── Dd.tsx
│   │   │   │   │   ├── Dl.tsx
│   │   │   │   │   ├── Dt.tsx
│   │   │   │   │   ├── Flex.tsx
│   │   │   │   │   ├── Form.tsx
│   │   │   │   │   ├── FormErrorText.tsx
│   │   │   │   │   ├── FormInfoText.tsx
│   │   │   │   │   ├── FormLabel.tsx
│   │   │   │   │   ├── FormSuccessText.tsx
│   │   │   │   │   ├── FormWarningText.tsx
│   │   │   │   │   ├── gapPropertyCompat.ts
│   │   │   │   │   ├── Grid.tsx
│   │   │   │   │   ├── Heading.tsx
│   │   │   │   │   ├── hooks
│   │   │   │   │   │   ├── useFormField.tsx
│   │   │   │   │   │   └── useInput.ts
│   │   │   │   │   ├── Hr.tsx
│   │   │   │   │   ├── Icon.tsx
│   │   │   │   │   ├── Image.tsx
│   │   │   │   │   ├── index.ts
│   │   │   │   │   ├── Input.tsx
│   │   │   │   │   ├── Link.tsx
│   │   │   │   │   ├── NotificationBadge.tsx
│   │   │   │   │   ├── Span.tsx
│   │   │   │   │   ├── Spinner.tsx
│   │   │   │   │   ├── Table.tsx
│   │   │   │   │   ├── Tbody.tsx
│   │   │   │   │   ├── Td.tsx
│   │   │   │   │   ├── Text.tsx
│   │   │   │   │   ├── Th.tsx
│   │   │   │   │   ├── Thead.tsx
│   │   │   │   │   └── Tr.tsx
│   │   │   │   ├── router
│   │   │   │   │   ├── __mocks__
│   │   │   │   │   │   └── RouteContext.tsx
│   │   │   │   │   ├── __tests__
│   │   │   │   │   │   ├── HashRouter.test.tsx
│   │   │   │   │   │   ├── PathRouter.test.tsx
│   │   │   │   │   │   ├── Switch.test.tsx
│   │   │   │   │   │   └── VirtualRouter.test.tsx
│   │   │   │   │   ├── BaseRouter.tsx
│   │   │   │   │   ├── HashRouter.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── newPaths.ts
│   │   │   │   │   ├── PathRouter.tsx
│   │   │   │   │   ├── pathToRegexp.ts
│   │   │   │   │   ├── Route.tsx
│   │   │   │   │   ├── RouteContext.tsx
│   │   │   │   │   ├── Switch.tsx
│   │   │   │   │   └── VirtualRouter.tsx
│   │   │   │   ├── styledSystem
│   │   │   │   │   ├── __tests__
│   │   │   │   │   │   └── createVariants.test.ts
│   │   │   │   │   ├── animations.ts
│   │   │   │   │   ├── breakpoints.tsx
│   │   │   │   │   ├── common.ts
│   │   │   │   │   ├── createCssVariables.ts
│   │   │   │   │   ├── createVariants.ts
│   │   │   │   │   ├── index.ts
│   │   │   │   │   ├── InternalThemeProvider.tsx
│   │   │   │   │   ├── StyleCacheProvider.tsx
│   │   │   │   │   └── types.ts
│   │   │   │   ├── types.ts
│   │   │   │   └── utils
│   │   │   │       ├── __tests__
│   │   │   │       │   ├── createCustomMenuItems.test.ts
│   │   │   │       │   ├── createCustomPages.test.ts
│   │   │   │       │   ├── cssSupports.test.ts
│   │   │   │       │   ├── cssVariables.test.ts
│   │   │   │       │   ├── factorSorting.test.ts
│   │   │   │       │   ├── formatSafeIdentifier.test.ts
│   │   │   │       │   ├── intl.test.ts
│   │   │   │       │   ├── originPrefersPopup.test.ts
│   │   │   │       │   ├── passwordUtils.test.tsx
│   │   │   │       │   ├── phoneUtils.test.ts
│   │   │   │       │   └── truncateTextWithEndVisible.test.ts
│   │   │   │       ├── colors
│   │   │   │       │   ├── __tests__
│   │   │   │       │   │   ├── constants.test.ts
│   │   │   │       │   │   ├── index.test.ts
│   │   │   │       │   │   ├── legacy.test.ts
│   │   │   │       │   │   ├── modern.test.ts
│   │   │   │       │   │   ├── scales.test.ts
│   │   │   │       │   │   └── utils.test.ts
│   │   │   │       │   ├── constants.ts
│   │   │   │       │   ├── index.ts
│   │   │   │       │   ├── legacy.ts
│   │   │   │       │   ├── modern.ts
│   │   │   │       │   ├── README.md
│   │   │   │       │   ├── scales.ts
│   │   │   │       │   └── utils.ts
│   │   │   │       ├── containsAllOf.ts
│   │   │   │       ├── createCustomMenuItems.tsx
│   │   │   │       ├── createCustomPages.tsx
│   │   │   │       ├── createInfiniteAccessProxy.ts
│   │   │   │       ├── createSlug.ts
│   │   │   │       ├── cssSupports.ts
│   │   │   │       ├── cssVariables.ts
│   │   │   │       ├── errorHandler.ts
│   │   │   │       ├── ExternalElementMounter.tsx
│   │   │   │       ├── factorSorting.ts
│   │   │   │       ├── formatDate.ts
│   │   │   │       ├── formatSafeIdentifier.ts
│   │   │   │       ├── fromEntries.ts
│   │   │   │       ├── getClosestProfileScrollBox.ts
│   │   │   │       ├── getRelativeToNowDateKey.ts
│   │   │   │       ├── getValidReactChildren.ts
│   │   │   │       ├── intl.ts
│   │   │   │       ├── isMobileDevice.ts
│   │   │   │       ├── mergeRefs.ts
│   │   │   │       ├── originPrefersPopup.ts
│   │   │   │       ├── passwordUtils.ts
│   │   │   │       ├── phoneUtils.ts
│   │   │   │       ├── range.ts
│   │   │   │       ├── readObjectPath.ts
│   │   │   │       ├── removeUndefinedProps.ts
│   │   │   │       ├── roleLocalizationKey.ts
│   │   │   │       ├── runtimeEnvironment.ts
│   │   │   │       ├── sanitizeCustomLinkURL.ts
│   │   │   │       ├── sleep.ts
│   │   │   │       ├── timeAgo.ts
│   │   │   │       ├── truncateTextWithEndVisible.ts
│   │   │   │       ├── useFormControl.ts
│   │   │   │       ├── usernameUtils.ts
│   │   │   │       └── web3CallbackErrorHandler.ts
│   │   │   └── utils
│   │   │       ├── __tests__
│   │   │       │   ├── appearance.test.ts
│   │   │       │   ├── captcha.test.ts
│   │   │       │   ├── completeSignUpFlow.test.ts
│   │   │       │   ├── date.test.ts
│   │   │       │   ├── dynamicParamParser.test.ts
│   │   │       │   ├── email.test.ts
│   │   │       │   ├── encoders.test.ts
│   │   │       │   ├── errors.test.ts
│   │   │       │   ├── filterUndefinedValues.test.ts
│   │   │       │   ├── getClerkQueryParam.test.ts
│   │   │       │   ├── ignoreEventValue.test.ts
│   │   │       │   ├── instance.test.ts
│   │   │       │   ├── jwt.test.ts
│   │   │       │   ├── locale.test.ts
│   │   │       │   ├── localStorage.test.ts
│   │   │       │   ├── memoizeStateListenerCallback.test.ts
│   │   │       │   ├── organization.test.ts
│   │   │       │   ├── passkeys.test.ts
│   │   │       │   ├── path.test.ts
│   │   │       │   ├── queryStateParams.test.ts
│   │   │       │   ├── querystring.test.ts
│   │   │       │   ├── redirectUrls.test.ts
│   │   │       │   ├── resourceParams.test.ts
│   │   │       │   ├── runAsyncResourceTask.test.ts
│   │   │       │   ├── tokenId.test.ts
│   │   │       │   └── url.test.ts
│   │   │       ├── appearance.ts
│   │   │       ├── assertNoLegacyProp.ts
│   │   │       ├── authenticateWithPopup.ts
│   │   │       ├── beforeUnloadTracker.ts
│   │   │       ├── billing.ts
│   │   │       ├── captcha
│   │   │       │   ├── CaptchaChallenge.ts
│   │   │       │   ├── constants.ts
│   │   │       │   ├── getCaptchaToken.ts
│   │   │       │   ├── retrieveCaptchaInfo.ts
│   │   │       │   ├── turnstile.ts
│   │   │       │   └── types.ts
│   │   │       ├── completeSignUpFlow.ts
│   │   │       ├── componentGuards.ts
│   │   │       ├── convertPageToOffsetSearchParams.ts
│   │   │       ├── date.ts
│   │   │       ├── debug.ts
│   │   │       ├── disambiguateRedirectOptions.ts
│   │   │       ├── dynamicParamParser.ts
│   │   │       ├── email.ts
│   │   │       ├── encoders.ts
│   │   │       ├── errors.ts
│   │   │       ├── errorThrower.ts
│   │   │       ├── filterUndefinedValues.ts
│   │   │       ├── getClerkQueryParam.ts
│   │   │       ├── hex.ts
│   │   │       ├── ignoreEventValue.ts
│   │   │       ├── image.ts
│   │   │       ├── index.ts
│   │   │       ├── injectedWeb3Providers.ts
│   │   │       ├── instance.ts
│   │   │       ├── jwt.ts
│   │   │       ├── locale.ts
│   │   │       ├── localStorage.ts
│   │   │       ├── memoizeStateListenerCallback.ts
│   │   │       ├── normalizeRoutingOptions.ts
│   │   │       ├── one-tap.ts
│   │   │       ├── organization.ts
│   │   │       ├── pageLifecycle.ts
│   │   │       ├── passkeys.ts
│   │   │       ├── passwords
│   │   │       │   ├── complexity.ts
│   │   │       │   ├── password.ts
│   │   │       │   └── strength.ts
│   │   │       ├── path.ts
│   │   │       ├── props.ts
│   │   │       ├── queryStateParams.ts
│   │   │       ├── querystring.ts
│   │   │       ├── redirectUrls.ts
│   │   │       ├── resourceParams.ts
│   │   │       ├── runAsyncResourceTask.ts
│   │   │       ├── runtime.ts
│   │   │       ├── setWebpackChunkPublicPath.ts
│   │   │       ├── tokenId.ts
│   │   │       ├── url.ts
│   │   │       ├── user.ts
│   │   │       ├── web3.ts
│   │   │       ├── windowNavigate.ts
│   │   │       └── zxcvbn.ts
│   │   ├── svgTransform.js
│   │   ├── tsconfig.declarations.json
│   │   ├── tsconfig.dev.json
│   │   ├── tsconfig.json
│   │   ├── turbo.json
│   │   ├── vercel.json
│   │   ├── vitest.config.mts
│   │   └── vitest.setup.mts
│   ├── dev-cli
│   │   ├── bin
│   │   │   └── cli.js
│   │   ├── CHANGELOG.md
│   │   ├── jsconfig.json
│   │   ├── package.json
│   │   ├── README.md
│   │   ├── schema.json
│   │   └── src
│   │       ├── cli.js
│   │       ├── codemods
│   │       │   ├── index.js
│   │       │   └── transforms
│   │       │       └── add-clerkjsurl-to-provider.cjs
│   │       ├── commands
│   │       │   ├── auth.js
│   │       │   ├── config.js
│   │       │   ├── init.js
│   │       │   ├── set-instance.js
│   │       │   ├── set-root.js
│   │       │   ├── setup.js
│   │       │   └── watch.js
│   │       └── utils
│   │           ├── errors.js
│   │           ├── getClerkPackages.js
│   │           ├── getConfiguration.js
│   │           ├── getMonorepoRoot.js
│   │           ├── getPackageJSON.js
│   │           └── getPackageVersion.js
│   ├── elements
│   │   ├── .gitignore
│   │   ├── .npmignore
│   │   ├── CHANGELOG.md
│   │   ├── examples
│   │   │   └── nextjs
│   │   │       ├── .env.local.example
│   │   │       ├── .gitignore
│   │   │       ├── app
│   │   │       │   ├── example
│   │   │       │   │   └── page.tsx
│   │   │       │   ├── favicon.ico
│   │   │       │   ├── globals.css
│   │   │       │   ├── layout.tsx
│   │   │       │   ├── modal
│   │   │       │   │   └── page.tsx
│   │   │       │   ├── otp-playground
│   │   │       │   │   └── page.tsx
│   │   │       │   ├── page.tsx
│   │   │       │   ├── sign-in
│   │   │       │   │   └── [[...sign-in]]
│   │   │       │   │       └── page.tsx
│   │   │       │   └── sign-up
│   │   │       │       └── [[...sign-up]]
│   │   │       │           └── page.tsx
│   │   │       ├── components
│   │   │       │   ├── design.tsx
│   │   │       │   ├── form.tsx
│   │   │       │   ├── social-providers.tsx
│   │   │       │   └── spinner.tsx
│   │   │       ├── middleware.ts
│   │   │       ├── next.config.js
│   │   │       ├── package.json
│   │   │       ├── postcss.config.js
│   │   │       ├── public
│   │   │       │   ├── clerk.svg
│   │   │       │   ├── next.svg
│   │   │       │   └── vercel.svg
│   │   │       ├── README.md
│   │   │       ├── tailwind.config.ts
│   │   │       └── tsconfig.json
│   │   ├── jest.config.js
│   │   ├── jest.setup.js
│   │   ├── LICENSE
│   │   ├── package.json
│   │   ├── README.md
│   │   ├── src
│   │   │   ├── index.ts
│   │   │   ├── internals
│   │   │   │   ├── constants
│   │   │   │   │   └── index.ts
│   │   │   │   ├── errors
│   │   │   │   │   └── index.ts
│   │   │   │   ├── machines
│   │   │   │   │   ├── form
│   │   │   │   │   │   ├── form.context.ts
│   │   │   │   │   │   ├── form.machine.ts
│   │   │   │   │   │   ├── form.types.ts
│   │   │   │   │   │   └── index.ts
│   │   │   │   │   ├── shared
│   │   │   │   │   │   ├── __tests__
│   │   │   │   │   │   │   └── shared.actions.test.ts
│   │   │   │   │   │   ├── index.ts
│   │   │   │   │   │   ├── shared.actions.ts
│   │   │   │   │   │   ├── shared.actors.ts
│   │   │   │   │   │   └── shared.types.ts
│   │   │   │   │   ├── sign-in
│   │   │   │   │   │   ├── __tests__
│   │   │   │   │   │   │   └── router.selectors.test.ts
│   │   │   │   │   │   ├── index.ts
│   │   │   │   │   │   ├── reset-password.machine.ts
│   │   │   │   │   │   ├── reset-password.types.ts
│   │   │   │   │   │   ├── router.machine.ts
│   │   │   │   │   │   ├── router.selectors.ts
│   │   │   │   │   │   ├── router.types.ts
│   │   │   │   │   │   ├── start.machine.ts
│   │   │   │   │   │   ├── start.types.ts
│   │   │   │   │   │   ├── utils
│   │   │   │   │   │   │   ├── index.ts
│   │   │   │   │   │   │   └── starting-factors.ts
│   │   │   │   │   │   ├── verification.machine.ts
│   │   │   │   │   │   └── verification.types.ts
│   │   │   │   │   ├── sign-up
│   │   │   │   │   │   ├── continue.machine.ts
│   │   │   │   │   │   ├── continue.types.ts
│   │   │   │   │   │   ├── index.ts
│   │   │   │   │   │   ├── router.machine.ts
│   │   │   │   │   │   ├── router.types.ts
│   │   │   │   │   │   ├── start.machine.ts
│   │   │   │   │   │   ├── start.types.ts
│   │   │   │   │   │   ├── utils
│   │   │   │   │   │   │   ├── __tests__
│   │   │   │   │   │   │   │   └── fields-to-params.test.ts
│   │   │   │   │   │   │   ├── fields-to-params.ts
│   │   │   │   │   │   │   └── index.ts
│   │   │   │   │   │   ├── verification.machine.ts
│   │   │   │   │   │   └── verification.types.ts
│   │   │   │   │   ├── third-party
│   │   │   │   │   │   ├── index.ts
│   │   │   │   │   │   ├── third-party.actors.ts
│   │   │   │   │   │   ├── third-party.machine.ts
│   │   │   │   │   │   └── third-party.types.ts
│   │   │   │   │   ├── types
│   │   │   │   │   │   ├── index.ts
│   │   │   │   │   │   └── router.types.ts
│   │   │   │   │   └── utils
│   │   │   │   │       ├── __tests__
│   │   │   │   │       │   ├── assert.test.ts
│   │   │   │   │       │   ├── formatters.test.ts
│   │   │   │   │       │   ├── next.test.ts
│   │   │   │   │       │   └── strategies.test.ts
│   │   │   │   │       ├── assert.ts
│   │   │   │   │       ├── clerkjs.ts
│   │   │   │   │       ├── formatters.ts
│   │   │   │   │       ├── next.ts
│   │   │   │   │       └── strategies.ts
│   │   │   │   └── utils
│   │   │   │       └── inspector
│   │   │   │           ├── browser
│   │   │   │           │   └── index.ts
│   │   │   │           ├── console
│   │   │   │           │   ├── console.ts
│   │   │   │           │   └── index.ts
│   │   │   │           └── index.ts
│   │   │   ├── react
│   │   │   │   ├── common
│   │   │   │   │   ├── connections.tsx
│   │   │   │   │   ├── form
│   │   │   │   │   │   ├── field-error.tsx
│   │   │   │   │   │   ├── field-state.tsx
│   │   │   │   │   │   ├── field.tsx
│   │   │   │   │   │   ├── form.tsx
│   │   │   │   │   │   ├── global-error.tsx
│   │   │   │   │   │   ├── hooks
│   │   │   │   │   │   │   ├── __tests__
│   │   │   │   │   │   │   │   ├── use-field-feedback.test.ts
│   │   │   │   │   │   │   │   ├── use-form.test.tsx
│   │   │   │   │   │   │   │   ├── use-global-errors.test.ts
│   │   │   │   │   │   │   │   └── use-previous.test.ts
│   │   │   │   │   │   │   ├── index.ts
│   │   │   │   │   │   │   ├── use-field-context.ts
│   │   │   │   │   │   │   ├── use-field-feedback.ts
│   │   │   │   │   │   │   ├── use-field-state.ts
│   │   │   │   │   │   │   ├── use-field.ts
│   │   │   │   │   │   │   ├── use-form.ts
│   │   │   │   │   │   │   ├── use-global-errors.ts
│   │   │   │   │   │   │   ├── use-input.tsx
│   │   │   │   │   │   │   ├── use-previous.ts
│   │   │   │   │   │   │   └── use-validity-state-context.ts
│   │   │   │   │   │   ├── index.tsx
│   │   │   │   │   │   ├── input.tsx
│   │   │   │   │   │   ├── label.tsx
│   │   │   │   │   │   ├── otp.tsx
│   │   │   │   │   │   ├── submit.tsx
│   │   │   │   │   │   ├── types.ts
│   │   │   │   │   │   └── utils
│   │   │   │   │   │       ├── __tests__
│   │   │   │   │   │       │   ├── determine-input-type-from-name.test.ts
│   │   │   │   │   │       │   └── enrich-field-state.test.ts
│   │   │   │   │   │       ├── determine-input-type-from-name.ts
│   │   │   │   │   │       ├── enrich-field-state.ts
│   │   │   │   │   │       └── index.ts
│   │   │   │   │   ├── index.ts
│   │   │   │   │   ├── link.tsx
│   │   │   │   │   └── loading.tsx
│   │   │   │   ├── hooks
│   │   │   │   │   ├── __tests__
│   │   │   │   │   │   ├── use-active-states.hook.test.ts
│   │   │   │   │   │   ├── use-active-tags.hook.test.ts
│   │   │   │   │   │   └── use-focus.hook.test.ts
│   │   │   │   │   ├── index.ts
│   │   │   │   │   ├── use-active-states.hook.ts
│   │   │   │   │   ├── use-active-tags.hook.ts
│   │   │   │   │   ├── use-focus.hook.ts
│   │   │   │   │   ├── use-loading.hook.ts
│   │   │   │   │   ├── use-password.hook.ts
│   │   │   │   │   └── use-third-party-provider.hook.ts
│   │   │   │   ├── router
│   │   │   │   │   ├── index.ts
│   │   │   │   │   ├── next.ts
│   │   │   │   │   └── virtual.ts
│   │   │   │   ├── sign-in
│   │   │   │   │   ├── action
│   │   │   │   │   │   ├── action.tsx
│   │   │   │   │   │   ├── index.ts
│   │   │   │   │   │   ├── navigate.tsx
│   │   │   │   │   │   ├── resend.tsx
│   │   │   │   │   │   └── set-active-session.tsx
│   │   │   │   │   ├── captcha.tsx
│   │   │   │   │   ├── choose-session
│   │   │   │   │   │   ├── __tests__
│   │   │   │   │   │   │   └── choose-session.test.tsx
│   │   │   │   │   │   ├── choose-session.hooks.ts
│   │   │   │   │   │   ├── choose-session.tsx
│   │   │   │   │   │   └── index.tsx
│   │   │   │   │   ├── choose-strategy.tsx
│   │   │   │   │   ├── context
│   │   │   │   │   │   ├── index.ts
│   │   │   │   │   │   ├── router.context.ts
│   │   │   │   │   │   ├── sign-in-strategy.context.ts
│   │   │   │   │   │   └── strategies.context.ts
│   │   │   │   │   ├── identifiers.tsx
│   │   │   │   │   ├── index.ts
│   │   │   │   │   ├── passkey.tsx
│   │   │   │   │   ├── reset-password.tsx
│   │   │   │   │   ├── root.tsx
│   │   │   │   │   ├── sso-callback.tsx
│   │   │   │   │   ├── start.tsx
│   │   │   │   │   ├── step.tsx
│   │   │   │   │   └── verifications.tsx
│   │   │   │   ├── sign-up
│   │   │   │   │   ├── action
│   │   │   │   │   │   ├── action.tsx
│   │   │   │   │   │   ├── index.ts
│   │   │   │   │   │   ├── navigate.tsx
│   │   │   │   │   │   └── resend.tsx
│   │   │   │   │   ├── captcha.tsx
│   │   │   │   │   ├── context
│   │   │   │   │   │   ├── index.ts
│   │   │   │   │   │   ├── router.context.ts
│   │   │   │   │   │   └── strategies.context.ts
│   │   │   │   │   ├── continue.tsx
│   │   │   │   │   ├── index.ts
│   │   │   │   │   ├── restricted.tsx
│   │   │   │   │   ├── root.tsx
│   │   │   │   │   ├── start.tsx
│   │   │   │   │   ├── step.tsx
│   │   │   │   │   └── verifications.tsx
│   │   │   │   └── utils
│   │   │   │       ├── __tests__
│   │   │   │       │   └── map-scope-to-strategy.test.ts
│   │   │   │       ├── create-context-for-dom-validation.ts
│   │   │   │       ├── create-context-from-actor-ref.ts
│   │   │   │       ├── generate-password-error-text.ts
│   │   │   │       ├── is-react-fragment.ts
│   │   │   │       ├── is-valid-component-type.ts
│   │   │   │       ├── map-scope-to-strategy.ts
│   │   │   │       └── path-inference
│   │   │   │           ├── __tests__
│   │   │   │           │   ├── next.test.ts
│   │   │   │           │   └── utils.test.ts
│   │   │   │           ├── next.tsx
│   │   │   │           └── utils.ts
│   │   │   ├── types
│   │   │   │   ├── clerk.d.ts
│   │   │   │   ├── common.d.ts
│   │   │   │   └── global.d.ts
│   │   │   └── utils
│   │   │       ├── clerk-js.ts
│   │   │       ├── is-absolute-url.ts
│   │   │       ├── safe-access.ts
│   │   │       ├── test-utils.ts
│   │   │       └── third-party-strategies.ts
│   │   ├── tsconfig.declarations.json
│   │   ├── tsconfig.json
│   │   ├── tsconfig.test.json
│   │   ├── tsup.config.ts
│   │   └── turbo.json
│   ├── expo
│   │   ├── CHANGELOG.md
│   │   ├── LICENSE
│   │   ├── local-credentials
│   │   │   └── package.json
│   │   ├── package.json
│   │   ├── passkeys
│   │   │   └── package.json
│   │   ├── README.md
│   │   ├── resource-cache
│   │   │   └── package.json
│   │   ├── secure-store
│   │   │   └── package.json
│   │   ├── src
│   │   │   ├── cache
│   │   │   │   ├── dummy-data
│   │   │   │   │   ├── client-resource.ts
│   │   │   │   │   ├── environment-resource.ts
│   │   │   │   │   └── index.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── MemoryTokenCache.ts
│   │   │   │   ├── ResourceCache.ts
│   │   │   │   └── types.ts
│   │   │   ├── components
│   │   │   │   ├── controlComponents.tsx
│   │   │   │   └── index.ts
│   │   │   ├── errorThrower.ts
│   │   │   ├── experimental.ts
│   │   │   ├── global.d.ts
│   │   │   ├── hooks
│   │   │   │   ├── index.ts
│   │   │   │   ├── useAuth.ts
│   │   │   │   ├── useOAuth.ts
│   │   │   │   └── useSSO.ts
│   │   │   ├── index.ts
│   │   │   ├── local-credentials
│   │   │   │   ├── index.tsx
│   │   │   │   └── useLocalCredentials
│   │   │   │       ├── index.tsx
│   │   │   │       ├── shared.ts
│   │   │   │       ├── useLocalCredentials.ts
│   │   │   │       └── useLocalCredentials.web.ts
│   │   │   ├── passkeys
│   │   │   │   └── index.ts
│   │   │   ├── polyfills
│   │   │   │   ├── base64Polyfill.ts
│   │   │   │   └── index.ts
│   │   │   ├── provider
│   │   │   │   ├── ClerkProvider.tsx
│   │   │   │   └── singleton
│   │   │   │       ├── createClerkInstance.ts
│   │   │   │       ├── index.ts
│   │   │   │       ├── singleton.ts
│   │   │   │       ├── singleton.web.ts
│   │   │   │       └── types.ts
│   │   │   ├── resource-cache
│   │   │   │   ├── __tests__
│   │   │   │   │   ├── dummy-test-data.ts
│   │   │   │   │   └── secure-store.test.ts
│   │   │   │   ├── index.ts
│   │   │   │   └── resource-cache.ts
│   │   │   ├── secure-store
│   │   │   │   └── index.ts
│   │   │   ├── token-cache
│   │   │   │   └── index.ts
│   │   │   ├── utils
│   │   │   │   ├── errors.ts
│   │   │   │   ├── index.ts
│   │   │   │   └── runtime.ts
│   │   │   └── web
│   │   │       ├── index.ts
│   │   │       └── uiComponents.tsx
│   │   ├── token-cache
│   │   │   └── package.json
│   │   ├── tsconfig.declarations.json
│   │   ├── tsconfig.json
│   │   ├── tsconfig.test.json
│   │   ├── tsup.config.ts
│   │   ├── vitest.config.mts
│   │   ├── vitest.setup.mts
│   │   └── web
│   │       └── package.json
│   ├── expo-passkeys
│   │   ├── .gitignore
│   │   ├── .npmignore
│   │   ├── android
│   │   │   ├── build.gradle
│   │   │   └── src
│   │   │       └── main
│   │   │           ├── AndroidManifest.xml
│   │   │           └── java
│   │   │               └── expo
│   │   │                   └── modules
│   │   │                       └── clerkexpopasskeys
│   │   │                           ├── ClerkExpoPasskeysExceptions.kt
│   │   │                           ├── ClerkExpoPasskeysModule.kt
│   │   │                           └── CredentialManager.kt
│   │   ├── app.json
│   │   ├── CHANGELOG.md
│   │   ├── expo-module.config.json
│   │   ├── ios
│   │   │   ├── AccountManager.swift
│   │   │   ├── ClerkExpoPasskeys.podspec
│   │   │   ├── ClerkExpoPasskeysModule.swift
│   │   │   └── Helpers.swift
│   │   ├── LICENSE
│   │   ├── package.json
│   │   ├── README.md
│   │   ├── src
│   │   │   ├── ClerkExpoPasskeys.types.ts
│   │   │   ├── ClerkExpoPasskeysModule.ts
│   │   │   ├── ClerkExpoPasskeysModule.web.ts
│   │   │   ├── index.ts
│   │   │   └── utils.ts
│   │   ├── tsconfig.declarations.json
│   │   ├── tsconfig.json
│   │   └── tsup.config.ts
│   ├── express
│   │   ├── .gitignore
│   │   ├── .npmignore
│   │   ├── CHANGELOG.md
│   │   ├── env.d.ts
│   │   ├── LICENSE
│   │   ├── package.json
│   │   ├── README.md
│   │   ├── src
│   │   │   ├── __tests__
│   │   │   │   ├── __snapshots__
│   │   │   │   │   └── exports.test.ts.snap
│   │   │   │   ├── clerkMiddleware.test.ts
│   │   │   │   ├── exports.test.ts
│   │   │   │   ├── getAuth.test.ts
│   │   │   │   ├── helpers.ts
│   │   │   │   └── requireAuth.test.ts
│   │   │   ├── authenticateRequest.ts
│   │   │   ├── clerkClient.ts
│   │   │   ├── clerkMiddleware.ts
│   │   │   ├── errors.ts
│   │   │   ├── getAuth.ts
│   │   │   ├── global.d.ts
│   │   │   ├── index.ts
│   │   │   ├── requireAuth.ts
│   │   │   ├── types.ts
│   │   │   ├── utils.ts
│   │   │   └── webhooks.ts
│   │   ├── tsconfig.json
│   │   ├── tsup.config.ts
│   │   ├── turbo.json
│   │   ├── vitest.config.mts
│   │   ├── vitest.setup.mts
│   │   └── webhooks
│   │       └── package.json
│   ├── fastify
│   │   ├── CHANGELOG.md
│   │   ├── LICENSE
│   │   ├── package.json
│   │   ├── README.md
│   │   ├── src
│   │   │   ├── __tests__
│   │   │   │   ├── __snapshots__
│   │   │   │   │   ├── clerkClient.test.ts.snap
│   │   │   │   │   ├── constants.test.ts.snap
│   │   │   │   │   ├── exports.test.ts.snap
│   │   │   │   │   └── getAuth.test.ts.snap
│   │   │   │   ├── clerkClient.test.ts
│   │   │   │   ├── clerkPlugin.test.ts
│   │   │   │   ├── constants.test.ts
│   │   │   │   ├── exports.test.ts
│   │   │   │   ├── getAuth.test.ts
│   │   │   │   └── withClerkMiddleware.test.ts
│   │   │   ├── clerkClient.ts
│   │   │   ├── clerkPlugin.ts
│   │   │   ├── constants.ts
│   │   │   ├── errors.ts
│   │   │   ├── getAuth.ts
│   │   │   ├── global.d.ts
│   │   │   ├── index.ts
│   │   │   ├── test
│   │   │   │   └── utils.ts
│   │   │   ├── types.ts
│   │   │   ├── utils.ts
│   │   │   ├── webhooks.ts
│   │   │   └── withClerkMiddleware.ts
│   │   ├── tsconfig.json
│   │   ├── tsconfig.test.json
│   │   ├── tsup.config.ts
│   │   ├── vitest.config.mts
│   │   ├── vitest.setup.mts
│   │   └── webhooks
│   │       └── package.json
│   ├── localizations
│   │   ├── .gitignore
│   │   ├── CHANGELOG.md
│   │   ├── LICENSE
│   │   ├── package.json
│   │   ├── README.md
│   │   ├── src
│   │   │   ├── ar-SA.ts
│   │   │   ├── be-BY.ts
│   │   │   ├── bg-BG.ts
│   │   │   ├── bn-IN.ts
│   │   │   ├── ca-ES.ts
│   │   │   ├── cs-CZ.ts
│   │   │   ├── da-DK.ts
│   │   │   ├── de-DE.ts
│   │   │   ├── el-GR.ts
│   │   │   ├── en-GB.ts
│   │   │   ├── en-US.ts
│   │   │   ├── es-CR.ts
│   │   │   ├── es-ES.ts
│   │   │   ├── es-MX.ts
│   │   │   ├── es-UY.ts
│   │   │   ├── fa-IR.ts
│   │   │   ├── fi-FI.ts
│   │   │   ├── fr-FR.ts
│   │   │   ├── he-IL.ts
│   │   │   ├── hi-IN.ts
│   │   │   ├── hr-HR.ts
│   │   │   ├── hu-HU.ts
│   │   │   ├── id-ID.ts
│   │   │   ├── index.ts
│   │   │   ├── is-IS.ts
│   │   │   ├── it-IT.ts
│   │   │   ├── ja-JP.ts
│   │   │   ├── kk-KZ.ts
│   │   │   ├── ko-KR.ts
│   │   │   ├── mn-MN.ts
│   │   │   ├── ms-MY.ts
│   │   │   ├── nb-NO.ts
│   │   │   ├── nl-BE.ts
│   │   │   ├── nl-NL.ts
│   │   │   ├── pl-PL.ts
│   │   │   ├── pt-BR.ts
│   │   │   ├── pt-PT.ts
│   │   │   ├── ro-RO.ts
│   │   │   ├── ru-RU.ts
│   │   │   ├── sk-SK.ts
│   │   │   ├── sr-RS.ts
│   │   │   ├── sv-SE.ts
│   │   │   ├── ta-IN.ts
│   │   │   ├── te-IN.ts
│   │   │   ├── th-TH.ts
│   │   │   ├── tr-TR.ts
│   │   │   ├── uk-UA.ts
│   │   │   ├── utils
│   │   │   │   ├── enUS_v4.ts
│   │   │   │   ├── generate.ts
│   │   │   │   └── utils.ts
│   │   │   ├── vi-VN.ts
│   │   │   ├── zh-CN.ts
│   │   │   └── zh-TW.ts
│   │   ├── subpaths.mjs
│   │   ├── tsconfig.json
│   │   └── tsup.config.ts
│   ├── nextjs
│   │   ├── .gitignore
│   │   ├── CHANGELOG.md
│   │   ├── errors
│   │   │   └── package.json
│   │   ├── internal
│   │   │   └── package.json
│   │   ├── LICENSE
│   │   ├── package.cjs.json
│   │   ├── package.esm.json
│   │   ├── package.json
│   │   ├── README.md
│   │   ├── server
│   │   │   └── package.json
│   │   ├── src
│   │   │   ├── __tests__
│   │   │   │   ├── keyless-custom-headers.test.ts
│   │   │   │   └── webhooks.test.ts
│   │   │   ├── app-router
│   │   │   │   ├── client
│   │   │   │   │   ├── ClerkProvider.tsx
│   │   │   │   │   ├── keyless-cookie-sync.tsx
│   │   │   │   │   ├── keyless-creator-reader.tsx
│   │   │   │   │   ├── useAwaitablePush.ts
│   │   │   │   │   ├── useAwaitableReplace.ts
│   │   │   │   │   └── useInternalNavFun.ts
│   │   │   │   ├── keyless-actions.ts
│   │   │   │   ├── server
│   │   │   │   │   ├── auth.ts
│   │   │   │   │   ├── ClerkProvider.tsx
│   │   │   │   │   ├── controlComponents.tsx
│   │   │   │   │   ├── currentUser.ts
│   │   │   │   │   ├── keyless-provider.tsx
│   │   │   │   │   └── utils.ts
│   │   │   │   └── server-actions.ts
│   │   │   ├── client-boundary
│   │   │   │   ├── ClerkProvider.tsx
│   │   │   │   ├── controlComponents.ts
│   │   │   │   ├── hooks
│   │   │   │   │   ├── useEnforceCatchAllRoute.tsx
│   │   │   │   │   ├── useEnforceRoutingProps.tsx
│   │   │   │   │   ├── usePagesRouter.tsx
│   │   │   │   │   ├── usePathnameWithoutCatchAll.tsx
│   │   │   │   │   └── useSafeLayoutEffect.tsx
│   │   │   │   ├── hooks.ts
│   │   │   │   ├── NextOptionsContext.tsx
│   │   │   │   ├── PromisifiedAuthProvider.tsx
│   │   │   │   └── uiComponents.tsx
│   │   │   ├── components.client.ts
│   │   │   ├── components.server.ts
│   │   │   ├── constants.ts
│   │   │   ├── errors.ts
│   │   │   ├── experimental.ts
│   │   │   ├── global.d.ts
│   │   │   ├── index.ts
│   │   │   ├── internal.ts
│   │   │   ├── pages
│   │   │   │   ├── __tests__
│   │   │   │   │   ├── __snapshots__
│   │   │   │   │   │   └── exports.test.ts.snap
│   │   │   │   │   ├── exports.test.ts
│   │   │   │   │   └── index.test.tsx
│   │   │   │   └── ClerkProvider.tsx
│   │   │   ├── runtime
│   │   │   │   ├── browser
│   │   │   │   │   └── safe-node-apis.js
│   │   │   │   └── node
│   │   │   │       └── safe-node-apis.js
│   │   │   ├── server
│   │   │   │   ├── __tests__
│   │   │   │   │   ├── __snapshots__
│   │   │   │   │   │   └── exports.test.ts.snap
│   │   │   │   │   ├── clerkClient.test.ts
│   │   │   │   │   ├── clerkMiddleware.test.ts
│   │   │   │   │   ├── content-security-policy.test.ts
│   │   │   │   │   ├── createGetAuth.test.ts
│   │   │   │   │   ├── exports.test.ts
│   │   │   │   │   └── getAuthDataFromRequest.test.ts
│   │   │   │   ├── buildClerkProps.ts
│   │   │   │   ├── clerkClient.ts
│   │   │   │   ├── clerkMiddleware.ts
│   │   │   │   ├── constants.ts
│   │   │   │   ├── content-security-policy.ts
│   │   │   │   ├── createClerkClient.ts
│   │   │   │   ├── createGetAuth.ts
│   │   │   │   ├── data
│   │   │   │   │   └── getAuthDataFromRequest.ts
│   │   │   │   ├── errors.ts
│   │   │   │   ├── errorThrower.ts
│   │   │   │   ├── fs
│   │   │   │   │   ├── middleware-location.ts
│   │   │   │   │   └── utils.ts
│   │   │   │   ├── headers-utils.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── keyless-custom-headers.ts
│   │   │   │   ├── keyless-log-cache.ts
│   │   │   │   ├── keyless-node.ts
│   │   │   │   ├── keyless-telemetry.ts
│   │   │   │   ├── keyless.ts
│   │   │   │   ├── middleware-storage.ts
│   │   │   │   ├── nextErrors.ts
│   │   │   │   ├── nextFetcher.ts
│   │   │   │   ├── protect.ts
│   │   │   │   ├── routeMatcher.ts
│   │   │   │   ├── types.ts
│   │   │   │   └── utils.ts
│   │   │   ├── types
│   │   │   │   └── safe-node-apis.d.ts
│   │   │   ├── types.ts
│   │   │   ├── utils
│   │   │   │   ├── __tests__
│   │   │   │   │   ├── debugLogger.test.ts
│   │   │   │   │   ├── matcher.test.ts
│   │   │   │   │   └── removeBasePath.test.ts
│   │   │   │   ├── clerk-js-script.tsx
│   │   │   │   ├── debugLogger.ts
│   │   │   │   ├── feature-flags.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── invalidateNextRouterCache.ts
│   │   │   │   ├── logFormatter.ts
│   │   │   │   ├── mergeNextClerkPropsWithEnv.ts
│   │   │   │   ├── only-try.ts
│   │   │   │   ├── removeBasePath.ts
│   │   │   │   ├── response.ts
│   │   │   │   ├── router-telemetry.ts
│   │   │   │   ├── sdk-versions.ts
│   │   │   │   └── serverRedirectWithAuth.ts
│   │   │   ├── vendor
│   │   │   │   ├── crypto-es.js
│   │   │   │   └── README.md
│   │   │   └── webhooks.ts
│   │   ├── tsconfig.declarations.json
│   │   ├── tsconfig.json
│   │   ├── tsconfig.test.json
│   │   ├── tsup.config.ts
│   │   ├── typedoc.json
│   │   ├── vitest.config.mts
│   │   ├── vitest.setup.mts
│   │   └── webhooks
│   │       └── package.json
│   ├── nuxt
│   │   ├── .gitignore
│   │   ├── CHANGELOG.md
│   │   ├── LICENSE
│   │   ├── package.json
│   │   ├── README.md
│   │   ├── src
│   │   │   ├── global.d.ts
│   │   │   ├── module.ts
│   │   │   └── runtime
│   │   │       ├── client
│   │   │       │   ├── index.ts
│   │   │       │   └── routeMatcher.ts
│   │   │       ├── components
│   │   │       │   └── index.ts
│   │   │       ├── composables
│   │   │       │   └── index.ts
│   │   │       ├── errors.ts
│   │   │       ├── plugin.ts
│   │   │       ├── server
│   │   │       │   ├── __tests__
│   │   │       │   │   ├── auth.test-d.ts
│   │   │       │   │   └── clerkMiddleware.test.ts
│   │   │       │   ├── clerkClient.ts
│   │   │       │   ├── clerkMiddleware.ts
│   │   │       │   ├── errors.ts
│   │   │       │   ├── getAuth.ts
│   │   │       │   ├── index.ts
│   │   │       │   ├── middleware.ts
│   │   │       │   ├── routeMatcher.ts
│   │   │       │   ├── types.ts
│   │   │       │   └── utils.ts
│   │   │       └── webhooks.ts
│   │   ├── tsconfig.json
│   │   ├── tsup.config.ts
│   │   └── vitest.config.ts
│   ├── react
│   │   ├── .gitignore
│   │   ├── CHANGELOG.md
│   │   ├── clerk.png
│   │   ├── docs
│   │   │   ├── use-auth.md
│   │   │   ├── use-sign-in.md
│   │   │   └── use-sign-up.md
│   │   ├── LICENSE
│   │   ├── package.json
│   │   ├── README.md
│   │   ├── src
│   │   │   ├── __tests__
│   │   │   │   └── isomorphicClerk.test.ts
│   │   │   ├── components
│   │   │   │   ├── __tests__
│   │   │   │   │   ├── CheckoutButton.test.tsx
│   │   │   │   │   ├── OrganizationProfile.test.tsx
│   │   │   │   │   ├── OrganizationSwitcher.test.tsx
│   │   │   │   │   ├── PlanDetailsButton.test.tsx
│   │   │   │   │   ├── SignIn.test.tsx
│   │   │   │   │   ├── SignInButton.test.tsx
│   │   │   │   │   ├── SignInWithMetamaskButton.test.tsx
│   │   │   │   │   ├── SignOutButton.test.tsx
│   │   │   │   │   ├── SignUp.test.tsx
│   │   │   │   │   ├── SignUpButton.test.tsx
│   │   │   │   │   ├── SubscriptionDetailsButton.test.tsx
│   │   │   │   │   ├── UserAvatar.test.tsx
│   │   │   │   │   ├── UserButton.test.tsx
│   │   │   │   │   └── UserProfile.test.tsx
│   │   │   │   ├── CheckoutButton.tsx
│   │   │   │   ├── ClerkHostRenderer.tsx
│   │   │   │   ├── controlComponents.tsx
│   │   │   │   ├── index.ts
│   │   │   │   ├── PlanDetailsButton.tsx
│   │   │   │   ├── SignInButton.tsx
│   │   │   │   ├── SignInWithMetamaskButton.tsx
│   │   │   │   ├── SignOutButton.tsx
│   │   │   │   ├── SignUpButton.tsx
│   │   │   │   ├── SubscriptionDetailsButton.tsx
│   │   │   │   ├── uiComponents.tsx
│   │   │   │   └── withClerk.tsx
│   │   │   ├── contexts
│   │   │   │   ├── __tests__
│   │   │   │   │   └── ClerkProvider.test.tsx
│   │   │   │   ├── assertHelpers.ts
│   │   │   │   ├── AuthContext.ts
│   │   │   │   ├── ClerkContextProvider.tsx
│   │   │   │   ├── ClerkProvider.tsx
│   │   │   │   ├── index.ts
│   │   │   │   ├── IsomorphicClerkContext.tsx
│   │   │   │   ├── OrganizationContext.tsx
│   │   │   │   ├── SessionContext.tsx
│   │   │   │   └── UserContext.tsx
│   │   │   ├── errors
│   │   │   │   ├── errorThrower.ts
│   │   │   │   └── messages.ts
│   │   │   ├── errors.ts
│   │   │   ├── experimental.ts
│   │   │   ├── global.d.ts
│   │   │   ├── hooks
│   │   │   │   ├── __tests__
│   │   │   │   │   ├── __snapshots__
│   │   │   │   │   │   └── useRoutingProps.test.tsx.snap
│   │   │   │   │   ├── useAuth.test.tsx
│   │   │   │   │   ├── useAuth.type.test.ts
│   │   │   │   │   └── useRoutingProps.test.tsx
│   │   │   │   ├── index.ts
│   │   │   │   ├── useAssertWrappedByClerkProvider.ts
│   │   │   │   ├── useAuth.ts
│   │   │   │   ├── useClerkSignal.ts
│   │   │   │   ├── useEmailLink.ts
│   │   │   │   ├── useRoutingProps.ts
│   │   │   │   ├── useSignIn.ts
│   │   │   │   ├── useSignUp.ts
│   │   │   │   └── utils.ts
│   │   │   ├── index.ts
│   │   │   ├── internal.ts
│   │   │   ├── isomorphicClerk.ts
│   │   │   ├── polyfills.ts
│   │   │   ├── stateProxy.ts
│   │   │   ├── types.ts
│   │   │   └── utils
│   │   │       ├── __tests__
│   │   │       │   ├── useCustomMenuItems.test.tsx
│   │   │       │   └── useMaxAllowedInstancesGuard.test.tsx
│   │   │       ├── childrenUtils.tsx
│   │   │       ├── componentValidation.ts
│   │   │       ├── index.ts
│   │   │       ├── isConstructor.ts
│   │   │       ├── isDevOrStageUrl.tsx
│   │   │       ├── useCustomElementPortal.tsx
│   │   │       ├── useCustomMenuItems.tsx
│   │   │       ├── useCustomPages.tsx
│   │   │       ├── useMaxAllowedInstancesGuard.tsx
│   │   │       └── useWaitForComponentMount.ts
│   │   ├── subpaths.mjs
│   │   ├── tsconfig.declarations.json
│   │   ├── tsconfig.json
│   │   ├── tsconfig.test.json
│   │   ├── tsup.config.ts
│   │   ├── turbo.json
│   │   ├── typedoc.json
│   │   ├── vitest.config.mts
│   │   └── vitest.setup.mts
│   ├── react-router
│   │   ├── CHANGELOG.md
│   │   ├── LICENSE
│   │   ├── package.json
│   │   ├── README.md
│   │   ├── src
│   │   │   ├── __tests__
│   │   │   │   ├── __snapshots__
│   │   │   │   │   └── exports.test.ts.snap
│   │   │   │   └── exports.test.ts
│   │   │   ├── api
│   │   │   │   └── index.ts
│   │   │   ├── client
│   │   │   │   ├── index.ts
│   │   │   │   ├── ReactRouterClerkProvider.tsx
│   │   │   │   ├── ReactRouterOptionsContext.tsx
│   │   │   │   ├── types.ts
│   │   │   │   ├── uiComponents.tsx
│   │   │   │   ├── useAwaitableNavigate.tsx
│   │   │   │   └── usePathnameWithoutSplatRouteParams.tsx
│   │   │   ├── errors.ts
│   │   │   ├── errorThrower.ts
│   │   │   ├── global.d.ts
│   │   │   ├── index.ts
│   │   │   ├── server
│   │   │   │   ├── __tests__
│   │   │   │   │   ├── clerkMiddleware.test.ts
│   │   │   │   │   ├── getAuth.test.ts
│   │   │   │   │   └── rootAuthLoader.test.ts
│   │   │   │   ├── clerkClient.ts
│   │   │   │   ├── clerkMiddleware.ts
│   │   │   │   ├── getAuth.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── legacyAuthenticateRequest.ts
│   │   │   │   ├── loadOptions.ts
│   │   │   │   ├── rootAuthLoader.ts
│   │   │   │   ├── types.ts
│   │   │   │   └── utils.ts
│   │   │   ├── ssr
│   │   │   │   └── index.ts
│   │   │   ├── utils
│   │   │   │   ├── __tests__
│   │   │   │   │   └── assert.test.ts
│   │   │   │   ├── assert.ts
│   │   │   │   ├── env.ts
│   │   │   │   └── errors.ts
│   │   │   └── webhooks.ts
│   │   ├── tsconfig.json
│   │   ├── tsup.config.ts
│   │   ├── vitest.config.mts
│   │   └── vitest.setup.mts
│   ├── remix
│   │   ├── api.server
│   │   │   └── package.json
│   │   ├── CHANGELOG.md
│   │   ├── errors
│   │   │   └── package.json
│   │   ├── LICENSE
│   │   ├── package.json
│   │   ├── README.md
│   │   ├── src
│   │   │   ├── __tests__
│   │   │   │   ├── __snapshots__
│   │   │   │   │   └── exports.test.ts.snap
│   │   │   │   └── exports.test.ts
│   │   │   ├── api
│   │   │   │   └── index.ts
│   │   │   ├── client
│   │   │   │   ├── ClerkApp.tsx
│   │   │   │   ├── index.ts
│   │   │   │   ├── RemixClerkProvider.tsx
│   │   │   │   ├── RemixOptionsContext.tsx
│   │   │   │   ├── types.ts
│   │   │   │   ├── uiComponents.tsx
│   │   │   │   ├── useAwaitableNavigate.tsx
│   │   │   │   └── usePathnameWithoutSplatRouteParams.tsx
│   │   │   ├── errors.ts
│   │   │   ├── errorThrower.ts
│   │   │   ├── global.d.ts
│   │   │   ├── globalPolyfill.ts
│   │   │   ├── index.ts
│   │   │   ├── ssr
│   │   │   │   ├── authenticateRequest.ts
│   │   │   │   ├── getAuth.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── loadOptions.ts
│   │   │   │   ├── rootAuthLoader.ts
│   │   │   │   ├── types.ts
│   │   │   │   └── utils.ts
│   │   │   └── utils
│   │   │       ├── errors.ts
│   │   │       ├── index.ts
│   │   │       └── utils.ts
│   │   ├── ssr.server
│   │   │   └── package.json
│   │   ├── tsconfig.declarations.json
│   │   ├── tsconfig.json
│   │   ├── tsup.config.ts
│   │   ├── vitest.config.mts
│   │   └── vitest.setup.mts
│   ├── shared
│   │   ├── .gitignore
│   │   ├── CHANGELOG.md
│   │   ├── docs
│   │   │   ├── use-clerk.md
│   │   │   ├── use-session-list.md
│   │   │   ├── use-session.md
│   │   │   └── use-user.md
│   │   ├── global.d.ts
│   │   ├── package.json
│   │   ├── README.md
│   │   ├── scripts
│   │   │   └── postinstall.mjs
│   │   ├── src
│   │   │   ├── __tests__
│   │   │   │   ├── apiUrlFromPublishableKey.spec.ts
│   │   │   │   ├── browser.spec.ts
│   │   │   │   ├── buildAccountsBaseUrl.spec.ts
│   │   │   │   ├── color.spec.ts
│   │   │   │   ├── color.test.ts.bak
│   │   │   │   ├── date.spec.ts
│   │   │   │   ├── deprecated.spec.ts
│   │   │   │   ├── deriveState.spec.ts
│   │   │   │   ├── devbrowser.spec.ts
│   │   │   │   ├── error.spec.ts
│   │   │   │   ├── eventBus.spec.ts
│   │   │   │   ├── fastDeepMerge.spec.ts
│   │   │   │   ├── handleValueOrFn.spec.ts
│   │   │   │   ├── jwtPayloadParser.spec.ts
│   │   │   │   ├── keys.spec.ts
│   │   │   │   ├── loadClerkJsScript.spec.ts
│   │   │   │   ├── localStorageBroadcastChannel.spec.ts
│   │   │   │   ├── logger.spec.ts
│   │   │   │   ├── netlifyCacheHandler.spec.ts
│   │   │   │   ├── organization.spec.ts
│   │   │   │   ├── pathMatcher.spec.ts
│   │   │   │   ├── proxy.spec.ts
│   │   │   │   ├── retry.spec.ts
│   │   │   │   ├── telemetry.logs.spec.ts
│   │   │   │   ├── underscore.spec.ts
│   │   │   │   ├── url.spec.ts
│   │   │   │   └── versionSelector.spec.ts
│   │   │   ├── alternativePhoneCode.ts
│   │   │   ├── apiUrlFromPublishableKey.ts
│   │   │   ├── authorization-errors.ts
│   │   │   ├── authorization.ts
│   │   │   ├── browser.ts
│   │   │   ├── buildAccountsBaseUrl.ts
│   │   │   ├── clerkEventBus.ts
│   │   │   ├── color.ts
│   │   │   ├── compiled
│   │   │   │   └── path-to-regexp
│   │   │   │       ├── index.js
│   │   │   │       └── LICENSE.txt
│   │   │   ├── constants.ts
│   │   │   ├── cookie.ts
│   │   │   ├── date.ts
│   │   │   ├── deprecated.ts
│   │   │   ├── deriveState.ts
│   │   │   ├── devBrowser.ts
│   │   │   ├── dom
│   │   │   │   ├── index.ts
│   │   │   │   └── waitForElement.ts
│   │   │   ├── error.ts
│   │   │   ├── errors
│   │   │   │   ├── clerkApiError.ts
│   │   │   │   ├── clerkApiResponseError.ts
│   │   │   │   ├── clerkError.ts
│   │   │   │   ├── clerkRuntimeError.ts
│   │   │   │   ├── createErrorTypeGuard.ts
│   │   │   │   ├── emailLinkError.ts
│   │   │   │   ├── errorThrower.ts
│   │   │   │   ├── helpers.ts
│   │   │   │   ├── metamaskError.ts
│   │   │   │   ├── parseError.ts
│   │   │   │   └── webAuthNError.ts
│   │   │   ├── eventBus.ts
│   │   │   ├── file.ts
│   │   │   ├── getEnvVariable.ts
│   │   │   ├── globs.ts
│   │   │   ├── handleValueOrFn.ts
│   │   │   ├── index.ts
│   │   │   ├── isomorphicAtob.ts
│   │   │   ├── isomorphicBtoa.ts
│   │   │   ├── jwtPayloadParser.ts
│   │   │   ├── keys.ts
│   │   │   ├── loadClerkJsScript.ts
│   │   │   ├── loadScript.ts
│   │   │   ├── localStorageBroadcastChannel.ts
│   │   │   ├── logger.ts
│   │   │   ├── netlifyCacheHandler.ts
│   │   │   ├── oauth.ts
│   │   │   ├── object.ts
│   │   │   ├── organization.ts
│   │   │   ├── pathMatcher.ts
│   │   │   ├── pathToRegexp.ts
│   │   │   ├── poller.ts
│   │   │   ├── proxy.ts
│   │   │   ├── react
│   │   │   │   ├── __tests__
│   │   │   │   │   ├── commerce.test.tsx
│   │   │   │   │   └── useReverification.spec.ts
│   │   │   │   ├── clerk-swr.ts
│   │   │   │   ├── commerce.tsx
│   │   │   │   ├── contexts.tsx
│   │   │   │   ├── hooks
│   │   │   │   │   ├── __tests__
│   │   │   │   │   │   ├── createBillingPaginatedHook.spec.tsx
│   │   │   │   │   │   ├── useCheckout.type.spec.ts
│   │   │   │   │   │   ├── usePagesOrInfinite.spec.ts
│   │   │   │   │   │   ├── usePlans.spec.tsx
│   │   │   │   │   │   ├── usePreviousValue.spec.ts
│   │   │   │   │   │   ├── useSafeValues.spec.ts
│   │   │   │   │   │   ├── useSubscription.spec.tsx
│   │   │   │   │   │   └── wrapper.tsx
│   │   │   │   │   ├── createBillingPaginatedHook.tsx
│   │   │   │   │   ├── createContextAndHook.ts
│   │   │   │   │   ├── index.ts
│   │   │   │   │   ├── useCheckout.ts
│   │   │   │   │   ├── useClerk.ts
│   │   │   │   │   ├── useDeepEqualMemo.ts
│   │   │   │   │   ├── useOrganization.tsx
│   │   │   │   │   ├── useOrganizationList.tsx
│   │   │   │   │   ├── usePagesOrInfinite.ts
│   │   │   │   │   ├── usePaymentAttempts.tsx
│   │   │   │   │   ├── usePaymentMethods.tsx
│   │   │   │   │   ├── usePlans.tsx
│   │   │   │   │   ├── usePreviousValue.ts
│   │   │   │   │   ├── useReverification.ts
│   │   │   │   │   ├── useSafeLayoutEffect.tsx
│   │   │   │   │   ├── useSession.ts
│   │   │   │   │   ├── useSessionList.ts
│   │   │   │   │   ├── useStatements.tsx
│   │   │   │   │   ├── useSubscription.tsx
│   │   │   │   │   └── useUser.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── stripe-react
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   └── utils.ts
│   │   │   │   └── types.ts
│   │   │   ├── retry.ts
│   │   │   ├── router
│   │   │   │   ├── __tests__
│   │   │   │   │   └── router.spec.ts
│   │   │   │   ├── react.tsx
│   │   │   │   └── router.ts
│   │   │   ├── router.ts
│   │   │   ├── saml.ts
│   │   │   ├── telemetry
│   │   │   │   ├── collector.ts
│   │   │   │   ├── events
│   │   │   │   │   ├── __tests__
│   │   │   │   │   │   └── theme-usage.spec.ts
│   │   │   │   │   ├── component-mounted.ts
│   │   │   │   │   ├── framework-metadata.ts
│   │   │   │   │   ├── index.ts
│   │   │   │   │   ├── method-called.ts
│   │   │   │   │   └── theme-usage.ts
│   │   │   │   ├── throttler.ts
│   │   │   │   └── types.ts
│   │   │   ├── telemetry.ts
│   │   │   ├── types
│   │   │   │   ├── apiKeys.ts
│   │   │   │   ├── apiKeysSettings.ts
│   │   │   │   ├── appearance.ts
│   │   │   │   ├── attributes.ts
│   │   │   │   ├── authConfig.ts
│   │   │   │   ├── authObject.ts
│   │   │   │   ├── backupCode.ts
│   │   │   │   ├── billing.ts
│   │   │   │   ├── clerk.ts
│   │   │   │   ├── client.ts
│   │   │   │   ├── commerceSettings.ts
│   │   │   │   ├── customMenuItems.ts
│   │   │   │   ├── customPages.ts
│   │   │   │   ├── deletedObject.ts
│   │   │   │   ├── displayConfig.ts
│   │   │   │   ├── elementIds.ts
│   │   │   │   ├── emailAddress.ts
│   │   │   │   ├── enterpriseAccount.ts
│   │   │   │   ├── environment.ts
│   │   │   │   ├── errors.ts
│   │   │   │   ├── externalAccount.ts
│   │   │   │   ├── factors.ts
│   │   │   │   ├── hooks.ts
│   │   │   │   ├── identificationLink.ts
│   │   │   │   ├── identifiers.ts
│   │   │   │   ├── image.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── instance.ts
│   │   │   │   ├── json.ts
│   │   │   │   ├── jwt.ts
│   │   │   │   ├── jwtv2.ts
│   │   │   │   ├── key.ts
│   │   │   │   ├── localization.ts
│   │   │   │   ├── multiDomain.ts
│   │   │   │   ├── oauth.ts
│   │   │   │   ├── organization.ts
│   │   │   │   ├── organizationDomain.ts
│   │   │   │   ├── organizationInvitation.ts
│   │   │   │   ├── organizationMembership.ts
│   │   │   │   ├── organizationMembershipRequest.ts
│   │   │   │   ├── organizationSettings.ts
│   │   │   │   ├── organizationSuggestion.ts
│   │   │   │   ├── pagination.ts
│   │   │   │   ├── passkey.ts
│   │   │   │   ├── passwords.ts
│   │   │   │   ├── permission.ts
│   │   │   │   ├── phoneCodeChannel.ts
│   │   │   │   ├── phoneNumber.ts
│   │   │   │   ├── protect.ts
│   │   │   │   ├── redirects.ts
│   │   │   │   ├── resource.ts
│   │   │   │   ├── role.ts
│   │   │   │   ├── router.ts
│   │   │   │   ├── runtime-values.ts
│   │   │   │   ├── saml.ts
│   │   │   │   ├── samlAccount.ts
│   │   │   │   ├── samlConnection.ts
│   │   │   │   ├── session.ts
│   │   │   │   ├── sessionVerification.ts
│   │   │   │   ├── signIn.ts
│   │   │   │   ├── signInCommon.ts
│   │   │   │   ├── signInFuture.ts
│   │   │   │   ├── signUp.ts
│   │   │   │   ├── signUpCommon.ts
│   │   │   │   ├── signUpFuture.ts
│   │   │   │   ├── snapshots.ts
│   │   │   │   ├── ssr.ts
│   │   │   │   ├── state.ts
│   │   │   │   ├── strategies.ts
│   │   │   │   ├── telemetry.ts
│   │   │   │   ├── theme.ts
│   │   │   │   ├── token.ts
│   │   │   │   ├── totp.ts
│   │   │   │   ├── user.ts
│   │   │   │   ├── userOrganizationInvitation.ts
│   │   │   │   ├── userSettings.ts
│   │   │   │   ├── utils copy.ts
│   │   │   │   ├── utils.ts
│   │   │   │   ├── verification.ts
│   │   │   │   ├── waitlist.ts
│   │   │   │   ├── web3.ts
│   │   │   │   └── web3Wallet.ts
│   │   │   ├── underscore.ts
│   │   │   ├── url.ts
│   │   │   ├── utils
│   │   │   │   ├── __tests__
│   │   │   │   │   ├── createDeferredPromise.spec.ts
│   │   │   │   │   └── instance.spec.ts
│   │   │   │   ├── allSettled.ts
│   │   │   │   ├── createDeferredPromise.ts
│   │   │   │   ├── fastDeepMerge.ts
│   │   │   │   ├── handleValueOrFn.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── instance.ts
│   │   │   │   ├── logErrorInDevMode.ts
│   │   │   │   ├── noop.ts
│   │   │   │   └── runtimeEnvironment.ts
│   │   │   ├── versionSelector.ts
│   │   │   ├── web3.ts
│   │   │   ├── webauthn.ts
│   │   │   └── workerTimers
│   │   │       ├── createWorkerTimers.ts
│   │   │       ├── index.ts
│   │   │       ├── workerTimers.built.ts
│   │   │       ├── workerTimers.types.ts
│   │   │       └── workerTimers.worker.ts
│   │   ├── subpaths.mjs
│   │   ├── tsconfig.json
│   │   ├── tsconfig.test.json
│   │   ├── tsdown.config.mts
│   │   ├── typedoc.json
│   │   ├── vitest.config.mts
│   │   └── vitest.setup.mts
│   ├── tanstack-react-start
│   │   ├── .gitignore
│   │   ├── CHANGELOG.md
│   │   ├── errors
│   │   │   └── package.json
│   │   ├── LICENSE
│   │   ├── package.json
│   │   ├── README.md
│   │   ├── server
│   │   │   └── package.json
│   │   ├── src
│   │   │   ├── __tests__
│   │   │   │   ├── __snapshots__
│   │   │   │   │   └── exports.test.ts.snap
│   │   │   │   └── exports.test.ts
│   │   │   ├── client
│   │   │   │   ├── ClerkProvider.tsx
│   │   │   │   ├── index.ts
│   │   │   │   ├── OptionsContext.tsx
│   │   │   │   ├── types.ts
│   │   │   │   ├── uiComponents.tsx
│   │   │   │   ├── useAwaitableNavigate.ts
│   │   │   │   └── utils.ts
│   │   │   ├── errors.ts
│   │   │   ├── experimental.ts
│   │   │   ├── global.d.ts
│   │   │   ├── index.ts
│   │   │   ├── server
│   │   │   │   ├── auth.ts
│   │   │   │   ├── clerkClient.ts
│   │   │   │   ├── clerkMiddleware.ts
│   │   │   │   ├── constants.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── loadOptions.ts
│   │   │   │   ├── types.ts
│   │   │   │   └── utils
│   │   │   │       └── index.ts
│   │   │   ├── utils
│   │   │   │   ├── env.ts
│   │   │   │   ├── errors.ts
│   │   │   │   └── index.ts
│   │   │   └── webhooks.ts
│   │   ├── tsconfig.declarations.json
│   │   ├── tsconfig.json
│   │   ├── tsup.config.ts
│   │   ├── vite-env.d.ts
│   │   ├── vitest.config.mts
│   │   ├── vitest.setup.mts
│   │   └── webhooks
│   │       └── package.json
│   ├── testing
│   │   ├── .gitignore
│   │   ├── CHANGELOG.md
│   │   ├── cypress
│   │   │   └── package.json
│   │   ├── LICENSE
│   │   ├── package.json
│   │   ├── playwright
│   │   │   └── package.json
│   │   ├── README.md
│   │   ├── src
│   │   │   ├── common
│   │   │   │   ├── constants.ts
│   │   │   │   ├── errors.ts
│   │   │   │   ├── helpers-utils.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── setup.ts
│   │   │   │   └── types.ts
│   │   │   ├── cypress
│   │   │   │   ├── custom-commands.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── setup.ts
│   │   │   │   └── setupClerkTestingToken.ts
│   │   │   ├── index.ts
│   │   │   └── playwright
│   │   │       ├── helpers.ts
│   │   │       ├── index.ts
│   │   │       ├── setup.ts
│   │   │       ├── setupClerkTestingToken.ts
│   │   │       └── unstable
│   │   │           ├── index.ts
│   │   │           └── page-objects
│   │   │               ├── apiKeys.ts
│   │   │               ├── app.ts
│   │   │               ├── checkout.ts
│   │   │               ├── clerk.ts
│   │   │               ├── common.ts
│   │   │               ├── expect.ts
│   │   │               ├── impersonation.ts
│   │   │               ├── index.ts
│   │   │               ├── keylessPopover.ts
│   │   │               ├── organizationSwitcher.ts
│   │   │               ├── planDetails.ts
│   │   │               ├── pricingTable.ts
│   │   │               ├── sessionTask.ts
│   │   │               ├── signIn.ts
│   │   │               ├── signUp.ts
│   │   │               ├── subscriptionDetails.ts
│   │   │               ├── testingToken.ts
│   │   │               ├── userAvatar.ts
│   │   │               ├── userButton.ts
│   │   │               ├── userProfile.ts
│   │   │               ├── userVerification.ts
│   │   │               └── waitlist.ts
│   │   ├── tsconfig.json
│   │   └── tsup.config.ts
│   ├── themes
│   │   ├── CHANGELOG.md
│   │   ├── LICENSE
│   │   ├── package.json
│   │   ├── README.md
│   │   ├── src
│   │   │   ├── createTheme.ts
│   │   │   ├── index.ts
│   │   │   └── themes
│   │   │       ├── dark.ts
│   │   │       ├── index.ts
│   │   │       ├── neobrutalism.ts
│   │   │       ├── shadcn.css
│   │   │       ├── shadcn.ts
│   │   │       ├── shadesOfPurple.ts
│   │   │       └── simple.ts
│   │   ├── tsconfig.json
│   │   └── tsup.config.ts
│   ├── types
│   │   ├── CHANGELOG.md
│   │   ├── LICENSE
│   │   ├── package.json
│   │   ├── README.md
│   │   └── src
│   │       ├── index.d.mts
│   │       ├── index.d.ts
│   │       ├── index.js
│   │       └── index.mjs
│   ├── upgrade
│   │   ├── .gitignore
│   │   ├── CHANGELOG.md
│   │   ├── LICENSE
│   │   ├── package.json
│   │   ├── README.md
│   │   ├── src
│   │   │   ├── app.js
│   │   │   ├── cli.js
│   │   │   ├── codemods
│   │   │   │   ├── __tests__
│   │   │   │   │   ├── __fixtures__
│   │   │   │   │   │   ├── transform-async-request.fixtures.js
│   │   │   │   │   │   └── transform-clerk-provider-dynamic.fixtures.js
│   │   │   │   │   ├── transform-async-request.test.js
│   │   │   │   │   └── transform-clerk-provider-dynamic.test.js
│   │   │   │   ├── index.js
│   │   │   │   ├── transform-async-request.cjs
│   │   │   │   └── transform-clerk-provider-dynamic.cjs
│   │   │   ├── components
│   │   │   │   ├── Codemod.js
│   │   │   │   ├── Command.js
│   │   │   │   ├── Header.js
│   │   │   │   ├── Scan.js
│   │   │   │   ├── SDKWorkflow.js
│   │   │   │   └── UpgradeSDK.js
│   │   │   ├── constants
│   │   │   │   ├── sdks.js
│   │   │   │   └── versions.js
│   │   │   ├── guide-generators
│   │   │   │   ├── core-2
│   │   │   │   │   ├── backend
│   │   │   │   │   │   ├── import-paths.mdx
│   │   │   │   │   │   ├── index.js
│   │   │   │   │   │   └── intro.mdx
│   │   │   │   │   ├── chrome-extension
│   │   │   │   │   │   ├── index.js
│   │   │   │   │   │   └── intro.mdx
│   │   │   │   │   ├── expo
│   │   │   │   │   │   ├── index.js
│   │   │   │   │   │   └── intro.mdx
│   │   │   │   │   ├── fastify
│   │   │   │   │   │   ├── index.js
│   │   │   │   │   │   └── intro.mdx
│   │   │   │   │   ├── generate-all.sh
│   │   │   │   │   ├── js
│   │   │   │   │   │   ├── index.js
│   │   │   │   │   │   └── intro.mdx
│   │   │   │   │   ├── nextjs
│   │   │   │   │   │   ├── import-changes.mdx
│   │   │   │   │   │   ├── index.js
│   │   │   │   │   │   ├── intro.mdx
│   │   │   │   │   │   ├── middleware-changes.mdx
│   │   │   │   │   │   └── nextjs-version.mdx
│   │   │   │   │   ├── node
│   │   │   │   │   │   ├── index.js
│   │   │   │   │   │   ├── intro.mdx
│   │   │   │   │   │   └── node-setters-removals.mdx
│   │   │   │   │   ├── overview
│   │   │   │   │   │   ├── index.js
│   │   │   │   │   │   └── intro.mdx
│   │   │   │   │   ├── react
│   │   │   │   │   │   ├── hof-removals.mdx
│   │   │   │   │   │   ├── index.js
│   │   │   │   │   │   └── intro.mdx
│   │   │   │   │   ├── remix
│   │   │   │   │   │   ├── index.js
│   │   │   │   │   │   └── intro.mdx
│   │   │   │   │   ├── retheme
│   │   │   │   │   │   ├── index.js
│   │   │   │   │   │   └── intro.mdx
│   │   │   │   │   └── shared
│   │   │   │   │       ├── after-sign-x-handling.mdx
│   │   │   │   │       ├── cli.mdx
│   │   │   │   │       ├── deprecation-removals.mdx
│   │   │   │   │       ├── image-url.mdx
│   │   │   │   │       ├── node-version.mdx
│   │   │   │   │       ├── orgs-claim.mdx
│   │   │   │   │       ├── pagination-args.mdx
│   │   │   │   │       ├── pagination-return.mdx
│   │   │   │   │       ├── path-routing.mdx
│   │   │   │   │       ├── prepare.mdx
│   │   │   │   │       ├── react-version.mdx
│   │   │   │   │       ├── redesign-preview.mdx
│   │   │   │   │       └── update-version.mdx
│   │   │   │   └── text-generation.js
│   │   │   ├── img
│   │   │   │   ├── alternativemethods-backlink.png
│   │   │   │   ├── button-to-organizationlistcreateorganizationactionbutton.png
│   │   │   │   ├── connected-accounts-dropdown.png
│   │   │   │   ├── mfa-dropdown.png
│   │   │   │   ├── organizationprofile-settings.png
│   │   │   │   ├── remove-identitypreview-avatar.png
│   │   │   │   ├── remove-socialbuttonsblockbuttonarrow.png
│   │   │   │   ├── userbuttonpopoveractionbuttontext-removed.png
│   │   │   │   └── userprofile-security.png
│   │   │   ├── util
│   │   │   │   ├── all-titles.js
│   │   │   │   ├── expandable-list.js
│   │   │   │   ├── generate-changelog.js
│   │   │   │   ├── get-clerk-version.js
│   │   │   │   ├── guess-framework.js
│   │   │   │   └── load-change.js
│   │   │   └── versions
│   │   │       └── core-2
│   │   │           ├── backend
│   │   │           │   ├── api-url-value-changed.md
│   │   │           │   ├── authenticaterequest-params-change.md
│   │   │           │   ├── buildrequesturl-removed.md
│   │   │           │   ├── clerk-import.md
│   │   │           │   ├── client-unstableoptions-removed.md
│   │   │           │   ├── clockskewinseconds.md
│   │   │           │   ├── constants-import-path-move.md
│   │   │           │   ├── createauthenticaterequest-import-path-move.md
│   │   │           │   ├── createclerkclient-apikey.md
│   │   │           │   ├── createclerkclient-frontendapi.md
│   │   │           │   ├── createemail-removed.md
│   │   │           │   ├── createisomorphicrequest-import-path-move.md
│   │   │           │   ├── createisomorphicrequest-removed.md
│   │   │           │   ├── decodejwt-import-path-move.md
│   │   │           │   ├── getclientlist-arguments.md
│   │   │           │   ├── getorganizationmembershiplist-return-signature.md
│   │   │           │   ├── getpendingorganizationinvitationlist.md
│   │   │           │   ├── getsessionlist-arguments.md
│   │   │           │   ├── httpoptions-removed.md
│   │   │           │   ├── interstitial-removed.md
│   │   │           │   ├── members-count.md
│   │   │           │   ├── membershiprole.md
│   │   │           │   ├── organizationjson-logourl.md
│   │   │           │   ├── organizationmembershippublicuserdatajson-profileimageurl.md
│   │   │           │   ├── pkgversion.md
│   │   │           │   ├── redirect-import-path-move.md
│   │   │           │   ├── signjwt-import-path-move.md
│   │   │           │   ├── signjwterror-import-move.md
│   │   │           │   ├── tokenverificationerror-import-move.md
│   │   │           │   ├── tokenverificationerroraction-import-move.md
│   │   │           │   ├── tokenverificationerrorcode-import-move.md
│   │   │           │   ├── tokenverificationerrorreason-import-move.md
│   │   │           │   ├── userjson-profileimageurl.md
│   │   │           │   └── verifyjwt-import-path-move.md
│   │   │           ├── chrome-extension
│   │   │           │   └── clerkprovider-tokencache.md
│   │   │           ├── common
│   │   │           │   ├── aftersignxurl-changes.md
│   │   │           │   ├── afterswitchorganizationurl.md
│   │   │           │   ├── alternativemethods-backlink.md
│   │   │           │   ├── api-key-to-secret-key.md
│   │   │           │   ├── appearance-organizationpreview-organizationswitcher.md
│   │   │           │   ├── appearance-variables-breaking-changes.md
│   │   │           │   ├── button-to-organizationlistcreateorganizationactionbutton.md
│   │   │           │   ├── card-changes.md
│   │   │           │   ├── changed-localization-keys.md
│   │   │           │   ├── clerkprovider-frontendapi-2.md
│   │   │           │   ├── clerkprovideroptionswrapper-dropped.md
│   │   │           │   ├── connected-accounts-dropdown.md
│   │   │           │   ├── emaillinkerrorcode-import-change.md
│   │   │           │   ├── externalaccount-avatarurl.md
│   │   │           │   ├── externalaccount-picture.md
│   │   │           │   ├── externalaccountjson-avatarurl.md
│   │   │           │   ├── frontend-api-to-publishable-key.md
│   │   │           │   ├── getallowlistidentifierlist-return-signature.md
│   │   │           │   ├── getclientlist-return-signature.md
│   │   │           │   ├── getinvitationlist-return-signature.md
│   │   │           │   ├── getorganizationinvitationlist-return-signature.md
│   │   │           │   ├── getorganizationinvitationlist-return-type-change.md
│   │   │           │   ├── getorganizationlist-return-signature.md
│   │   │           │   ├── getorganizationlist-return-type-change.md
│   │   │           │   ├── getorganizationmembershiplist-return-type-change.md
│   │   │           │   ├── getredirecturllist-return-signature.md
│   │   │           │   ├── getsessionlist-return-signature.md
│   │   │           │   ├── getuserlist-return-signature.md
│   │   │           │   ├── getuseroauthaccesstoken-return-signature.md
│   │   │           │   ├── handlemagiclinkverification.md
│   │   │           │   ├── isclerkapiresponserror-import-change.md
│   │   │           │   ├── isemaillinkerror-import-change.md
│   │   │           │   ├── isknownerror-import-change.md
│   │   │           │   ├── ismagiclinkerror.md
│   │   │           │   ├── ismetamaskerror-import-change.md
│   │   │           │   ├── magiclinkerror.md
│   │   │           │   ├── magiclinkerrorcode.md
│   │   │           │   ├── mfa-dropdown.md
│   │   │           │   ├── min-react-version.md
│   │   │           │   ├── multisessionappsupport-import-change.md
│   │   │           │   ├── navigate-to-routerpush-routerreplace.md
│   │   │           │   ├── new-localization-keys.md
│   │   │           │   ├── organization-create-string.md
│   │   │           │   ├── organization-getdomains-arguments-change.md
│   │   │           │   ├── organization-getinvitations-arguments-changed.md
│   │   │           │   ├── organization-getmembershiprequests-arguments-changed.md
│   │   │           │   ├── organization-getmemberships-arguments-changed.md
│   │   │           │   ├── organization-getpendinginvitations.md
│   │   │           │   ├── organization-getroles-arguments-changed.md
│   │   │           │   ├── organization-logourl.md
│   │   │           │   ├── organizationmembershippublicuserdata-profileimageurl.md
│   │   │           │   ├── organizationprofile-settings.md
│   │   │           │   ├── organizationswitcherpopoveractionbuttontext-removed.md
│   │   │           │   ├── remove-identitypreview-avatar.md
│   │   │           │   ├── remove-socialbuttonsblockbuttonarrow.md
│   │   │           │   ├── removed-localization-keys.md
│   │   │           │   ├── setsession.md
│   │   │           │   ├── signoutcallback-to-redirecturl.md
│   │   │           │   ├── supported-external-accounts-removed.md
│   │   │           │   ├── usemagiclink.md
│   │   │           │   ├── useorganization-invitationlist.md
│   │   │           │   ├── useorganization-membershiplist.md
│   │   │           │   ├── useorganizations.md
│   │   │           │   ├── user-getorganizationinvitations-arguments-changed.md
│   │   │           │   ├── user-getorganizationmemberships-arguments-changed.md
│   │   │           │   ├── user-getorganizationmemberships-return-signature.md
│   │   │           │   ├── user-getorganizationsuggestions-arguments-changed.md
│   │   │           │   ├── user-profileimageurl.md
│   │   │           │   ├── user-update-password.md
│   │   │           │   ├── userbuttonpopoveractionbuttontext-removed.md
│   │   │           │   ├── userbuttontrigger-userbuttonbox-invert.md
│   │   │           │   ├── userprofile-prop.md
│   │   │           │   ├── userprofile-security.md
│   │   │           │   ├── withclerk-hof-removed.md
│   │   │           │   ├── withclerk-removed.md
│   │   │           │   ├── withsession-hof-removed.md
│   │   │           │   ├── withsession-removed.md
│   │   │           │   ├── withuser-hof-removed.md
│   │   │           │   └── withuser-removed-2.md
│   │   │           ├── expo
│   │   │           │   ├── apikey-to-publishable-key.md
│   │   │           │   └── clerkprovider-frontendapi.md
│   │   │           ├── fastify
│   │   │           │   ├── api-url-value-change.md
│   │   │           │   ├── clerk-import-change.md
│   │   │           │   ├── clerkplugin-frontendapi.md
│   │   │           │   ├── createclerkclient-apikey.md
│   │   │           │   └── createclerkclient-frontendapi.md
│   │   │           ├── index.js
│   │   │           ├── js
│   │   │           │   ├── clerk-import.md
│   │   │           │   ├── clerk-isready-removed.md
│   │   │           │   ├── experimental-canusecaptcha.md
│   │   │           │   ├── experimental-captchasitekey.md
│   │   │           │   ├── experimental-captchaurl.md
│   │   │           │   ├── getorganizationmemberships.md
│   │   │           │   ├── lastorganizationinvitation-member.md
│   │   │           │   ├── redirecttohome.md
│   │   │           │   ├── signup-attemptweb3walletverification-generatedsignature.md
│   │   │           │   ├── unstable-invitationupdate.md
│   │   │           │   ├── unstable-membershipupdate.md
│   │   │           │   ├── user-createexternalaccount-redirecturl.md
│   │   │           │   └── user-orgpublicdata-profileimageurl.md
│   │   │           ├── nextjs
│   │   │           │   ├── api-url-value-change.md
│   │   │           │   ├── auth-import-change.md
│   │   │           │   ├── auth-middleware-deprecated.md
│   │   │           │   ├── authmiddleware-apikey.md
│   │   │           │   ├── authmiddleware-frontendapi.md
│   │   │           │   ├── authmiddleware-import-change.md
│   │   │           │   ├── buildclerkprops-import-change.md
│   │   │           │   ├── clerk-import-change.md
│   │   │           │   ├── clerk-js-version-next-public.md
│   │   │           │   ├── constants-import-change.md
│   │   │           │   ├── createauthenticaterequest-import-change.md
│   │   │           │   ├── createclerkclient-apikey.md
│   │   │           │   ├── createclerkclient-frontendapi.md
│   │   │           │   ├── createisomorphicrequest-import-change.md
│   │   │           │   ├── currentuser-import-change.md
│   │   │           │   ├── decodejwt-import-change.md
│   │   │           │   ├── emaillinkerrorcode-import-change.md
│   │   │           │   ├── getauth-apikey.md
│   │   │           │   ├── import-api-url.md
│   │   │           │   ├── import-api-version.md
│   │   │           │   ├── import-clerk-js-url.md
│   │   │           │   ├── import-clerk-js-version.md
│   │   │           │   ├── import-domain.md
│   │   │           │   ├── import-is-satellite.md
│   │   │           │   ├── import-nextjs-api.md
│   │   │           │   ├── import-nextjs-app-beta.md
│   │   │           │   ├── import-nextjs-edge-middleware.md
│   │   │           │   ├── import-nextjs-edge-middlewarefiles.md
│   │   │           │   ├── import-nextjs-ssr.md
│   │   │           │   ├── import-proxy-url.md
│   │   │           │   ├── import-publishable-key.md
│   │   │           │   ├── import-secret-key.md
│   │   │           │   ├── import-sign-in-url.md
│   │   │           │   ├── import-sign-up-url.md
│   │   │           │   ├── isclerkapiresponserror-import-change.md
│   │   │           │   ├── isemaillinkerror-import-change.md
│   │   │           │   ├── isknownerror-import-change.md
│   │   │           │   ├── min-nextjs-version.md
│   │   │           │   ├── multisessionappsupport-import-change.md
│   │   │           │   ├── next-public-clerk-js-url.md
│   │   │           │   ├── redirect-import-change.md
│   │   │           │   ├── redirecttosignin-import-path.md
│   │   │           │   ├── redirecttosignup-import-path.md
│   │   │           │   ├── signjwt-import-change.md
│   │   │           │   ├── verifyjwt-import-change.md
│   │   │           │   ├── verifytoken-import-change.md
│   │   │           │   └── with-clerk-middleware-removed.md
│   │   │           ├── node
│   │   │           │   ├── api-url-value-change.md
│   │   │           │   ├── cjs-esm-instance.md
│   │   │           │   ├── clerk-import-change.md
│   │   │           │   ├── clerkexpressrequireauth-apikey.md
│   │   │           │   ├── clerkexpressrequireauth-frontendapi.md
│   │   │           │   ├── clerkexpresswithauth-apikey.md
│   │   │           │   ├── clerkexpresswithauth-frontendapi.md
│   │   │           │   ├── createclerkclient-apikey.md
│   │   │           │   ├── createclerkclient-frontendapi.md
│   │   │           │   ├── createclerkexpressrequireauth-apikey.md
│   │   │           │   ├── createclerkexpressrequireauth-frontendapi.md
│   │   │           │   ├── createclerkexpressrequireauth-public-key-required.md
│   │   │           │   ├── createclerkexpresswithauth-apikey.md
│   │   │           │   ├── createclerkexpresswithauth-frontendapi.md
│   │   │           │   ├── createclerkexpresswithauth-publickey-required.md
│   │   │           │   ├── legacyauthobject-removed.md
│   │   │           │   ├── setclerkapikey.md
│   │   │           │   ├── setclerkapiversion.md
│   │   │           │   ├── setclerkhttpoptions.md
│   │   │           │   └── setclerkserverapiurl.md
│   │   │           ├── react
│   │   │           │   └── api-url-value-change.md
│   │   │           ├── remix
│   │   │           │   ├── clerk-import-change.md
│   │   │           │   ├── clerkerrorboundary-removed.md
│   │   │           │   ├── createclerkclient-apikey.md
│   │   │           │   ├── getauth-apikey.md
│   │   │           │   ├── rootauthloader-apikey.md
│   │   │           │   └── rootauthloader-frontendapi.md
│   │   │           └── shared
│   │   │               ├── getrequesturl.md
│   │   │               ├── organizationcontext.md
│   │   │               └── useorganizationlist-organizationlist.md
│   │   ├── tsconfig.json
│   │   └── vitest.config.js
│   └── vue
│       ├── CHANGELOG.md
│       ├── LICENSE
│       ├── package.json
│       ├── README.md
│       ├── src
│       │   ├── components
│       │   │   ├── __tests__
│       │   │   │   ├── SignInButton.test.ts
│       │   │   │   ├── SignInWithMetamaskButton.test.ts
│       │   │   │   ├── SignOutButton.test.ts
│       │   │   │   └── SignUpButton.test.ts
│       │   │   ├── CheckoutButton.vue
│       │   │   ├── ClerkHostRenderer.ts
│       │   │   ├── controlComponents.ts
│       │   │   ├── index.ts
│       │   │   ├── PlanDetailsButton.vue
│       │   │   ├── SignInButton.vue
│       │   │   ├── SignInWithMetamaskButton.vue
│       │   │   ├── SignOutButton.vue
│       │   │   ├── SignUpButton.vue
│       │   │   ├── SubscriptionDetailsButton.vue
│       │   │   └── ui-components
│       │   │       ├── CreateOrganization.vue
│       │   │       ├── GoogleOneTap.vue
│       │   │       ├── OrganizationList.vue
│       │   │       ├── OrganizationProfile
│       │   │       │   ├── index.ts
│       │   │       │   └── OrganizationProfile.vue
│       │   │       ├── OrganizationSwitcher
│       │   │       │   ├── index.ts
│       │   │       │   └── OrganizationSwitcher.vue
│       │   │       ├── PricingTable.vue
│       │   │       ├── SignIn.vue
│       │   │       ├── SignUp.vue
│       │   │       ├── UserAvatar.vue
│       │   │       ├── UserButton
│       │   │       │   ├── index.ts
│       │   │       │   └── UserButton.vue
│       │   │       ├── UserProfile
│       │   │       │   ├── index.ts
│       │   │       │   └── UserProfile.vue
│       │   │       └── Waitlist.vue
│       │   ├── composables
│       │   │   ├── __tests__
│       │   │   │   └── useClerkContext.test.ts
│       │   │   ├── index.ts
│       │   │   ├── useAuth.ts
│       │   │   ├── useClerk.ts
│       │   │   ├── useClerkContext.ts
│       │   │   ├── useOrganization.ts
│       │   │   ├── useSession.ts
│       │   │   ├── useSessionList.ts
│       │   │   ├── useSignIn.ts
│       │   │   ├── useSignUp.ts
│       │   │   └── useUser.ts
│       │   ├── env.d.ts
│       │   ├── errors
│       │   │   ├── errorThrower.ts
│       │   │   └── messages.ts
│       │   ├── errors.ts
│       │   ├── experimental.ts
│       │   ├── global.d.ts
│       │   ├── index.ts
│       │   ├── internal.ts
│       │   ├── keys.ts
│       │   ├── plugin.ts
│       │   ├── types.ts
│       │   └── utils
│       │       ├── __tests__
│       │       │   ├── useCustomElementPortal.test.ts
│       │       │   └── useCustomMenuItems.test.ts
│       │       ├── childrenUtils.ts
│       │       ├── componentValidation.ts
│       │       ├── index.ts
│       │       ├── toComputedRefs.ts
│       │       ├── updateClerkOptions.ts
│       │       ├── useClerkLoaded.ts
│       │       ├── useCustomElementPortal.ts
│       │       ├── useCustomMenuItems.ts
│       │       └── useCustomPages.ts
│       ├── tsconfig.build.json
│       ├── tsconfig.json
│       ├── tsup.config.ts
│       ├── vitest.config.ts
│       └── vitest.setup.ts
├── patches
│   └── [email protected]
├── playground
│   ├── app-router
│   │   ├── .gitignore
│   │   ├── .vscode
│   │   │   └── settings.json
│   │   ├── next.config.js
│   │   ├── package.json
│   │   ├── public
│   │   │   ├── next.svg
│   │   │   └── vercel.svg
│   │   ├── README.md
│   │   ├── src
│   │   │   ├── app
│   │   │   │   ├── action
│   │   │   │   │   └── page.tsx
│   │   │   │   ├── api
│   │   │   │   │   └── hello
│   │   │   │   │       └── route.ts
│   │   │   │   ├── client
│   │   │   │   │   └── page.tsx
│   │   │   │   ├── favicon.ico
│   │   │   │   ├── globals.css
│   │   │   │   ├── layout.tsx
│   │   │   │   ├── page.module.css
│   │   │   │   ├── page.tsx
│   │   │   │   ├── protected
│   │   │   │   │   ├── ClientSideWrapper.tsx
│   │   │   │   │   └── page.tsx
│   │   │   │   ├── sign-in
│   │   │   │   │   └── [[...catchall]]
│   │   │   │   │       └── page.tsx
│   │   │   │   └── sign-up
│   │   │   │       └── [[...catchall]]
│   │   │   │           └── page.tsx
│   │   │   ├── common
│   │   │   │   └── Links.tsx
│   │   │   ├── middleware.ts
│   │   │   └── pages
│   │   │       ├── _app.tsx
│   │   │       ├── profile
│   │   │       │   └── [[...index]].tsx
│   │   │       └── user
│   │   │           └── [[...index]].tsx
│   │   └── tsconfig.json
│   ├── browser-extension
│   │   ├── .env.chrome.example
│   │   ├── .env.development.example
│   │   ├── .gitignore
│   │   ├── assets
│   │   │   └── icon.png
│   │   ├── package.json
│   │   ├── postcss.config.js
│   │   ├── README.md
│   │   ├── src
│   │   │   ├── assets
│   │   │   │   ├── chrome-extension-sdk-2.jpg
│   │   │   │   ├── dark-logo.png
│   │   │   │   ├── icon.png
│   │   │   │   └── light-logo.png
│   │   │   ├── background
│   │   │   │   └── index.ts
│   │   │   ├── components
│   │   │   │   ├── nav-bar.tsx
│   │   │   │   └── ui
│   │   │   │       └── button.tsx
│   │   │   ├── content.tsx
│   │   │   ├── features
│   │   │   │   └── count-button.tsx
│   │   │   ├── popup
│   │   │   │   ├── index.tsx
│   │   │   │   ├── layouts
│   │   │   │   │   └── root-layout.tsx
│   │   │   │   └── routes
│   │   │   │       ├── home.tsx
│   │   │   │       ├── sdk-features.tsx
│   │   │   │       ├── settings.tsx
│   │   │   │       ├── sign-in.tsx
│   │   │   │       └── sign-up.tsx
│   │   │   ├── sidepanel
│   │   │   │   └── index.tsx
│   │   │   ├── style.css
│   │   │   ├── tabs
│   │   │   │   ├── background-worker-demo.html
│   │   │   │   └── background-worker-demo.tsx
│   │   │   └── utils
│   │   │       └── components.ts
│   │   ├── tailwind.config.js
│   │   └── tsconfig.json
│   ├── cra-js
│   │   ├── .gitignore
│   │   ├── package.json
│   │   ├── public
│   │   │   ├── favicon.ico
│   │   │   ├── index.html
│   │   │   ├── logo192.png
│   │   │   ├── logo512.png
│   │   │   ├── manifest.json
│   │   │   └── robots.txt
│   │   ├── README.md
│   │   └── src
│   │       ├── App.css
│   │       ├── App.js
│   │       ├── App.test.js
│   │       ├── index.css
│   │       ├── index.js
│   │       ├── logo.svg
│   │       ├── reportWebVitals.js
│   │       └── setupTests.js
│   ├── expo
│   │   ├── .env.example
│   │   ├── .gitignore
│   │   ├── app.json.example
│   │   ├── App.tsx
│   │   ├── babel.config.js
│   │   ├── metro.config.js
│   │   ├── package.json
│   │   ├── README.md
│   │   ├── tsconfig.json
│   │   └── webpack.config.js
│   ├── express
│   │   ├── .env.sample
│   │   ├── .gitignore
│   │   ├── package.json
│   │   ├── README.md
│   │   ├── src
│   │   │   ├── loadEnv.ts
│   │   │   ├── routes
│   │   │   │   ├── index.ts
│   │   │   │   ├── private.ts
│   │   │   │   └── public.ts
│   │   │   ├── server.ts
│   │   │   └── views
│   │   │       └── home.ejs
│   │   └── tsconfig.json
│   ├── fastify
│   │   ├── .env.sample
│   │   ├── .gitignore
│   │   ├── package.json
│   │   ├── README.md
│   │   ├── src
│   │   │   ├── loadEnv.ts
│   │   │   ├── routes
│   │   │   │   ├── index.ts
│   │   │   │   ├── private.ts
│   │   │   │   └── public.ts
│   │   │   ├── server.ts
│   │   │   └── templates
│   │   │       └── sign-in.ejs
│   │   └── tsconfig.json
│   ├── nextjs
│   │   ├── .env.example
│   │   ├── .gitignore
│   │   ├── .vscode
│   │   │   └── settings.json
│   │   ├── app
│   │   │   ├── api
│   │   │   │   └── route.ts
│   │   │   ├── app-dir
│   │   │   │   ├── client
│   │   │   │   │   └── page.tsx
│   │   │   │   ├── client-component.tsx
│   │   │   │   ├── create-organization
│   │   │   │   │   └── page.tsx
│   │   │   │   ├── discover
│   │   │   │   │   └── page.tsx
│   │   │   │   ├── organization
│   │   │   │   │   └── page.tsx
│   │   │   │   ├── page.tsx
│   │   │   │   ├── sign-in
│   │   │   │   │   └── page.tsx
│   │   │   │   ├── sign-up
│   │   │   │   │   └── page.tsx
│   │   │   │   └── user
│   │   │   │       └── page.tsx
│   │   │   └── layout.tsx
│   │   ├── middleware.ts
│   │   ├── next.config.js
│   │   ├── package.json
│   │   ├── pages
│   │   │   ├── _app.tsx
│   │   │   ├── api
│   │   │   │   ├── hello-edge.ts
│   │   │   │   └── hello.ts
│   │   │   ├── create-organization
│   │   │   │   └── [[...index]].tsx
│   │   │   ├── custom
│   │   │   │   └── forgotPassword.tsx
│   │   │   ├── discover
│   │   │   │   └── index.tsx
│   │   │   ├── index.tsx
│   │   │   ├── organization
│   │   │   │   └── [[...index]].tsx
│   │   │   ├── organization-list
│   │   │   │   └── [[...index]].tsx
│   │   │   ├── redirect-helpers
│   │   │   │   └── index.tsx
│   │   │   ├── session-examples
│   │   │   │   └── index.tsx
│   │   │   ├── sign-in
│   │   │   │   └── [[...index]].tsx
│   │   │   ├── sign-up
│   │   │   │   └── [[...index]].tsx
│   │   │   ├── user
│   │   │   │   └── [[...index]].tsx
│   │   │   ├── user-examples
│   │   │   │   └── index.tsx
│   │   │   └── waitlist
│   │   │       └── index.tsx
│   │   ├── public
│   │   │   ├── favicon.ico
│   │   │   └── vercel.svg
│   │   ├── README.md
│   │   ├── styles
│   │   │   ├── globals.css
│   │   │   └── Home.module.css
│   │   └── tsconfig.json
│   ├── react-router
│   │   ├── .env.example
│   │   ├── .gitignore
│   │   ├── app
│   │   │   ├── app.css
│   │   │   ├── root.tsx
│   │   │   ├── routes
│   │   │   │   ├── home.tsx
│   │   │   │   ├── profile-form.tsx
│   │   │   │   ├── profile.tsx
│   │   │   │   ├── sign-in.tsx
│   │   │   │   ├── sign-up.tsx
│   │   │   │   ├── use-auth.tsx
│   │   │   │   └── use-user.tsx
│   │   │   ├── routes.ts
│   │   │   └── welcome
│   │   │       ├── logo-dark.svg
│   │   │       ├── logo-light.svg
│   │   │       └── welcome.tsx
│   │   ├── package.json
│   │   ├── public
│   │   │   └── favicon.ico
│   │   ├── react-router.config.ts
│   │   ├── README.md
│   │   ├── tailwind.config.ts
│   │   ├── tsconfig.json
│   │   └── vite.config.ts
│   ├── remix-cf-pages
│   │   ├── .gitignore
│   │   ├── .node-version
│   │   ├── app
│   │   │   ├── entry.client.tsx
│   │   │   ├── entry.server.tsx
│   │   │   ├── root.tsx
│   │   │   └── routes
│   │   │       ├── index.tsx
│   │   │       └── sign-in.tsx
│   │   ├── package.json
│   │   ├── public
│   │   │   ├── _headers
│   │   │   ├── _routes.json
│   │   │   └── favicon.ico
│   │   ├── README.md
│   │   ├── remix.config.js
│   │   ├── remix.env.d.ts
│   │   ├── server.js
│   │   └── tsconfig.json
│   ├── remix-cf-worker
│   │   ├── .gitignore
│   │   ├── app
│   │   │   ├── entry.client.tsx
│   │   │   ├── entry.server.tsx
│   │   │   ├── root.tsx
│   │   │   └── routes
│   │   │       └── index.tsx
│   │   ├── package.json
│   │   ├── public
│   │   │   └── favicon.ico
│   │   ├── README.md
│   │   ├── remix.config.js
│   │   ├── remix.env.d.ts
│   │   ├── server.js
│   │   ├── tsconfig.json
│   │   └── wrangler.toml
│   ├── remix-node
│   │   ├── .gitignore
│   │   ├── app
│   │   │   ├── entry.client.tsx
│   │   │   ├── entry.server.tsx
│   │   │   ├── root.tsx
│   │   │   └── routes
│   │   │       ├── _index.tsx
│   │   │       ├── protected.tsx
│   │   │       ├── sign-in.$.tsx
│   │   │       └── sign-up.$.tsx
│   │   ├── package.json
│   │   ├── public
│   │   │   └── favicon.ico
│   │   ├── README.md
│   │   ├── remix.config.js
│   │   ├── remix.env.d.ts
│   │   └── tsconfig.json
│   ├── vanillajs
│   │   └── index.html
│   └── vite-react-ts
│       ├── .env.example
│       ├── .gitignore
│       ├── index.html
│       ├── package.json
│       ├── public
│       │   ├── clerk.svg
│       │   └── vite.svg
│       ├── src
│       │   ├── App.css
│       │   ├── App.tsx
│       │   ├── assets
│       │   │   └── react.svg
│       │   ├── index.css
│       │   ├── main.tsx
│       │   └── vite-env.d.ts
│       ├── tsconfig.json
│       ├── tsconfig.node.json
│       └── vite.config.ts
├── pnpm-lock.yaml
├── pnpm-workspace.yaml
├── prettier.config.mjs
├── README.md
├── renovate.json5
├── scripts
│   ├── .env.example
│   ├── 1password-keys.mjs
│   ├── backport.mjs
│   ├── canary.mjs
│   ├── common.mjs
│   ├── format-non-workspace.mjs
│   ├── format-package.mjs
│   ├── install-site-in-isolation.mjs
│   ├── lint.mjs
│   ├── notify.mjs
│   ├── nuke.mjs
│   ├── renovate-config-generator.mjs
│   ├── search-for-rhc.mjs
│   ├── snapshot.mjs
│   ├── subpath-workaround.mjs
│   ├── tsconfig.json
│   ├── utils.ts
│   └── vitest-debug.mjs
├── tsconfig.json
├── tsconfig.typedoc.json
├── turbo.json
├── typedoc.config.mjs
├── verdaccio.install.yaml
├── verdaccio.publish.yaml
└── vitest.workspace.mjs
```

# Files

--------------------------------------------------------------------------------
/packages/nextjs/CHANGELOG.md:
--------------------------------------------------------------------------------

```markdown
# Change Log

## 6.34.1

### Patch Changes

- Updated dependencies [[`791ff19`](https://github.com/clerk/javascript/commit/791ff19a55ecb39eac20e1533a7d578a30386388), [`439427e`](https://github.com/clerk/javascript/commit/439427e44adef4f43e5f0719adf5654ea58c33e7), [`7dfbf3a`](https://github.com/clerk/javascript/commit/7dfbf3aa1b5269aee2d3af628b02027be9767088), [`d33b7b5`](https://github.com/clerk/javascript/commit/d33b7b5538e9bcbbca1ac23c46793d0cddcef533), [`f2644c2`](https://github.com/clerk/javascript/commit/f2644c2e7ed32012275e8379153e53672475f29f)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.34.0

### Minor Changes

- Added support for Next.js 16. See the [Next.js 16 blog post](https://nextjs.org/blog/next-16) for more details. ([#7055](https://github.com/clerk/javascript/pull/7055)) by [@wobsoriano](https://github.com/wobsoriano)

### Patch Changes

- Updated dependencies [[`4d46e4e`](https://github.com/clerk/javascript/commit/4d46e4e601a5f2a213f1718af3f9271db4db0911), [`a42a015`](https://github.com/clerk/javascript/commit/a42a0157d3142dca32713f7749ffce7b4e7bb3ac), [`8ebbf1e`](https://github.com/clerk/javascript/commit/8ebbf1e6e31251b7d0c3bb5d54249572adc96b7e)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.33.7

### Patch Changes

- Updated dependencies [[`a172d51`](https://github.com/clerk/javascript/commit/a172d51df2d7f2e450c983a15ae897624304a764), [`947d0f5`](https://github.com/clerk/javascript/commit/947d0f5480b0151a392966cad2e1a45423f66035)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.33.6

### Patch Changes

- Updated dependencies [[`d8147fb`](https://github.com/clerk/javascript/commit/d8147fb58bfd6caf9a4f0a36fdc48c630d00387f)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.33.5

### Patch Changes

- Updated dependencies [[`305f4ee`](https://github.com/clerk/javascript/commit/305f4eeb825086d55d1b0df198a0c43da8d94993), [`53214f9`](https://github.com/clerk/javascript/commit/53214f9a600074affc84d616bbbe7a6b625e7d33), [`1441e68`](https://github.com/clerk/javascript/commit/1441e6851102e9eed5697ad78c695f75b4a20db2), [`1236c74`](https://github.com/clerk/javascript/commit/1236c745fd58020e0972938ca0a9ae697a24af02), [`29201b2`](https://github.com/clerk/javascript/commit/29201b24847b6cdb35a96cb971fa1de958b0410a)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.33.4

### Patch Changes

- Added internal helper type for `auth` and `getAuth()` functions that don't require a request or context parameter ([#6910](https://github.com/clerk/javascript/pull/6910)) by [@wobsoriano](https://github.com/wobsoriano)

- Updated dependencies [[`65b7cc7`](https://github.com/clerk/javascript/commit/65b7cc787a5f02a302b665b6eaf4d4b9a1cae4b0), [`20c2e29`](https://github.com/clerk/javascript/commit/20c2e291fe32f6038ab9e95aec268e3d98c449f1), [`6e09786`](https://github.com/clerk/javascript/commit/6e09786adeb0f481ca8b6d060ae8754b556a3f9a), [`aa7210c`](https://github.com/clerk/javascript/commit/aa7210c7fff34f6c6e2d4ca3cb736bbd35439cb6), [`2cd53cd`](https://github.com/clerk/javascript/commit/2cd53cd8c713dfa7f2e802fe08986411587095fa), [`56a81aa`](https://github.com/clerk/javascript/commit/56a81aaa59e95ee25f8eb49bee78975ee377e1c7), [`1a2eee6`](https://github.com/clerk/javascript/commit/1a2eee6b8b6ead2d0481e93104fcaed6452bd1b9), [`22b8e49`](https://github.com/clerk/javascript/commit/22b8e49f9fb65d55ab737d11f1f57a25bf947511), [`2cd53cd`](https://github.com/clerk/javascript/commit/2cd53cd8c713dfa7f2e802fe08986411587095fa), [`348021d`](https://github.com/clerk/javascript/commit/348021d837ba66fd3f510148213f374ae2e969a8), [`1a2430a`](https://github.com/clerk/javascript/commit/1a2430a166fb1df5fbca76437c63423b18a49ced), [`31a04fc`](https://github.com/clerk/javascript/commit/31a04fc2b783f01cd4848c1e681af3b30e57bb2f), [`9766c4a`](https://github.com/clerk/javascript/commit/9766c4afd26f2841d6f79dbdec2584ef8becd22f), [`fe873dc`](https://github.com/clerk/javascript/commit/fe873dc94c2614e8cc670e3add13e170bcf85338), [`22b8e49`](https://github.com/clerk/javascript/commit/22b8e49f9fb65d55ab737d11f1f57a25bf947511), [`a66357e`](https://github.com/clerk/javascript/commit/a66357e8a5928199aebde408ec7cfaac152c2c42), [`dacc1af`](https://github.com/clerk/javascript/commit/dacc1af22e1d1af0940b2d626b8a47d376c19342)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.33.3

### Patch Changes

- Updated dependencies [[`fba4781`](https://github.com/clerk/javascript/commit/fba4781ff2a2d16f8934029fa6fb77d70953f2be), [`a1f6714`](https://github.com/clerk/javascript/commit/a1f671480cda6f978db059ba0640d4ed8b08f112)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.33.2

### Patch Changes

- Updated dependencies [[`04cba7d`](https://github.com/clerk/javascript/commit/04cba7d34f91dc28f9c957bba8231c6942f657e3), [`f737d26`](https://github.com/clerk/javascript/commit/f737d268aa167889a4f3f7aba2658c2ba1fd909a), [`8777f35`](https://github.com/clerk/javascript/commit/8777f350f5fb51413609a53d9de05b2e5d1d7cfe), [`2c0128b`](https://github.com/clerk/javascript/commit/2c0128b05ecf48748f27f10f0b0215a279ba6cc1)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.33.1

### Patch Changes

- Updated dependencies [[`ea2bc26`](https://github.com/clerk/javascript/commit/ea2bc260fadac8fd7480cd476046f5a06c0d917d), [`37028ca`](https://github.com/clerk/javascript/commit/37028caad59cb0081ac74e70a44e4a419082a999)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.33.0

### Minor Changes

- Udpate Tyepdoc links to fix temporary ignore warnings ([#6846](https://github.com/clerk/javascript/pull/6846)) by [@SarahSoutoul](https://github.com/SarahSoutoul)

- Add new <UserAvatar /> component ([#6808](https://github.com/clerk/javascript/pull/6808)) by [@tmilewski](https://github.com/tmilewski)

### Patch Changes

- feat(nextjs): Add CI environment detection header for Next.js keyless app creation ([#6852](https://github.com/clerk/javascript/pull/6852)) by [@heatlikeheatwave](https://github.com/heatlikeheatwave)

- Updated dependencies [[`e3e77eb`](https://github.com/clerk/javascript/commit/e3e77eb277c6b36847265db7b863c418e3708ab6), [`9cf89cd`](https://github.com/clerk/javascript/commit/9cf89cd3402c278e8d5bfcd8277cee292bc45333), [`090ca74`](https://github.com/clerk/javascript/commit/090ca742c590bc4f369cf3e1ca2ec9917410ffe4), [`b8fbadd`](https://github.com/clerk/javascript/commit/b8fbadd95652b08ecea23fdbc7e352e3e7297b2d), [`5546352`](https://github.com/clerk/javascript/commit/55463527df9a710ef3215c353bab1ef423d1de62)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.32.2

### Patch Changes

- Updated dependencies [[`8d1514a`](https://github.com/clerk/javascript/commit/8d1514a99743ec64d2a05de7f01dd9081e02bd0d), [`a8ba926`](https://github.com/clerk/javascript/commit/a8ba926109704e31b097f3545e61910abc76d99a), [`41e0a41`](https://github.com/clerk/javascript/commit/41e0a4190b33dd2c4bdc0d536bbe83fcf99af9b0), [`1aa9e9f`](https://github.com/clerk/javascript/commit/1aa9e9f10c051319e9ff4b1a0ecd71507bd6a6aa), [`1ad3b92`](https://github.com/clerk/javascript/commit/1ad3b92019361bc3350e429a840aa0dd4d0be089), [`a88ee58`](https://github.com/clerk/javascript/commit/a88ee5827adee0cc8a62246d03a3034d8566fe21), [`d6c7bbb`](https://github.com/clerk/javascript/commit/d6c7bbba23f38c0b3ca7edebb53028a05c7b38e6)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.32.1

### Patch Changes

- Updated dependencies [[`bcf24f2`](https://github.com/clerk/javascript/commit/bcf24f2f91913fa0dd3fbf02b3bbef345c4e1ea9), [`0006c82`](https://github.com/clerk/javascript/commit/0006c82fb023f4fc39e49350b5440940dcf6deba), [`7c976b4`](https://github.com/clerk/javascript/commit/7c976b4da2dc621e872846097723291dab09476f), [`1ceedad`](https://github.com/clerk/javascript/commit/1ceedad4bc5bc3d5f01c95185f82ff0f43983cf5), [`de90ede`](https://github.com/clerk/javascript/commit/de90ede82664b58bef9e294498384cf2c99a331e), [`9d4a95c`](https://github.com/clerk/javascript/commit/9d4a95c766396a0bc327fbf0560228bedb4828eb), [`428cd57`](https://github.com/clerk/javascript/commit/428cd57a8581a58a6a42325ec50eb98000068e97)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.32.0

### Minor Changes

- [Billing Beta] Drop experimental `subscriptions` property from params of `useOrganization()`. Use [`useSubscription()`](https://clerk.com/docs/nextjs/hooks/use-subscription) instead. ([#6738](https://github.com/clerk/javascript/pull/6738)) by [@mauricioabreu](https://github.com/mauricioabreu)

### Patch Changes

- Accept `treatPendingAsSignedOut` option on `currentUser` ([#6740](https://github.com/clerk/javascript/pull/6740)) by [@LauraBeatris](https://github.com/LauraBeatris)

  ```ts
  // If the session has a `pending` status, user will be `null` default, treated as a signed-out state
  const user = await currentUser();
  ```

  ```ts
  // If the session has a `pending` status, `user` will be defined, treated as a signed-in state
  const user = await currentUser({ treatPendingAsSignedOut: false });
  ```

- Updated dependencies [[`b598581`](https://github.com/clerk/javascript/commit/b598581ae673ca42fac713ee9e1a0f04b56cb8de), [`19f18f8`](https://github.com/clerk/javascript/commit/19f18f818d7c69eb2ecd27b727c403e9b00f4401), [`23948dc`](https://github.com/clerk/javascript/commit/23948dc777ec6a17bafbae59c253a93143b0e105), [`7382e13`](https://github.com/clerk/javascript/commit/7382e1384a67a2648e077d9ce677eb5424987322), [`24d0742`](https://github.com/clerk/javascript/commit/24d0742ec8453ab7ca01e81e7b4b15eed014ab81), [`82b84fe`](https://github.com/clerk/javascript/commit/82b84fed5f207673071ba7354a17f4a76e101201), [`54b4b5a`](https://github.com/clerk/javascript/commit/54b4b5a5f811f612fadf5c47ffda94a750c57a5e), [`50a8622`](https://github.com/clerk/javascript/commit/50a8622c3579306f15e5d40e5ea72b4fe4384ef7), [`939df73`](https://github.com/clerk/javascript/commit/939df73f393eefcf930481ee6f5c7f913e2e26b3), [`23948dc`](https://github.com/clerk/javascript/commit/23948dc777ec6a17bafbae59c253a93143b0e105)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.31.10

### Patch Changes

- Updated dependencies [[`55490c3`](https://github.com/clerk/javascript/commit/55490c31fadc82bdca6cd5f2b22e5e158aaba0cb), [`e8d21de`](https://github.com/clerk/javascript/commit/e8d21de39b591973dad48fc1d1851c4d28b162fe), [`63fa204`](https://github.com/clerk/javascript/commit/63fa2042b821096d4f962832ff3c10ad1b7ddf0e), [`4a5bd7a`](https://github.com/clerk/javascript/commit/4a5bd7a4d9e96c89af07db69fc140ca2adb87f08), [`637f2e8`](https://github.com/clerk/javascript/commit/637f2e8768b76aaf756062b6b5b44bf651f66789)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.31.9

### Patch Changes

- Resolve path module import error in keyless telemetry ([#6694](https://github.com/clerk/javascript/pull/6694)) by [@wobsoriano](https://github.com/wobsoriano)

- Forward additional debugging data when creating Keyless applications. ([#6537](https://github.com/clerk/javascript/pull/6537)) by [@heatlikeheatwave](https://github.com/heatlikeheatwave)

- Updated dependencies [[`fced4fc`](https://github.com/clerk/javascript/commit/fced4fc869bb21c77826dfaf281b6640e0f0c006), [`9796fbf`](https://github.com/clerk/javascript/commit/9796fbf57494e108bdb531accc26bdb8e54e59f9), [`f28179b`](https://github.com/clerk/javascript/commit/f28179b30102550cc5601fcd22da7ca9a90959ee), [`e6e19d2`](https://github.com/clerk/javascript/commit/e6e19d2d2f3b2c4617b25f53830216a1d550e616), [`1b1e8b1`](https://github.com/clerk/javascript/commit/1b1e8b1fd33b787f956b17b193e5fd0a4cdc6cec)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.31.8

### Patch Changes

- Updated dependencies [[`c1049f0`](https://github.com/clerk/javascript/commit/c1049f0956b9821a1a177c4be64c748122b0f084), [`5e94f0a`](https://github.com/clerk/javascript/commit/5e94f0a87cfcfb6407b916bd72f15a2d7dcc2406)]:
  - @clerk/[email protected]

## 6.31.7

### Patch Changes

- Updated dependencies [[`2a82737`](https://github.com/clerk/javascript/commit/2a8273705b9764e1a4613d5a0dbb738d0b156c05), [`cda5d7b`](https://github.com/clerk/javascript/commit/cda5d7b79b28dc03ec794ea54e0feb64b148cdd2), [`ba25a5b`](https://github.com/clerk/javascript/commit/ba25a5b5a3fa686a65f52e221d9d1712a389fea9), [`a50cfc8`](https://github.com/clerk/javascript/commit/a50cfc8f1dd168b436499e32fc8b0fc41d28bbff), [`377f67b`](https://github.com/clerk/javascript/commit/377f67b8e552d1a19efbe4530e9306675b7f8eab), [`65b12ee`](https://github.com/clerk/javascript/commit/65b12eeeb57ee80cdd8c36c5949d51f1227a413e), [`263722e`](https://github.com/clerk/javascript/commit/263722e61fd27403b4c8d9794880686771e123f9), [`c19f936`](https://github.com/clerk/javascript/commit/c19f93603d6c52c5f62fe4a36fe53845424fd0ad)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.31.6

### Patch Changes

- Updated dependencies [[`600c648`](https://github.com/clerk/javascript/commit/600c648d4087a823341041c90018797fbc0033f0)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.31.5

### Patch Changes

- Updated dependencies [[`f49ec31`](https://github.com/clerk/javascript/commit/f49ec3167df8e85344963c1f952d9b886946f127), [`d52714e`](https://github.com/clerk/javascript/commit/d52714e4cb7f369c74826cd4341c58eb1900abe4), [`822e4a1`](https://github.com/clerk/javascript/commit/822e4a19c1ad29309cf6bf91ca1fbbac4464a62b), [`ce49740`](https://github.com/clerk/javascript/commit/ce49740d474d6dd9da5096982ea4e9f14cf68f09), [`ba7f3fd`](https://github.com/clerk/javascript/commit/ba7f3fd71a0a925dfe0fb3b30648df666714d6b8), [`9036427`](https://github.com/clerk/javascript/commit/903642793ae205c5e5d9e9d22ff3e95665641871), [`2ed539c`](https://github.com/clerk/javascript/commit/2ed539cc7f08ed4d70c33621563ad386ea8becc5), [`deaafe4`](https://github.com/clerk/javascript/commit/deaafe449773632d690aa2f8cafaf959392622b9), [`a26ecae`](https://github.com/clerk/javascript/commit/a26ecae09fd06cd34f094262f038a8eefbb23f7d), [`c16a7a5`](https://github.com/clerk/javascript/commit/c16a7a5837fc15e0e044baf9c809b8da6fbac795), [`05b6d65`](https://github.com/clerk/javascript/commit/05b6d65c0bc5736443325a5defee4c263ef196af), [`453cf86`](https://github.com/clerk/javascript/commit/453cf86381c5df6684b37b003984a6fafc443fb4)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.31.4

### Patch Changes

- Add types to safe-node-apis modules. ([#6597](https://github.com/clerk/javascript/pull/6597)) by [@panteliselef](https://github.com/panteliselef)

- Fix keyless drift detection failure caused by invalid fs module methods. ([#6594](https://github.com/clerk/javascript/pull/6594)) by [@heatlikeheatwave](https://github.com/heatlikeheatwave)

- Updated dependencies [[`e52bf8e`](https://github.com/clerk/javascript/commit/e52bf8ebef74a9e123c69b69acde1340c01d32d7), [`c043c19`](https://github.com/clerk/javascript/commit/c043c1919854aaa5b9cf7f6df5bb517f5617f7a1), [`7bb644a`](https://github.com/clerk/javascript/commit/7bb644ad8a7bf28c6010aad6ae0c36f587529fcc), [`c28d29c`](https://github.com/clerk/javascript/commit/c28d29c79bb4f144d782313ca72df7db91a77340), [`172e054`](https://github.com/clerk/javascript/commit/172e054a3511be12d16ba19037db320c2d9838bf)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.31.3

### Patch Changes

- Updated dependencies [[`8dc6bad`](https://github.com/clerk/javascript/commit/8dc6bad5c7051b59bd8c73e65d497f6a974bb1c3), [`aa6a3c3`](https://github.com/clerk/javascript/commit/aa6a3c3d3ba2de67a468c996cbf0bff43a09ddb8), [`db50c47`](https://github.com/clerk/javascript/commit/db50c4734920ada6002de8c62c994047eb6cb5a0)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.31.2

### Patch Changes

- Fix keyless drift logic to support client components and ensure only apps on development are included. Change createClerkClient to accept an argument for samplingRate in telemetry options and update the ClerkOptions type. ([#6539](https://github.com/clerk/javascript/pull/6539)) by [@heatlikeheatwave](https://github.com/heatlikeheatwave)

- Import fs methods with nodeFsOrThrow rather than direct import. ([#6555](https://github.com/clerk/javascript/pull/6555)) by [@heatlikeheatwave](https://github.com/heatlikeheatwave)

- Updated dependencies [[`413468c`](https://github.com/clerk/javascript/commit/413468c9b9c8fb7576f8e4cbdccff98784e33fef), [`7b7eb1f`](https://github.com/clerk/javascript/commit/7b7eb1fc0235249c5c179239078294118f2947cd)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.31.1

### Patch Changes

- Fix export of `RedirectToTasks` control component ([#6546](https://github.com/clerk/javascript/pull/6546)) by [@LauraBeatris](https://github.com/LauraBeatris)

- Updated dependencies [[`5b24129`](https://github.com/clerk/javascript/commit/5b24129ddcfc2f7dc6eb79d8c818b4ff97c68e9a)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.31.0

### Minor Changes

- Rename `RedirectToTask` control component to `RedirectToTasks` ([#6486](https://github.com/clerk/javascript/pull/6486)) by [@LauraBeatris](https://github.com/LauraBeatris)

### Patch Changes

- Updated dependencies [[`4db1e58`](https://github.com/clerk/javascript/commit/4db1e58d70b60e1e236709b507666715d571e925), [`d400782`](https://github.com/clerk/javascript/commit/d400782b7016c1232c0aa1e3399c61b61e4f0709), [`69498df`](https://github.com/clerk/javascript/commit/69498dfca3e6bb388eb8c94313eac06347dd5a27), [`307dc3f`](https://github.com/clerk/javascript/commit/307dc3f05ba1bd3b30b491b198d9e65eebcc95f9), [`2db7431`](https://github.com/clerk/javascript/commit/2db743147827fb69fb8fe73a1e26545aeb7be7aa), [`59f1559`](https://github.com/clerk/javascript/commit/59f15593bab708b9e13eebfff6780c2d52b31b0a), [`69498df`](https://github.com/clerk/javascript/commit/69498dfca3e6bb388eb8c94313eac06347dd5a27)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.30.2

### Patch Changes

- Add new telemetry event KEYLESS_ENV_DRIFT_DETECTED to detect drift between publishable and secret keys in keyless apps and values in the .env file. ([#6522](https://github.com/clerk/javascript/pull/6522)) by [@heatlikeheatwave](https://github.com/heatlikeheatwave)

  This event only fires once as controlled with the .clerk/.tmp/telemetry.json file to prevent telemetry event noise

- Updated dependencies [[`15fe106`](https://github.com/clerk/javascript/commit/15fe1060f730a6a4391f3d2451d23edd3218e1ae), [`df63e76`](https://github.com/clerk/javascript/commit/df63e76f2382c601d9a3b52a3a6dfaba26c4f36f), [`173837c`](https://github.com/clerk/javascript/commit/173837c2526aa826b7981ee8d6d4f52c00675da5), [`8b52d7a`](https://github.com/clerk/javascript/commit/8b52d7ae19407e8ab5a5451bd7d34b6bc38417de), [`854dde8`](https://github.com/clerk/javascript/commit/854dde88e642c47b5a29ac8f576c8c1976e5d067), [`ae2e2d6`](https://github.com/clerk/javascript/commit/ae2e2d6b336be6b596cc855e549843beb5bfd2a1), [`037f25a`](https://github.com/clerk/javascript/commit/037f25a8171888168913b186b7edf871e0aaf197), [`f8b38b7`](https://github.com/clerk/javascript/commit/f8b38b7059e498fef3ac1271346be0710aa31c76)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.30.1

### Patch Changes

- Updated dependencies [[`b72a3dd`](https://github.com/clerk/javascript/commit/b72a3dda2467720e5dc8cab3e7e6a110f3beb79b), [`d93b0ed`](https://github.com/clerk/javascript/commit/d93b0edf4adc57d48a26cb08444192887ccec659), [`6459f7d`](https://github.com/clerk/javascript/commit/6459f7dabe5f163f48ed73106bb901d8187da3e2), [`0ff648a`](https://github.com/clerk/javascript/commit/0ff648aeac0e2f5481596a98c8046d9d58a7bf75), [`9084759`](https://github.com/clerk/javascript/commit/90847593300be605e1ee1c06dac147ce68b25dc7)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.30.0

### Minor Changes

- [Billing Beta] Update `PlanDetailsProps` to reflect that either `planId` or `plan` is allowed. ([#6472](https://github.com/clerk/javascript/pull/6472)) by [@panteliselef](https://github.com/panteliselef)

### Patch Changes

- Introduce `TaskChooseOrganization` component which replaces `TaskSelectOrganization` with a new UI that make the experience similar to the previous `SignIn` and `SignUp` steps ([#6446](https://github.com/clerk/javascript/pull/6446)) by [@LauraBeatris](https://github.com/LauraBeatris)

- Add ability to define a machine secret key to Clerk BAPI client function ([#6479](https://github.com/clerk/javascript/pull/6479)) by [@wobsoriano](https://github.com/wobsoriano)

  ```ts
  const clerkClient = createClerkClient({ machineSecretKey: 'ak_xxxxx' })

  clerkClient.m2mTokens.create({...})
  ```

- feat(nextjs): Forward user-agent, arch, platform, and npm config with POST requests to /accountless_applications ([#6483](https://github.com/clerk/javascript/pull/6483)) by [@heatlikeheatwave](https://github.com/heatlikeheatwave)

- Updated dependencies [[`1ad16da`](https://github.com/clerk/javascript/commit/1ad16daa49795a861ae277001831230580b6b9f4), [`4edef81`](https://github.com/clerk/javascript/commit/4edef81dd423a0471e3f579dd6b36094aa8546aa), [`6ff416f`](https://github.com/clerk/javascript/commit/6ff416f4b35fc01ba7dca61abe4698d7d1460dee), [`e82f177`](https://github.com/clerk/javascript/commit/e82f1775de889eb9cac444cb26b69fb5de1e2d05), [`696f8e1`](https://github.com/clerk/javascript/commit/696f8e11a3e5391e6b5a97d98e929b8973575b9a), [`f318d22`](https://github.com/clerk/javascript/commit/f318d22cf83caaef272bcf532561a03ca72575e7), [`0d27281`](https://github.com/clerk/javascript/commit/0d272815b216f7a7538b5633cb397d6cd2695b73), [`1cc66ab`](https://github.com/clerk/javascript/commit/1cc66aba1c0adac24323876e4cc3d96be888b07b)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.29.0

### Minor Changes

- [Billing Beta] Stricter return type of `useCheckout` to improve inference of other properties. ([#6473](https://github.com/clerk/javascript/pull/6473)) by [@panteliselef](https://github.com/panteliselef)

### Patch Changes

- Propagate `treatPendingAsSignedOut` to `auth` from `clerkMiddleware` ([#6477](https://github.com/clerk/javascript/pull/6477)) by [@LauraBeatris](https://github.com/LauraBeatris)

  ```ts
  export default clerkMiddleware(async (auth, req) => {
    // If the session has a `pending` status, `userId` will be `null` by default, treated as a signed-out state
    const { userId } = await auth();
  });
  ```

  ```ts
  export default clerkMiddleware(async (auth, req) => {
    // If the session has a `pending` status, `userId` will be defined, treated as a signed-in state
    const { userId } = await auth({ treatPendingAsSignedOut: false });
  });
  ```

- Updated dependencies [[`9368daf`](https://github.com/clerk/javascript/commit/9368dafb119b5a8ec6a9d6d82270e72bab6d8f1e), [`f93965f`](https://github.com/clerk/javascript/commit/f93965f64c81030f9fcf9d1cc4e4984d30cd12ec), [`7b6dcee`](https://github.com/clerk/javascript/commit/7b6dceea5bfd7f1cc1bf24126aa715307e24ae7f), [`ef87617`](https://github.com/clerk/javascript/commit/ef87617ae1fd125c806a33bfcfdf09c885319fa8)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.28.1

### Patch Changes

- Fixes a bug which cause initialization of a payment method to never fire. ([#6436](https://github.com/clerk/javascript/pull/6436)) by [@panteliselef](https://github.com/panteliselef)

- Updated dependencies [[`7a46679`](https://github.com/clerk/javascript/commit/7a46679a004739a7f712097c5779e9f5c068722e), [`05cc5ec`](https://github.com/clerk/javascript/commit/05cc5ecd82ecdbcc9922d3286224737a81813be0), [`22c35ef`](https://github.com/clerk/javascript/commit/22c35efb59226df2efaa2891fa4775c13312f4c6), [`8c7e5bb`](https://github.com/clerk/javascript/commit/8c7e5bb887e95e38a186a18609dd6fc93b6a3cda), [`e8d816a`](https://github.com/clerk/javascript/commit/e8d816a3350e862c3e9e1d4f8c96c047a0a016a2), [`aa9f185`](https://github.com/clerk/javascript/commit/aa9f185e21b58f8a6e03ea44ce29ee09ad2477d9), [`af0e123`](https://github.com/clerk/javascript/commit/af0e12393c9412281626e20dafb1b3a15558f6d9), [`241bbbd`](https://github.com/clerk/javascript/commit/241bbbd5ad3915419fe222861a2eeb0132a294e0), [`3d1d871`](https://github.com/clerk/javascript/commit/3d1d8711405646cf3c2aabe99e08337a1028703a)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.28.0

### Minor Changes

- Introduce `<RedirectToTask />` component ([#6416](https://github.com/clerk/javascript/pull/6416)) by [@LauraBeatris](https://github.com/LauraBeatris)

### Patch Changes

- Updated dependencies [[`e404456`](https://github.com/clerk/javascript/commit/e4044566bca81f63c8e9c630fdec0f498ad6fc08), [`2803133`](https://github.com/clerk/javascript/commit/28031330a9810946feb44b93be10c067fb3b63ba), [`f1d9d34`](https://github.com/clerk/javascript/commit/f1d9d3482a796dd5f7796ede14159850e022cba2), [`0bdd0df`](https://github.com/clerk/javascript/commit/0bdd0dfdae49e2548081e68767addf9065b2b8f9), [`d58b959`](https://github.com/clerk/javascript/commit/d58b9594cf65158e87dbaa90d632c45f543373e1), [`232d7d3`](https://github.com/clerk/javascript/commit/232d7d37cd1bc2a4e106f1972dc395373502168d), [`f6375f0`](https://github.com/clerk/javascript/commit/f6375f01e8d8a06e12d4a71285912e9dda7b6f20), [`822ba1f`](https://github.com/clerk/javascript/commit/822ba1fd5e7daf665120cf183e4600a227098d53), [`af615b8`](https://github.com/clerk/javascript/commit/af615b89838e46bd441d41da6a6dde29e3edf595), [`d4d2612`](https://github.com/clerk/javascript/commit/d4d2612483baf356c389ef0ba5084059025481f2)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.27.1

### Patch Changes

- Fixes an issue where `clerkMiddleware()` would not properly redirect or set cookies in some environments. ([#6388](https://github.com/clerk/javascript/pull/6388)) by [@brkalow](https://github.com/brkalow)

## 6.27.0

### Minor Changes

- Expose commerce hooks and components under the experimental module. ([#6383](https://github.com/clerk/javascript/pull/6383)) by [@panteliselef](https://github.com/panteliselef)

  - PaymentElementProvider,
  - usePaymentElement,
  - PaymentElement,
  - usePaymentAttempts,
  - useStatements,
  - usePaymentMethods,
  - usePlans,
  - useSubscription,
  - CheckoutProvider,
  - useCheckout,

### Patch Changes

- Updated dependencies [[`2bbeaf3`](https://github.com/clerk/javascript/commit/2bbeaf30faa0f961b766c87c17e424ba9ecc4517), [`cfa7882`](https://github.com/clerk/javascript/commit/cfa78827cea6e81ce671ae204f529d2f93e3304d), [`b0fdc9e`](https://github.com/clerk/javascript/commit/b0fdc9eaf764ca0c17cbe0810b7d240f6d9db0b6)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.26.0

### Minor Changes

- Expose `<CheckoutButton/>`, `<SubscriptionDetailsButton/>`, `<PlanDetailsButton/>` from `@clerk/nextjs/experimental`. ([#6365](https://github.com/clerk/javascript/pull/6365)) by [@panteliselef](https://github.com/panteliselef)

### Patch Changes

- Improved machine auth verification within API routes ([#6367](https://github.com/clerk/javascript/pull/6367)) by [@wobsoriano](https://github.com/wobsoriano)

- Updated dependencies [[`8feb59b`](https://github.com/clerk/javascript/commit/8feb59b808254a59c9bf4cf9c00f177e29e5e41b), [`cd59c0e`](https://github.com/clerk/javascript/commit/cd59c0e5512a341dd8fb420aca583333c8243aa5), [`cd59c0e`](https://github.com/clerk/javascript/commit/cd59c0e5512a341dd8fb420aca583333c8243aa5)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.25.5

### Patch Changes

- Updated dependencies [[`fecc99d`](https://github.com/clerk/javascript/commit/fecc99d43cb7db5b99863829acb234cbce0da264), [`959d63d`](https://github.com/clerk/javascript/commit/959d63de27e5bfe27b46699b441dfd4e48616bf8), [`10e1060`](https://github.com/clerk/javascript/commit/10e10605b18a58f33a93caed058159c190678e74), [`92c44dd`](https://github.com/clerk/javascript/commit/92c44dd9d51e771a928a8da7004bdb8f8bdbaf58), [`a04a8f5`](https://github.com/clerk/javascript/commit/a04a8f5f81241ee41d93cd64793beca9d6296abb), [`c61855c`](https://github.com/clerk/javascript/commit/c61855c51d9c129d48c4543da3719939ad82f623), [`43ea069`](https://github.com/clerk/javascript/commit/43ea069c570dc64503fc82356ad28a2e43689d45)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.25.4

### Patch Changes

- Updated dependencies [[`d2f6f9e`](https://github.com/clerk/javascript/commit/d2f6f9e02036a4288916fcce14f24be5d56561c4), [`a329836`](https://github.com/clerk/javascript/commit/a329836a6c64f0a551a277ccae07043456a70523), [`5fbf8df`](https://github.com/clerk/javascript/commit/5fbf8df84b6d47082a76047451274790b8579b2d), [`6041c39`](https://github.com/clerk/javascript/commit/6041c39a31e787a6065dbc3f21e1c569982a06de), [`3f1270d`](https://github.com/clerk/javascript/commit/3f1270db86a21ead0ed6f0bd4f9986485203e973), [`1d9c409`](https://github.com/clerk/javascript/commit/1d9c409d10cc88667e354664d66c5f74b8bf4ca7), [`df49349`](https://github.com/clerk/javascript/commit/df4934983ee60246cd9df217afd7384aad556387)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.25.3

### Patch Changes

- Updated dependencies [[`2a90b68`](https://github.com/clerk/javascript/commit/2a90b689550ae960496c9292ca23e0225e3425cd), [`af50905`](https://github.com/clerk/javascript/commit/af50905ea497ed3286c8c4c374498e06ca6ee82b)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.25.2

### Patch Changes

- Updated dependencies [[`8ee859c`](https://github.com/clerk/javascript/commit/8ee859ce00d1d5747c14a80fe7166303e64a4f1f)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.25.1

### Patch Changes

- Updated dependencies [[`025e304`](https://github.com/clerk/javascript/commit/025e304c4d6402dfd750ee51ac9c8fc2dea1f353), [`dedf487`](https://github.com/clerk/javascript/commit/dedf48703986d547d5b28155b0182a51030cffeb), [`b96114e`](https://github.com/clerk/javascript/commit/b96114e438638896ba536bb7a17b09cdadcd9407)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.25.0

### Minor Changes

- [Billing Beta]: Introduce experimental `useCheckout()` hook and `<CheckoutProvider/>`. ([#6195](https://github.com/clerk/javascript/pull/6195)) by [@panteliselef](https://github.com/panteliselef)

### Patch Changes

- Updated dependencies [[`2be6a53`](https://github.com/clerk/javascript/commit/2be6a53959cb8a3127c2eb5d1aeb4248872d2c24), [`f6a1c35`](https://github.com/clerk/javascript/commit/f6a1c35bd5fb4bd2a3cd45bdaf9defe6be59d4a9), [`6826d0b`](https://github.com/clerk/javascript/commit/6826d0bbd03e844d49224565878a4326684f06b4), [`f6a1c35`](https://github.com/clerk/javascript/commit/f6a1c35bd5fb4bd2a3cd45bdaf9defe6be59d4a9), [`8fdb209`](https://github.com/clerk/javascript/commit/8fdb20913b0b0f88244099f6c6a7b979e0f79327), [`97a07f7`](https://github.com/clerk/javascript/commit/97a07f78b4b0c3dc701a2610097ec7d6232f79e7), [`e3da9f4`](https://github.com/clerk/javascript/commit/e3da9f4a17a2a5f71d7e02a81b86d6002c93cc59)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.24.0

### Minor Changes

- Export experimental hooks and components for PaymentElement ([#6180](https://github.com/clerk/javascript/pull/6180)) by [@panteliselef](https://github.com/panteliselef)

  - `__experimental_usePaymentElement`
  - `__experimental_PaymentElementProvider`
  - `__experimental_PaymentElement`

### Patch Changes

- Updated dependencies [[`f42c4fe`](https://github.com/clerk/javascript/commit/f42c4fedfdab873129b876eba38b3677f190b460), [`ec207dc`](https://github.com/clerk/javascript/commit/ec207dcd2a13340cfa4e3b80d3d52d1b4e7d5f23), [`ec207dc`](https://github.com/clerk/javascript/commit/ec207dcd2a13340cfa4e3b80d3d52d1b4e7d5f23), [`0e0cc1f`](https://github.com/clerk/javascript/commit/0e0cc1fa85347d727a4fd3718fe45b0f0244ddd9)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.23.3

### Patch Changes

- Updated dependencies [[`c2f24da`](https://github.com/clerk/javascript/commit/c2f24dab96c052b2748a210eef45540f788654aa), [`abd8446`](https://github.com/clerk/javascript/commit/abd844609dad263d974da7fbf5e3575afce73abe), [`8387a39`](https://github.com/clerk/javascript/commit/8387a392a04906f0f10d84c61cfee36f23942f85), [`feba23c`](https://github.com/clerk/javascript/commit/feba23c85d1ff94930de61f3b6961e2ebb2f65ce), [`f2a6641`](https://github.com/clerk/javascript/commit/f2a66419b1813abc86ea98fde7475861995a1486), [`de9c01a`](https://github.com/clerk/javascript/commit/de9c01ac683f52c1919e1584faba087f92a0ca22), [`a8638b0`](https://github.com/clerk/javascript/commit/a8638b02f0daff780f3aef038983714db21db558), [`3b4b3cb`](https://github.com/clerk/javascript/commit/3b4b3cb941a1a503ce51e086e7bdd663c2a1ddc2)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.23.2

### Patch Changes

- Updated dependencies [[`02a1f42`](https://github.com/clerk/javascript/commit/02a1f42dfdb28ea956d6cbd3fbabe10093d2fad8), [`edc0bfd`](https://github.com/clerk/javascript/commit/edc0bfdae929dad78a99dfd6275aad947d9ddd73)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.23.1

### Patch Changes

- Updated dependencies [[`f1be1fe`](https://github.com/clerk/javascript/commit/f1be1fe3d575c11acd04fc7aadcdec8f89829894), [`8bfdf94`](https://github.com/clerk/javascript/commit/8bfdf94646c54a5e13fcb81ebcb9df0209dbc6a1), [`bffb42a`](https://github.com/clerk/javascript/commit/bffb42aaf266a188b9ae7d16ace3024d468a3bd4), [`084e7cc`](https://github.com/clerk/javascript/commit/084e7cc5f6f6d101059bc8a6d60dc73f3262ef2f)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.23.0

### Minor Changes

- Fix `auth.protect()` unauthorized error propagation within middleware ([#6169](https://github.com/clerk/javascript/pull/6169)) by [@wobsoriano](https://github.com/wobsoriano)

- - Optimize `auth()` calls to avoid unnecessary verification calls when the provided token type is not in the `acceptsToken` array. ([#6123](https://github.com/clerk/javascript/pull/6123)) by [@wobsoriano](https://github.com/wobsoriano)

  - Add handling for invalid token types when `acceptsToken` is an array in `authenticateRequest()`: now returns a clear unauthenticated state (`tokenType: null`) if the token is not in the accepted list.

### Patch Changes

- Updated dependencies [[`b495279`](https://github.com/clerk/javascript/commit/b4952796e3c7dee4ab4726de63a17b7f4265ce37), [`c3fa15d`](https://github.com/clerk/javascript/commit/c3fa15d60642b4fcbcf26e21caaca0fc60975795), [`628583a`](https://github.com/clerk/javascript/commit/628583a27ffd72521475e06f91e6f592ee87ba47), [`52d5e57`](https://github.com/clerk/javascript/commit/52d5e5768d54725b4d20d028135746493e05d44c), [`15a945c`](https://github.com/clerk/javascript/commit/15a945c02a9f6bc8d2f7d1e3534217100bf45936), [`10f3dda`](https://github.com/clerk/javascript/commit/10f3dda2beff0ce71a52c2f15c07094110078be2), [`72629b0`](https://github.com/clerk/javascript/commit/72629b06fb1fe720fa2a61462306a786a913e9a8), [`2692124`](https://github.com/clerk/javascript/commit/2692124a79369a9289ee18009667231d7e27b9ed)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.22.0

### Minor Changes

- Add `<APIKeys />` component. This component will initially be in early access and not recommended for production usage just yet. ([#5858](https://github.com/clerk/javascript/pull/5858)) by [@wobsoriano](https://github.com/wobsoriano)

- Respect `acceptsToken` when returning unauthenticated session or machine object. ([#6112](https://github.com/clerk/javascript/pull/6112)) by [@wobsoriano](https://github.com/wobsoriano)

### Patch Changes

- Re-organize internal types for the recently added "machine authentication" feature. ([#6067](https://github.com/clerk/javascript/pull/6067)) by [@wobsoriano](https://github.com/wobsoriano)

- Resolve machine token property mixing in discriminated unions ([#6079](https://github.com/clerk/javascript/pull/6079)) by [@wobsoriano](https://github.com/wobsoriano)

- Updated dependencies [[`19e9e11`](https://github.com/clerk/javascript/commit/19e9e11af04f13fd12975fbf7016fe0583202056), [`18bcb64`](https://github.com/clerk/javascript/commit/18bcb64a3e8b6d352d7933ed094d68214e6e80fb), [`2148166`](https://github.com/clerk/javascript/commit/214816654850272297056eebad3d846b7f8125c9), [`4319257`](https://github.com/clerk/javascript/commit/4319257dc424f121231a26bef2068cef1e78afd4), [`607d333`](https://github.com/clerk/javascript/commit/607d3331f893bc98d1a8894f57b1cb9021e71b86), [`138f733`](https://github.com/clerk/javascript/commit/138f733f13121487268a4f96e6eb2cffedc6e238), [`4118ed7`](https://github.com/clerk/javascript/commit/4118ed7c8fb13ca602401f8d663e7bcd6f6abee4), [`18bcb64`](https://github.com/clerk/javascript/commit/18bcb64a3e8b6d352d7933ed094d68214e6e80fb), [`d832d91`](https://github.com/clerk/javascript/commit/d832d9179ff615f2799c832ec5fd9f3d79c6a940), [`6842ff1`](https://github.com/clerk/javascript/commit/6842ff1c903eaa0db161f533365a2e680995ce83), [`48be55b`](https://github.com/clerk/javascript/commit/48be55b61a86e014dd407414764d24bb43fd26f3), [`183e382`](https://github.com/clerk/javascript/commit/183e3823e4ff70e856b00a347369c38a4264105a), [`2c6f805`](https://github.com/clerk/javascript/commit/2c6f805a9e6e4685990f9a8abc740b2d0859a453), [`97749d5`](https://github.com/clerk/javascript/commit/97749d570bc687c7e05cd800a50e0ae4180a371d)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.21.0

### Minor Changes

- Introduces machine authentication, supporting four token types: `api_key`, `oauth_token`, `machine_token`, and `session_token`. For backwards compatibility, `session_token` remains the default when no token type is specified. This enables machine-to-machine authentication and use cases such as API keys and OAuth integrations. Existing applications continue to work without modification. ([#5689](https://github.com/clerk/javascript/pull/5689)) by [@wobsoriano](https://github.com/wobsoriano)

  You can specify which token types are allowed for a given route or handler using the `acceptsToken` property in the `auth()` helper, or the `token` property in the `auth.protect()` helper. Each can be set to a specific type, an array of types, or `'any'` to accept all supported tokens.

  Example usage in Nextjs middleware:

  ```ts
  import { clerkMiddleware, createRouteMatcher } from '@clerk/nextjs/server';

  const isOAuthAccessible = createRouteMatcher(['/oauth(.*)']);
  const isApiKeyAccessible = createRouteMatcher(['/api(.*)']);
  const isMachineTokenAccessible = createRouteMatcher(['/m2m(.*)']);
  const isUserAccessible = createRouteMatcher(['/user(.*)']);
  const isAccessibleToAnyValidToken = createRouteMatcher(['/any(.*)']);

  export default clerkMiddleware(async (auth, req) => {
    if (isOAuthAccessible(req)) await auth.protect({ token: 'oauth_token' });
    if (isApiKeyAccessible(req)) await auth.protect({ token: 'api_key' });
    if (isMachineTokenAccessible(req)) await auth.protect({ token: 'machine_token' });
    if (isUserAccessible(req)) await auth.protect({ token: 'session_token' });

    if (isAccessibleToAnyValidToken(req)) await auth.protect({ token: 'any' });
  });

  export const config = {
    matcher: [
      '/((?!_next|[^?]*\\.(?:html?|css|js(?!on)|jpe?g|webp|png|gif|svg|ttf|woff2?|ico|csv|docx?|xlsx?|zip|webmanifest)).*)',
      '/(api|trpc)(.*)',
    ],
  };
  ```

  Leaf node route protection:

  ```ts
  import { auth } from '@clerk/nextjs/server';

  // In this example, we allow users and oauth tokens with the "profile" scope
  // to access the data. Other types of tokens are rejected.
  function POST(req, res) {
    const authObject = await auth({ acceptsToken: ['session_token', 'oauth_token'] });

    if (authObject.tokenType === 'oauth_token' && !authObject.scopes?.includes('profile')) {
      throw new Error('Unauthorized: OAuth token missing the "profile" scope');
    }

    // get data from db using userId
    const data = db.select().from(user).where(eq(user.id, authObject.userId));

    return { data };
  }
  ```

- The `svix` dependency is no longer needed when using the `verifyWebhook()` function. `verifyWebhook()` was refactored to not rely on `svix` anymore while keeping the same functionality and behavior. ([#6059](https://github.com/clerk/javascript/pull/6059)) by [@royanger](https://github.com/royanger)

  If you previously installed `svix` to use `verifyWebhook()` you can uninstall it now:

  ```shell
  npm uninstall svix
  ```

### Patch Changes

- Updated URL for 'auth() was called but Clerk can't detect usage of clerkMiddleware()' ([#6035](https://github.com/clerk/javascript/pull/6035)) by [@royanger](https://github.com/royanger)

- Introduce `getAuthObjectFromJwt` as internal utility function that centralizes the logic for generating auth objects from session JWTs. ([#6053](https://github.com/clerk/javascript/pull/6053)) by [@LauraBeatris](https://github.com/LauraBeatris)

- Updated dependencies [[`ea622ba`](https://github.com/clerk/javascript/commit/ea622bae90e18ae2ea8dbc6c94cad857557539c9), [`d8fa5d9`](https://github.com/clerk/javascript/commit/d8fa5d9d3d8dc575260d8d2b7c7eeeb0052d0b0d), [`be2e89c`](https://github.com/clerk/javascript/commit/be2e89ca11aa43d48f74c57a5a34e20d85b4003c), [`c656270`](https://github.com/clerk/javascript/commit/c656270f9e05fd1f44fc4c81851be0b1111cb933), [`5644d94`](https://github.com/clerk/javascript/commit/5644d94f711a0733e4970c3f15c24d56cafc8743), [`a3232c7`](https://github.com/clerk/javascript/commit/a3232c7ee8c1173d2ce70f8252fc083c7bf19374), [`b578225`](https://github.com/clerk/javascript/commit/b5782258242474c9b0987a3f8349836cd763f24b), [`918e2e0`](https://github.com/clerk/javascript/commit/918e2e085bf88c3cfaa5fcb0f1ae8c31b3f7053e), [`795d09a`](https://github.com/clerk/javascript/commit/795d09a652f791e1e409406e335e0860aceda110), [`4f93634`](https://github.com/clerk/javascript/commit/4f93634ed6bcd45f21bddcb39a33434b1cb560fe), [`8838120`](https://github.com/clerk/javascript/commit/8838120596830b88fec1c6c853371dabfec74a0d)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.20.2

### Patch Changes

- Updated dependencies [[`5421421`](https://github.com/clerk/javascript/commit/5421421644b5c017d58ee6583c12d6c253e29c33), [`f897773`](https://github.com/clerk/javascript/commit/f89777379da63cf45039c1570b51ba10a400817c), [`1c97fd0`](https://github.com/clerk/javascript/commit/1c97fd06b28db9fde6c14dbeb0935e13696be539), [`2c6a0cc`](https://github.com/clerk/javascript/commit/2c6a0cca6e824bafc6b0d0501784517a5b1f75ea), [`71e6a1f`](https://github.com/clerk/javascript/commit/71e6a1f1024d65b7a09cdc8fa81ce0164e0a34cb)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.20.1

### Patch Changes

- Updated dependencies [[`6ed3dfc`](https://github.com/clerk/javascript/commit/6ed3dfc1bc742ac9d9a2307fe8e4733411cbc0d7), [`22c3363`](https://github.com/clerk/javascript/commit/22c33631f7f54b4f2179bf16f548fee1a237976e), [`ac6b231`](https://github.com/clerk/javascript/commit/ac6b23147e5e0aa21690cc20a109ed9a8c8f6e5b)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.20.0

### Minor Changes

- Introduce `treatPendingAsSignedOut` option to `getAuth` and `auth` from `clerkMiddleware` ([#5756](https://github.com/clerk/javascript/pull/5756)) by [@LauraBeatris](https://github.com/LauraBeatris)

  By default, `treatPendingAsSignedOut` is set to `true`, which means pending sessions are treated as signed-out. You can set this option to `false` to treat pending sessions as authenticated.

  ```ts
  const { userId } = auth({ treatPendingAsSignedOut: false });
  ```

  ```ts
  const { userId } = getAuth(req, { treatPendingAsSignedOut: false });
  ```

  ```tsx
  <SignedIn treatPendingAsSignedOut={false}>
    User has a session that is either pending (requires tasks resolution) or active
  </SignedIn>
  ```

### Patch Changes

- Updated dependencies [[`ced8912`](https://github.com/clerk/javascript/commit/ced8912e8c9fb7eb7846de6ca9a872e794d9e15d), [`f237d76`](https://github.com/clerk/javascript/commit/f237d7617e5398ca0ba981e4336cac2191505b00), [`5f1375b`](https://github.com/clerk/javascript/commit/5f1375ba7cc50cccb11d5aee03bfd4c3d1bf462f)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.19.5

### Patch Changes

- Updated dependencies [[`c305b31`](https://github.com/clerk/javascript/commit/c305b310e351e9ce2012f805b35e464c3e43e310), [`b813cbe`](https://github.com/clerk/javascript/commit/b813cbe29252ab9710f355cecd4511172aea3548), [`6bb480e`](https://github.com/clerk/javascript/commit/6bb480ef663a6dfa219bc9546aca087d5d9624d0)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.19.4

### Patch Changes

- Updated dependencies [[`b1337df`](https://github.com/clerk/javascript/commit/b1337dfeae8ccf8622efcf095e3201f9bbf1cefa), [`65f0878`](https://github.com/clerk/javascript/commit/65f08788ee5e56242eee2194c73ba90965c75c97), [`df6fefd`](https://github.com/clerk/javascript/commit/df6fefd05fd2df93f5286d97e546b48911adea7c), [`4282bfa`](https://github.com/clerk/javascript/commit/4282bfa09491225bde7d619fe9a3561062703f69), [`5491491`](https://github.com/clerk/javascript/commit/5491491711e0a8ee37828451c1f603a409de32cf)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.19.3

### Patch Changes

- Updated dependencies [[`1ff6d6e`](https://github.com/clerk/javascript/commit/1ff6d6efbe838b3f7f6977b2b5215c2cafd715f6), [`fbf3cf4`](https://github.com/clerk/javascript/commit/fbf3cf4916469c4e118870bf12efca2d0f77d9d8)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.19.2

### Patch Changes

- Updated dependencies [[`0769a9b`](https://github.com/clerk/javascript/commit/0769a9b4a44ec7046a3b99a3d58bddd173970990), [`0f5145e`](https://github.com/clerk/javascript/commit/0f5145e164f3d3d5faf57e58162b05e7110d2403), [`afdfd18`](https://github.com/clerk/javascript/commit/afdfd18d645608dec37e52a291a91ba5f42dcbe7), [`b7c51ba`](https://github.com/clerk/javascript/commit/b7c51baac6df1129b468274c9a7f63ca303f16ce), [`437b53b`](https://github.com/clerk/javascript/commit/437b53b67e281d076b5b3f927e11c1d64666d154), [`5217155`](https://github.com/clerk/javascript/commit/52171554250c5c58f4f497b6d3c7416e79ac77da)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.19.1

### Patch Changes

- Updated dependencies [[`4db96e0`](https://github.com/clerk/javascript/commit/4db96e0ff2ab44c7bdd8540e09ec70b84b19d3eb), [`36fb43f`](https://github.com/clerk/javascript/commit/36fb43f8b35866bdc20680fac58020f036d30d1f), [`e5ac444`](https://github.com/clerk/javascript/commit/e5ac4447f52bb6887ad686feab308fe9daf76e33), [`4db96e0`](https://github.com/clerk/javascript/commit/4db96e0ff2ab44c7bdd8540e09ec70b84b19d3eb), [`d227805`](https://github.com/clerk/javascript/commit/d22780599a5e29545a3d8309cc411c2e8659beac)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.19.0

### Minor Changes

- Export a new `<PricingTable />` component. This component renders plans for user or organizations and upon selection the end-user is prompted with a checkout form. ([#5833](https://github.com/clerk/javascript/pull/5833)) by [@nikosdouvlis](https://github.com/nikosdouvlis)

- Mark commerce apis as stable ([#5833](https://github.com/clerk/javascript/pull/5833)) by [@nikosdouvlis](https://github.com/nikosdouvlis)

### Patch Changes

- Introduce `checkoutContinueUrl` option. ([#5807](https://github.com/clerk/javascript/pull/5807)) by [@alexcarpenter](https://github.com/alexcarpenter)

- Rename \_\_experimental_checkoutContinueUrl to checkoutContinueUrl ([#5826](https://github.com/clerk/javascript/pull/5826)) by [@nikosdouvlis](https://github.com/nikosdouvlis)

- Replace \_\_experimental_PricingTable with PricingTable ([#5828](https://github.com/clerk/javascript/pull/5828)) by [@nikosdouvlis](https://github.com/nikosdouvlis)

- Updated dependencies [[`db0138f`](https://github.com/clerk/javascript/commit/db0138f3f72aea8cb68a5684a90123f733848f63), [`45e8298`](https://github.com/clerk/javascript/commit/45e829890ec9ac66f07e0d7076cd283f14c893ed), [`aa97231`](https://github.com/clerk/javascript/commit/aa97231962e3f472a46135e376159c6ddcf1157b), [`c792f37`](https://github.com/clerk/javascript/commit/c792f37129fd6475d5af95146e9ef0f1c8eff730), [`3bf08a9`](https://github.com/clerk/javascript/commit/3bf08a9e0a9e65496edac5fc3bb22ad7b561df26), [`74cf3b2`](https://github.com/clerk/javascript/commit/74cf3b28cdf622a942aaf99caabfba74b7e856fd), [`037b113`](https://github.com/clerk/javascript/commit/037b113aaedd53d4647d88f1659eb9c14cf6f275), [`c15a412`](https://github.com/clerk/javascript/commit/c15a412169058e2304a51c9e92ffaa7f6bb2a898), [`7726a03`](https://github.com/clerk/javascript/commit/7726a03a7fec4d292b6de2587b84ed4371984c23), [`ed10566`](https://github.com/clerk/javascript/commit/ed1056637624eec5bfd50333407c1e63e34c193b), [`b846a9a`](https://github.com/clerk/javascript/commit/b846a9ab96db6b1d8344a4b693051618865508a8), [`e66c800`](https://github.com/clerk/javascript/commit/e66c8002b82b2902f77e852e16482f5cfb062d2c), [`45e8298`](https://github.com/clerk/javascript/commit/45e829890ec9ac66f07e0d7076cd283f14c893ed), [`9c41091`](https://github.com/clerk/javascript/commit/9c41091eb795bce8ffeeeca0264ae841fe07b426), [`29462b4`](https://github.com/clerk/javascript/commit/29462b433eb411ce614e4768e5844cacd00c1975), [`322c43f`](https://github.com/clerk/javascript/commit/322c43f6807a932c3cfaaef1b587b472c80180d2), [`17397f9`](https://github.com/clerk/javascript/commit/17397f95b715bd4fefd7f63c1d351abcf1c8ee16), [`45e8298`](https://github.com/clerk/javascript/commit/45e829890ec9ac66f07e0d7076cd283f14c893ed)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.18.5

### Patch Changes

- Updated dependencies [[`9ec0a73`](https://github.com/clerk/javascript/commit/9ec0a7353e9f6ea661c3d7b9542423b6eb1d29e9), [`d9222fc`](https://github.com/clerk/javascript/commit/d9222fc3c21da2bcae30b06f0b1897f526935582)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.18.4

### Patch Changes

- Updated dependencies [[`225b9ca`](https://github.com/clerk/javascript/commit/225b9ca21aba44930872a85d6b112ee2a1b606b9)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.18.3

### Patch Changes

- Updated dependencies [[`be1c5d6`](https://github.com/clerk/javascript/commit/be1c5d67b27852303dc8148e3be514473ce3e190), [`a122121`](https://github.com/clerk/javascript/commit/a122121e4fe55148963ed85b99ff24ba02a2d170)]:
  - @clerk/[email protected]

## 6.18.2

### Patch Changes

- Updated dependencies [[`387bf62`](https://github.com/clerk/javascript/commit/387bf623406306e0c5c08da937f4930a7ec5e4a5), [`2716622`](https://github.com/clerk/javascript/commit/27166224e12af582298460d438bd7f83ea8e04bf), [`294da82`](https://github.com/clerk/javascript/commit/294da82336e7a345900d7ef9b28f56a7c8864c52), [`4a8fe40`](https://github.com/clerk/javascript/commit/4a8fe40dc7c6335d4cf90e2532ceda2c7ad66a3b)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.18.1

### Patch Changes

- Updated dependencies [[`b02e766`](https://github.com/clerk/javascript/commit/b02e76627e47aec314573586451fa345a089115a), [`5d78b28`](https://github.com/clerk/javascript/commit/5d78b286b63e35fbcf44aac1f7657cbeaba4d659), [`d7f4438`](https://github.com/clerk/javascript/commit/d7f4438fa4bfd04474d5cdb9212ba908568ad6d2), [`5866855`](https://github.com/clerk/javascript/commit/58668550ec91d5511cf775972c54dc485185cc58), [`0007106`](https://github.com/clerk/javascript/commit/00071065998a3676c51e396b4c0afcbf930a9898), [`462b5b2`](https://github.com/clerk/javascript/commit/462b5b271d4e120d58a85818a358b60a6b3c8100), [`447d7a9`](https://github.com/clerk/javascript/commit/447d7a9e133c2a0e7db014bd5837e6ffff08f572), [`2beea29`](https://github.com/clerk/javascript/commit/2beea2957c67bc62446fe24d36332b0a4e850d7d), [`115601d`](https://github.com/clerk/javascript/commit/115601d12fd65dbf3011c0cda368525a2b95bfeb)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.18.0

### Minor Changes

- Adding reportTo and reportOnly configuration options to the contentSecurityPolicy config for clerkMiddleware ([#5702](https://github.com/clerk/javascript/pull/5702)) by [@jacekradko](https://github.com/jacekradko)

- Export `<__experimental_PricingTable />`. ([#5691](https://github.com/clerk/javascript/pull/5691)) by [@panteliselef](https://github.com/panteliselef)

### Patch Changes

- Resolved an issue with Keyless on Safari where users appeared to be signed out immediately after a successful sign-in. ([#5696](https://github.com/clerk/javascript/pull/5696)) by [@panteliselef](https://github.com/panteliselef)

- Updated dependencies [[`ba19465`](https://github.com/clerk/javascript/commit/ba194654b15d326bf0ab1b2bf0cab608042d20ec), [`8b25035`](https://github.com/clerk/javascript/commit/8b25035aa49382fe1cd1c6f30ec80e86bcf9d66e), [`f0f1ed7`](https://github.com/clerk/javascript/commit/f0f1ed7ef3666bfc1cbf945326e94a51e83c4646), [`25c3502`](https://github.com/clerk/javascript/commit/25c35023ee995acbf8f5c8989619ebc176a366d6)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.17.0

### Minor Changes

- Introduce `useClerk().status` alongside `<ClerkFailed />` and `<ClerkDegraded />`. ([#5476](https://github.com/clerk/javascript/pull/5476)) by [@panteliselef](https://github.com/panteliselef)

  ### `useClerk().status`

  Possible values for `useClerk().status` are:

  - `"loading"`: Set during initialization
  - `"error"`: Set when hotloading clerk-js failed or `Clerk.load()` failed
  - `"ready"`: Set when Clerk is fully operational
  - `"degraded"`: Set when Clerk is partially operational
    The computed value of `useClerk().loaded` is:
  - `true` when `useClerk().status` is either `"ready"` or `"degraded"`.
  - `false` when `useClerk().status` is `"loading"` or `"error"`.

  ### `<ClerkFailed />`

  ```tsx
  <ClerkLoaded>
    <MyCustomSignInForm/>
  </ClerkLoaded>
  <ClerkFailed>
    <ContactSupportBanner/>
  </ClerkFailed>
  ```

  ### `<ClerkDegraded />`

  ```tsx
  <ClerkLoaded>
    <MyCustomPasskeyRegistration />
    <ClerkDegraded>We are experiencing issues, registering a passkey might fail.</ClerkDegraded>
  </ClerkLoaded>
  ```

### Patch Changes

- Updated dependencies [[`4334598`](https://github.com/clerk/javascript/commit/4334598108ff2cfa3c25b5a46117c1c9c65b7974), [`33201bf`](https://github.com/clerk/javascript/commit/33201bf972d6a980617d47ebd776bef76f871833), [`4334598`](https://github.com/clerk/javascript/commit/4334598108ff2cfa3c25b5a46117c1c9c65b7974), [`0ae0403`](https://github.com/clerk/javascript/commit/0ae040303d239b75a3221436354a2c2ecdb85aae)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.16.0

### Minor Changes

- Adjust the CSP configuration option from mode to boolean strict to make it more intuitive ([#5648](https://github.com/clerk/javascript/pull/5648)) by [@jacekradko](https://github.com/jacekradko)

### Patch Changes

- Default `strict` configuration option for CSP to false ([#5652](https://github.com/clerk/javascript/pull/5652)) by [@jacekradko](https://github.com/jacekradko)

- Updated dependencies [[`45486ac`](https://github.com/clerk/javascript/commit/45486acebf4d133efb09a3622a738cdbf4e51d66), [`837692a`](https://github.com/clerk/javascript/commit/837692aa40197b1574783ad36d0d017a771c08e1), [`0c00e59`](https://github.com/clerk/javascript/commit/0c00e59ff4714491650ac9480ae3b327c626d30d), [`6a5f644`](https://github.com/clerk/javascript/commit/6a5f6447a36a635d6201f8bb7619fb844ab21b79)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.15.1

### Patch Changes

- Add support for webhook verification with Next.js Pages Router. ([#5618](https://github.com/clerk/javascript/pull/5618)) by [@wobsoriano](https://github.com/wobsoriano)

  ```ts
  // Next.js Pages Router
  import type { NextApiRequest, NextApiResponse } from 'next';
  import { verifyWebhook } from '@clerk/nextjs/webhooks';

  export const config = {
    api: {
      bodyParser: false,
    },
  };

  export default async function handler(req: NextApiRequest, res: NextApiResponse) {
    try {
      const evt = await verifyWebhook(req);
      // Handle webhook event
      res.status(200).json({ received: true });
    } catch (err) {
      res.status(400).json({ error: 'Webhook verification failed' });
    }
  }

  // tRPC
  import { verifyWebhook } from '@clerk/nextjs/webhooks';

  const webhookRouter = router({
    webhook: publicProcedure.input(/** schema */).mutation(async ({ ctx }) => {
      const evt = await verifyWebhook(ctx.req);
      // Handle webhook event
      return { received: true };
    }),
  });
  ```

- Updated dependencies [[`ab939fd`](https://github.com/clerk/javascript/commit/ab939fdb29150c376280b42f861a188a33f57dcc), [`03284da`](https://github.com/clerk/javascript/commit/03284da6a93a790ce3e3ebbd871c06e19f5a8803), [`7389ba3`](https://github.com/clerk/javascript/commit/7389ba3164ca0d848fb0a9de5d7e9716925fadcc), [`00f16e4`](https://github.com/clerk/javascript/commit/00f16e4c62fc9e965c352a4fd199c7fad8704f79), [`bb35660`](https://github.com/clerk/javascript/commit/bb35660884d04c8a426790ed439592e33434c87f), [`efb5d8c`](https://github.com/clerk/javascript/commit/efb5d8c03b14f6c2b5ecaed55a09869abe76ebbc), [`c2712e7`](https://github.com/clerk/javascript/commit/c2712e7f288271c022b5586b8b4718f57c9b6007), [`aa93f7f`](https://github.com/clerk/javascript/commit/aa93f7f94b5e146eb7166244f7e667213fa210ca), [`a7f3ebc`](https://github.com/clerk/javascript/commit/a7f3ebc63adbab274497ca24279862d2788423c7), [`d3fa403`](https://github.com/clerk/javascript/commit/d3fa4036b7768134131c008c087a90a841f225e5), [`f6ef841`](https://github.com/clerk/javascript/commit/f6ef841125ff21ca8cae731d1f47f3a101d887e1), [`6cba4e2`](https://github.com/clerk/javascript/commit/6cba4e28e904779dd448a7c29d761fcf53465dbf), [`fb6aa20`](https://github.com/clerk/javascript/commit/fb6aa20abe1c0c8579ba8f07343474f915bc22c6), [`e634830`](https://github.com/clerk/javascript/commit/e6348301ab56a7868f24c1b9a4dd9e1d60f6027b), [`f8887b2`](https://github.com/clerk/javascript/commit/f8887b2cbd145e8e49bec890e8b6e02e34178d6a)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.15.0

### Minor Changes

- Add support for feature or plan based authorization ([#5582](https://github.com/clerk/javascript/pull/5582)) by [@panteliselef](https://github.com/panteliselef)

  ## `await auth()`

  ### Plan

  - `(await auth()).has({ plan: "my-plan" })`

  ### Feature

  - `(await auth()).has({ feature: "my-feature" })`

  ### Scoped per user or per org

  - `(await auth()).has({ feature: "org:my-feature" })`
  - `(await auth()).has({ feature: "user:my-feature" })`
  - `(await auth()).has({ plan: "user:my-plan" })`
  - `(await auth()).has({ plan: "org:my-plan" })`

  ## `auth.protect()`

  ### Plan

  - `auth.protect({ plan: "my-plan" })`

  ### Feature

  - `auth.protect({ feature: "my-feature" })`

  ### Scoped per user or per org

  - `auth.protect({ feature: "org:my-feature" })`
  - `auth.protect({ feature: "user:my-feature" })`
  - `auth.protect({ plan: "user:my-plan" })`
  - `auth.protect({ plan: "org:my-plan" })`

  ## `<Protect />`

  ### Plan

  - `<Protect plan="my-plan" />`

  ### Feature

  - `<Protect feature="my-feature" />`

  ### Scoped per user or per org

  - `<Protect feature="org:my-feature" />`
  - `<Protect feature="user:my-feature" />`
  - `<Protect plan="org:my-plan" />`
  - `<Protect plan="user:my-plan" />`

  ## `useAuth()`

  ### Plan

  - `useAuth().has({ plan: "my-plan" })`

  ### Feature

  - `useAuth().has({ feature: "my-feature" })`

  ### Scoped per user or per org

  - `useAuth().has({ feature: "org:my-feature" })`
  - `useAuth().has({ feature: "user:my-feature" })`
  - `useAuth().has({ plan: "user:my-plan" })`
  - `useAuth().has({ plan: "org:my-plan" })`

### Patch Changes

- Improve JSDoc comments ([#5596](https://github.com/clerk/javascript/pull/5596)) by [@LekoArts](https://github.com/LekoArts)

- Updated dependencies [[`431a821`](https://github.com/clerk/javascript/commit/431a821b590835bcf6193a4cbdd234c5e763e08c), [`950ffed`](https://github.com/clerk/javascript/commit/950ffedd5ce93678274c721400fc7464bb1e2f99), [`d3e6c32`](https://github.com/clerk/javascript/commit/d3e6c32864487bb9c4dec361866ec2cd427b7cd0), [`e4d04ae`](https://github.com/clerk/javascript/commit/e4d04aea490ab67e3431729398d3f4c46fc3e7e7), [`431a821`](https://github.com/clerk/javascript/commit/431a821b590835bcf6193a4cbdd234c5e763e08c), [`93068ea`](https://github.com/clerk/javascript/commit/93068ea9eb19d8c8b9c7ade35d0cd860e08049fc), [`431a821`](https://github.com/clerk/javascript/commit/431a821b590835bcf6193a4cbdd234c5e763e08c), [`431a821`](https://github.com/clerk/javascript/commit/431a821b590835bcf6193a4cbdd234c5e763e08c), [`103bc03`](https://github.com/clerk/javascript/commit/103bc03571c8845df205f4c6fd0c871c3368d1d0), [`431a821`](https://github.com/clerk/javascript/commit/431a821b590835bcf6193a4cbdd234c5e763e08c), [`a0cc247`](https://github.com/clerk/javascript/commit/a0cc24764cc2229abae97f7c9183b413609febc7), [`85ed003`](https://github.com/clerk/javascript/commit/85ed003e65802ac02d69d7b671848938c9816c45), [`48438b4`](https://github.com/clerk/javascript/commit/48438b409036088701bda7e1e732d6a51bee8cdc), [`e60e3aa`](https://github.com/clerk/javascript/commit/e60e3aa41630b987b6a481643caf67d70584f2e1), [`65712dc`](https://github.com/clerk/javascript/commit/65712dccb3f3f2bc6028e53406e3f7f31622e961), [`9ee0531`](https://github.com/clerk/javascript/commit/9ee0531c81d1bb260ec0f87130d8394d7825b6d4), [`78d22d4`](https://github.com/clerk/javascript/commit/78d22d443446ac1c0d30b1b93aaf5cddde75a9a3), [`196dcb4`](https://github.com/clerk/javascript/commit/196dcb47928bd22a3382197f8594a590f688faee)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.14.3

### Patch Changes

- Improve JSDoc comments ([#5575](https://github.com/clerk/javascript/pull/5575)) by [@LekoArts](https://github.com/LekoArts)

- Updated dependencies [[`70c9db9`](https://github.com/clerk/javascript/commit/70c9db9f3b51ba034f76e0cc4cf338e7b406d9b1), [`554242e`](https://github.com/clerk/javascript/commit/554242e16e50c92a6afb6ed74c681b04b9f113b5), [`cc1f9a0`](https://github.com/clerk/javascript/commit/cc1f9a0adb7771b615b0f2994a5ac571b59889dd), [`8186cb5`](https://github.com/clerk/javascript/commit/8186cb564575ac3ce97079ec203865bf5deb05ee)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.14.2

### Patch Changes

- Updated dependencies [[`3ad3bc8`](https://github.com/clerk/javascript/commit/3ad3bc8380b354b0cd952eb58eb6c07650efa0f2), [`3ad3bc8`](https://github.com/clerk/javascript/commit/3ad3bc8380b354b0cd952eb58eb6c07650efa0f2), [`cfa94b8`](https://github.com/clerk/javascript/commit/cfa94b88476608edf8c2486e8ec0d3f3f82e0bfb), [`2033919`](https://github.com/clerk/javascript/commit/203391964857b98dae11944799d1e6328439e838), [`1b34bcb`](https://github.com/clerk/javascript/commit/1b34bcb17e1a7f22644c0ea073857c528a8f81b7), [`5f3cc46`](https://github.com/clerk/javascript/commit/5f3cc460b6b775b5a74746758b8cff11649a877a)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.14.1

### Patch Changes

- Updated dependencies [[`f6f275d`](https://github.com/clerk/javascript/commit/f6f275dac5ae83ac0c2016a85a6a0cee9513f224)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.14.0

### Minor Changes

- Update `useAuth` to handle pending sessions as signed-out by default, with opt-out via `useAuth({ treatPendingAsSignedOut: false })` or `<ClerkProvider treatPendingAsSignedOut={false} />` ([#5507](https://github.com/clerk/javascript/pull/5507)) by [@LauraBeatris](https://github.com/LauraBeatris)

- - Introduce `auth().redirectToSignUp()` that can be used in API routes and pages. Originally effort by [@sambarnes](https://github.com/clerk/javascript/pull/5407) ([#5533](https://github.com/clerk/javascript/pull/5533)) by [@panteliselef](https://github.com/panteliselef)

  ```ts
  import { clerkMiddleware } from '@clerk/nextjs/server';

  export default clerkMiddleware(async auth => {
    const { userId, redirectToSignUp } = await auth();

    if (!userId) {
      return redirectToSignUp();
    }
  });
  ```

- Added Content Security Policy (CSP) header generation functionality to `clerkMiddleware` with support for both standard and strict-dynamic modes. Key features: ([#5493](https://github.com/clerk/javascript/pull/5493)) by [@jacekradko](https://github.com/jacekradko)

  - Automatic generation of CSP headers with default security policies compatible with Clerk requirements
  - Support for both standard and strict-dynamic CSP modes
  - Automatic nonce generation for strict-dynamic mode
  - Ability to add custom directives to match project requirements

  Example

  ```
  export default clerkMiddleware(
    async (auth, request) => {
      if (!isPublicRoute(request)) {
        await auth.protect();
      }
    },
    {
      contentSecurityPolicy: {
        mode: "strict-dynamic",
        directives: {
          "connect-src": ["external.api.com"],
          "script-src": ["external.scripts.com"]
        }
      }
    }
  );
  ```

### Patch Changes

- Updated dependencies [[`e1ec52b`](https://github.com/clerk/javascript/commit/e1ec52b93038c9cb24e030dc06e53825a384a480), [`bebb6d8`](https://github.com/clerk/javascript/commit/bebb6d8af66b2bb7a4b3bdf96f9d480e65b31ba2), [`a8180ce`](https://github.com/clerk/javascript/commit/a8180ceef447a13d84eac6a64ed7a04d791d8d64), [`d0d5203`](https://github.com/clerk/javascript/commit/d0d5203e4ee9e2e1bed5c00ef0f87f0130f1d298), [`6112420`](https://github.com/clerk/javascript/commit/6112420889f1577fb16d7bfa706aaffe1090093d), [`2cceeba`](https://github.com/clerk/javascript/commit/2cceeba177ecf5a28138da308cbba18015e3a646), [`026ad57`](https://github.com/clerk/javascript/commit/026ad5717cf661182c219fb0ffab4522083065c3), [`9b25e31`](https://github.com/clerk/javascript/commit/9b25e311cf5e15f896c7948faa42ace45df364c5)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.13.0

### Minor Changes

- Introduce a `verifyWebhook()` function to verify incoming Clerk webhook requests and process the payload. This function handles webhook signature verification using `Svix` and is now available across all backend and fullstack SDKs. ([#5468](https://github.com/clerk/javascript/pull/5468)) by [@wobsoriano](https://github.com/wobsoriano)

  To get started, install [`svix`](https://www.npmjs.com/package/svix), which Clerk uses to verify its webhooks:

  ```shell
  npm install svix
  ```

  Then in your webhook route handler, import `verifyWebhook()` from the Next.js SDK:

  ```ts
  // app/api/webhooks/route.ts
  import { verifyWebhook } from '@clerk/nextjs/webhooks';

  export async function POST(req: Request) {
    try {
      const evt = await verifyWebhook(req);

      // Do something with payload
      const { id } = evt.data;
      const eventType = evt.type;
      console.log(`Received webhook with ID ${id} and event type of ${eventType}`);
      console.log('Webhook payload:', body);

      return new Response('Webhook received', { status: 200 });
    } catch (err) {
      console.error('Error: Could not verify webhook:', err);
      return new Response('Error: Verification error', {
        status: 400,
      });
    }
  }
  ```

  For more information on how to sync Clerk data to your app with webhooks, [see our guide](https://clerk.com/docs/webhooks/sync-data).

- Redirect to tasks on `auth.protect` and `auth.redirectToSignIn` ([#5440](https://github.com/clerk/javascript/pull/5440)) by [@LauraBeatris](https://github.com/LauraBeatris)

### Patch Changes

- Fixing a Typing error in clerkMiddleware ([#5470](https://github.com/clerk/javascript/pull/5470)) by [@jacekradko](https://github.com/jacekradko)

- Remove telemtry event from `clerkMiddleware()`. ([#5501](https://github.com/clerk/javascript/pull/5501)) by [@brkalow](https://github.com/brkalow)

- Updated dependencies [[`60a9a51`](https://github.com/clerk/javascript/commit/60a9a51dff7d59e7397536586cf1cfe029bc021b), [`e984494`](https://github.com/clerk/javascript/commit/e984494416dda9a6f04acaaba61f8c2683090961), [`cd6ee92`](https://github.com/clerk/javascript/commit/cd6ee92d5b427ca548216f429ca4e31c6acd263c), [`ec4521b`](https://github.com/clerk/javascript/commit/ec4521b4fe56602f524a0c6d1b09d21aef5d8bd0), [`38828ae`](https://github.com/clerk/javascript/commit/38828ae58d6d4e8e3c60945284930179b2b6bb40), [`f30fa75`](https://github.com/clerk/javascript/commit/f30fa750754f19030f932a666d2bdbdf0d86743d), [`9c68678`](https://github.com/clerk/javascript/commit/9c68678e87047e6312b708b775ebfb23a3e22f8a), [`fe065a9`](https://github.com/clerk/javascript/commit/fe065a934c583174ad4c140e04dedbe6d88fc3a0), [`619cde8`](https://github.com/clerk/javascript/commit/619cde8c532d635d910ebbc08ad6abcc025694b4)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.12.12

### Patch Changes

- Updated dependencies [[`e20fb6b`](https://github.com/clerk/javascript/commit/e20fb6b397fb69c9d5af4e321267b82f12a5f127), [`77e6462`](https://github.com/clerk/javascript/commit/77e64628560cab688af214edb5922e67cd68a951)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.12.11

### Patch Changes

- Updated dependencies [[`1da28a2`](https://github.com/clerk/javascript/commit/1da28a28bf602069b433c15b92df21f682779294), [`a9b618d`](https://github.com/clerk/javascript/commit/a9b618dfa97a0dacc462186c8b2588ad5ddb6902), [`f20dc15`](https://github.com/clerk/javascript/commit/f20dc159f542449e7f5b437b70d3eb3ba04d6975), [`4d9f1ee`](https://github.com/clerk/javascript/commit/4d9f1ee8c22fe1e4a166ff054d0af4d37b829f0a)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.12.10

### Patch Changes

- Updated dependencies [[`27d66a5`](https://github.com/clerk/javascript/commit/27d66a5b252afd18a3491b2746ef2f2f05632f2a), [`466ed13`](https://github.com/clerk/javascript/commit/466ed136af73b59b267d92ad3296039d1c3a4fcc)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.12.9

### Patch Changes

- The majority of Clerk applications are not impacted by the NextJS vulnerability disclosed on 22 MAR 2025. Your application might be impacted if you're not using the latest NextJS release and you do not call auth() in your routes or pages. We still recommend upgrading to the latest NextJS version as soon as possible. ([#5426](https://github.com/clerk/javascript/pull/5426)) by [@nikosdouvlis](https://github.com/nikosdouvlis)

  For more details, please see https://clerk.com/blog/cve-2025-29927

## 6.12.8

### Patch Changes

- Updated dependencies [[`892bc0e`](https://github.com/clerk/javascript/commit/892bc0eee9e0bb04d327eb84b44201fa34806483), [`892bc0e`](https://github.com/clerk/javascript/commit/892bc0eee9e0bb04d327eb84b44201fa34806483)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.12.7

### Patch Changes

- Handle Basic auth gracefully ([#5395](https://github.com/clerk/javascript/pull/5395)) by [@jacekradko](https://github.com/jacekradko)

- Export `isReverificationCancelledError` error helper ([#5396](https://github.com/clerk/javascript/pull/5396)) by [@octoper](https://github.com/octoper)

- Improve observability on keyless failures. ([#5389](https://github.com/clerk/javascript/pull/5389)) by [@panteliselef](https://github.com/panteliselef)

- Updated dependencies [[`facefaf`](https://github.com/clerk/javascript/commit/facefafdaf6d602de0acee9218c66c61a0a9ba24), [`e513333`](https://github.com/clerk/javascript/commit/e5133330a196c5c3742634cc9c3d3233ff488b0d), [`3910ebe`](https://github.com/clerk/javascript/commit/3910ebea85817273f18fd2f3f142dd1c728e2220), [`e513333`](https://github.com/clerk/javascript/commit/e5133330a196c5c3742634cc9c3d3233ff488b0d)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.12.6

### Patch Changes

- Updated dependencies [[`725918d`](https://github.com/clerk/javascript/commit/725918df2e74cea15e9b748aaf103a52df8e8500), [`10247ba`](https://github.com/clerk/javascript/commit/10247ba2d08d98d6c440b254a4b786f4f1e8967a), [`91d0f0b`](https://github.com/clerk/javascript/commit/91d0f0b0dccab7168ad4dc06c8629808938c235f), [`9572bf5`](https://github.com/clerk/javascript/commit/9572bf5bdfb7dc309ec8714989b98ab12174965b), [`39bbc51`](https://github.com/clerk/javascript/commit/39bbc5189a33dc6cebdc269ac2184dc4ffff2534), [`3dddcda`](https://github.com/clerk/javascript/commit/3dddcda191d8f8d6a9b02464f1f6374d3c6aacb9), [`7524943`](https://github.com/clerk/javascript/commit/7524943300d7e693d61cc1820b520abfadec1c64), [`150b5c8`](https://github.com/clerk/javascript/commit/150b5c89477abb0feab15e0a886179473f653cac), [`23c931e`](https://github.com/clerk/javascript/commit/23c931e9e95e6de992549ad499b477aca9a9c344), [`730262f`](https://github.com/clerk/javascript/commit/730262f0f973923c8749b09078c80c2fc966a8ec), [`5601a15`](https://github.com/clerk/javascript/commit/5601a15e69a7d5e2496dcd82541ca3e6d73b0a3f), [`0b18bb1`](https://github.com/clerk/javascript/commit/0b18bb1fe6fa3ded97547bb6b4d2c73030aad329), [`021bc5f`](https://github.com/clerk/javascript/commit/021bc5f40044d34e49956ce3c9b61d833d815b42), [`1a61390`](https://github.com/clerk/javascript/commit/1a61390d3482bd4af58508b972ad89dea56fa224)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.12.5

### Patch Changes

- Include Next.js version in the framework metadata telemetry event. ([#5301](https://github.com/clerk/javascript/pull/5301)) by [@panteliselef](https://github.com/panteliselef)

- Switch to `crypto-es` and bundle the dependency to avoid downstream build issues ([#5024](https://github.com/clerk/javascript/pull/5024)) by [@brkalow](https://github.com/brkalow)

- Updated dependencies [[`8182f6711e25cc4a78baa95b023a4158280b31e8`](https://github.com/clerk/javascript/commit/8182f6711e25cc4a78baa95b023a4158280b31e8), [`75879672c5805bfba1caca906ac0729497744164`](https://github.com/clerk/javascript/commit/75879672c5805bfba1caca906ac0729497744164), [`7ec95a7e59033600958aca4b86f3bcd5da947dec`](https://github.com/clerk/javascript/commit/7ec95a7e59033600958aca4b86f3bcd5da947dec), [`3c225d90227141dc62d955e76c7f8e0202524bc7`](https://github.com/clerk/javascript/commit/3c225d90227141dc62d955e76c7f8e0202524bc7), [`2a66c16af08573000bb619607346ac420cd4ce56`](https://github.com/clerk/javascript/commit/2a66c16af08573000bb619607346ac420cd4ce56)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.12.4

### Patch Changes

- Updated dependencies [[`67f1743aa1e0705d89ee6b532007f2686929240b`](https://github.com/clerk/javascript/commit/67f1743aa1e0705d89ee6b532007f2686929240b)]:
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.12.3

### Patch Changes

- Re-export `WaitlistEntryJSON` from `@clerk/nextjs/server`. ([#5148](https://github.com/clerk/javascript/pull/5148)) by [@mackenzienolan](https://github.com/mackenzienolan)

- Updated dependencies [[`4fa5e27e33d229492c77e06ca4b26d552ff3d92f`](https://github.com/clerk/javascript/commit/4fa5e27e33d229492c77e06ca4b26d552ff3d92f), [`29a44b0e5c551e52915f284545699010a87e1a48`](https://github.com/clerk/javascript/commit/29a44b0e5c551e52915f284545699010a87e1a48), [`4d7761a24af5390489653923165e55cbf69a8a6d`](https://github.com/clerk/javascript/commit/4d7761a24af5390489653923165e55cbf69a8a6d)]:
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.12.2

### Patch Changes

- Adjusts logic for router cache busting in Next.js 15. Fixes an issue where a server action was getting called unnecessarily during sign out. ([#5171](https://github.com/clerk/javascript/pull/5171)) by [@brkalow](https://github.com/brkalow)

- Updated dependencies [[`3d436484eb01b42e0008b6675f4be68f15d21079`](https://github.com/clerk/javascript/commit/3d436484eb01b42e0008b6675f4be68f15d21079)]:
  - @clerk/[email protected]

## 6.12.1

### Patch Changes

- Track usage of pages and app router. ([#5236](https://github.com/clerk/javascript/pull/5236)) by [@panteliselef](https://github.com/panteliselef)

- Updated dependencies [[`28179323d9891bd13625e32c5682a3276e73cdae`](https://github.com/clerk/javascript/commit/28179323d9891bd13625e32c5682a3276e73cdae), [`7ae77b74326e378bf161e29886ee82e1556d9840`](https://github.com/clerk/javascript/commit/7ae77b74326e378bf161e29886ee82e1556d9840), [`c5c246ce91c01db9f1eaccbd354f646bcd24ec0a`](https://github.com/clerk/javascript/commit/c5c246ce91c01db9f1eaccbd354f646bcd24ec0a), [`b707e942bfd434ff8a3b9a9fadf9d1b694d702c8`](https://github.com/clerk/javascript/commit/b707e942bfd434ff8a3b9a9fadf9d1b694d702c8), [`bcbe5f6382ebcc70ef4fddb950d052bf6b7d693a`](https://github.com/clerk/javascript/commit/bcbe5f6382ebcc70ef4fddb950d052bf6b7d693a), [`382c30240f563e58bc4d4832557c6825da40ce7f`](https://github.com/clerk/javascript/commit/382c30240f563e58bc4d4832557c6825da40ce7f)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.12.0

### Minor Changes

- Introduce `EmailLinkErrorCodeStatus` to support users in custom flows and mark `EmailLinkErrorCode` as deprecated. ([#5142](https://github.com/clerk/javascript/pull/5142)) by [@alexcarpenter](https://github.com/alexcarpenter)

  ```diff
  - import { EmailLinkErrorCode } from '@clerk/nextjs/errors'
  + import { EmailLinkErrorCodeStatus } from '@clerk/nextjs/errors'
  ```

### Patch Changes

- Update `clerkMiddleware` request callback to accept an asynchronous function ([#5154](https://github.com/clerk/javascript/pull/5154)) by [@LauraBeatris](https://github.com/LauraBeatris)

  ```ts
  export default clerkMiddleware(
    (auth, req) => {
      // Add your middleware checks
    },
    async req => {
      const options = await getOptions(req);
      return options;
    },
  );
  ```

- Fix shallow internal-component navigation. ([#5091](https://github.com/clerk/javascript/pull/5091)) by [@panteliselef](https://github.com/panteliselef)

- Updated dependencies [[`d76c4699990b8477745c2584b1b98d5c92f9ace6`](https://github.com/clerk/javascript/commit/d76c4699990b8477745c2584b1b98d5c92f9ace6), [`a9b0087fca3f427f65907b358d9b5bc0c95921d8`](https://github.com/clerk/javascript/commit/a9b0087fca3f427f65907b358d9b5bc0c95921d8), [`92d17d7c087470b262fa5407cb6720fe6b17d333`](https://github.com/clerk/javascript/commit/92d17d7c087470b262fa5407cb6720fe6b17d333), [`30f6f3808e9b3778d5a9eb275780f94f9e9c7651`](https://github.com/clerk/javascript/commit/30f6f3808e9b3778d5a9eb275780f94f9e9c7651)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.11.3

### Patch Changes

- Updated dependencies [[`dd2cbfe9f30358b6b298901bb52fa378b0acdca3`](https://github.com/clerk/javascript/commit/dd2cbfe9f30358b6b298901bb52fa378b0acdca3), [`dd2cbfe9f30358b6b298901bb52fa378b0acdca3`](https://github.com/clerk/javascript/commit/dd2cbfe9f30358b6b298901bb52fa378b0acdca3), [`570d8386f6aa596bf7bb1659bdddb8dd4d992b1d`](https://github.com/clerk/javascript/commit/570d8386f6aa596bf7bb1659bdddb8dd4d992b1d), [`570d8386f6aa596bf7bb1659bdddb8dd4d992b1d`](https://github.com/clerk/javascript/commit/570d8386f6aa596bf7bb1659bdddb8dd4d992b1d), [`128fd8909ae083c0d274dee7c6810e8574e1ce33`](https://github.com/clerk/javascript/commit/128fd8909ae083c0d274dee7c6810e8574e1ce33)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.11.2

### Patch Changes

- Fixes the "Unable to verify request ..." error occured when switching keys from an application running on keyless and a regular claimed application and there is a user signed-in. ([#5085](https://github.com/clerk/javascript/pull/5085)) by [@panteliselef](https://github.com/panteliselef)

- Adds types for organization domain webhook events ([#4819](https://github.com/clerk/javascript/pull/4819)) by [@ijxy](https://github.com/ijxy)

- Updated dependencies [[`ce44176efd4f2132001c49b815cbee409463bbea`](https://github.com/clerk/javascript/commit/ce44176efd4f2132001c49b815cbee409463bbea), [`f41081c563ddd2afc05b837358e0de087ae0c895`](https://github.com/clerk/javascript/commit/f41081c563ddd2afc05b837358e0de087ae0c895), [`767ac85fe6ce0ee0594c923e9af701bb05f40a0b`](https://github.com/clerk/javascript/commit/767ac85fe6ce0ee0594c923e9af701bb05f40a0b), [`225b38c7187d31fc755155ea99834ca03894d36b`](https://github.com/clerk/javascript/commit/225b38c7187d31fc755155ea99834ca03894d36b), [`c0f2daebe15642cd0cef16aafa1df1ece8ef771d`](https://github.com/clerk/javascript/commit/c0f2daebe15642cd0cef16aafa1df1ece8ef771d), [`429f1bfe5f7a554ab1fdf265475ba6c8b3f78472`](https://github.com/clerk/javascript/commit/429f1bfe5f7a554ab1fdf265475ba6c8b3f78472), [`5faa60e805ef14d9496a6caf9ff4dd8ec500c7e2`](https://github.com/clerk/javascript/commit/5faa60e805ef14d9496a6caf9ff4dd8ec500c7e2)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.11.1

### Patch Changes

- Updated dependencies [[`0fa449cd09c9973297464a14f785895e3ddcab4d`](https://github.com/clerk/javascript/commit/0fa449cd09c9973297464a14f785895e3ddcab4d)]:
  - @clerk/[email protected]

## 6.11.0

### Minor Changes

- Enable Keyless by default. To disable keyless use `NEXT_PUBLIC_CLERK_KEYLESS_DISABLED=1`. ([#4898](https://github.com/clerk/javascript/pull/4898)) by [@panteliselef](https://github.com/panteliselef)

### Patch Changes

- Bug fix: On keyless avoid infinite redirect loop when page does not exist and application is attempting to sync state with middleware. ([#5073](https://github.com/clerk/javascript/pull/5073)) by [@panteliselef](https://github.com/panteliselef)

## 6.10.6

### Patch Changes

- Updated dependencies [[`d3152be7f01fbb5ca26aeddc2437021f4b7ecc83`](https://github.com/clerk/javascript/commit/d3152be7f01fbb5ca26aeddc2437021f4b7ecc83), [`f976349243da2b75023e59e802460e6f3592ebbd`](https://github.com/clerk/javascript/commit/f976349243da2b75023e59e802460e6f3592ebbd)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.10.5

### Patch Changes

- Previously the `createPathMatcher()` function was re-implemented both in `@clerk/astro` and `@clerk/nextjs`, this PR moves this logic to `@clerk/shared`. ([#5043](https://github.com/clerk/javascript/pull/5043)) by [@wobsoriano](https://github.com/wobsoriano)

  You can use it like so:

  ```ts
  import { createPathMatcher } from '@clerk/shared/pathMatcher';
  ```

- Improve JSDoc comments to provide better IntelliSense in your IDE ([#5053](https://github.com/clerk/javascript/pull/5053)) by [@LekoArts](https://github.com/LekoArts)

- Updated dependencies [[`26225f2c31a22560f7ece2e02f1d0080b5b89520`](https://github.com/clerk/javascript/commit/26225f2c31a22560f7ece2e02f1d0080b5b89520), [`833693a6792b621e72162d70673e7bdfa84a69b6`](https://github.com/clerk/javascript/commit/833693a6792b621e72162d70673e7bdfa84a69b6)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.10.4

### Patch Changes

- Mark keyless onboarding as complete when stored keys match explicit keys ([#4971](https://github.com/clerk/javascript/pull/4971)) by [@panteliselef](https://github.com/panteliselef)

- Gracefully handle failure to create keyless. ([#5015](https://github.com/clerk/javascript/pull/5015)) by [@panteliselef](https://github.com/panteliselef)

- Bug fix: Remove warning for accessing Node APIs when running `next build` with `clerkMiddleware` imported. ([#5028](https://github.com/clerk/javascript/pull/5028)) by [@panteliselef](https://github.com/panteliselef)

- Updated dependencies [[`a309be354275b91a7b17d5a67e8ef6aa230a9935`](https://github.com/clerk/javascript/commit/a309be354275b91a7b17d5a67e8ef6aa230a9935), [`4773d0ad4ed27928fa53357906c0f3a349b9f871`](https://github.com/clerk/javascript/commit/4773d0ad4ed27928fa53357906c0f3a349b9f871), [`1345cb487970a7347351897e80dfb829d85c41ea`](https://github.com/clerk/javascript/commit/1345cb487970a7347351897e80dfb829d85c41ea)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.10.3

### Patch Changes

- Improve error messages when `clerkMiddleware` is missing by suggesting the correct path to place the `middleware.ts` file. ([#4979](https://github.com/clerk/javascript/pull/4979)) by [@panteliselef](https://github.com/panteliselef)

- Improve JSDoc comments to provide you with better IntelliSense information in your IDE ([#4994](https://github.com/clerk/javascript/pull/4994)) by [@LekoArts](https://github.com/LekoArts)

- Updated dependencies [[`57c983fdc2b8d883623a2294daae0ac6c02c48f6`](https://github.com/clerk/javascript/commit/57c983fdc2b8d883623a2294daae0ac6c02c48f6), [`a26cf0ff10c76244975c454fdf6c615475d4bcd5`](https://github.com/clerk/javascript/commit/a26cf0ff10c76244975c454fdf6c615475d4bcd5), [`dd58c2507f8a7af4ebfc1241e2672a5678a83eaa`](https://github.com/clerk/javascript/commit/dd58c2507f8a7af4ebfc1241e2672a5678a83eaa)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.10.2

### Patch Changes

- Avoid calling `safeParseClerkFile` before checking if keyless is allowed. ([#4981](https://github.com/clerk/javascript/pull/4981)) by [@panteliselef](https://github.com/panteliselef)

- Updated dependencies [[`2179690c10a61b117e82fdd566b34939f4d28bc1`](https://github.com/clerk/javascript/commit/2179690c10a61b117e82fdd566b34939f4d28bc1), [`bdb537a9902c0f0ae58ca1d4b7590d929f28fedb`](https://github.com/clerk/javascript/commit/bdb537a9902c0f0ae58ca1d4b7590d929f28fedb)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.10.1

### Patch Changes

- Append `return_url` when logging the claimUrl for on Keyless. ([#4958](https://github.com/clerk/javascript/pull/4958)) by [@panteliselef](https://github.com/panteliselef)

- Updated dependencies [[`f87ede848265d75ea1e880a3ab80c53a250f42cf`](https://github.com/clerk/javascript/commit/f87ede848265d75ea1e880a3ab80c53a250f42cf), [`e0cea9a9bf8b90858067154cba9c149d1634dc91`](https://github.com/clerk/javascript/commit/e0cea9a9bf8b90858067154cba9c149d1634dc91), [`6126cc98281bca96797fd8a55b6ec6aeda397e46`](https://github.com/clerk/javascript/commit/6126cc98281bca96797fd8a55b6ec6aeda397e46), [`6e096564a459db4eaf953e99e570905b10be6c84`](https://github.com/clerk/javascript/commit/6e096564a459db4eaf953e99e570905b10be6c84)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.10.0

### Minor Changes

- Display keyless prompt until the developer manually dismisses it. ([#4940](https://github.com/clerk/javascript/pull/4940)) by [@panteliselef](https://github.com/panteliselef)

### Patch Changes

- Decrease frequency of logs related to Keyless. ([#4953](https://github.com/clerk/javascript/pull/4953)) by [@panteliselef](https://github.com/panteliselef)

- Updated dependencies [[`fe3e49f61acefe8d7f1992405f7cb415fea2e5c8`](https://github.com/clerk/javascript/commit/fe3e49f61acefe8d7f1992405f7cb415fea2e5c8), [`4427c4702f64d4f28f7564ce5889d41e260aa519`](https://github.com/clerk/javascript/commit/4427c4702f64d4f28f7564ce5889d41e260aa519)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.9.15

### Patch Changes

- Updated dependencies [[`418ec5c62c4eb600566faab07684c068a29007e3`](https://github.com/clerk/javascript/commit/418ec5c62c4eb600566faab07684c068a29007e3)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.9.14

### Patch Changes

- Bug fix: Running `build` with on Keyless mode should not prevent `<ClerkProvider/>` throwing an error for missing publishable key. ([#4932](https://github.com/clerk/javascript/pull/4932)) by [@panteliselef](https://github.com/panteliselef)

- Updated dependencies [[`9eef7713212378351e8e01628611eaa18de250e8`](https://github.com/clerk/javascript/commit/9eef7713212378351e8e01628611eaa18de250e8)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.9.13

### Patch Changes

- Updated dependencies [[`7ffc99b48977b9f6c74c0c71c500b60cb8aba65e`](https://github.com/clerk/javascript/commit/7ffc99b48977b9f6c74c0c71c500b60cb8aba65e)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.9.12

### Patch Changes

- Updated dependencies [[`4af35380f18d1d06c15ad1f5745c2d5a1ab1c37d`](https://github.com/clerk/javascript/commit/4af35380f18d1d06c15ad1f5745c2d5a1ab1c37d), [`aa48b1f9e890b2402e9d05989a4820141076f7bf`](https://github.com/clerk/javascript/commit/aa48b1f9e890b2402e9d05989a4820141076f7bf), [`53bd34fff38b17498edf66cc4bc2d42d707f28dc`](https://github.com/clerk/javascript/commit/53bd34fff38b17498edf66cc4bc2d42d707f28dc)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.9.11

### Patch Changes

- Handle `dynamicIO` errors when request apis are accessed on prerender. This fixes issues with `ppr: true, dynamicIO: true` when using `<ClerkProvider dynamic/>`. ([#4836](https://github.com/clerk/javascript/pull/4836)) by [@panteliselef](https://github.com/panteliselef)

- Add descriptive comment when appending `.clerk/` to `.gitignore`. ([#4901](https://github.com/clerk/javascript/pull/4901)) by [@panteliselef](https://github.com/panteliselef)

- Updated dependencies [[`e9e8834f7bfc953c3ae66fedf65b6952689c49da`](https://github.com/clerk/javascript/commit/e9e8834f7bfc953c3ae66fedf65b6952689c49da), [`fd7a5be73db3acaa7daeb9b15af73c2ce99d03a6`](https://github.com/clerk/javascript/commit/fd7a5be73db3acaa7daeb9b15af73c2ce99d03a6), [`7182b93101518a389cc13859f8a0fe8bd6f37a06`](https://github.com/clerk/javascript/commit/7182b93101518a389cc13859f8a0fe8bd6f37a06)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.9.10

### Patch Changes

- Fix typo for "keyless mode" messages ([#4862](https://github.com/clerk/javascript/pull/4862)) by [@panteliselef](https://github.com/panteliselef)

- Bug fix: Avoid infinite redirect loop on Keyless mode by detecting if `clerkMiddleware()` is used in the application. ([#4879](https://github.com/clerk/javascript/pull/4879)) by [@panteliselef](https://github.com/panteliselef)

- Updated dependencies [[`72d29538f587934309da96fc1c6d454bb9aad21e`](https://github.com/clerk/javascript/commit/72d29538f587934309da96fc1c6d454bb9aad21e), [`84867be0215d7f74d8be7b4f803e2c3a241e2f89`](https://github.com/clerk/javascript/commit/84867be0215d7f74d8be7b4f803e2c3a241e2f89), [`fa967ce79e1b5f2e8216eb09900879cb825fa528`](https://github.com/clerk/javascript/commit/fa967ce79e1b5f2e8216eb09900879cb825fa528)]:
  - @clerk/[email protected]

## 6.9.9

### Patch Changes

- Always use nextUrl to build rewritten URLs ([#4856](https://github.com/clerk/javascript/pull/4856)) by [@dstaley](https://github.com/dstaley)

## 6.9.8

### Patch Changes

- Add type-level validation to prevent server-side usage of system permissions ([#4816](https://github.com/clerk/javascript/pull/4816)) by [@LauraBeatris](https://github.com/LauraBeatris)

  System permissions (e.g., `org:sys_domains:manage`) are intentionally excluded from session claims to maintain reasonable JWT sizes. For more information, refer to our docs: https://clerk.com/docs/organizations/roles-permissions#system-permissions

- Updated dependencies [[`44cab6038af0a4d23869b3b292ece742fbbc4d85`](https://github.com/clerk/javascript/commit/44cab6038af0a4d23869b3b292ece742fbbc4d85)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.9.7

### Patch Changes

- Updated dependencies [[`80e1117631d35834705119a79cdcf9e0ed423fdd`](https://github.com/clerk/javascript/commit/80e1117631d35834705119a79cdcf9e0ed423fdd)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.9.6

### Patch Changes

- Updated dependencies [[`b5eb15bf81d94456309d6ca44ad423a4175d50b6`](https://github.com/clerk/javascript/commit/b5eb15bf81d94456309d6ca44ad423a4175d50b6), [`b933a2ba8112aefbabd7fe3313b89e083452d2dd`](https://github.com/clerk/javascript/commit/b933a2ba8112aefbabd7fe3313b89e083452d2dd)]:
  - @clerk/[email protected]

## 6.9.5

### Patch Changes

- Updated dependencies [[`b3300c84a42276bd071a37addbd1ca6888ed9d7c`](https://github.com/clerk/javascript/commit/b3300c84a42276bd071a37addbd1ca6888ed9d7c), [`c9da04636ffe1ba804a1ce5e5b79027d3a2344d2`](https://github.com/clerk/javascript/commit/c9da04636ffe1ba804a1ce5e5b79027d3a2344d2)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.9.4

### Patch Changes

- Updated dependencies [[`84ccb0049041534f111be65f7c7d4d6120069446`](https://github.com/clerk/javascript/commit/84ccb0049041534f111be65f7c7d4d6120069446)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.9.3

### Patch Changes

- Improves the error message when changing keys in development causes a subsequent request to fail. ([#4787](https://github.com/clerk/javascript/pull/4787)) by [@panteliselef](https://github.com/panteliselef)

- Updated dependencies []:
  - @clerk/[email protected]

## 6.9.2

### Patch Changes

- Updated dependencies [[`aeafa7c5efd50c893d088ac99199d7eaecc04025`](https://github.com/clerk/javascript/commit/aeafa7c5efd50c893d088ac99199d7eaecc04025), [`acd9326ef2d6942b981b3ee59c4b20ddd303323d`](https://github.com/clerk/javascript/commit/acd9326ef2d6942b981b3ee59c4b20ddd303323d)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.9.1

### Patch Changes

- Using the same peerDependencies semver for react and react-dom ([#4758](https://github.com/clerk/javascript/pull/4758)) by [@jacekradko](https://github.com/jacekradko)

- Hide warning about missing `CLERK_ENCRYPTION_KEY` when the secret key is not explicitly provided as option to `clerkMiddleware`. ([#4766](https://github.com/clerk/javascript/pull/4766)) by [@panteliselef](https://github.com/panteliselef)

- Introduce `__internal_copyInstanceKeysUrl` as property in `ClerkOptions`. It is intented for internal usage from other Clerk SDKs and will be used in Keyless mode. ([#4755](https://github.com/clerk/javascript/pull/4755)) by [@panteliselef](https://github.com/panteliselef)

- Support `unstable_rethrow` usage inside `clerkMiddleware()` for the canary version of `notFound()`. ([#4727](https://github.com/clerk/javascript/pull/4727)) by [@panteliselef](https://github.com/panteliselef)

- Updated dependencies [[`66ad299e4b6496ea4a93799de0f1ecfad920ddad`](https://github.com/clerk/javascript/commit/66ad299e4b6496ea4a93799de0f1ecfad920ddad), [`dd3fdc7b2a96ddb90b33c6f1cefb055a60f99a9d`](https://github.com/clerk/javascript/commit/dd3fdc7b2a96ddb90b33c6f1cefb055a60f99a9d), [`e1748582d0c89462f48a482a7805871b7065fa19`](https://github.com/clerk/javascript/commit/e1748582d0c89462f48a482a7805871b7065fa19), [`7f7edcaa8228c26d19e9081979100ada7e982095`](https://github.com/clerk/javascript/commit/7f7edcaa8228c26d19e9081979100ada7e982095), [`e1748582d0c89462f48a482a7805871b7065fa19`](https://github.com/clerk/javascript/commit/e1748582d0c89462f48a482a7805871b7065fa19), [`dd3fdc7b2a96ddb90b33c6f1cefb055a60f99a9d`](https://github.com/clerk/javascript/commit/dd3fdc7b2a96ddb90b33c6f1cefb055a60f99a9d)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.9.0

### Minor Changes

- Switching to use ^ for semver ranges of internal @clerk/ production dependencies. ([#4664](https://github.com/clerk/javascript/pull/4664)) by [@jacekradko](https://github.com/jacekradko)

### Patch Changes

- Updated dependencies [[`9d656c16bc78ac31b59b5edbd25118dfc33c4469`](https://github.com/clerk/javascript/commit/9d656c16bc78ac31b59b5edbd25118dfc33c4469), [`ffa631d2480cfe77bf08c61b1302ace308e5b630`](https://github.com/clerk/javascript/commit/ffa631d2480cfe77bf08c61b1302ace308e5b630), [`0266f6a73fc34748a86603bc89b6125d6bbb679b`](https://github.com/clerk/javascript/commit/0266f6a73fc34748a86603bc89b6125d6bbb679b)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.8.3

### Patch Changes

- Updated dependencies [[`cd72a27a75863dfd94b0a00ed5b2d03231556bc0`](https://github.com/clerk/javascript/commit/cd72a27a75863dfd94b0a00ed5b2d03231556bc0)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.8.2

### Patch Changes

- Updated dependencies [[`fe75ced8a7d8b8a28839430444588ee173b5230a`](https://github.com/clerk/javascript/commit/fe75ced8a7d8b8a28839430444588ee173b5230a), [`1b86a1da34ce4bc309f69980ac13a691a0a633c2`](https://github.com/clerk/javascript/commit/1b86a1da34ce4bc309f69980ac13a691a0a633c2)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.8.1

### Patch Changes

- Updated dependencies [[`4cb22548da81dd8b186a6ef1cf120aea99c85c62`](https://github.com/clerk/javascript/commit/4cb22548da81dd8b186a6ef1cf120aea99c85c62)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.8.0

### Minor Changes

- A new **experimental** feature is available: "Keyless mode" ([#4602](https://github.com/clerk/javascript/pull/4602)) by [@panteliselef](https://github.com/panteliselef)

  Normally, in order to start a Clerk + Next.js application you need to provide a publishable key and secret key. With "Keyless mode" activated you no longer need to provide these two keys to start your Clerk application. These keys will be automatically generated and the application can be claimed with your account either through a UI prompt or with a URL in your terminal.

  **Requirements**:

  - You need to use Next.js `14.2.0` or later
  - You need to set the environment variable `NEXT_PUBLIC_CLERK_ENABLE_KEYLESS=true`

### Patch Changes

- Updated dependencies [[`3f640805d2a4e1616aafa56f6848d6657911bb99`](https://github.com/clerk/javascript/commit/3f640805d2a4e1616aafa56f6848d6657911bb99), [`3f640805d2a4e1616aafa56f6848d6657911bb99`](https://github.com/clerk/javascript/commit/3f640805d2a4e1616aafa56f6848d6657911bb99), [`550c7e9851329688e37be29b83ea0c3b12482af7`](https://github.com/clerk/javascript/commit/550c7e9851329688e37be29b83ea0c3b12482af7), [`3f640805d2a4e1616aafa56f6848d6657911bb99`](https://github.com/clerk/javascript/commit/3f640805d2a4e1616aafa56f6848d6657911bb99)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.7.1

### Patch Changes

- Updated dependencies [[`0bc3ccc5bd4a93121bb7e7d6a32271af9c31f8c3`](https://github.com/clerk/javascript/commit/0bc3ccc5bd4a93121bb7e7d6a32271af9c31f8c3), [`0bc3ccc5bd4a93121bb7e7d6a32271af9c31f8c3`](https://github.com/clerk/javascript/commit/0bc3ccc5bd4a93121bb7e7d6a32271af9c31f8c3)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.7.0

### Minor Changes

- Remove usage of `ezheaders` ([#4706](https://github.com/clerk/javascript/pull/4706)) by [@jacekradko](https://github.com/jacekradko)

### Patch Changes

- Updated dependencies [[`4e5e7f463c12893a21cb3b5f9317fc3f2945879b`](https://github.com/clerk/javascript/commit/4e5e7f463c12893a21cb3b5f9317fc3f2945879b)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.6.0

### Minor Changes

- Drop path routing requirement for `<CreateOrganization/>`. ([#4687](https://github.com/clerk/javascript/pull/4687)) by [@panteliselef](https://github.com/panteliselef)

### Patch Changes

- Updated dependencies [[`8ee5d84995fa17532491ff96efac5738c9bcd9ef`](https://github.com/clerk/javascript/commit/8ee5d84995fa17532491ff96efac5738c9bcd9ef), [`09fedd1df155d30cc055ce701b133aa6470e9b47`](https://github.com/clerk/javascript/commit/09fedd1df155d30cc055ce701b133aa6470e9b47), [`b6aa589f75be62a89a3853d496176ed2f2c0e2c5`](https://github.com/clerk/javascript/commit/b6aa589f75be62a89a3853d496176ed2f2c0e2c5), [`235eaae4c3c9400492fca47d20a47c7081041565`](https://github.com/clerk/javascript/commit/235eaae4c3c9400492fca47d20a47c7081041565)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.5.2

### Patch Changes

- Warn for deprecated support for `13.x` and `14.0.x` Next.js versions. ([#4657](https://github.com/clerk/javascript/pull/4657)) by [@panteliselef](https://github.com/panteliselef)

- Updated dependencies [[`8a28d1f403309f692d9332704f07effbf39d056d`](https://github.com/clerk/javascript/commit/8a28d1f403309f692d9332704f07effbf39d056d), [`8a28d1f403309f692d9332704f07effbf39d056d`](https://github.com/clerk/javascript/commit/8a28d1f403309f692d9332704f07effbf39d056d)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.5.1

### Patch Changes

- - Re-export `isClerkRuntimeError` from `@clerk/clerk-react/errors`. ([#4656](https://github.com/clerk/javascript/pull/4656)) by [@panteliselef](https://github.com/panteliselef)

  - Fixes and issue where `isClerkAPIError` would only exist in the client bundle.

- Updated dependencies [[`115fd0c32443c6fc4e692c0ebdd60c092e57057e`](https://github.com/clerk/javascript/commit/115fd0c32443c6fc4e692c0ebdd60c092e57057e), [`0a1807552dcf0501a97f60b4df0280525bca9743`](https://github.com/clerk/javascript/commit/0a1807552dcf0501a97f60b4df0280525bca9743)]:
  - @clerk/[email protected]

## 6.5.0

### Minor Changes

- Introduce the `useReverification()` hook that handles the session reverification flow: ([#4536](https://github.com/clerk/javascript/pull/4536)) by [@panteliselef](https://github.com/panteliselef)

  - Replaces `__experimental_useReverification` with `useReverification`
    Also replaces the following APIs:
  - `____experimental_reverificationError` -> `__reverificationError`
  - `__experimental_reverificationErrorResponse` -> `reverificationErrorResponse`

### Patch Changes

- Updated dependencies [[`4da28fa857d1e5538eb5bbe28ecc4bf9dba1ce7d`](https://github.com/clerk/javascript/commit/4da28fa857d1e5538eb5bbe28ecc4bf9dba1ce7d), [`fe9e147e366153d664af7fc325655ecb299a1f9d`](https://github.com/clerk/javascript/commit/fe9e147e366153d664af7fc325655ecb299a1f9d), [`fe9e147e366153d664af7fc325655ecb299a1f9d`](https://github.com/clerk/javascript/commit/fe9e147e366153d664af7fc325655ecb299a1f9d), [`fe9e147e366153d664af7fc325655ecb299a1f9d`](https://github.com/clerk/javascript/commit/fe9e147e366153d664af7fc325655ecb299a1f9d), [`d84d7e31235c5c7da3415981dc76db4473a71a39`](https://github.com/clerk/javascript/commit/d84d7e31235c5c7da3415981dc76db4473a71a39), [`fe9e147e366153d664af7fc325655ecb299a1f9d`](https://github.com/clerk/javascript/commit/fe9e147e366153d664af7fc325655ecb299a1f9d), [`dce4f7ffca7248c0500f0ec9a978672b1f2fad69`](https://github.com/clerk/javascript/commit/dce4f7ffca7248c0500f0ec9a978672b1f2fad69)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.4.2

### Patch Changes

- Updated dependencies [[`c70994b5b6f92a6550dfe37547f01bbfa810c223`](https://github.com/clerk/javascript/commit/c70994b5b6f92a6550dfe37547f01bbfa810c223), [`7623a99594e7329200b6b374e483152d7679ce66`](https://github.com/clerk/javascript/commit/7623a99594e7329200b6b374e483152d7679ce66)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.4.1

### Patch Changes

- Updated dependencies [[`e47eb5882a7fd4a8dee25933c6644790d6ea3407`](https://github.com/clerk/javascript/commit/e47eb5882a7fd4a8dee25933c6644790d6ea3407), [`273d16cb0665d4d960838cb294dc356f41814745`](https://github.com/clerk/javascript/commit/273d16cb0665d4d960838cb294dc356f41814745), [`6b0961765e1f3d09679be4b163fa13ac7dd97191`](https://github.com/clerk/javascript/commit/6b0961765e1f3d09679be4b163fa13ac7dd97191)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.4.0

### Minor Changes

- Rename `reverificationMismatch` to `reverificationError`. ([#4582](https://github.com/clerk/javascript/pull/4582)) by [@panteliselef](https://github.com/panteliselef)

- Add `initialValues` option to `<SignUpButton />` component. ([#4567](https://github.com/clerk/javascript/pull/4567)) by [@alexcarpenter](https://github.com/alexcarpenter)

### Patch Changes

- Removing error in dev when useAuth() is not wrapped in <ClerkProvider dynamic /> ([#4588](https://github.com/clerk/javascript/pull/4588)) by [@jacekradko](https://github.com/jacekradko)

- Updated dependencies [[`536fa996ff84a545678a3036b28409824d1c00dd`](https://github.com/clerk/javascript/commit/536fa996ff84a545678a3036b28409824d1c00dd), [`b2671affd230eed176ac03af516307898d371757`](https://github.com/clerk/javascript/commit/b2671affd230eed176ac03af516307898d371757), [`b28c5e8bc44885bf6b1533df48e872ba90c387da`](https://github.com/clerk/javascript/commit/b28c5e8bc44885bf6b1533df48e872ba90c387da), [`6c424e179850f520ae738e816bf0423a55ddf3ef`](https://github.com/clerk/javascript/commit/6c424e179850f520ae738e816bf0423a55ddf3ef)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.3.4

### Patch Changes

- Updated dependencies [[`46faeb6f59b19c963fb137c858347525b1cd9e19`](https://github.com/clerk/javascript/commit/46faeb6f59b19c963fb137c858347525b1cd9e19), [`ea6c52dd751abe38b350ee07f148652c24125e22`](https://github.com/clerk/javascript/commit/ea6c52dd751abe38b350ee07f148652c24125e22)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.3.3

### Patch Changes

- Updated dependencies [[`1c0b5001f7f975a2f3f54ad692526ecf7257847e`](https://github.com/clerk/javascript/commit/1c0b5001f7f975a2f3f54ad692526ecf7257847e), [`6217a3f7c94311d49f873214bd406961e0b8d6f7`](https://github.com/clerk/javascript/commit/6217a3f7c94311d49f873214bd406961e0b8d6f7), [`1783025cdb94c447028704c2121fa0b8af785904`](https://github.com/clerk/javascript/commit/1783025cdb94c447028704c2121fa0b8af785904)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.3.2

### Patch Changes

- Updated dependencies [[`ff4ebeba6c2a77c247a946070b56bdb2153d1588`](https://github.com/clerk/javascript/commit/ff4ebeba6c2a77c247a946070b56bdb2153d1588)]:
  - @clerk/[email protected]

## 6.3.1

### Patch Changes

- Updated dependencies [[`7dbad4c5abd226d7b10941a626ead5d85b1a3f24`](https://github.com/clerk/javascript/commit/7dbad4c5abd226d7b10941a626ead5d85b1a3f24)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.3.0

### Minor Changes

- Introduce experimental verification helpers exported from `@clerk/nextjs/server` ([#4480](https://github.com/clerk/javascript/pull/4480)) by [@panteliselef](https://github.com/panteliselef)

  - \_\_experimental_reverificationMismatch
  - \_\_experimental_reverificationMismatchResponse

### Patch Changes

- Fixes issues in `ClerkRouter` that were causing inaccurate pathnames within Elements flows. Also fixes a dependency issue where `@clerk/elements` was pulling in the wrong version of `@clerk/shared`. ([#4513](https://github.com/clerk/javascript/pull/4513)) by [@alexcarpenter](https://github.com/alexcarpenter)

- Add timestamp to debug logger output. ([#4479](https://github.com/clerk/javascript/pull/4479)) by [@BRKalow](https://github.com/BRKalow)

- Updated dependencies [[`b185e42e5136de3511a0b37ce9b0030022ba679e`](https://github.com/clerk/javascript/commit/b185e42e5136de3511a0b37ce9b0030022ba679e), [`5a21de1f46df3642828dc27e4862263c9858da2b`](https://github.com/clerk/javascript/commit/5a21de1f46df3642828dc27e4862263c9858da2b), [`f7472e22877f62fc7f3c8d3efe409ff2276fb4a3`](https://github.com/clerk/javascript/commit/f7472e22877f62fc7f3c8d3efe409ff2276fb4a3), [`e10232c56551bf0cffc11246f2ff9aa58ec584d7`](https://github.com/clerk/javascript/commit/e10232c56551bf0cffc11246f2ff9aa58ec584d7), [`e199037b8f484abdeeb9fc24455a1b4b8c31c8dd`](https://github.com/clerk/javascript/commit/e199037b8f484abdeeb9fc24455a1b4b8c31c8dd), [`886e294a8d8c54b39cd5bda88d46b89eace3861e`](https://github.com/clerk/javascript/commit/886e294a8d8c54b39cd5bda88d46b89eace3861e), [`0e443ad7c76643420b50e5b169193e03f6ef79f9`](https://github.com/clerk/javascript/commit/0e443ad7c76643420b50e5b169193e03f6ef79f9), [`cc24c8145f1eea7fb91550f2c3e0bac3993e4320`](https://github.com/clerk/javascript/commit/cc24c8145f1eea7fb91550f2c3e0bac3993e4320)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.2.1

### Patch Changes

- Updated dependencies [[`8a04ae47b8305f994b348301fd8134d5baf02943`](https://github.com/clerk/javascript/commit/8a04ae47b8305f994b348301fd8134d5baf02943)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.2.0

### Minor Changes

- New Feature: Introduce the `<Waitlist />` component and the `waitlist` sign up mode. ([#4376](https://github.com/clerk/javascript/pull/4376)) by [@nikospapcom](https://github.com/nikospapcom)

  - Allow users to request access with an email address via the new `<Waitlist />` component.
  - Show `Join waitlist` prompt from `<SignIn />` component when mode is `waitlist`.
  - Appropriate the text in the Sign Up component when mode is `waitlist`.
  - Added `joinWaitlist()` method in `Clerk` singleton.
  - Added `redirectToWaitlist()` method in `Clerk` singleton to allow user to redirect to waitlist page.

### Patch Changes

- Fixes an issue where Next.js cache invalidation was incorrectly setting a cookie. ([#4478](https://github.com/clerk/javascript/pull/4478)) by [@BRKalow](https://github.com/BRKalow)

- Fix issue within `<ClerkProvider />` where the window object is possibly undefined. ([#4476](https://github.com/clerk/javascript/pull/4476)) by [@alexcarpenter](https://github.com/alexcarpenter)

- Updated dependencies [[`d74a6a7c0f291104c6bba722a8c432814d7b336e`](https://github.com/clerk/javascript/commit/d74a6a7c0f291104c6bba722a8c432814d7b336e), [`1a0c8fe665869e732d3c800bde0f5219fce54301`](https://github.com/clerk/javascript/commit/1a0c8fe665869e732d3c800bde0f5219fce54301), [`0800fc3f1f4e1b6a1d13f5c02557001a283af6e8`](https://github.com/clerk/javascript/commit/0800fc3f1f4e1b6a1d13f5c02557001a283af6e8)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.1.3

### Patch Changes

- Fix static analysis warnings warning during production NextJS builds by [@nikosdouvlis](https://github.com/nikosdouvlis)

- Updates broken Clerk documentation references by [@nikosdouvlis](https://github.com/nikosdouvlis)

- Updated dependencies [[`a7726cc12a824b278f6d2a37cb1901c38c5f70dc`](https://github.com/clerk/javascript/commit/a7726cc12a824b278f6d2a37cb1901c38c5f70dc)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.1.0

### Minor Changes

- Bug fix: For next>=14 applications resolve `__unstable__onBeforeSetActive` once `invalidateCacheAction` resolves. ([#4362](https://github.com/clerk/javascript/pull/4362)) by [@panteliselef](https://github.com/panteliselef)

- Introduce a new experimental hook called `useReverification` that makes it easy to handle reverification errors. ([#4362](https://github.com/clerk/javascript/pull/4362)) by [@panteliselef](https://github.com/panteliselef)

  It returns a high order function (HOF) and allows developers to wrap any function that triggers a fetch request which might fail due to a user's session verification status.
  When such error is returned, the recommended UX is to offer a way to the user to recover by re-verifying their credentials.
  This helper will automatically handle this flow in the developer's behalf, by displaying a modal the end-user can interact with.
  Upon completion, the original request that previously failed, will be retried (only once).

  Example with clerk-js methods.

  ```tsx
  import { __experimental_useReverification as useReverification } from '@clerk/nextjs';

  function DeleteAccount() {
    const { user } = useUser();
    const [deleteUserAccount] = useReverification(() => {
      if (!user) return;
      return user.delete();
    });

    return (
      <>
        <button
          onClick={async () => {
            await deleteUserAccount();
          }}
        >
          Delete account
        </button>
      </>
    );
  }
  ```

- Replace `next/headers` with `ezheaders` ([#4392](https://github.com/clerk/javascript/pull/4392)) by [@panteliselef](https://github.com/panteliselef)

### Patch Changes

- Fixes a bug where `<ClerkProvider dynamic>` would error when rendered in a Next.js 13 application using the App Router. ([#4421](https://github.com/clerk/javascript/pull/4421)) by [@BRKalow](https://github.com/BRKalow)

- Updating peerDependencies for correct ranges ([#4436](https://github.com/clerk/javascript/pull/4436)) by [@jacekradko](https://github.com/jacekradko)

- Updated dependencies [[`69c8f4f21`](https://github.com/clerk/javascript/commit/69c8f4f21410b3db95ac11a23a2b3d1277981bcf), [`f875463da`](https://github.com/clerk/javascript/commit/f875463da9692f2d173b6d5388743cf720750ae3), [`41f2ede56`](https://github.com/clerk/javascript/commit/41f2ede56c82c97df509c5a28b7637862121b935), [`5be7ca9fd`](https://github.com/clerk/javascript/commit/5be7ca9fd239c937cc88e20ce8f5bfc9f3b84f22), [`08c5a2add`](https://github.com/clerk/javascript/commit/08c5a2add6872c76e62fc0df06db723e3728452e), [`08c5a2add`](https://github.com/clerk/javascript/commit/08c5a2add6872c76e62fc0df06db723e3728452e), [`24cd77989`](https://github.com/clerk/javascript/commit/24cd77989adb45a11db12627daa3f31e8d9338e4), [`434b432f8`](https://github.com/clerk/javascript/commit/434b432f8c114825120eef0f2c278b8142ed1563)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.0.2

### Patch Changes

- Bug fix: Include protect types in `auth` ([#4398](https://github.com/clerk/javascript/pull/4398)) by [@panteliselef](https://github.com/panteliselef)

## 6.0.1

### Patch Changes

- Await usage of cookies() and ensure the return value of the server action is valid. ([#4396](https://github.com/clerk/javascript/pull/4396)) by [@BRKalow](https://github.com/BRKalow)

- Updated dependencies [[`3fdcdbf88`](https://github.com/clerk/javascript/commit/3fdcdbf88c38facf8b82563f634ec1b6604fd8e5), [`1c7e105a3`](https://github.com/clerk/javascript/commit/1c7e105a32fd492cc175ef9fd1c1fa0428c259dc)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 6.0.0

### Major Changes

- Stop `<ClerkProvider>` from opting applications into dynamic rendering. A new prop, `<ClerkProvider dynamic>` can be used to opt-in to dynamic rendering and make auth data available during server-side rendering. The RSC `auth()` helper should be preferred for accessing auth data during dynamic rendering. ([#4366](https://github.com/clerk/javascript/pull/4366)) by [@jacekradko](https://github.com/jacekradko)

- @clerk/nextjs: Converting auth() and clerkClient() interfaces to be async ([#4366](https://github.com/clerk/javascript/pull/4366)) by [@jacekradko](https://github.com/jacekradko)

  @clerk/upgrade: Adding required codemod for @clerk/nextjs breaking changes

  # Migration guide

  ## `auth()` is now async

  Previously the `auth()` method from `@clerk/nextjs/server` was synchronous.

  ```typescript
  import { auth } from '@clerk/nextjs/server';

  export function GET() {
    const { userId } = auth();
    return new Response(JSON.stringify({ userId }));
  }
  ```

  The `auth` method now becomes asynchronous. You will need to make the following changes to the snippet above to make it compatible.

  ```diff
  - export function GET() {
  + export async function GET() {
  -   const { userId } = auth();
  +   const { userId } = await auth();
    return new Response(JSON.stringify({ userId }));
  }
  ```

  ## Clerk middleware auth is now async

  ```typescript
  import { clerkClient, clerkMiddleware } from '@clerk/nextjs/server';
  import { NextResponse } from 'next/server';

  export default clerkMiddleware(async (auth, request) => {
    const resolvedAuth = await auth();

    const count = await resolvedAuth.users.getCount();

    if (count) {
      return NextResponse.redirect(new URL('/new-url', request.url));
    }
  });

  export const config = {
    matcher: [...],
  };
  ```

  ## clerkClient() is now async

  Previously the `clerkClient()` method from `@clerk/nextjs/server` was synchronous.

  ```typescript
  import { clerkClient, clerkMiddleware } from '@clerk/nextjs/server';
  import { NextResponse } from 'next/server';

  export default clerkMiddleware((auth, request) => {
    const client = clerkClient();

    const count = await client.users?.getCount();

    if (count) {
      return NextResponse.redirect(new URL('/new-url', request.url));
    }
  });

  export const config = {
    matcher: [...],
  };
  ```

  The method now becomes async. You will need to make the following changes to the snippet above to make it compatible.

  ```diff
  - export default clerkMiddleware((auth, request) => {
  - const client = clerkClient();
  + export default clerkMiddleware(async (auth, request) => {
  + const client = await clerkClient();
    const count = await client.users?.getCount();

    if (count) {
  }
  ```

- Support `unstable_rethrow` inside `clerkMiddleware`. ([#4366](https://github.com/clerk/javascript/pull/4366)) by [@jacekradko](https://github.com/jacekradko)

  We changed the errors thrown by `protect()` inside `clerkMiddleware` in order for `unstable_rethrow` to recognise them and rethrow them.

- Removes deprecated APIs: `authMiddleware()`, `redirectToSignIn()`, and `redirectToSignUp()`. See the migration guide to learn how to update your usage. ([#4366](https://github.com/clerk/javascript/pull/4366)) by [@jacekradko](https://github.com/jacekradko)

### Minor Changes

- Bug fix: Correctly redirect to sign in page in Next 15. ([#4383](https://github.com/clerk/javascript/pull/4383)) by [@panteliselef](https://github.com/panteliselef)

- Add experimental support for new UI components ([#4114](https://github.com/clerk/javascript/pull/4114)) by [@BRKalow](https://github.com/BRKalow)

### Patch Changes

- Updated dependencies [[`93dfe7a09`](https://github.com/clerk/javascript/commit/93dfe7a09648f414ee3f50bc8fb3f342d24020cd), [`3b50b67bd`](https://github.com/clerk/javascript/commit/3b50b67bd40da33c9e36773aa05462717e9f44cc), [`a0204a8e8`](https://github.com/clerk/javascript/commit/a0204a8e8742b63aea92d67e7d66fe0bc86a166f), [`3b50b67bd`](https://github.com/clerk/javascript/commit/3b50b67bd40da33c9e36773aa05462717e9f44cc)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 5.7.5

### Patch Changes

- Updated dependencies [[`e1a26547a`](https://github.com/clerk/javascript/commit/e1a26547a9c65f4c79c2bbd4dc386ddf67c2fbee)]:
  - @clerk/[email protected]

## 5.7.4

### Patch Changes

- Updated dependencies [[`ce40ff6f0`](https://github.com/clerk/javascript/commit/ce40ff6f0d3bc79e33375be6dd5e03f140a07000), [`e81d45b72`](https://github.com/clerk/javascript/commit/e81d45b72c81403c7c206dac5454de1fef6bec57), [`752ce9bfa`](https://github.com/clerk/javascript/commit/752ce9bfa47a8eebd38cd272eeb58ae26fea3371), [`99cdf9b67`](https://github.com/clerk/javascript/commit/99cdf9b67d1e99e66cc73d8a5bfce1f1f8df1b83), [`ce40ff6f0`](https://github.com/clerk/javascript/commit/ce40ff6f0d3bc79e33375be6dd5e03f140a07000), [`fb7ba1f34`](https://github.com/clerk/javascript/commit/fb7ba1f3485abdeac5e504cce6c2d84d3f3e4ffc), [`2102052c0`](https://github.com/clerk/javascript/commit/2102052c017065ab511339870fcebaa6719f2702)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 5.7.3

### Patch Changes

- Updated dependencies [[`d64e54c40`](https://github.com/clerk/javascript/commit/d64e54c40c9cf001b25e45a1b8939c9f7e80c6d6), [`2ba2fd148`](https://github.com/clerk/javascript/commit/2ba2fd1483b7561d7df9a1952ead0ee15e422131)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 5.7.2

### Patch Changes

- Introduces `organizationSyncOptions` option to `clerkMiddleware`, which syncs an active organization or personal account from a URL to the Clerk session. ([#3977](https://github.com/clerk/javascript/pull/3977)) by [@izaaklauer](https://github.com/izaaklauer)

- Updated dependencies [[`358be296a`](https://github.com/clerk/javascript/commit/358be296a8181bb256fc1e15f878932c741b8743)]:
  - @clerk/[email protected]

## 5.7.1

### Patch Changes

- Updated dependencies [[`fb932e5cf`](https://github.com/clerk/javascript/commit/fb932e5cf21315adf60bee0855b6bd5ee2ff9867)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 5.7.0

### Minor Changes

- Drop the experimental mounted variant of `UserVerification`. ([#4266](https://github.com/clerk/javascript/pull/4266)) by [@panteliselef](https://github.com/panteliselef)

  Removes:

  - `<__experimental_UserVerification/>`
  - `__experimental_mountUserVerification()`
  - `__experimental_unmountUserVerification()`

### Patch Changes

- Updated dependencies [[`f6fb8b53d`](https://github.com/clerk/javascript/commit/f6fb8b53d236863ad7eca576ee7a16cd33f3506b), [`4a8570590`](https://github.com/clerk/javascript/commit/4a857059059a02bb4f20893e08601e1e67babbed)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 5.6.4

### Patch Changes

- Updated dependencies [[`3e9160072`](https://github.com/clerk/javascript/commit/3e9160072aea72455a3db9cc710680a0a5359c55), [`748c0bae4`](https://github.com/clerk/javascript/commit/748c0bae4cfa1c2a721267fc9de7c6458200beb4), [`b579c3685`](https://github.com/clerk/javascript/commit/b579c36850126d994a96affa89bb1abc618ec38e)]:
  - @clerk/[email protected]

## 5.6.3

### Patch Changes

- Updated dependencies [[`4749ed4c5`](https://github.com/clerk/javascript/commit/4749ed4c55a5ba5810451b8d436aad0d49829050), [`f1f17eaab`](https://github.com/clerk/javascript/commit/f1f17eaabed0dc4b7de405fb77d85503cf75ad33), [`2e35ac538`](https://github.com/clerk/javascript/commit/2e35ac53885f8008779940d41d1e804fa77ebfa9)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 5.6.2

### Patch Changes

- Updated dependencies [[`c9063853e`](https://github.com/clerk/javascript/commit/c9063853e538a4010f5d4e522a3da5abc80098a4), [`19d3808d4`](https://github.com/clerk/javascript/commit/19d3808d4672234944226d6709ec51214e8d6e1d), [`737bcbb0f`](https://github.com/clerk/javascript/commit/737bcbb0ffb5e2dcadbb02e8fc718fe8825c5842)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 5.6.1

### Patch Changes

- Updated dependencies [[`cb32aaf59`](https://github.com/clerk/javascript/commit/cb32aaf59d38dcd12e959f542782f71a87adf9c1), [`2e5c550e4`](https://github.com/clerk/javascript/commit/2e5c550e4aec61150c2a17fdcd4a0e1273cb50e7), [`6275c242c`](https://github.com/clerk/javascript/commit/6275c242cd8bcb6f7766934059967e0fe775a0c1), [`418be2fdb`](https://github.com/clerk/javascript/commit/418be2fdb558bb5c85d7be491945935b44cad681), [`c59636a1a`](https://github.com/clerk/javascript/commit/c59636a1aca67be7d6732d281cec307ed456678b), [`5c18671f1`](https://github.com/clerk/javascript/commit/5c18671f158f8077f822877ce5c1fa192199aeda), [`f9faaf031`](https://github.com/clerk/javascript/commit/f9faaf03100baf679c78e6c24877fbf3b60be529), [`e0ca9dc94`](https://github.com/clerk/javascript/commit/e0ca9dc94fa68f3d3db5d2433fa6b85d800d4ca2)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 5.6.0

### Minor Changes

- Allows access to request object to dynamically define `clerkMiddleware` options ([#4160](https://github.com/clerk/javascript/pull/4160)) by [@LauraBeatris](https://github.com/LauraBeatris)

### Patch Changes

- Updated dependencies [[`02babaccb`](https://github.com/clerk/javascript/commit/02babaccb648fa4e22f38cc0f572d44f82b09f78)]:
  - @clerk/[email protected]

## 5.5.5

### Patch Changes

- Updated dependencies [[`3743eb911`](https://github.com/clerk/javascript/commit/3743eb9114733f20ed56a863ab98fa9c363b6723)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 5.5.4

### Patch Changes

- Updated dependencies [[`e578b1599`](https://github.com/clerk/javascript/commit/e578b1599451d9f2122f12d835b510b26882e839)]:
  - @clerk/[email protected]

## 5.5.3

### Patch Changes

- Updated dependencies [[`ba19be354`](https://github.com/clerk/javascript/commit/ba19be35461f0e5c76a58d11e4252a16781322c6), [`8cecbe875`](https://github.com/clerk/javascript/commit/8cecbe8756f58879c4b14b799700a25a83c1f00a), [`248142a6d`](https://github.com/clerk/javascript/commit/248142a6ded6ca937d0df7d628197f25228aadec), [`1189f71f8`](https://github.com/clerk/javascript/commit/1189f71f872f2683c12de5add5f154aeb953ca8d), [`a5e95295b`](https://github.com/clerk/javascript/commit/a5e95295b88acc6953d07a22d818e123774aeffa)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 5.5.2

### Patch Changes

- Vendor path-to-regexp ([#4145](https://github.com/clerk/javascript/pull/4145)) by [@nikosdouvlis](https://github.com/nikosdouvlis)

- Updated dependencies [[`be3b119f8`](https://github.com/clerk/javascript/commit/be3b119f840d2ae74f4b75d717711d53ac0e5f54)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 5.5.1

### Patch Changes

- Updated dependencies [[`b97b2c1ca`](https://github.com/clerk/javascript/commit/b97b2c1cae5cb1e569708a8745c13d203beb81d9), [`8c6909d46`](https://github.com/clerk/javascript/commit/8c6909d46328c943f1d464a28f1a324a27d0f3f1)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 5.5.0

### Minor Changes

- Remove `@clerk/elements` reliance on `next` and `@clerk/clerk-react` directly. The host router is now provided by `@clerk/nextjs`. ([#4064](https://github.com/clerk/javascript/pull/4064)) by [@BRKalow](https://github.com/BRKalow)

### Patch Changes

- Add support for `basePath` config property ([#4063](https://github.com/clerk/javascript/pull/4063)) by [@dstaley](https://github.com/dstaley)

- Updated dependencies [[`c63a5adf0`](https://github.com/clerk/javascript/commit/c63a5adf0ba4b99252146f168318f51b709bb5dd), [`8823c21a2`](https://github.com/clerk/javascript/commit/8823c21a26bc81cbc3ed007908b1a9ea474bd343), [`95ac67a14`](https://github.com/clerk/javascript/commit/95ac67a143c263bef0c1f589728566ab8f95768d), [`a0cb062fa`](https://github.com/clerk/javascript/commit/a0cb062faa4d23bef7a577e5cc486f4c5efe6bfa), [`746b4ed5e`](https://github.com/clerk/javascript/commit/746b4ed5e2007505d5850a2a728484809474d7bf)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 5.4.1

### Patch Changes

- Updated dependencies [[`8a3b9f079`](https://github.com/clerk/javascript/commit/8a3b9f0793484b32dd609a5c80a194e62151d6ea), [`e95c28196`](https://github.com/clerk/javascript/commit/e95c2819675cea7963f2404e5f71f37ebed8d5e0), [`1fe744328`](https://github.com/clerk/javascript/commit/1fe744328d126bc597e81770119796ac18e055ed)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 5.4.0

### Minor Changes

- Add `<__experimental_UserVerification />` component. This is an experimental feature and breaking changes can occur until it's marked as stable. ([#4016](https://github.com/clerk/javascript/pull/4016)) by [@panteliselef](https://github.com/panteliselef)

### Patch Changes

- Updated dependencies [[`afad9af89`](https://github.com/clerk/javascript/commit/afad9af893984a19d7284f0ad3b36e7891d0d733), [`82593173a`](https://github.com/clerk/javascript/commit/82593173aafbf6646e12c5779627cdcb138a1f27), [`afad9af89`](https://github.com/clerk/javascript/commit/afad9af893984a19d7284f0ad3b36e7891d0d733)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 5.3.7

### Patch Changes

- Tidy up and improve README ([#4053](https://github.com/clerk/javascript/pull/4053)) by [@LekoArts](https://github.com/LekoArts)

- Updated dependencies [[`c9ef59106`](https://github.com/clerk/javascript/commit/c9ef59106c4720af3012586f5656f7b54cf2e336), [`fece72014`](https://github.com/clerk/javascript/commit/fece72014e2d39c8343a7329ae677badcba56d15), [`58e6754ad`](https://github.com/clerk/javascript/commit/58e6754ad9f9a1244b023ce1f5e5f2c1c4eb20e7), [`13693018f`](https://github.com/clerk/javascript/commit/13693018f4f7ac5d224698aa730e20960896f68c), [`3aa63dc5a`](https://github.com/clerk/javascript/commit/3aa63dc5a48161cfe92d94093ef0c32efd401342), [`9d0477781`](https://github.com/clerk/javascript/commit/9d04777814bf6d86d05506838b101e7cfc7c208d), [`3304dcc0b`](https://github.com/clerk/javascript/commit/3304dcc0bc93a92a7f729f585c60ff91d2ae04f6)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 5.3.6

### Patch Changes

- Updated dependencies [[`c1389492d`](https://github.com/clerk/javascript/commit/c1389492d8b6a9292ab04889bf776c0f45e66845)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 5.3.5

### Patch Changes

- Updated dependencies [[`0158c774a`](https://github.com/clerk/javascript/commit/0158c774af2243a2cd13b55c4d6fae877178c961), [`8be1a7abc`](https://github.com/clerk/javascript/commit/8be1a7abc8849d7d59552011bd6b25bc917d51f5)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 5.3.4

### Patch Changes

- Updated dependencies [[`96234ce3d`](https://github.com/clerk/javascript/commit/96234ce3d44ec6f262c07cc7416171f4cb82e07b), [`247b3fd75`](https://github.com/clerk/javascript/commit/247b3fd75042365dc9f950db056b76f9fadfdcf6)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 5.3.3

### Patch Changes

- Updated dependencies [[`ed7baa048`](https://github.com/clerk/javascript/commit/ed7baa0488df0ee4c48add2aac934ffb47e4a6d2)]:
  - @clerk/[email protected]

## 5.3.2

### Patch Changes

- Bug fix: Handle `nextGetStore.getStore()` returning `undefined`. Previously a TypeError would occur, when `pagePath` was accessed. ([#3939](https://github.com/clerk/javascript/pull/3939)) by [@panteliselef](https://github.com/panteliselef)

- Updated dependencies [[`dc0e1c33d`](https://github.com/clerk/javascript/commit/dc0e1c33d6844b028cb1ee11c3359b886d609f3c), [`dc94c0834`](https://github.com/clerk/javascript/commit/dc94c08341c883fa5bf891f880fb34c4569ea820)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 5.3.1

### Patch Changes

- Introduce functions that can be reused across front-end SDKs ([#3849](https://github.com/clerk/javascript/pull/3849)) by [@wobsoriano](https://github.com/wobsoriano)

- Updated dependencies [[`7e0ced3da`](https://github.com/clerk/javascript/commit/7e0ced3da94f41056bc4445d163d3b615afb6ab1), [`b6f0613dc`](https://github.com/clerk/javascript/commit/b6f0613dc9d8b0bab41cfabbaa8621b126e3bdf5)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 5.3.0

### Minor Changes

- Add a `nonce` to clerk-js' script loading options. Also adds a `nonce` prop to `ClerkProvider`. This can be used to thread a nonce value through to the clerk-js script load to support apps using a `strict-dynamic` content security policy. For next.js applications, the nonce will be automatically pulled from the CSP header and threaded through without needing any props so long as the provider is server-rendered. ([#3858](https://github.com/clerk/javascript/pull/3858)) by [@jescalan](https://github.com/jescalan)

### Patch Changes

- Updated dependencies [[`59d5f19d3`](https://github.com/clerk/javascript/commit/59d5f19d333bf4a35c244886e93b4368e215225c), [`4e6c94e3f`](https://github.com/clerk/javascript/commit/4e6c94e3f4cc92cbba8bddcd2b90fcc9cfb83763)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 5.2.14

### Patch Changes

- Internal change: Use `AuthObject` type import from `@clerk/backend`. ([#3844](https://github.com/clerk/javascript/pull/3844)) by [@kduprey](https://github.com/kduprey)

- Updated dependencies [[`d7bf0f87c`](https://github.com/clerk/javascript/commit/d7bf0f87c4c50bc19d2796bca32bd694046a23b0), [`9b2aeacb3`](https://github.com/clerk/javascript/commit/9b2aeacb32fff7c300bda458636a1cc81a42ee7b)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 5.2.13

### Patch Changes

- Updated dependencies [[`7e94fcf0f`](https://github.com/clerk/javascript/commit/7e94fcf0fcbee8842a54f7931c45190370aa870d)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 5.2.12

### Patch Changes

- Updated dependencies [[`568186cad`](https://github.com/clerk/javascript/commit/568186cad29acaf0b084a9f86ccb9d29bd23fcf4), [`407195270`](https://github.com/clerk/javascript/commit/407195270ed8aab6eef18c64a4918e3870fef471)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 5.2.11

### Patch Changes

- Updated dependencies [[`992e5960c`](https://github.com/clerk/javascript/commit/992e5960c785eace83f3bad7c34d589fa313dcaf)]:
  - @clerk/[email protected]

## 5.2.10

### Patch Changes

- Fix debug logs on `debug: true` parameter of `clerkMiddleware()` ([#3871](https://github.com/clerk/javascript/pull/3871)) by [@dimkl](https://github.com/dimkl)

## 5.2.9

### Patch Changes

- Updated dependencies [[`fde5b5e7e`](https://github.com/clerk/javascript/commit/fde5b5e7e6fb5faa4267e06d82a38a176165b4f4), [`aa06f3ba7`](https://github.com/clerk/javascript/commit/aa06f3ba7e725071c90d4a1d6840060236da3c23), [`80e647731`](https://github.com/clerk/javascript/commit/80e64773135865434cf0e6c220e287397aa07937)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 5.2.8

### Patch Changes

- Updated dependencies [[`b48689705`](https://github.com/clerk/javascript/commit/b48689705f9fc2251d2f24addec7a0d0b1da0fe1)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 5.2.7

### Patch Changes

- Updated dependencies [[`d465d7069`](https://github.com/clerk/javascript/commit/d465d70696bf26270cb2efbf4695ca49016fcb96)]:
  - @clerk/[email protected]

## 5.2.6

### Patch Changes

- Updated dependencies [[`045fb93cb`](https://github.com/clerk/javascript/commit/045fb93cbf577ca84e5b95fc6dfaacde67693be2)]:
  - @clerk/[email protected]

## 5.2.5

### Patch Changes

- Fixes regression on `@clerk/nextjs/server` (introduced on https://github.com/clerk/javascript/pull/3758) where `server-only` module was being resolved in runtimes without `react-server` available, such as `getAuth` on `getServerSideProps`. ([#3761](https://github.com/clerk/javascript/pull/3761)) by [@LauraBeatris](https://github.com/LauraBeatris)

- Return build-time error if `auth` and `currentUser` server-side helpers are imported into Client Components. ([#3758](https://github.com/clerk/javascript/pull/3758)) by [@LauraBeatris](https://github.com/LauraBeatris)

- Stop throwing "Error: Clerk: auth() was called but Clerk can't detect usage of authMiddleware()." errors when no user action is needed by removing sourcemaps for all Clerk-bundled server actions. ([#3773](https://github.com/clerk/javascript/pull/3773)) by [@nikosdouvlis](https://github.com/nikosdouvlis)

- Updated dependencies [[`b87f7b9e1`](https://github.com/clerk/javascript/commit/b87f7b9e163756fd43789bc7b7344d2eb24015ec), [`b2788f67b`](https://github.com/clerk/javascript/commit/b2788f67b75cce17af1a2f91a984bb826a5a42e1), [`86c75e50c`](https://github.com/clerk/javascript/commit/86c75e50cba9c4efb480672f1b8c6a6fff4ef477)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 5.2.4

### Patch Changes

- Updated dependencies [[`df7d856d5`](https://github.com/clerk/javascript/commit/df7d856d56bc3b1dcbdbf9155b4ef1b1ea5971f7)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 5.2.3

### Patch Changes

- Fixes a bug where Clerk's Handshake mechanism would not run when an application is rendered in an iframe. ([#3555](https://github.com/clerk/javascript/pull/3555)) by [@anagstef](https://github.com/anagstef)

- Updated dependencies [[`5642b2616`](https://github.com/clerk/javascript/commit/5642b26167a6eb1aca68777d782a9686edacfd37)]:
  - @clerk/[email protected]

## 5.2.2

### Patch Changes

- Fixes Next.js build warnings (https://github.com/clerk/javascript/issues/3660) where `AsyncLocalStorage` and `MessageEvent` were being imported as Node.js modules on the edge runtime. ([#3661](https://github.com/clerk/javascript/pull/3661)) by [@LauraBeatris](https://github.com/LauraBeatris)

## 5.2.1

### Patch Changes

- Updated dependencies [[`427fcdeaa`](https://github.com/clerk/javascript/commit/427fcdeaaba4e77273be29b4d7cca43f9aa18693)]:
  - @clerk/[email protected]

## 5.2.0

### Minor Changes

- Introduces dynamic keys from `clerkMiddleware`, allowing access by server-side helpers like `auth`. Keys such as `signUpUrl`, `signInUrl`, `publishableKey` and `secretKey` are securely encrypted using AES algorithm. ([#3525](https://github.com/clerk/javascript/pull/3525)) by [@LauraBeatris](https://github.com/LauraBeatris)

  - When providing `secretKey`, `CLERK_ENCRYPTION_KEY` is required as the encryption key. If `secretKey` is not provided, `CLERK_SECRET_KEY` is used by default.
  - `clerkClient` from `@clerk/nextjs` should now be called as a function, and its singleton form is deprecated. This change allows the Clerk backend client to read keys from the current request, which is necessary to support dynamic keys.

  For more information, refer to the documentation: https://clerk.com/docs/references/nextjs/clerk-middleware#dynamic-keys

### Patch Changes

- Updated dependencies [[`f1847b70b`](https://github.com/clerk/javascript/commit/f1847b70b2327bd490faf1f3eed1aa5639d54993)]:
  - @clerk/[email protected]

## 5.1.7

### Patch Changes

- Updated dependencies [[`d6b5006c4`](https://github.com/clerk/javascript/commit/d6b5006c4cc1b6f07bb3a6832b4ec6e65ea15814)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 5.1.6

### Patch Changes

- Makes the internally used `invalidateCacheAction()` server action an async function to comply with server actions constraints. More information: https://nextjs.org/docs/messages/invalid-use-server-value ([#3593](https://github.com/clerk/javascript/pull/3593)) by [@BRKalow](https://github.com/BRKalow)

- Updated dependencies [[`1273b04ec`](https://github.com/clerk/javascript/commit/1273b04ecf1866b59ef59a74abe31dbcc726da2c)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 5.1.5

### Patch Changes

- Enhance page detection by utilizing the patched fetch from nextjs. ([#3529](https://github.com/clerk/javascript/pull/3529)) by [@panteliselef](https://github.com/panteliselef)

- Replace router.refresh() with cookies().delete() ([#3518](https://github.com/clerk/javascript/pull/3518)) by [@nikosdouvlis](https://github.com/nikosdouvlis)

- Updated dependencies [[`4ec3f63e2`](https://github.com/clerk/javascript/commit/4ec3f63e26d8d3725a7ba9bbf988a7776fe893ff)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 5.1.4

### Patch Changes

- Update dependency path-to-regexp to v6.2.2 ([#3490](https://github.com/clerk/javascript/pull/3490)) by [@renovate](https://github.com/apps/renovate)

- Set `@clerk/types` as a dependency for packages that had it as a dev dependency. ([#3450](https://github.com/clerk/javascript/pull/3450)) by [@desiprisg](https://github.com/desiprisg)

- Updated the check ran against the error caught by `buildRequestLike()` to re-throw Static Bailout errors thrown by React in the context of PPR (Partial Pre-Rendering), as these errors shouldn't be caught. This change was required as we have been checking the error message itself, but stopped working after the message was changed in a Next.js update a few months ago. ([#3499](https://github.com/clerk/javascript/pull/3499)) by [@ceIia](https://github.com/ceIia)

  - Breaking PR: https://github.com/vercel/next.js/commit/3008af6b0e7b2c8aadd986bdcbce5bad6c39ccc8#diff-20c354509ae1e93e143d91b67b75e3df592c38b7d1ec6ccf7c4a2f72b32ab17d
  - Why PPR errors shouldn't be caught: https://nextjs.org/docs/messages/ppr-caught-error
  - Previous fix: https://github.com/clerk/javascript/pull/2518

- Bug fix: Correctly update history state when on internal navigations. ([#3480](https://github.com/clerk/javascript/pull/3480)) by [@panteliselef](https://github.com/panteliselef)

- Updated dependencies [[`86a27f693`](https://github.com/clerk/javascript/commit/86a27f6933de50c99b6bc354bf87ff5c2cfcaf38), [`35a0015f5`](https://github.com/clerk/javascript/commit/35a0015f5dd3419f126950b3bfb51ccf51e54cda), [`02bed2e00`](https://github.com/clerk/javascript/commit/02bed2e00d3e0a4e1bb1698b13267faf6aeb31b3), [`73e5d61e2`](https://github.com/clerk/javascript/commit/73e5d61e21ab3f77f3c8343bc63da0626466c7ac), [`b8e46328d`](https://github.com/clerk/javascript/commit/b8e46328da874859c4928f19f924219cd6520b11)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 5.1.3

### Patch Changes

- Updated dependencies []:
  - @clerk/[email protected]

## 5.1.2

### Patch Changes

- Allow [email protected] as a peer dependency by [@nikosdouvlis](https://github.com/nikosdouvlis)

## 5.1.1

### Patch Changes

- With the next major release, NextJS@15 will depend on `react` and `react-dom` v19, which is still in beta. We are updating our peer dependencies accordingly in order to accept `react` and `react-dom` @ `19.0.0-beta` ([#3428](https://github.com/clerk/javascript/pull/3428)) by [@nikosdouvlis](https://github.com/nikosdouvlis)

- Utilize an awaitable replace function internally to avoid race conditions when using `router.replace`. ([#3416](https://github.com/clerk/javascript/pull/3416)) by [@desiprisg](https://github.com/desiprisg)

- Updated dependencies [[`ff31f7255`](https://github.com/clerk/javascript/commit/ff31f725541d82caaa9c13cf42cf15f8ce3992f4), [`0e48fc210`](https://github.com/clerk/javascript/commit/0e48fc210cf0b5852052a21494a05f6e723101f5)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 5.1.0

### Minor Changes

- Add support for GoogleOneTap. New APIs listed: ([#3392](https://github.com/clerk/javascript/pull/3392)) by [@panteliselef](https://github.com/panteliselef)

  ### React component

  - `<GoogleOneTap/>`

  Customize the UX of the prompt

  ```tsx
  <GoogleOneTap
    cancelOnTapOutside={false}
    itpSupport={false}
    fedCmSupport={false}
  />
  ```

  ### Use the component from with Vanilla JS

  - `Clerk.openGoogleOneTap(props: GoogleOneTapProps)`
  - `Clerk.closeGoogleOneTap()`

  ### Low level APIs for custom flows

  - `await Clerk.authenticateWithGoogleOneTap({ token: 'xxxx'})`
  - `await Clerk.handleGoogleOneTapCallback()`

  We recommend using this two methods together in order and let Clerk to perform the correct redirections.

  ```tsx
  google.accounts.id.initialize({
    callback: async response => {
      const signInOrUp = await Clerk.authenticateWithGoogleOneTap({
        token: response.credential,
      });
      await Clerk.handleGoogleOneTapCallback(signInOrUp, {
        signInForceRedirectUrl: window.location.href,
      });
    },
  });
  ```

  In case you want to handle the redirection and session management yourself you can do so like this

  ```tsx
  google.accounts.id.initialize({
    callback: async response => {
      const signInOrUp = await Clerk.authenticateWithGoogleOneTap({
        token: response.credential,
      });
      if (signInOrUp.status === 'complete') {
        await Clerk.setActive({
          session: signInOrUp.createdSessionId,
        });
      }
    },
  });
  ```

### Patch Changes

- Updated dependencies [[`d6a9b3f5d`](https://github.com/clerk/javascript/commit/d6a9b3f5dd8c64b1bd49f74c3707eb01dcd6aff4), [`456b06849`](https://github.com/clerk/javascript/commit/456b068493b8679e1772819eea24d49aa1bc6556), [`6888594cc`](https://github.com/clerk/javascript/commit/6888594cc5d0f922d166b6d28b7b994d657a5595)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 5.0.12

### Patch Changes

- Updated dependencies [[`3d790d5ea`](https://github.com/clerk/javascript/commit/3d790d5ea347a51ef16557c015c901a9f277effe)]:
  - @clerk/[email protected]

## 5.0.11

### Patch Changes

- Updated dependencies []:
  - @clerk/[email protected]

## 5.0.10

### Patch Changes

- Updated dependencies [[`4d3dc00fb`](https://github.com/clerk/javascript/commit/4d3dc00fb444c87e3d27f398cd0c1ce4d176f65b), [`ec84d51e7`](https://github.com/clerk/javascript/commit/ec84d51e705370273ffb82a0d7c94d90ba3de874)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 5.0.9

### Patch Changes

- Updated dependencies [[`b27ca8366`](https://github.com/clerk/javascript/commit/b27ca8366a1d6ec1d7ce4a5be5005f1b1b017c20), [`bcbb2c9ef`](https://github.com/clerk/javascript/commit/bcbb2c9ef42c11b13c1d2f60db4dd88a2d4f04f6)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 5.0.8

### Patch Changes

- Updated dependencies [[`b92402258`](https://github.com/clerk/javascript/commit/b924022580569c934a9d33310449b4a50156070a)]:
  - @clerk/[email protected]

## 5.0.7

### Patch Changes

- Fix a bug where response headers from `@clerk/backend` would not be applied to the response when a redirect was triggered from a custom middleware handler. ([#3344](https://github.com/clerk/javascript/pull/3344)) by [@BRKalow](https://github.com/BRKalow)

- Pass `devBrowserToken` to `createRedirect()` to ensure methods from `auth()` that trigger redirects correctly pass the dev browser token for URL-based session syncing. ([#3334](https://github.com/clerk/javascript/pull/3334)) by [@BRKalow](https://github.com/BRKalow)

- Updated dependencies [[`39265d909`](https://github.com/clerk/javascript/commit/39265d90941c850fd1b24295b19b904a5f3eaba6), [`4f4375e88`](https://github.com/clerk/javascript/commit/4f4375e88fa2daae4d725c62da5e4cf29302e53c), [`1662aaae9`](https://github.com/clerk/javascript/commit/1662aaae965fcf36b13dba6b148e096ab6a1cd83), [`f70c885f7`](https://github.com/clerk/javascript/commit/f70c885f798f7ff513f6687f87c8a56daf26fa05), [`4ae79af36`](https://github.com/clerk/javascript/commit/4ae79af36552aae1f0284ecc4dfcfc23ef295d26), [`f5804a225`](https://github.com/clerk/javascript/commit/f5804a225e9d67cd315700f0ced0ff17b8b14e53)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 5.0.6

### Patch Changes

- Notify users when catch-all route and all of its children routes are being protected by the middleware ([#3311](https://github.com/clerk/javascript/pull/3311)) by [@nikosdouvlis](https://github.com/nikosdouvlis)

- Update docs links to point to the correct pages ([#3312](https://github.com/clerk/javascript/pull/3312)) by [@EmmanouelaPothitou](https://github.com/EmmanouelaPothitou)

## 5.0.5

### Patch Changes

- Updated dependencies [[`e93b5777b`](https://github.com/clerk/javascript/commit/e93b5777b4f8578e6a6f81566e2601ab0e65590a)]:
  - @clerk/[email protected]

## 5.0.4

### Patch Changes

- Updated dependencies [[`8fbe23857`](https://github.com/clerk/javascript/commit/8fbe23857bc588a4662af78ee33b24123cd8bc2e), [`a78bc447c`](https://github.com/clerk/javascript/commit/a78bc447c1aabaa41bcbaa2a8fe3c48f31275574), [`19cd42434`](https://github.com/clerk/javascript/commit/19cd42434450e568998336bf6d705e475122abbc), [`e79d2e3d3`](https://github.com/clerk/javascript/commit/e79d2e3d3be02eb1cf8b2647ac179cc5d4aa2de2)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 5.0.3

### Patch Changes

- Updated dependencies [[`b3fda50f0`](https://github.com/clerk/javascript/commit/b3fda50f03672106c6858219fc607d226851ec10), [`b3ad7a459`](https://github.com/clerk/javascript/commit/b3ad7a459c46be1f8967faf73c2cdd96406593c8), [`4e5de1164`](https://github.com/clerk/javascript/commit/4e5de1164d956c7dc21f72d25e312296d36504a7)]:
  - @clerk/[email protected]

## 5.0.2

### Patch Changes

- Export all Webhook event types and related JSON types. The newly exported types are: `DeletedObjectJSON`, `EmailJSON`, `OrganizationInvitationJSON`, `OrganizationJSON`, `OrganizationMembershipJSON`, `SessionJSON`, `SMSMessageJSON`, `UserJSON`, `UserWebhookEvent`, `EmailWebhookEvent`, `SMSWebhookEvent`, `SessionWebhookEvent`, `OrganizationWebhookEvent`, `OrganizationMembershipWebhookEvent`, `OrganizationInvitationWebhookEvent` ([#3248](https://github.com/clerk/javascript/pull/3248)) by [@nikosdouvlis](https://github.com/nikosdouvlis)

- Updated dependencies [[`3c6e5a6f1`](https://github.com/clerk/javascript/commit/3c6e5a6f1dd0ac198e6e48d1b83c6d4846a7f900), [`65503dcb9`](https://github.com/clerk/javascript/commit/65503dcb97acb9538e5c0e3f8199d20ad31c9d7d)]:
  - @clerk/[email protected]
  - @clerk/[email protected]

## 5.0.1

### Patch Changes

- cfbe43d3a: Correctly read legacy NEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL and NEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL env variables

## 5.0.0

### Major Changes

- c2a090513: Change the minimal Node.js version required by Clerk to `18.17.0`.
- f31031a21: Drop deprecations. Migration steps:
  - use `NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY` instead of `NEXT_PUBLIC_CLERK_FRONTEND_API` env variable
  - use `NEXT_PUBLIC_CLERK_JS_VERSION` instead of `CLERK_JS_VERSION`
  - use `CLERK_SECRET_KEY` instead of `CLERK_API_KEY`
  - use `publishableKey` instead of `frontendApi`
  - use `isEmailLinkError` instead of `isMagicLinkError`
  - use `EmailLinkErrorCode` instead of `MagicLinkErrorCode`
  - use `useEmailLink` instead of `useMagicLink`
  - use `@clerk/nextjs` instead of `@clerk/nextjs/app-beta`
  - use `@clerk/nextjs` instead of `@clerk/nextjs/ssr`
  - use `@clerk/nextjs` instead of `@clerk/nextjs/edge-middleware` or `@clerk/nextjs/edge-middlewarefiles`
  - use `@clerk/nextjs` instead of `@clerk/nextjs/api`
  - use middleware with `authMiddleware` instead of `withClerkMiddleware`
  - avoid using exported constants: `API_URL`, `API_VERSION`, `CLERK_JS_URL`, `CLERK_JS_VERSION`, `DOMAIN`, `IS_SATELLITE`, `PROXY_URL`, `PUBLISHABLE_KEY`, `SECRET_KEY`, `SIGN_IN_URL`, `SIGN_UP_URL`
- 7f833da9e: Drop deprecations. Migration steps:
  - use `publishableKey` instead of `frontendApi`
  - use `Clerk.handleEmailLinkVerification()` instead of `Clerk.handleMagicLinkVerification()`
  - use `isEmailLinkError` instead of `isMagicLinkError`
  - use `EmailLinkErrorCode` instead of `MagicLinkErrorCode`
  - use `useEmailLink` instead of `useMagicLink`
  - drop `orgs` jwt claim from session token
  - use `ExternalAccount.imageUrl` instead of `ExternalAccount.avatarUrl`
  - use `Organization.imageUrl` instead of `Organization.logoUrl`
  - use `User.imageUrl` instead of `User.profileImageUrl`
  - use `OrganizationMembershipPublicUserData.imageUrl` instead of `OrganizationMembershipPublicUserData.profileImageUrl`
  - use `useOrganizationList` instead of `useOrganizations`
  - use `userProfileProps` instead of `userProfile` in `Appearance`
  - use `Clerk.setActive()` instead of `Clerk.setSession()`
  - drop `password` param in `User.update()`
  - use `afterSelectOrganizationUrl` instead of `afterSwitchOrganizationUrl` in `OrganizationSwitcher`
  - drop `Clerk.experimental_canUseCaptcha` / `Clerk.Clerk.experimental_captchaSiteKey` / `Clerk.experimental_captchaURL` (were meant for internal use)
  - use `User.getOrganizationMemberships()` instead of `Clerk.getOrganizationMemberships()`
  - drop `lastOrganizationInvitation` / `lastOrganizationMember` from Clerk emitted events
  - drop `Clerk.__unstable__invitationUpdate` / `Clerk.__unstable__membershipUpdate`
  - drop support for string param in `Organization.create()`
  - use `Organization.getInvitations()` instead of `Organization.getPendingInvitations()`
  - use `pageSize` instead of `limit` in `OrganizationMembership.retrieve()`
  - use `initialPage` instead of `offset` in `OrganizationMembership.retrieve()`
  - drop `lastOrganizationInvitation` / `lastOrganizationMember` from ClerkProvider
  - use `invitations` instead of `invitationList` in `useOrganization`
  - use `memberships` instead of `membershipList` in `useOrganization`
  - use `redirectUrl` instead of `redirect_url` in `User.createExternalAccount()`
  - use `signature` instead of `generatedSignature` in `Signup.attemptWeb3WalletVerification()`
- 71663c568: Internal update default apiUrl domain from clerk.dev to clerk.com
- 9a1fe3728: Fix a bug where navigating from the sign in page to the sign up page required two back button presses to go back.
- cfea3d9c0: Path-based routing is now the default routing strategy if the `path` prop is filled. Additionally, if the `path` and `routing` props are not filled, an error will be thrown.

  ```jsx

  // Without path or routing props, an error with be thrown
  <UserProfile />
  <CreateOrganization />
  <OrganizationProfile />
  <SignIn />
  <SignUp />

  // Alternative #1
  <UserProfile path="/whatever"/>
  <CreateOrganization path="/whatever"/>
  <OrganizationProfile path="/whatever"/>
  <SignIn path="/whatever"/>
  <SignUp path="/whatever"/>

  // Alternative #2
  <UserProfile routing="hash_or_virtual"/>
  <CreateOrganization routing="hash_or_virtual"/>
  <OrganizationProfile routing="hash_or_virtual"/>
  <SignIn routing="hash_or_virtual"/>
  <SignUp routing="hash_or_virtual"/>
  ```

- e602d6c1f: Drop support for NextJS v12: v12 was released on 26 Oct 2021. Support for security updates stopped on 21 Nov 2022.

  Drop support for NextJS <13.0.4: Various header-related bugs were introduced with the 12.1.0, 12.2.0, 13.0.1, 13.0.2, 13.0.3 NextJS releases which are now fixed since next@^13.0.4. We will be dropping support for these problematic versions in order to greatly reduce complexity in our codebase.

  Drop support for NextJS < 14.0.3 because of the issues described here: https://github.com/clerk/javascript/issues/1436.

  Deprecate `authMiddleware` in favor of `clerkMiddleware`. For more information, see https://clerk.com/docs/upgrade-guides/v5-introduction

  Move the server-side APIs from `@clerk/nextjs` to the `@clerk/nextjs/server` module: `WebhookEventType`, `WebhookEvent`, `verifyToken`, `redirectToSignIn`, `auth`, `buildClerkProps`, `clerkClient`, `currentUser`, `getAuth`, `redirectToSignUp` and `authMiddleware`. For more information, see https://clerk.com/docs/upgrade-guides/v5-introduction

- 2a22aade8: Drop deprecations. Migration steps:
  - drop `orgs` jwt claim from session token
  - change type of `auth` param of `withServerAuth()` callback to `AuthObject` from `ServerSideAuth` in `gatsby-clerk-plugin`
    - use `auth.sessionClaims` instead of `auth.claims`
    - use `AuthObject` properties from `auth`
  - use `publishableKey` instead of `frontendApi`
  - use `ClerkProviderOptionsWrapper` type instead of `IsomorphicClerkOptions`
- 8aea39cd6: - Introduce `@clerk/clerk-react/errors` and `@clerk/clerk-react/internal` subpath exports to expose some internal utilities. Eg

  ````typescript
  // Before
  import { **internal**setErrorThrowerOptions } from '@clerk/clerk-react';
  // After
  import { setErrorThrowerOptions } from '@clerk/clerk-react/internal';

      // Before
      import { isClerkAPIResponseError, isEmailLinkError, isKnownError, isMetamaskError } from '@clerk/clerk-react';
      // After
      import { isClerkAPIResponseError, isEmailLinkError, isKnownError, isMetamaskError } from '@clerk/clerk-react/errors';

      // Before
      import { MultisessionAppSupport } from '@clerk/clerk-react';
      // After
      import { MultisessionAppSupport } from '@clerk/clerk-react/internal';
      ```

  - Drop from the `@clerk/clerk-react` and all other clerk-react wrapper packages:
    - `__internal__setErrorThrowerOptions` internal utility (moved to /internal subpath)
    - `WithClerkProp` type
    - `MultisessionAppSupport` component (moved to /internal subpath)
    - `EmailLinkErrorCode` enum
  - Drop `StructureContext` and related errors to reduce code complexity since it seems that it was not being used.
  - Drop `withUser`, `WithUser`, `withClerk` HOFs and `WithClerk`, `withSession`, `WithSession` HOCs from the `@clerk/clerk-react`
    to reduce the export surface since it's trivial to implement if needed.

  ````

- dd5703013: Change the response payload of Backend API requests to return `{ data, errors }` instead of return the data and throwing on error response.
  Code example to keep the same behavior:

  ```typescript
  import { users } from '@clerk/backend';
  import { ClerkAPIResponseError } from '@clerk/shared/error';

  const { data, errors, clerkTraceId, status, statusText } = await users.getUser('user_deadbeef');
  if (errors) {
    throw new ClerkAPIResponseError(statusText, {
      data: errors,
      status,
      clerkTraceId,
    });
  }
  ```

- 5f58a2274: Remove hashing and third-party cookie functionality related to development instance session syncing in favor of URL-based session syncing with query parameters.
- 52ff8fe6b: Upgrade React version to >=18 and add react-dom as peer dependency
  to fix issues with vite & rollup building.
- a9fe242be: Change return values of `signJwt`, `hasValidSignature`, `decodeJwt`, `verifyJwt`
  to return `{ data, error }`. Example of keeping the same behavior using those utilities:

  ```typescript
  import { signJwt, hasValidSignature, decodeJwt, verifyJwt } from '@clerk/backend/jwt';

  const { data, error } = await signJwt(...)
  if (error) throw error;

  const { data, error } = await hasValidSignature(...)
  if (error) throw error;

  const { data, error } = decodeJwt(...)
  if (error) throw error;

  const { data, error } = await verifyJwt(...)
  if (error) throw error;
  ```

- 97407d8aa: Dropping support for Node 14 and 16 as they both reached EOL status. The minimal Node.js version required by Clerk is `18.18.0` now.
- 0ec3a146c: Changes in exports of `@clerk/backend`:
  - Expose the following helpers and enums from `@clerk/backend/internal`:
    ```typescript
    import {
      AuthStatus,
      buildRequestUrl,
      constants,
      createAuthenticateRequest,
      createIsomorphicRequest,
      debugRequestState,
      makeAuthObjectSerializable,
      prunePrivateMetadata,
      redirect,
      sanitizeAuthObject,
      signedInAuthObject,
      signedOutAuthObject,
    } from '@clerk/backend/internal';
    ```
  - Drop the above exports from the top-level api:
    ```typescript
    // Before
    import { AuthStatus, ... } from '@clerk/backend';
    // After
    import { AuthStatus, ... } from '@clerk/backend/internal';
    ```
    Dropping those exports results in also dropping the exports from `gatsby-plugin-clerk`, `@clerk/clerk-sdk-node`, `@clerk/backend`, `@clerk/fastify`, `@clerk/nextjs`, `@clerk/remix` packages.
- 1ad910eb9: Changes in exports of `@clerk/backend`:
  - Drop the following internal exports from the top-level api:
    ```typescript
    // Before
    import {
      AllowlistIdentifier,
      Client,
      DeletedObject,
      Email,
      EmailAddress,
      ExternalAccount,
      IdentificationLink,
      Invitation,
      OauthAccessToken,
      ObjectType,
      Organization,
      OrganizationInvitation,
      OrganizationMembership,
      OrganizationMembershipPublicUserData,
      PhoneNumber,
      RedirectUrl,
      SMSMessage,
      Session,
      SignInToken,
      Token,
      User,
      Verification,
    } from '@clerk/backend';
    // After : no alternative since there is no need to use those classes
    ```
    Dropping those exports results in also dropping the exports from `gatsby-plugin-clerk`, `@clerk/clerk-sdk-node`, `@clerk/backend`, `@clerk/fastify`, `@clerk/nextjs`, `@clerk/remix` packages.
  - Keep those 3 resource related type exports
    ```typescript
    import type { Organization, Session, User, WebhookEvent, WebhookEventType } from '@clerk/backend';
    ```
- f58a9949b: Changes in exports of `@clerk/backend`:
  - Expose the following helpers and enums from `@clerk/backend/jwt`:
    ```typescript
    import { decodeJwt, hasValidSignature, signJwt, verifyJwt } from '@clerk/backend/jwt';
    ```
  - Drop the above exports from the top-level api:
    ```typescript
    // Before
    import { decodeJwt, ... } from '@clerk/backend';
    // After
    import { decodeJwt, ... } from '@clerk/backend/jwt';
    ```
    Dropping those exports results in also dropping the exports from `gatsby-plugin-clerk`, `@clerk/clerk-sdk-node`, `@clerk/backend`, `@clerk/fastify`, `@clerk/nextjs`, `@clerk/remix` packages.
- 9a1fe3728: Use the new `routerPush` and `routerReplace` props for `<ClerkProvider />` instead of `navigate`.
- e1f7eae87: Limit TokenVerificationError exports to TokenVerificationError and TokenVerificationErrorReason
- 02976d494: (Note: This is only relevant if, in the unlikely case, you are using `Clerk` from `@clerk/nextjs` directly. If not, you can safely ignore this change.)

  Remove the named `Clerk` import from `@clerk/nextjs` and import `createClerkClient` instead. The latter is a factory method to create a Clerk client instance for you. This update aligns usage across our SDKs and will enable us to ship DX improvements better in the future.

  ```js
  import { Clerk } from '@clerk/nextjs';
  const clerk = Clerk({ secretKey: '...' });
  ```

  You need to rename the import from `Clerk` to `createClerkClient` and change its usage:

  ```js
  import { createClerkClient } from '@clerk/nextjs';
  const clerk = createClerkClient({ secretKey: '...' });
  ```

- 9b02c1aae: Changes in `@clerk/backend` exports:
  - Drop Internal `deserialize` helper
  - Introduce `/errors` subpath export, eg:
    ```typescript
    import {
      TokenVerificationError,
      TokenVerificationErrorAction,
      TokenVerificationErrorCode,
      TokenVerificationErrorReason,
    } from '@clerk/backend/errors';
    ```
  - Drop errors from top-level export
    ```typescript
    // Before
    import { TokenVerificationError, TokenVerificationErrorReason } from '@clerk/backend';
    // After
    import { TokenVerificationError, TokenVerificationErrorReason } from '@clerk/backend/errors';
    ```
- e5598cfb1: Drop `user`, `session`, and `organization` resources from the returned value of `auth()`.
- 6fffd3b54: Replace return the value of the following jwt helpers to match the format of backend API client return values (for consistency).

  ```diff
  import { signJwt } from '@clerk/backend/jwt';

  - const { data, error } = await signJwt(...);
  + const { data, errors: [error] = [] } = await signJwt(...);
  ```

  ```diff
  import { verifyJwt } from '@clerk/backend/jwt';

  - const { data, error } = await verifyJwt(...);
  + const { data, errors: [error] = [] } = await verifyJwt(...);
  ```

  ```diff
  import { hasValidSignature } from '@clerk/backend/jwt';

  - const { data, error } = await hasValidSignature(...);
  + const { data, errors: [error] = [] } = await hasValidSignature(...);
  ```

  ```diff
  import { decodeJwt } from '@clerk/backend/jwt';

  - const { data, error } = await decodeJwt(...);
  + const { data, errors: [error] = [] } = await decodeJwt(...);
  ```

  ```diff
  import { verifyToken } from '@clerk/backend';

  - const { data, error } = await verifyToken(...);
  + const { data, errors: [error] = [] } = await verifyToken(...);
  ```

- dd9d7da06: Use `NEXT_PUBLIC_CLERK_JS_URL` instead of `NEXT_PUBLIC_CLERK_JS` to pin a specific @clerk/clerk-js version.

### Minor Changes

- ecb60da48: Implement token signature verification when passing verified token from Next.js middleware to the application origin.
- 7f6a64f43: - By default, all the components with routing will have the `routing` prop assigned as `'path'` by default when the `path` prop is filled.
  - The `<UserButton />` component will set the default value of the `userProfileMode` prop to `'navigation'` if the `userProfileUrl` prop is provided.
  - The `<OrganizationSwitcher />` component will have the `organizationProfileMode` and `createOrganizationMode` props assigned with `'navigation'` by default if the `organizationProfileUrl` and `createOrganizationUrl` props are filled accordingly.
- ff08fe237: Introduce experimental support for Google One Tap
  - React Component `<__experimental_GoogleOneTap/>`
  - JS `clerk.__experimental_mountGoogleOneTap(node,props)`
- 2964f8a47: Expose debug headers in response for handshake / signed-out states from SDKs using headers returned from `authenticateRequest()`
- c7e6d00f5: Experimental support for `<Gate/>` with role checks.
- c7d960ca0: Replace redirectUrl of protect with `unauthorizedUrl` and `unauthenticatedUrl`.
- 4bb57057e: Breaking Changes:

  - Drop `isLegacyFrontendApiKey` from `@clerk/shared`
  - Drop default exports from `@clerk/clerk-js`
    - on headless Clerk type
    - on ui and ui.retheme `Portal`
  - Use `isProductionFromSecretKey` instead of `isProductionFromApiKey`
  - Use `isDevelopmentFromSecretKey` instead of `isDevelopmentFromApiKey`

  Changes:

  - Rename `HeadlessBrowserClerkConstrutor` / `HeadlessBrowserClerkConstructor` (typo)
  - Use `isomorphicAtob` / `isomorhpicBtoa` to replace `base-64` in `@clerk/expo`
  - Refactor merging build-time and runtime props in `@clerk/backend` clerk client
  - Drop `node-fetch` dependency from `@clerk/backend`
  - Drop duplicate test in `@clerk/backend`

- f98e480b1: Speed up loading of clerk-js by using a `<script/>` tag when html is generated.
  This is supported during SSR, SSG in
  - Next.js Pages Router
  - Next.js App Router
- 46040a2f3: Introduce Protect for authorization.
  Changes in public APIs:
  - Rename Gate to Protect
  - Support for permission checks. (Previously only roles could be used)
  - Remove the `experimental` tags and prefixes
  - Drop `some` from the `has` utility and Protect. Protect now accepts a `condition` prop where a function is expected with the `has` being exposed as the param.
  - Protect can now be used without required props. In this case behaves as `<SignedIn>`, if no authorization props are passed.
  - `has` will throw an error if neither `permission` or `role` is passed.
  - `auth().protect()` for Nextjs App Router. Allow per page protection in app router. This utility will automatically throw a 404 error if user is not authorized or authenticated.
    - inside a page or layout file it will render the nearest `not-found` component set by the developer
    - inside a route handler it will return empty response body with a 404 status code
- 980a56cc7: Bump minimum nextjs@13 version to `13.5.4` from `13.0.4` to resolve vulnerabilities.

  ref: https://github.com/advisories/GHSA-c59h-r6p8-q9wc

- 18c0d015d: Pass environment into `sdkMetadata` in order to detect if production clerk-js is used by other sdks in dev mode. When it is log dev warning from clerk-js.
- 1fd2eff38: Allow manually passing a publishable/secret key pair to the `authMiddleware` and `clerkMiddleware` helpers.
- 5471c7e8d: Move and export the following from @clerk/clerk-js and @clerk/nextjs to @clerk/shared: - `DEV_BROWSER_SSO_JWT_PARAMETER` - `DEV_BROWSER_JWT_MARKER` - `DEV_BROWSER_SSO_JWT_KEY` - `setDevBrowserJWTInURL` - `getDevBrowserJWTFromURL` - `getDevBrowserJWTFromResponse`
- b4e79c1b9: Replace the `Clerk-Backend-SDK` header with `User-Agent` in BAPI requests and update it's value to contain both the package name and the package version of the clerk package
  executing the request. Eg request from `@clerk/nextjs` to BAPI with append `User-Agent: @clerk/[email protected]` using the latest version.

  Miscellaneous changes: The backend test build changed to use tsup.

### Patch Changes

- 4564ad643: - Export ClerkMiddlewareAuthObject, ClerkMiddlewareAuth and ClerkMiddlewareOptions types

  - Introduce `auth().redirectToSignIn()` that can be used in API routes and pages, eg

  ```ts
  import { auth } from '@clerk/nextjs/server';

  export const Layout = ({ children }) => {
    const { userId } = auth();

    if (!userId) {
      return auth().redirectToSignIn();
    }

    return <>{children}</>;
  };
  ```

- 7b200af49: The `auth().redirectToSignIn()` helper no longer needs to be explicitly returned when called within the middleware. The following examples are now equivalent:

  ```js
  // Before
  export default clerkMiddleware(auth => {
    if (protectedRoute && !auth.user) {
      return auth().redirectToSignIn()
    }
  })

  // After
  export default clerkMiddleware(auth => {
    if (protectedRoute && !auth.user) {
      auth().redirectToSignIn()
    }
  })
  ```

  Calling `auth().protect()` from a page will now automatically redirect back to the same page by setting `redirect_url` to the request url before the redirect to the sign-in URL takes place.

- 93d05c868: Drop the introduction of `OrganizationRole` and `OrganizationPermission` resources fro BAPI.
- 24de66951: Infer the path the component is mounted at automatically in pages and app router
- f68b0158b: Remove usage of useSearchParams() to avoid CSR de-opt.
- 2de442b24: Rename beta-v5 to beta
- ef2325dcc: Introduce `isTruthy` helper to better cast environment variables to a boolean. Previously only the string `"true"` was checked, now `true`, `"true"`, `"1"`, and `1` will work.
- 4a4287533: Throw a descriptive error when a Clerk component that is using path-based routing is mounted in a non-catch-all route
- 6a769771c: Update README for v5
- 9a87eced3: Introduce the new `clerkMiddleware` helper to allow for more flexibility in how Clerk is integrated into your Next.js middleware. Example usage can be found below, for more details, For more details, please see the [clerkMiddleware](https://clerk.com/docs/references/nextjs/clerkMiddleware) documentation.
  The `clerkMiddleware` helper effectively replaces the older `authMiddleware` helper, which is now considered deprecated and will be removed in the next major release.

  ### 1. Protect a route that requires authentication

  ```js
  import { clerkMiddleware } from '@clerk/nextjs/server';

  export default clerkMiddleware(auth => {
    const { userId } = auth().protect();
    // userId is now available for use in your route handler
    // for page requests, calling protect will automatically redirect the user to the sign-in URL if they are not authenticated
    return NextResponse.next();
  });
  ```

  ### 2. Protect a route that requires specific permissions

  ```js
  import { clerkMiddleware } from '@clerk/nextjs/server';

  export default clerkMiddleware(auth => {
    const { userId } = auth().protect({ permission: 'org:domains:delete' });
    // userId is now available for use in your route handler
    // for page requests, calling protect will automatically throw a notFound error if the user does not have the required permissions
    return NextResponse.next();
  });
  ```

  ### 2. Manually redirect to sign-in URL using the redirectToSignIn helper

  ```js
  import { clerkMiddleware } from '@clerk/nextjs/server';

  export default clerkMiddleware(auth => {
    // If you want more fine-grained control, you can always use the low-level redirectToSignIn helper
    if (!auth().userId) {
      return auth().redirectToSignIn();
    }

    return NextResponse.next();
  });
  ```

  This commit also introduces the experimental `createRouteMatcher` helper, which can be used to create a route matcher that matches a route against the current request. This is useful for creating custom logic based on which routes you want to handle as protected or public.

  ```js
  import { clerkMiddleware, experimental_createRouteMatcher } from '@clerk/nextjs/server';

  const isProtectedRoute = experimental_createRouteMatcher([/protected.*/]);

  export default clerkMiddleware((auth, request) => {
    if (isProtectedRoute(request)) {
      auth().protect();
    }

    return NextResponse.next();
  });
  ```

- 8e5c881c4: The following paginated APIs now return `{ data, totalCount }` instead of simple arrays, in order to make building paginated UIs easier:

  - `clerkClient.users.getOrganizationMembershipList(...)`
  - `clerkClient.organization.getOrganizationList(...)`
  - `clerkClient.organization.getOrganizationInvitationList(...)`

  Revert changing the `{ data, errors }` return value of the following helpers to throw the `errors` or return the `data` (keep v4 format):

  - `import { verifyToken } from '@clerk/backend'`
  - `import { signJwt, hasValidSignature, decodeJwt, verifyJwt } from '@clerk/backend/jwt'`
  - BAPI `clerkClient` methods eg (`clerkClient.users.getUserList(...)`)

- 9e99eb727: Update `@clerk/nextjs` error messages to refer to `clerkMiddleware()` and deprecated `authMiddleware()` and fix a typo in `cannotRenderSignUpComponentWhenSessionExists` error message.
- fcb91f6f1: Fixes the docs link pointing to clerk.com/docs in the `authAuthHeaderMissing` error by removing the trailing `.`
- ee57f21ac: Export `EmailLinkErrorCode` from `/errors` module
- 529e2e14c: Introduce `createRouteMatcher` which is designed to generate and return a function that evaluates whether a given Request object matches a set of predefined routes. It provides flexibility in defining these routes through various patterns, including glob patterns, regular expressions, and custom functions. This composable helper can be used in combination with the `clerkMiddleware` helper to easily protect specific routes, eg:

  ```ts
  import { clerkMiddleware, createRouteMatcher } from '@clerk/nextjs/server';

  const isProtectedRoute = createRouteMatcher(['/dashboard(.*)']);

  export default clerkMiddleware((auth, request) => {
    if (isProtectedRoute(request)) {
      auth().protect();
    }
  });
  ```

- b234400c2: Adds telemetry event to clerkMiddleware initialization, passes publishableKey to `createClerkClient()` internally.
- 2e77cd737: Set correct information on required Node.js and React versions in README
- ae3a6683a: Ignore `.test.ts` files for the build output. Should result in smaller bundle size.
- 32992906c: Fix partial prerendering error when using NextJS by correctly rethrowing partial prerendering (PPR) error.
- c22cd5214: Fix type inference for auth helper.
- b67f6ab79: Fix property `Page`/ `Link` missing from the `UserProfile` / `OrganizationProfile`
  when imported from `@clerk/nextjs` or `@clerk/remix`.
- f77e8cdbd: Add Autocomplete TS generic for union literals
- b892ac6cb: Ensure that cookies set inside Next.js Middleware are correctly passed through while using [`authMiddleware`](https://clerk.com/docs/references/nextjs/auth-middleware).
- 8b466a9ba: Prevent Clerk component flickering when mounted in a Next.js app using App Router
- ceb74c464: Using auth().protect inside clerkMiddleware will perform a redirection instead of throwing a not found error when internal navigation in pages router occurs and the user is unauthenticated.
- 7644b7472: Improve the default value for `CLERK_API_URL` by utilizing the publishable key to differentiate between local, staging and prod environments.
- d88b52079: Update NextJS quickstart link in error message
- 046224177: Make useAwaitableNavigate handle navigations between pages reliably
- 0ce0edc28: Add OrganizationPermissionAPI for CRUD operations regarding instance level organization permissions.
- a8901be64: Expose resources types
- 05bda497c: Accept `redirectUrl` as an option for `auth().protect()`.

  For example:

  ```ts
  // Authorization
  auth().protect({ role: 'org:admin' }, { redirectUrl: '/any-page' });
  auth().protect({ permission: 'org:settings:manage' }, { redirectUrl: '/any-page' });

  // Authentication
  auth().protect({ redirectUrl: '/any-page' });
  ```

- fb794ce7b: Support older iOS 13.3 and 13.4 mobile devices
- e6fc58ae4: Introduce `debug: true` option for the `clerkMiddleware` helper
- 40ac4b645: Introduces telemetry collection from Clerk's SDKs. Collected telemetry will be used to gain insights into product usage and help drive roadmap priority. For more information, see https://clerk.com/docs/telemetry.
- c0a7455ac: Export MultisessionAppSupport from @clerk/nextjs/internal
- Updated dependencies [3a2f13604]
- Updated dependencies [8c23651b8]
- Updated dependencies [f4f99f18d]
- Updated dependencies [743c4d204]
- Updated dependencies [4b8bedc66]
- Updated dependencies [9272006e7]
- Updated dependencies [2a67f729d]
- Updated dependencies [c2a090513]
- Updated dependencies [6ac9e717a]
- Updated dependencies [966b31205]
- Updated dependencies [1834a3ee4]
- Updated dependencies [a8901be64]
- Updated dependencies [896cb6104]
- Updated dependencies [64d3763ec]
- Updated dependencies [8350109ab]
- Updated dependencies [7b200af49]
- Updated dependencies [988a299c0]
- Updated dependencies [ecb60da48]
- Updated dependencies [deac67c1c]
- Updated dependencies [b3a3dcdf4]
- Updated dependencies [1dc28ab46]
- Updated dependencies [83e9d0846]
- Updated dependencies [244de5ea3]
- Updated dependencies [791c49807]
- Updated dependencies [935b0886e]
- Updated dependencies [93d05c868]
- Updated dependencies [ea4933655]
- Updated dependencies [7f6a64f43]
- Updated dependencies [a9fe242be]
- Updated dependencies [448e02e93]
- Updated dependencies [2671e7aa5]
- Updated dependencies [799abc281]
- Updated dependencies [4aaf5103d]
- Updated dependencies [a68eb3083]
- Updated dependencies [2de442b24]
- Updated dependencies [15af02a83]
- Updated dependencies [db18787c4]
- Updated dependencies [7f833da9e]
- Updated dependencies [de6519daa]
- Updated dependencies [e6ecbaa2f]
- Updated dependencies [ef2325dcc]
- Updated dependencies [6a769771c]
- Updated dependencies [fc3ffd880]
- Updated dependencies [8b6b094b9]
- Updated dependencies [bab2e7e05]
- Updated dependencies [71663c568]
- Updated dependencies [a6b893d28]
- Updated dependencies [02976d494]
- Updated dependencies [492b8a7b1]
- Updated dependencies [8e5c881c4]
- Updated dependencies [9e99eb727]
- Updated dependencies [034c47ccb]
- Updated dependencies [cfea3d9c0]
- Updated dependencies [e5c989a03]
- Updated dependencies [ff08fe237]
- Updated dependencies [7ecd6f6ab]
- Updated dependencies [12f3c5c55]
- Updated dependencies [c776f86fb]
- Updated dependencies [90aa2ea9c]
- Updated dependencies [ee57f21ac]
- Updated dependencies [1e98187b4]
- Updated dependencies [7bffc47cb]
- Updated dependencies [a605335e1]
- Updated dependencies [2e77cd737]
- Updated dependencies [2964f8a47]
- Updated dependencies [7af0949ae]
- Updated dependencies [97407d8aa]
- Updated dependencies [2a22aade8]
- Updated dependencies [63dfe8dc9]
- Updated dependencies [ae3a6683a]
- Updated dependencies [e921af259]
- Updated dependencies [d08ec6d8f]
- Updated dependencies [6e54b1b59]
- Updated dependencies [8aea39cd6]
- Updated dependencies [dd5703013]
- Updated dependencies [5f58a2274]
- Updated dependencies [5f58a2274]
- Updated dependencies [03079579d]
- Updated dependencies [c22cd5214]
- Updated dependencies [52ff8fe6b]
- Updated dependencies [c9e0f68af]
- Updated dependencies [86d52fb5c]
- Updated dependencies [fe2607b6f]
- Updated dependencies [c7e6d00f5]
- Updated dependencies [8cc45d2af]
- Updated dependencies [797e327e0]
- Updated dependencies [ab4eb56a5]
- Updated dependencies [a9fe242be]
- Updated dependencies [97407d8aa]
- Updated dependencies [12962bc58]
- Updated dependencies [7cb1241a9]
- Updated dependencies [9615e6cda]
- Updated dependencies [0ec3a146c]
- Updated dependencies [4bb57057e]
- Updated dependencies [c86f73be3]
- Updated dependencies [bad4de1a2]
- Updated dependencies [d4ff346dd]
- Updated dependencies [7644b7472]
- Updated dependencies [2ec9f6b09]
- Updated dependencies [2e4a43017]
- Updated dependencies [f98e480b1]
- Updated dependencies [66b283653]
- Updated dependencies [1affbb22a]
- Updated dependencies [46040a2f3]
- Updated dependencies [cace85374]
- Updated dependencies [f5fb63cf1]
- Updated dependencies [1ad910eb9]
- Updated dependencies [8daf8451c]
- Updated dependencies [f58a9949b]
- Updated dependencies [4aaf5103d]
- Updated dependencies [75ea300bc]
- Updated dependencies [d22e6164d]
- Updated dependencies [e1f7eae87]
- Updated dependencies [7f751c4ef]
- Updated dependencies [4fced88ac]
- Updated dependencies [f5d55bb1f]
- Updated dependencies [18c0d015d]
- Updated dependencies [0d1052ac2]
- Updated dependencies [d30ea1faa]
- Updated dependencies [e9841dd91]
- Updated dependencies [e7e2a1eae]
- Updated dependencies [1fd2eff38]
- Updated dependencies [5471c7e8d]
- Updated dependencies [a6308c67e]
- Updated dependencies [0ce0edc28]
- Updated dependencies [477170962]
- Updated dependencies [9b02c1aae]
- Updated dependencies [051833167]
- Updated dependencies [59f9a7296]
- Updated dependencies [b4e79c1b9]
- Updated dependencies [38d8b3e8a]
- Updated dependencies [be991365e]
- Updated dependencies [8350f73a6]
- Updated dependencies [d6a7ea61a]
- Updated dependencies [e0e79b4fe]
- Updated dependencies [e602d6c1f]
- Updated dependencies [142ded732]
- Updated dependencies [3c4209068]
- Updated dependencies [fb794ce7b]
- Updated dependencies [e6fc58ae4]
- Updated dependencies [6fffd3b54]
- Updated dependencies [a6451aece]
- Updated dependencies [987994909]
- Updated dependencies [40ac4b645]
- Updated dependencies [1bea9c200]
- Updated dependencies [6f755addd]
- Updated dependencies [844847e0b]
- Updated dependencies [6eab66050]
- Updated dependencies [db2d82901]
- Updated dependencies [c2b982749]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 5.0.0-beta.46

### Patch Changes

- Updated dependencies []:
  - @clerk/[email protected]

## 5.0.0-beta.45

### Patch Changes

- Throw a descriptive error when a Clerk component that is using path-based routing is mounted in a non-catch-all route ([#3204](https://github.com/clerk/javascript/pull/3204)) by [@nikosdouvlis](https://github.com/nikosdouvlis)

- Updated dependencies [[`bab2e7e05`](https://github.com/clerk/javascript/commit/bab2e7e0590d0da1fd7db0680e63e8f2eb836b41)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 5.0.0-beta.44

### Minor Changes

- Introduce experimental support for Google One Tap ([#3176](https://github.com/clerk/javascript/pull/3176)) by [@panteliselef](https://github.com/panteliselef)

  - React Component `<__experimental_GoogleOneTap/>`
  - JS `clerk.__experimental_mountGoogleOneTap(node,props)`

- Speed up loading of clerk-js by using a `<script/>` tag when html is generated. ([#3156](https://github.com/clerk/javascript/pull/3156)) by [@panteliselef](https://github.com/panteliselef)

  This is supported during SSR, SSG in

  - Next.js Pages Router
  - Next.js App Router

### Patch Changes

- Support older iOS 13.3 and 13.4 mobile devices ([#3188](https://github.com/clerk/javascript/pull/3188)) by [@nikosdouvlis](https://github.com/nikosdouvlis)

- Introduce `debug: true` option for the `clerkMiddleware` helper ([#3189](https://github.com/clerk/javascript/pull/3189)) by [@nikosdouvlis](https://github.com/nikosdouvlis)

- Updated dependencies [[`ff08fe237`](https://github.com/clerk/javascript/commit/ff08fe237fa5a9ded04924b3c5821111836b49b6), [`f98e480b1`](https://github.com/clerk/javascript/commit/f98e480b1a9e41f5370efcd53aa6887af2ad6816), [`142ded732`](https://github.com/clerk/javascript/commit/142ded73265b776789b65404d96b6c91cfe15e98), [`fb794ce7b`](https://github.com/clerk/javascript/commit/fb794ce7b88001b98ad4a628bc2cc39a0c8ccfa5), [`e6fc58ae4`](https://github.com/clerk/javascript/commit/e6fc58ae4df5091eff00ba0d9045ce5ff0fff538)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 5.0.0-beta.43

### Patch Changes

- Updated dependencies [[`7cb1241a9`](https://github.com/clerk/javascript/commit/7cb1241a9929b3d8a0d2157637734d82dd9fd852)]:
  - @clerk/[email protected]
  - @clerk/[email protected]

## 5.0.0-beta.42

### Minor Changes

- Implement token signature verification when passing verified token from Next.js middleware to the application origin. ([#3121](https://github.com/clerk/javascript/pull/3121)) by [@BRKalow](https://github.com/BRKalow)

### Patch Changes

- Updated dependencies [[`ecb60da48`](https://github.com/clerk/javascript/commit/ecb60da48029b9cb2d17ab9b0a73cb92bc5c924b)]:
  - @clerk/[email protected]
  - @clerk/[email protected]

## 5.0.0-beta.41

### Patch Changes

- Updated dependencies []:
  - @clerk/[email protected]

## 5.0.0-beta.40

### Patch Changes

- Updated dependencies [[`63dfe8dc9`](https://github.com/clerk/javascript/commit/63dfe8dc92c28213db5c5644782e7d6751fa22a6), [`d22e6164d`](https://github.com/clerk/javascript/commit/d22e6164ddb765542e0e6335421d2ebf484af059)]:
  - @clerk/[email protected]
  - @clerk/[email protected]

## 5.0.0-beta.39

### Minor Changes

- Allow manually passing a publishable/secret key pair to the `authMiddleware` and `clerkMiddleware` helpers. ([#3001](https://github.com/clerk/javascript/pull/3001)) by [@desiprisg](https://github.com/desiprisg)

### Patch Changes

- Updated dependencies [[`fc3ffd880`](https://github.com/clerk/javascript/commit/fc3ffd88064a09ab98877dfba119150390f9296e), [`1fd2eff38`](https://github.com/clerk/javascript/commit/1fd2eff38dc71e45d2ff95a5b6e5a99cca53c6e7), [`987994909`](https://github.com/clerk/javascript/commit/987994909b7c462cc2b785f75afe4d621f5c960d), [`1bea9c200`](https://github.com/clerk/javascript/commit/1bea9c20090abdde962c7da1a859933e1cd51660)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 5.0.0-beta.38

### Patch Changes

- Updated dependencies [[`988a299c0`](https://github.com/clerk/javascript/commit/988a299c0abf708e905592c29e394f8e4d79968e)]:
  - @clerk/[email protected]

## 5.0.0-beta.37

### Patch Changes

- Updated dependencies [[`8350109ab`](https://github.com/clerk/javascript/commit/8350109ab85909e0457199da1db0c9787d94001e)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 5.0.0-beta.36

### Patch Changes

- Adds telemetry event to clerkMiddleware initialization, passes publishableKey to `createClerkClient()` internally. ([#3042](https://github.com/clerk/javascript/pull/3042)) by [@BRKalow](https://github.com/BRKalow)

- Updated dependencies []:
  - @clerk/[email protected]

## 5.0.0-beta.35

### Minor Changes

- Bump minimum nextjs@13 version to `13.5.4` from `13.0.4` to resolve vulnerabilities. ([#2983](https://github.com/clerk/javascript/pull/2983)) by [@dimkl](https://github.com/dimkl)

  ref: https://github.com/advisories/GHSA-c59h-r6p8-q9wc

### Patch Changes

- Updated dependencies [[`8c23651b8`](https://github.com/clerk/javascript/commit/8c23651b8c3ff1474057a7d62e3ddba939cb0b64), [`9272006e7`](https://github.com/clerk/javascript/commit/9272006e744fc906cfdee520d2dc6d7db141cc97), [`2671e7aa5`](https://github.com/clerk/javascript/commit/2671e7aa5081eb9ae38b92ee647f2e3fd824741f), [`66b283653`](https://github.com/clerk/javascript/commit/66b28365370bcbcdf4e51da39de58c7f8b1fc1b4)]:
  - @clerk/[email protected]
  - @clerk/[email protected]

## 5.0.0-beta.34

### Minor Changes

- Expose debug headers in response for handshake / signed-out states from SDKs using headers returned from `authenticateRequest()` ([#2898](https://github.com/clerk/javascript/pull/2898)) by [@dimkl](https://github.com/dimkl)

### Patch Changes

- Updated dependencies [[`2964f8a47`](https://github.com/clerk/javascript/commit/2964f8a47e473fa8457a27104adb4d008613a0e3)]:
  - @clerk/[email protected]

## 5.0.0-beta.33

### Patch Changes

- Using auth().protect inside clerkMiddleware will perform a redirection instead of throwing a not found error when internal navigation in pages router occurs and the user is unauthenticated. ([#2942](https://github.com/clerk/javascript/pull/2942)) by [@panteliselef](https://github.com/panteliselef)

- Updated dependencies [[`c86f73be3`](https://github.com/clerk/javascript/commit/c86f73be382d01ec5f0ff5922ad907f429e63a58)]:
  - @clerk/[email protected]

## 5.0.0-beta.32

### Patch Changes

- Updated dependencies [[`8350f73a6`](https://github.com/clerk/javascript/commit/8350f73a67f8980be78e3bd3343e772f5653d718)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 5.0.0-beta.31

### Patch Changes

- Updated dependencies []:
  - @clerk/[email protected]

## 5.0.0-beta.30

### Patch Changes

- Updated dependencies [[`e5c989a03`](https://github.com/clerk/javascript/commit/e5c989a035fa16413414c213febe16fcdbeef9b1), [`2ec9f6b09`](https://github.com/clerk/javascript/commit/2ec9f6b09f98ae276658d6dc705e16df0573d817)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 5.0.0-beta.29

### Minor Changes

- Pass environment into `sdkMetadata` in order to detect if production clerk-js is used by other sdks in dev mode. When it is log dev warning from clerk-js. ([#2802](https://github.com/clerk/javascript/pull/2802)) by [@panteliselef](https://github.com/panteliselef)

### Patch Changes

- Updated dependencies [[`18c0d015d`](https://github.com/clerk/javascript/commit/18c0d015d20493e14049fed73a5b6f732372a5cf)]:
  - @clerk/[email protected]

## 5.0.0-beta.28

### Patch Changes

- Make useAwaitableNavigate handle navigations between pages reliably ([#2899](https://github.com/clerk/javascript/pull/2899)) by [@nikosdouvlis](https://github.com/nikosdouvlis)

- Updated dependencies []:
  - @clerk/[email protected]

## 5.0.0-beta.27

### Patch Changes

- Updated dependencies [[`1834a3ee4`](https://github.com/clerk/javascript/commit/1834a3ee496ea27b9f7ceeb32ec5361f9de8ee30), [`15af02a83`](https://github.com/clerk/javascript/commit/15af02a837b0e87ea83f3a86dfacc149adca1345)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 5.0.0-beta.26

### Patch Changes

- Updated dependencies [[`db18787c4`](https://github.com/clerk/javascript/commit/db18787c4d9fa8ee1306db9b65f3b3f5e2fe2dad)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 5.0.0-beta.25

### Patch Changes

- Updated dependencies [[`6eab66050`](https://github.com/clerk/javascript/commit/6eab66050608a1bc5cb9aca6a234b1fea16106e5)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 5.0.0-beta.24

### Patch Changes

- Updated dependencies [[`12f3c5c55`](https://github.com/clerk/javascript/commit/12f3c5c55580f93a81df27851fbc92ce1312107e)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 5.0.0-beta.23

### Patch Changes

- Updated dependencies [[`051833167`](https://github.com/clerk/javascript/commit/0518331675ffb4d6c6830d79a1d61f9e4466773a)]:
  - @clerk/[email protected]
  - @clerk/[email protected]

## 5.0.0-beta.22

### Patch Changes

- Rename beta-v5 to beta by [@nikosdouvlis](https://github.com/nikosdouvlis)

- Updated dependencies [[`2de442b24`](https://github.com/clerk/javascript/commit/2de442b2465cc5d424b8a0b21aa57c557f3aa2e7)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 5.0.0-beta-v5.21

### Minor Changes

- Replace redirectUrl of protect with `unauthorizedUrl` and `unauthenticatedUrl`. ([#2672](https://github.com/clerk/javascript/pull/2672)) by [@panteliselef](https://github.com/panteliselef)

### Patch Changes

- The `auth().redirectToSignIn()` helper no longer needs to be explicitly returned when called within the middleware. The following examples are now equivalent: ([#2691](https://github.com/clerk/javascript/pull/2691)) by [@nikosdouvlis](https://github.com/nikosdouvlis)

  ```js
  // Before
  export default clerkMiddleware(auth => {
    if (protectedRoute && !auth.user) {
      return auth().redirectToSignIn()
    }
  })

  // After
  export default clerkMiddleware(auth => {
    if (protectedRoute && !auth.user) {
      auth().redirectToSignIn()
    }
  })
  ```

  Calling `auth().protect()` from a page will now automatically redirect back to the same page by setting `redirect_url` to the request url before the redirect to the sign-in URL takes place.

- Remove usage of useSearchParams() to avoid CSR de-opt. ([#2651](https://github.com/clerk/javascript/pull/2651)) by [@BRKalow](https://github.com/BRKalow)

- Export `EmailLinkErrorCode` from `/errors` module ([#2732](https://github.com/clerk/javascript/pull/2732)) by [@nikosdouvlis](https://github.com/nikosdouvlis)

- Prevent Clerk component flickering when mounted in a Next.js app using App Router ([#2765](https://github.com/clerk/javascript/pull/2765)) by [@nikosdouvlis](https://github.com/nikosdouvlis)

- Expose resources types ([#2660](https://github.com/clerk/javascript/pull/2660)) by [@panteliselef](https://github.com/panteliselef)

- Updated dependencies [[`6ac9e717a`](https://github.com/clerk/javascript/commit/6ac9e717a7ce8f09c1604f324add5e7e02041c07), [`966b31205`](https://github.com/clerk/javascript/commit/966b312050b572fbbbc07a6f0581cbec21847375), [`a8901be64`](https://github.com/clerk/javascript/commit/a8901be64fe91125a0d38a3c880ffa73168ccf5c), [`7b200af49`](https://github.com/clerk/javascript/commit/7b200af4908839ea661ddf2a76811057b545cafc), [`244de5ea3`](https://github.com/clerk/javascript/commit/244de5ea3a7641727cd85c544bb79fb04f2c0808), [`034c47ccb`](https://github.com/clerk/javascript/commit/034c47ccbef0129b9be9ff8aef683aa039e52602), [`ee57f21ac`](https://github.com/clerk/javascript/commit/ee57f21ac62fc2dd0d9d68b965f35081b538c85e), [`1affbb22a`](https://github.com/clerk/javascript/commit/1affbb22a040e210cfce8f72d52b7961057c02d1), [`8daf8451c`](https://github.com/clerk/javascript/commit/8daf8451cb564bc834dd856174ffc2cdfa932e37), [`7f751c4ef`](https://github.com/clerk/javascript/commit/7f751c4ef2d14410058cf65ea984a93b50c0b87e), [`4fced88ac`](https://github.com/clerk/javascript/commit/4fced88acc66a4837779d8bbca359086cddeec56), [`be991365e`](https://github.com/clerk/javascript/commit/be991365e1c78d0f1dfc59bb33dd533b6fad223a), [`c2b982749`](https://github.com/clerk/javascript/commit/c2b98274970bac5af33c9bb2e84c70ad90225180)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 5.0.0-beta-v5.20

### Patch Changes

- Infer the path the component is mounted at automatically in pages and app router ([#2634](https://github.com/clerk/javascript/pull/2634)) by [@nikosdouvlis](https://github.com/nikosdouvlis)

- The following paginated APIs now return `{ data, totalCount }` instead of simple arrays, in order to make building paginated UIs easier: ([#2633](https://github.com/clerk/javascript/pull/2633)) by [@dimkl](https://github.com/dimkl)

  - `clerkClient.users.getOrganizationMembershipList(...)`
  - `clerkClient.organization.getOrganizationList(...)`
  - `clerkClient.organization.getOrganizationInvitationList(...)`

  Revert changing the `{ data, errors }` return value of the following helpers to throw the `errors` or return the `data` (keep v4 format):

  - `import { verifyToken } from '@clerk/backend'`
  - `import { signJwt, hasValidSignature, decodeJwt, verifyJwt } from '@clerk/backend/jwt'`
  - BAPI `clerkClient` methods eg (`clerkClient.users.getUserList(...)`)

- Updated dependencies [[`8e5c881c4`](https://github.com/clerk/javascript/commit/8e5c881c40d7306c5dbd2e1f1803fbf75127bd71), [`d4ff346dd`](https://github.com/clerk/javascript/commit/d4ff346dd53bb3e1970e80bdc7b188c2dd344f12), [`a6308c67e`](https://github.com/clerk/javascript/commit/a6308c67e329879e001cee56cccd82e60b804422)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 5.0.0-alpha-v5.19

### Major Changes

- Replace return the value of the following jwt helpers to match the format of backend API client return values (for consistency). ([#2596](https://github.com/clerk/javascript/pull/2596)) by [@dimkl](https://github.com/dimkl)

  ```diff
  import { signJwt } from '@clerk/backend/jwt';

  - const { data, error } = await signJwt(...);
  + const { data, errors: [error] = [] } = await signJwt(...);
  ```

  ```diff
  import { verifyJwt } from '@clerk/backend/jwt';

  - const { data, error } = await verifyJwt(...);
  + const { data, errors: [error] = [] } = await verifyJwt(...);
  ```

  ```diff
  import { hasValidSignature } from '@clerk/backend/jwt';

  - const { data, error } = await hasValidSignature(...);
  + const { data, errors: [error] = [] } = await hasValidSignature(...);
  ```

  ```diff
  import { decodeJwt } from '@clerk/backend/jwt';

  - const { data, error } = await decodeJwt(...);
  + const { data, errors: [error] = [] } = await decodeJwt(...);
  ```

  ```diff
  import { verifyToken } from '@clerk/backend';

  - const { data, error } = await verifyToken(...);
  + const { data, errors: [error] = [] } = await verifyToken(...);
  ```

### Patch Changes

- - Export ClerkMiddlewareAuthObject, ClerkMiddlewareAuth and ClerkMiddlewareOptions types ([#2611](https://github.com/clerk/javascript/pull/2611)) by [@nikosdouvlis](https://github.com/nikosdouvlis)

  - Introduce `auth().redirectToSignIn()` that can be used in API routes and pages, eg

  ```ts
  import { auth } from '@clerk/nextjs/server';

  export const Layout = ({ children }) => {
    const { userId } = auth();

    if (!userId) {
      return auth().redirectToSignIn();
    }

    return <>{children}</>;
  };
  ```

- Update `@clerk/nextjs` error messages to refer to `clerkMiddleware()` and deprecated `authMiddleware()` and fix a typo in `cannotRenderSignUpComponentWhenSessionExists` error message. ([#2589](https://github.com/clerk/javascript/pull/2589)) by [@dimkl](https://github.com/dimkl)

- Updated dependencies [[`3a2f13604`](https://github.com/clerk/javascript/commit/3a2f13604e1b8b351a05de26d2c0672503aa67b3), [`9e99eb727`](https://github.com/clerk/javascript/commit/9e99eb7276249c68ef6f930cce418ce0004653b9), [`6fffd3b54`](https://github.com/clerk/javascript/commit/6fffd3b542f3df0bcb49281b7c4f77209a83f7a1)]:
  - @clerk/[email protected]

## 5.0.0-alpha-v5.18

### Patch Changes

- Update README for v5 ([#2577](https://github.com/clerk/javascript/pull/2577)) by [@LekoArts](https://github.com/LekoArts)

- Introduce `createRouteMatcher` which is designed to generate and return a function that evaluates whether a given Request object matches a set of predefined routes. It provides flexibility in defining these routes through various patterns, including glob patterns, regular expressions, and custom functions. This composable helper can be used in combination with the `clerkMiddleware` helper to easily protect specific routes, eg: ([#2572](https://github.com/clerk/javascript/pull/2572)) by [@nikosdouvlis](https://github.com/nikosdouvlis)

  ```ts
  import { clerkMiddleware, createRouteMatcher } from '@clerk/nextjs/server';

  const isProtectedRoute = createRouteMatcher(['/dashboard(.*)']);

  export default clerkMiddleware((auth, request) => {
    if (isProtectedRoute(request)) {
      auth().protect();
    }
  });
  ```

- Fix partial prerendering error when using NextJS by correctly rethrowing partial prerendering (PPR) error. ([#2518](https://github.com/clerk/javascript/pull/2518)) by [@juliuslipp](https://github.com/juliuslipp)

- Updated dependencies [[`935b0886e`](https://github.com/clerk/javascript/commit/935b0886e8317445f30c92000a27ed68e1223ff6), [`6a769771c`](https://github.com/clerk/javascript/commit/6a769771c975996d8d52b35b5cfdbae5dcec85d4)]:
  - @clerk/[email protected]

## 5.0.0-alpha-v5.17

### Minor Changes

- Replace the `Clerk-Backend-SDK` header with `User-Agent` in BAPI requests and update it's value to contain both the package name and the package version of the clerk package ([#2558](https://github.com/clerk/javascript/pull/2558)) by [@dimkl](https://github.com/dimkl)

  executing the request. Eg request from `@clerk/nextjs` to BAPI with append `User-Agent: @clerk/[email protected]` using the latest version.

  Miscellaneous changes: The backend test build changed to use tsup.

### Patch Changes

- Export MultisessionAppSupport from @clerk/nextjs/internal ([#2553](https://github.com/clerk/javascript/pull/2553)) by [@nikosdouvlis](https://github.com/nikosdouvlis)

- Updated dependencies [[`799abc281`](https://github.com/clerk/javascript/commit/799abc281182efb953dd6637f9db7fc61c71a2cd), [`8cc45d2af`](https://github.com/clerk/javascript/commit/8cc45d2af98320ccced3768fb039b86576e424a5), [`b4e79c1b9`](https://github.com/clerk/javascript/commit/b4e79c1b9ab8e14cbfccaf290f0f596da0416e13), [`db2d82901`](https://github.com/clerk/javascript/commit/db2d829013722957332bcf03928685a4771f9a3c)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 5.0.0-alpha-v5.16

### Patch Changes

- Updated dependencies [[`448e02e93`](https://github.com/clerk/javascript/commit/448e02e93cf2392878d5891009640c52103d99a8), [`e6ecbaa2f`](https://github.com/clerk/javascript/commit/e6ecbaa2ff7add95bf888cb4ce43457b9fde7a13), [`e921af259`](https://github.com/clerk/javascript/commit/e921af259e9bdc8810a830bed54d71cf8eced1f8), [`e9841dd91`](https://github.com/clerk/javascript/commit/e9841dd91897a7ebb468b14e272ce06154795389), [`59f9a7296`](https://github.com/clerk/javascript/commit/59f9a72968fb49add6d9031158c791ac60a161b9)]:
  - @clerk/[email protected]
  - @clerk/[email protected]

## 5.0.0-alpha-v5.15

### Patch Changes

- Fix property `Page`/ `Link` missing from the `UserProfile` / `OrganizationProfile` ([#2508](https://github.com/clerk/javascript/pull/2508)) by [@dimkl](https://github.com/dimkl)

  when imported from `@clerk/nextjs` or `@clerk/remix`.

- Updated dependencies [[`1dc28ab46`](https://github.com/clerk/javascript/commit/1dc28ab46f6930074334be183c637ce7a81bebf7), [`ea4933655`](https://github.com/clerk/javascript/commit/ea4933655863ce315324aa2a3be7d5f263c2b61f), [`38d8b3e8a`](https://github.com/clerk/javascript/commit/38d8b3e8a0387bcf0b9c8d16e3bbfcfe9b643ca2)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 5.0.0-alpha-v5.14

### Patch Changes

- Introduce the new `clerkMiddleware` helper to allow for more flexibility in how Clerk is integrated into your Next.js middleware. Example usage can be found below, for more details, For more details, please see the [clerkMiddleware](https://clerk.com/docs/references/nextjs/clerkMiddleware) documentation. ([#2404](https://github.com/clerk/javascript/pull/2404)) by [@nikosdouvlis](https://github.com/nikosdouvlis)

  The `clerkMiddleware` helper effectively replaces the older `authMiddleware` helper, which is now considered deprecated and will be removed in the next major release.

  ### 1. Protect a route that requires authentication

  ```js
  import { clerkMiddleware } from '@clerk/nextjs/server';

  export default clerkMiddleware(auth => {
    const { userId } = auth().protect();
    // userId is now available for use in your route handler
    // for page requests, calling protect will automatically redirect the user to the sign-in URL if they are not authenticated
    return NextResponse.next();
  });
  ```

  ### 2. Protect a route that requires specific permissions

  ```js
  import { clerkMiddleware } from '@clerk/nextjs/server';

  export default clerkMiddleware(auth => {
    const { userId } = auth().protect({ permission: 'org:domains:delete' });
    // userId is now available for use in your route handler
    // for page requests, calling protect will automatically throw a notFound error if the user does not have the required permissions
    return NextResponse.next();
  });
  ```

  ### 2. Manually redirect to sign-in URL using the redirectToSignIn helper

  ```js
  import { clerkMiddleware } from '@clerk/nextjs/server';

  export default clerkMiddleware(auth => {
    // If you want more fine-grained control, you can always use the low-level redirectToSignIn helper
    if (!auth().userId) {
      return auth().redirectToSignIn();
    }

    return NextResponse.next();
  });
  ```

  This commit also introduces the experimental `createRouteMatcher` helper, which can be used to create a route matcher that matches a route against the current request. This is useful for creating custom logic based on which routes you want to handle as protected or public.

  ```js
  import { clerkMiddleware, experimental_createRouteMatcher } from '@clerk/nextjs/server';

  const isProtectedRoute = experimental_createRouteMatcher([/protected.*/]);

  export default clerkMiddleware((auth, request) => {
    if (isProtectedRoute(request)) {
      auth().protect();
    }

    return NextResponse.next();
  });
  ```

- Updated dependencies [[`7ecd6f6ab`](https://github.com/clerk/javascript/commit/7ecd6f6abb0e5bfb1a57c99cc11860de311c3e82)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 5.0.0-alpha-v5.13

### Major Changes

- Path-based routing is now the default routing strategy if the `path` prop is filled. Additionally, if the `path` and `routing` props are not filled, an error will be thrown. ([#2338](https://github.com/clerk/javascript/pull/2338)) by [@octoper](https://github.com/octoper)

  ```jsx

  // Without path or routing props, an error with be thrown
  <UserProfile />
  <CreateOrganization />
  <OrganizationProfile />
  <SignIn />
  <SignUp />

  // Alternative #1
  <UserProfile path="/whatever"/>
  <CreateOrganization path="/whatever"/>
  <OrganizationProfile path="/whatever"/>
  <SignIn path="/whatever"/>
  <SignUp path="/whatever"/>

  // Alternative #2
  <UserProfile routing="hash_or_virtual"/>
  <CreateOrganization routing="hash_or_virtual"/>
  <OrganizationProfile routing="hash_or_virtual"/>
  <SignIn routing="hash_or_virtual"/>
  <SignUp routing="hash_or_virtual"/>
  ```

### Patch Changes

- Updated dependencies [[`f4f99f18d`](https://github.com/clerk/javascript/commit/f4f99f18de0be8afaae9f52599deb2814ab235e7), [`cfea3d9c0`](https://github.com/clerk/javascript/commit/cfea3d9c00950eee8d7e942d88bee1a56a5f842b), [`fe2607b6f`](https://github.com/clerk/javascript/commit/fe2607b6fdeed83002db7e4a0c040ac0280e5ff7), [`bad4de1a2`](https://github.com/clerk/javascript/commit/bad4de1a2fd8a3e2643fe26677801166a8305c29), [`2e4a43017`](https://github.com/clerk/javascript/commit/2e4a43017ef33b541949ba90e16bf5311ce8bc60), [`f5fb63cf1`](https://github.com/clerk/javascript/commit/f5fb63cf1dd51cd6cd0dba4d9eef871695ef06c3), [`e7e2a1eae`](https://github.com/clerk/javascript/commit/e7e2a1eae2ed726ab49894dd195185c8f4e70acd)]:
  - @clerk/[email protected]
  - @clerk/[email protected]

## 5.0.0-alpha-v5.12

### Major Changes

- Remove hashing and third-party cookie functionality related to development instance session syncing in favor of URL-based session syncing with query parameters. ([#2367](https://github.com/clerk/javascript/pull/2367)) by [@tmilewski](https://github.com/tmilewski)

- Change return values of `signJwt`, `hasValidSignature`, `decodeJwt`, `verifyJwt` ([#2377](https://github.com/clerk/javascript/pull/2377)) by [@dimkl](https://github.com/dimkl)

  to return `{ data, error }`. Example of keeping the same behavior using those utilities:

  ```typescript
  import { signJwt, hasValidSignature, decodeJwt, verifyJwt } from '@clerk/backend/jwt';

  const { data, error } = await signJwt(...)
  if (error) throw error;

  const { data, error } = await hasValidSignature(...)
  if (error) throw error;

  const { data, error } = decodeJwt(...)
  if (error) throw error;

  const { data, error } = await verifyJwt(...)
  if (error) throw error;
  ```

- Changes in exports of `@clerk/backend`: ([#2363](https://github.com/clerk/javascript/pull/2363)) by [@dimkl](https://github.com/dimkl)

  - Expose the following helpers and enums from `@clerk/backend/internal`:
    ```typescript
    import {
      AuthStatus,
      buildRequestUrl,
      constants,
      createAuthenticateRequest,
      createIsomorphicRequest,
      debugRequestState,
      makeAuthObjectSerializable,
      prunePrivateMetadata,
      redirect,
      sanitizeAuthObject,
      signedInAuthObject,
      signedOutAuthObject,
    } from '@clerk/backend/internal';
    ```
  - Drop the above exports from the top-level api:
    ```typescript
    // Before
    import { AuthStatus, ... } from '@clerk/backend';
    // After
    import { AuthStatus, ... } from '@clerk/backend/internal';
    ```
    Dropping those exports results in also dropping the exports from `gatsby-plugin-clerk`, `@clerk/clerk-sdk-node`, `@clerk/backend`, `@clerk/fastify`, `@clerk/nextjs`, `@clerk/remix` packages.

- Changes in exports of `@clerk/backend`: ([#2365](https://github.com/clerk/javascript/pull/2365)) by [@dimkl](https://github.com/dimkl)

  - Drop the following internal exports from the top-level api:
    ```typescript
    // Before
    import {
      AllowlistIdentifier,
      Client,
      DeletedObject,
      Email,
      EmailAddress,
      ExternalAccount,
      IdentificationLink,
      Invitation,
      OauthAccessToken,
      ObjectType,
      Organization,
      OrganizationInvitation,
      OrganizationMembership,
      OrganizationMembershipPublicUserData,
      PhoneNumber,
      RedirectUrl,
      SMSMessage,
      Session,
      SignInToken,
      Token,
      User,
      Verification,
    } from '@clerk/backend';
    // After : no alternative since there is no need to use those classes
    ```
    Dropping those exports results in also dropping the exports from `gatsby-plugin-clerk`, `@clerk/clerk-sdk-node`, `@clerk/backend`, `@clerk/fastify`, `@clerk/nextjs`, `@clerk/remix` packages.
  - Keep those 3 resource related type exports
    ```typescript
    import type { Organization, Session, User, WebhookEvent, WebhookEventType } from '@clerk/backend';
    ```

- Changes in exports of `@clerk/backend`: ([#2364](https://github.com/clerk/javascript/pull/2364)) by [@dimkl](https://github.com/dimkl)

  - Expose the following helpers and enums from `@clerk/backend/jwt`:
    ```typescript
    import { decodeJwt, hasValidSignature, signJwt, verifyJwt } from '@clerk/backend/jwt';
    ```
  - Drop the above exports from the top-level api:
    ```typescript
    // Before
    import { decodeJwt, ... } from '@clerk/backend';
    // After
    import { decodeJwt, ... } from '@clerk/backend/jwt';
    ```
    Dropping those exports results in also dropping the exports from `gatsby-plugin-clerk`, `@clerk/clerk-sdk-node`, `@clerk/backend`, `@clerk/fastify`, `@clerk/nextjs`, `@clerk/remix` packages.

- Changes in `@clerk/backend` exports: ([#2362](https://github.com/clerk/javascript/pull/2362)) by [@dimkl](https://github.com/dimkl)

  - Drop Internal `deserialize` helper
  - Introduce `/errors` subpath export, eg:
    ```typescript
    import {
      TokenVerificationError,
      TokenVerificationErrorAction,
      TokenVerificationErrorCode,
      TokenVerificationErrorReason,
    } from '@clerk/backend/errors';
    ```
  - Drop errors from top-level export
    ```typescript
    // Before
    import { TokenVerificationError, TokenVerificationErrorReason } from '@clerk/backend';
    // After
    import { TokenVerificationError, TokenVerificationErrorReason } from '@clerk/backend/errors';
    ```

- Use `NEXT_PUBLIC_CLERK_JS_URL` instead of `NEXT_PUBLIC_CLERK_JS` to pin a specific @clerk/clerk-js version. ([#2374](https://github.com/clerk/javascript/pull/2374)) by [@SokratisVidros](https://github.com/SokratisVidros)

### Patch Changes

- Updated dependencies [[`2a67f729d`](https://github.com/clerk/javascript/commit/2a67f729da58b3400df24da634fc4bf786065f25), [`a9fe242be`](https://github.com/clerk/javascript/commit/a9fe242be4dbaaa02c6643fea0688f1fb23f23e7), [`1e98187b4`](https://github.com/clerk/javascript/commit/1e98187b4fba0f872576510d7bccf8b75a2579bd), [`d08ec6d8f`](https://github.com/clerk/javascript/commit/d08ec6d8f52a2bc037c0eb586123a9f7816e4b64), [`5f58a2274`](https://github.com/clerk/javascript/commit/5f58a22746aba94f76bef5dbbc94fa93ea3b0b7e), [`5f58a2274`](https://github.com/clerk/javascript/commit/5f58a22746aba94f76bef5dbbc94fa93ea3b0b7e), [`a9fe242be`](https://github.com/clerk/javascript/commit/a9fe242be4dbaaa02c6643fea0688f1fb23f23e7), [`0ec3a146c`](https://github.com/clerk/javascript/commit/0ec3a146cc4cbe4a80d1f990a440431ae4490183), [`1ad910eb9`](https://github.com/clerk/javascript/commit/1ad910eb92dce056731f29df0caaaad74d08bd7f), [`f58a9949b`](https://github.com/clerk/javascript/commit/f58a9949bc78737ca4e096ed5501b4e578a2d493), [`9b02c1aae`](https://github.com/clerk/javascript/commit/9b02c1aae1cae286ea305c5e216ae93cbbbc0f90)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 5.0.0-alpha-v5.11

### Major Changes

- Drop support for NextJS v12: v12 was released on 26 Oct 2021. Support for security updates stopped on 21 Nov 2022. ([#2347](https://github.com/clerk/javascript/pull/2347)) by [@nikosdouvlis](https://github.com/nikosdouvlis)

  Drop support for NextJS <13.0.4: Various header-related bugs were introduced with the 12.1.0, 12.2.0, 13.0.1, 13.0.2, 13.0.3 NextJS releases which are now fixed since next@^13.0.4. We will be dropping support for these problematic versions in order to greatly reduce complexity in our codebase.

  Drop support for NextJS < 14.0.3 because of the issues described here: https://github.com/clerk/javascript/issues/1436.

  Deprecate `authMiddleware` in favor of `clerkMiddleware`. For more information, see https://clerk.com/docs/upgrade-guides/v5-introduction

  Move the server-side APIs from `@clerk/nextjs` to the `@clerk/nextjs/server` module: `WebhookEventType`, `WebhookEvent`, `verifyToken`, `redirectToSignIn`, `auth`, `buildClerkProps`, `clerkClient`, `currentUser`, `getAuth`, `redirectToSignUp` and `authMiddleware`. For more information, see https://clerk.com/docs/upgrade-guides/v5-introduction

### Patch Changes

- Updated dependencies [[`e602d6c1f`](https://github.com/clerk/javascript/commit/e602d6c1fde7a7757d292f24dfaddecd14ac1623)]:
  - @clerk/[email protected]

## 5.0.0-alpha-v5.10

### Major Changes

- - Introduce `@clerk/clerk-react/errors` and `@clerk/clerk-react/internal` subpath exports to expose some internal utilities. Eg ([#2328](https://github.com/clerk/javascript/pull/2328)) by [@dimkl](https://github.com/dimkl)

    ```typescript
    // Before
    import { __internal__setErrorThrowerOptions } from '@clerk/clerk-react';
    // After
    import { setErrorThrowerOptions } from '@clerk/clerk-react/internal';

    // Before
    import { isClerkAPIResponseError, isEmailLinkError, isKnownError, isMetamaskError } from '@clerk/clerk-react';
    // After
    import {
      isClerkAPIResponseError,
      isEmailLinkError,
      isKnownError,
      isMetamaskError,
    } from '@clerk/clerk-react/errors';

    // Before
    import { MultisessionAppSupport } from '@clerk/clerk-react';
    // After
    import { MultisessionAppSupport } from '@clerk/clerk-react/internal';
    ```

  - Drop from the `@clerk/clerk-react` and all other clerk-react wrapper packages:
    - `__internal__setErrorThrowerOptions` internal utility (moved to /internal subpath)
    - `WithClerkProp` type
    - `MultisessionAppSupport` component (moved to /internal subpath)
    - `EmailLinkErrorCode` enum
  - Drop `StructureContext` and related errors to reduce code complexity since it seems that it was not being used.
  - Drop `withUser`, `WithUser`, `withClerk` HOFs and `WithClerk`, `withSession`, `WithSession` HOCs from the `@clerk/clerk-react`
    to reduce the export surface since it's trivial to implement if needed.

- (Note: This is only relevant if, in the unlikely case, you are using `Clerk` from `@clerk/nextjs` directly. If not, you can safely ignore this change.) ([#2317](https://github.com/clerk/javascript/pull/2317)) by [@tmilewski](https://github.com/tmilewski)

  Remove the named `Clerk` import from `@clerk/nextjs` and import `createClerkClient` instead. The latter is a factory method to create a Clerk client instance for you. This update aligns usage across our SDKs and will enable us to ship DX improvements better in the future.

  ```js
  import { Clerk } from '@clerk/nextjs';
  const clerk = Clerk({ secretKey: '...' });
  ```

  You need to rename the import from `Clerk` to `createClerkClient` and change its usage:

  ```js
  import { createClerkClient } from '@clerk/nextjs';
  const clerk = createClerkClient({ secretKey: '...' });
  ```

### Minor Changes

- Introduce Protect for authorization. ([#2170](https://github.com/clerk/javascript/pull/2170)) by [@panteliselef](https://github.com/panteliselef)

  Changes in public APIs:

  - Rename Gate to Protect
  - Support for permission checks. (Previously only roles could be used)
  - Remove the `experimental` tags and prefixes
  - Drop `some` from the `has` utility and Protect. Protect now accepts a `condition` prop where a function is expected with the `has` being exposed as the param.
  - Protect can now be used without required props. In this case behaves as `<SignedIn>`, if no authorization props are passed.
  - `has` will throw an error if neither `permission` or `role` is passed.
  - `auth().protect()` for Nextjs App Router. Allow per page protection in app router. This utility will automatically throw a 404 error if user is not authorized or authenticated.
    - inside a page or layout file it will render the nearest `not-found` component set by the developer
    - inside a route handler it will return empty response body with a 404 status code

### Patch Changes

- Update NextJS quickstart link in error message ([#2355](https://github.com/clerk/javascript/pull/2355)) by [@dimkl](https://github.com/dimkl)

- Accept `redirectUrl` as an option for `auth().protect()`. ([#2329](https://github.com/clerk/javascript/pull/2329)) by [@panteliselef](https://github.com/panteliselef)

  For example:

  ```ts
  // Authorization
  auth().protect({ role: 'org:admin' }, { redirectUrl: '/any-page' });
  auth().protect({ permission: 'org:settings:manage' }, { redirectUrl: '/any-page' });

  // Authentication
  auth().protect({ redirectUrl: '/any-page' });
  ```

- Updated dependencies [[`896cb6104`](https://github.com/clerk/javascript/commit/896cb610409f84c0ff7a4f502f0b4ccee1afc157), [`02976d494`](https://github.com/clerk/javascript/commit/02976d49473958b8c3fea38d4e389dc1bee7e8c4), [`8aea39cd6`](https://github.com/clerk/javascript/commit/8aea39cd6907e3a8ac01091aa6df64ebd6a42ed2), [`86d52fb5c`](https://github.com/clerk/javascript/commit/86d52fb5cf68f1dc7adf617605b922134e21268f), [`ab4eb56a5`](https://github.com/clerk/javascript/commit/ab4eb56a5c34baf496ebb8ac412ad6171b9bd79c), [`46040a2f3`](https://github.com/clerk/javascript/commit/46040a2f34d0991072fca490e031c1994b2e2296), [`75ea300bc`](https://github.com/clerk/javascript/commit/75ea300bce16a0ce401a225263bb267ad2a217b8), [`844847e0b`](https://github.com/clerk/javascript/commit/844847e0becf20243fba3c659b2b77a238dd270a)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 5.0.0-alpha-v5.9

### Major Changes

- Limit TokenVerificationError exports to TokenVerificationError and TokenVerificationErrorReason ([#2189](https://github.com/clerk/javascript/pull/2189)) by [@tmilewski](https://github.com/tmilewski)

### Patch Changes

- Updated dependencies [[`de6519daa`](https://github.com/clerk/javascript/commit/de6519daa84732023bcfd74ad816a2654f457952), [`7bffc47cb`](https://github.com/clerk/javascript/commit/7bffc47cb71a2c3e026df5977c25487bfd5c55d7), [`7af0949ae`](https://github.com/clerk/javascript/commit/7af0949ae7b4072f550dee220f4d41854fe504c6), [`e1f7eae87`](https://github.com/clerk/javascript/commit/e1f7eae87531b483564256f5456a31150caa469e)]:
  - @clerk/[email protected]
  - @clerk/[email protected]

## 5.0.0-alpha-v5.8

### Patch Changes

- Drop the introduction of `OrganizationRole` and `OrganizationPermission` resources fro BAPI. ([#2252](https://github.com/clerk/javascript/pull/2252)) by [@panteliselef](https://github.com/panteliselef)

- Set correct information on required Node.js and React versions in README ([#2264](https://github.com/clerk/javascript/pull/2264)) by [@LekoArts](https://github.com/LekoArts)

- Ensure that cookies set inside Next.js Middleware are correctly passed through while using [`authMiddleware`](https://clerk.com/docs/references/nextjs/auth-middleware). ([#2244](https://github.com/clerk/javascript/pull/2244)) by [@LekoArts](https://github.com/LekoArts)

- Updated dependencies [[`93d05c868`](https://github.com/clerk/javascript/commit/93d05c8680ed213e594a16d4630a65f8eb244b32), [`a6b893d28`](https://github.com/clerk/javascript/commit/a6b893d281b23dc7b4bd7f3733b33e4cf655bc1b), [`2e77cd737`](https://github.com/clerk/javascript/commit/2e77cd737a333de022533d29cb12e73a907694c8), [`d30ea1faa`](https://github.com/clerk/javascript/commit/d30ea1faa45074e09c037530e8ba3ca2dbd50654)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 5.0.0-alpha-v5.7

### Patch Changes

- Updated dependencies [[`4b8bedc66`](https://github.com/clerk/javascript/commit/4b8bedc66d47dca5c6192148f4b31ae6d49ff733), [`c776f86fb`](https://github.com/clerk/javascript/commit/c776f86fb2a999dcae46fda9abb5005718c354b2), [`6e54b1b59`](https://github.com/clerk/javascript/commit/6e54b1b590ccdbc7002bde151093d78c217de391), [`c9e0f68af`](https://github.com/clerk/javascript/commit/c9e0f68af1a5cf07dc373ff45999c72d3d86f8f9), [`d6a7ea61a`](https://github.com/clerk/javascript/commit/d6a7ea61a8ae64c93877ec117e54fc48b1c86f16)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 5.0.0-alpha-v5.6

### Major Changes

- Fix a bug where navigating from the sign in page to the sign up page required two back button presses to go back. ([#1304](https://github.com/clerk/javascript/pull/1304)) by [@desiprisg](https://github.com/desiprisg)

- Use the new `routerPush` and `routerReplace` props for `<ClerkProvider />` instead of `navigate`. ([#1304](https://github.com/clerk/javascript/pull/1304)) by [@desiprisg](https://github.com/desiprisg)

### Patch Changes

- Updated dependencies []:
  - @clerk/[email protected]

## 5.0.0-alpha-v5.5

### Patch Changes

- Updated dependencies [[`03079579d`](https://github.com/clerk/javascript/commit/03079579d2b48a9a6969702814449382098d2cfb), [`12962bc58`](https://github.com/clerk/javascript/commit/12962bc58e2c9caad416ba4e6d52061d00bc2feb)]:
  - @clerk/[email protected]
  - @clerk/[email protected]

## 5.0.0-alpha-v5.4

### Minor Changes

- - By default, all the components with routing will have the `routing` prop assigned as `'path'` by default when the `path` prop is filled. ([#1957](https://github.com/clerk/javascript/pull/1957)) by [@octoper](https://github.com/octoper)

  - The `<UserButton />` component will set the default value of the `userProfileMode` prop to `'navigation'` if the `userProfileUrl` prop is provided.
  - The `<OrganizationSwitcher />` component will have the `organizationProfileMode` and `createOrganizationMode` props assigned with `'navigation'` by default if the `organizationProfileUrl` and `createOrganizationUrl` props are filled accordingly.

### Patch Changes

- Updated dependencies [[`7f6a64f43`](https://github.com/clerk/javascript/commit/7f6a64f4335832c66ff355f6d2f311f33a313d59)]:
  - @clerk/[email protected]

## 5.0.0-alpha-v5.3

### Major Changes

- Upgrade React version to >=18 and add react-dom as peer dependency ([#2164](https://github.com/clerk/javascript/pull/2164)) by [@dimkl](https://github.com/dimkl)

  to fix issues with vite & rollup building.

### Minor Changes

- Breaking Changes: ([#2169](https://github.com/clerk/javascript/pull/2169)) by [@dimkl](https://github.com/dimkl)

  - Drop `isLegacyFrontendApiKey` from `@clerk/shared`
  - Drop default exports from `@clerk/clerk-js`
    - on headless Clerk type
    - on ui and ui.retheme `Portal`
  - Use `isProductionFromSecretKey` instead of `isProductionFromApiKey`
  - Use `isDevelopmentFromSecretKey` instead of `isDevelopmentFromApiKey`

  Changes:

  - Rename `HeadlessBrowserClerkConstrutor` / `HeadlessBrowserClerkConstructor` (typo)
  - Use `isomorphicAtob` / `isomorhpicBtoa` to replace `base-64` in `@clerk/expo`
  - Refactor merging build-time and runtime props in `@clerk/backend` clerk client
  - Drop `node-fetch` dependency from `@clerk/backend`
  - Drop duplicate test in `@clerk/backend`

### Patch Changes

- Add OrganizationPermissionAPI for CRUD operations regarding instance level organization permissions. ([#2178](https://github.com/clerk/javascript/pull/2178)) by [@panteliselef](https://github.com/panteliselef)

- Introduces telemetry collection from Clerk's SDKs. Collected telemetry will be used to gain insights into product usage and help drive roadmap priority. For more information, see https://clerk.com/docs/telemetry. ([#2154](https://github.com/clerk/javascript/pull/2154)) by [@BRKalow](https://github.com/BRKalow)

- Updated dependencies [[`b3a3dcdf4`](https://github.com/clerk/javascript/commit/b3a3dcdf4a8fa75c0dee4c55ab8fedebd49fdfd4), [`4aaf5103d`](https://github.com/clerk/javascript/commit/4aaf5103d3132f4e1ae76b861fa6ce0aae02ecbe), [`52ff8fe6b`](https://github.com/clerk/javascript/commit/52ff8fe6b6ff88ceb5e1246378b54b0565bede9d), [`4bb57057e`](https://github.com/clerk/javascript/commit/4bb57057e9af20fc433626ed178d97d3ca811362), [`4aaf5103d`](https://github.com/clerk/javascript/commit/4aaf5103d3132f4e1ae76b861fa6ce0aae02ecbe), [`0ce0edc28`](https://github.com/clerk/javascript/commit/0ce0edc283849a88b14b4b0df53b6858ed3a4f80), [`40ac4b645`](https://github.com/clerk/javascript/commit/40ac4b645f449b546dae5b4c0d013c9d9ea6d09c)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 5.0.0-alpha-v5.2

### Major Changes

- Change the minimal Node.js version required by Clerk to `18.17.0`. ([#2162](https://github.com/clerk/javascript/pull/2162)) by [@dimkl](https://github.com/dimkl)

### Patch Changes

- Updated dependencies [[`c2a090513`](https://github.com/clerk/javascript/commit/c2a0905132684a4a1e8d598b66caddf20062273e)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 5.0.0-alpha-v5.1

### Major Changes

- Drop deprecations. Migration steps: ([#2082](https://github.com/clerk/javascript/pull/2082)) by [@dimkl](https://github.com/dimkl)

  - use `publishableKey` instead of `frontendApi`
  - use `Clerk.handleEmailLinkVerification()` instead of `Clerk.handleMagicLinkVerification()`
  - use `isEmailLinkError` instead of `isMagicLinkError`
  - use `EmailLinkErrorCode` instead of `MagicLinkErrorCode`
  - use `useEmailLink` instead of `useMagicLink`
  - drop `orgs` jwt claim from session token
  - use `ExternalAccount.imageUrl` instead of `ExternalAccount.avatarUrl`
  - use `Organization.imageUrl` instead of `Organization.logoUrl`
  - use `User.imageUrl` instead of `User.profileImageUrl`
  - use `OrganizationMembershipPublicUserData.imageUrl` instead of `OrganizationMembershipPublicUserData.profileImageUrl`
  - use `useOrganizationList` instead of `useOrganizations`
  - use `userProfileProps` instead of `userProfile` in `Appearance`
  - use `Clerk.setActive()` instead of `Clerk.setSession()`
  - drop `password` param in `User.update()`
  - use `afterSelectOrganizationUrl` instead of `afterSwitchOrganizationUrl` in `OrganizationSwitcher`
  - drop `Clerk.experimental_canUseCaptcha` / `Clerk.Clerk.experimental_captchaSiteKey` / `Clerk.experimental_captchaURL` (were meant for internal use)
  - use `User.getOrganizationMemberships()` instead of `Clerk.getOrganizationMemberships()`
  - drop `lastOrganizationInvitation` / `lastOrganizationMember` from Clerk emitted events
  - drop `Clerk.__unstable__invitationUpdate` / `Clerk.__unstable__membershipUpdate`
  - drop support for string param in `Organization.create()`
  - use `Organization.getInvitations()` instead of `Organization.getPendingInvitations()`
  - use `pageSize` instead of `limit` in `OrganizationMembership.retrieve()`
  - use `initialPage` instead of `offset` in `OrganizationMembership.retrieve()`
  - drop `lastOrganizationInvitation` / `lastOrganizationMember` from ClerkProvider
  - use `invitations` instead of `invitationList` in `useOrganization`
  - use `memberships` instead of `membershipList` in `useOrganization`
  - use `redirectUrl` instead of `redirect_url` in `User.createExternalAccount()`
  - use `signature` instead of `generatedSignature` in `Signup.attemptWeb3WalletVerification()`

- Drop deprecations. Migration steps: ([#2109](https://github.com/clerk/javascript/pull/2109)) by [@dimkl](https://github.com/dimkl)

  - drop `orgs` jwt claim from session token
  - change type of `auth` param of `withServerAuth()` callback to `AuthObject` from `ServerSideAuth` in `gatsby-clerk-plugin`
    - use `auth.sessionClaims` instead of `auth.claims`
    - use `AuthObject` properties from `auth`
  - use `publishableKey` instead of `frontendApi`
  - use `ClerkProviderOptionsWrapper` type instead of `IsomorphicClerkOptions`

- Change the response payload of Backend API requests to return `{ data, errors }` instead of return the data and throwing on error response. ([#2126](https://github.com/clerk/javascript/pull/2126)) by [@dimkl](https://github.com/dimkl)

  Code example to keep the same behavior:

  ```typescript
  import { users } from '@clerk/backend';
  import { ClerkAPIResponseError } from '@clerk/shared/error';

  const { data, errors, clerkTraceId, status, statusText } = await users.getUser('user_deadbeef');
  if (errors) {
    throw new ClerkAPIResponseError(statusText, {
      data: errors,
      status,
      clerkTraceId,
    });
  }
  ```

### Minor Changes

- Move and export the following from @clerk/clerk-js and @clerk/nextjs to @clerk/shared: ([#2149](https://github.com/clerk/javascript/pull/2149)) by [@dimkl](https://github.com/dimkl)

      - `DEV_BROWSER_SSO_JWT_PARAMETER`
      - `DEV_BROWSER_JWT_MARKER`
      - `DEV_BROWSER_SSO_JWT_KEY`
      - `setDevBrowserJWTInURL`
      - `getDevBrowserJWTFromURL`
      - `getDevBrowserJWTFromResponse`

### Patch Changes

- Fixes the docs link pointing to clerk.com/docs in the `authAuthHeaderMissing` error by removing the trailing `.` ([#2077](https://github.com/clerk/javascript/pull/2077)) by [@marcadrian-it](https://github.com/marcadrian-it)

- Add Autocomplete TS generic for union literals ([#2132](https://github.com/clerk/javascript/pull/2132)) by [@tmilewski](https://github.com/tmilewski)

- Updated dependencies [[`64d3763ec`](https://github.com/clerk/javascript/commit/64d3763ec73747ad04c4b47017195cf4114e150c), [`deac67c1c`](https://github.com/clerk/javascript/commit/deac67c1c40d6d3ccc3559746c0c31cc29a93b84), [`83e9d0846`](https://github.com/clerk/javascript/commit/83e9d08469e7c2840f06aa7d86831055e23f67a5), [`7f833da9e`](https://github.com/clerk/javascript/commit/7f833da9ebc1b2ec9c65513628c377d0584e5d72), [`492b8a7b1`](https://github.com/clerk/javascript/commit/492b8a7b12f14658a384566012e5807f0a171710), [`2a22aade8`](https://github.com/clerk/javascript/commit/2a22aade8c9bd1f83a9be085983f96fa87903804), [`dd5703013`](https://github.com/clerk/javascript/commit/dd57030133fb8ce98681ff0bcad7e53ee826bb0e), [`9615e6cda`](https://github.com/clerk/javascript/commit/9615e6cda8fb1cbc3c2e464e6e891d56e245fac4), [`cace85374`](https://github.com/clerk/javascript/commit/cace85374cb0bb13578cf63fe1f3e6ee59f7f3c2), [`0d1052ac2`](https://github.com/clerk/javascript/commit/0d1052ac284b909786fd0e4744b02fcf4d1a8be6), [`5471c7e8d`](https://github.com/clerk/javascript/commit/5471c7e8dd0155348748fa90e5ae97093f59efe9), [`477170962`](https://github.com/clerk/javascript/commit/477170962f486fd4e6b0653a64826573f0d8621b), [`e0e79b4fe`](https://github.com/clerk/javascript/commit/e0e79b4fe47f64006718d547c898b9f67fe4d424), [`3c4209068`](https://github.com/clerk/javascript/commit/3c42090688166b74badfdefc7ed8c428601a0ba7), [`a6451aece`](https://github.com/clerk/javascript/commit/a6451aecef0bac578b295b524f1246dede3a7598)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 5.0.0-alpha-v5.0

### Major Changes

- Drop deprecations. Migration steps: ([#2006](https://github.com/clerk/javascript/pull/2006)) by [@dimkl](https://github.com/dimkl)

  - use `NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY` instead of `NEXT_PUBLIC_CLERK_FRONTEND_API` env variable
  - use `NEXT_PUBLIC_CLERK_JS_VERSION` instead of `CLERK_JS_VERSION`
  - use `CLERK_SECRET_KEY` instead of `CLERK_API_KEY`
  - use `publishableKey` instead of `frontendApi`
  - use `isEmailLinkError` instead of `isMagicLinkError`
  - use `EmailLinkErrorCode` instead of `MagicLinkErrorCode`
  - use `useEmailLink` instead of `useMagicLink`
  - use `@clerk/nextjs` instead of `@clerk/nextjs/app-beta`
  - use `@clerk/nextjs` instead of `@clerk/nextjs/ssr`
  - use `@clerk/nextjs` instead of `@clerk/nextjs/edge-middleware` or `@clerk/nextjs/edge-middlewarefiles`
  - use `@clerk/nextjs` instead of `@clerk/nextjs/api`
  - use middleware with `authMiddleware` instead of `withClerkMiddleware`
  - avoid using exported constants: `API_URL`, `API_VERSION`, `CLERK_JS_URL`, `CLERK_JS_VERSION`, `DOMAIN`, `IS_SATELLITE`, `PROXY_URL`, `PUBLISHABLE_KEY`, `SECRET_KEY`, `SIGN_IN_URL`, `SIGN_UP_URL`

- Internal update default apiUrl domain from clerk.dev to clerk.com ([#1878](https://github.com/clerk/javascript/pull/1878)) by [@dimkl](https://github.com/dimkl)

- Dropping support for Node 14 and 16 as they both reached EOL status. The minimal Node.js version required by Clerk is `18.18.0` now. ([#1864](https://github.com/clerk/javascript/pull/1864)) by [@dimkl](https://github.com/dimkl)

- Drop `user`, `session`, and `organization` resources from the returned value of `auth()`. ([#1947](https://github.com/clerk/javascript/pull/1947)) by [@panteliselef](https://github.com/panteliselef)

### Minor Changes

- Experimental support for `<Gate/>` with role checks. ([#1942](https://github.com/clerk/javascript/pull/1942)) by [@panteliselef](https://github.com/panteliselef)

### Patch Changes

- Introduce `isTruthy` helper to better cast environment variables to a boolean. Previously only the string `"true"` was checked, now `true`, `"true"`, `"1"`, and `1` will work. ([#2002](https://github.com/clerk/javascript/pull/2002)) by [@LekoArts](https://github.com/LekoArts)

- Ignore `.test.ts` files for the build output. Should result in smaller bundle size. ([#2005](https://github.com/clerk/javascript/pull/2005)) by [@LekoArts](https://github.com/LekoArts)

- Fix type inferance for auth helper. ([#2047](https://github.com/clerk/javascript/pull/2047)) by [@panteliselef](https://github.com/panteliselef)

- Improve the default value for `CLERK_API_URL` by utilizing the publishable key to differentiate between local, staging and prod environments. ([#1955](https://github.com/clerk/javascript/pull/1955)) by [@desiprisg](https://github.com/desiprisg)

- Updated dependencies [[`743c4d204`](https://github.com/clerk/javascript/commit/743c4d20423790b554e66923466081c0d3b0d9ed), [`791c49807`](https://github.com/clerk/javascript/commit/791c49807c3c9e19964cbf621c935d237caeecf3), [`a68eb3083`](https://github.com/clerk/javascript/commit/a68eb3083ff68459cd33098e2df190a5ba26c841), [`ef2325dcc`](https://github.com/clerk/javascript/commit/ef2325dcc18729e9ce9ee5823e9a963efa51dbc1), [`8b6b094b9`](https://github.com/clerk/javascript/commit/8b6b094b9c7d09eeae90f8bdfac44d53513aa63d), [`71663c568`](https://github.com/clerk/javascript/commit/71663c568926b1d60b97aa7ccc5298d05b618af2), [`90aa2ea9c`](https://github.com/clerk/javascript/commit/90aa2ea9c4675662cee581298b49bd76ec8f8850), [`a605335e1`](https://github.com/clerk/javascript/commit/a605335e1e6f37d9b02170282974b0e1406e3f98), [`97407d8aa`](https://github.com/clerk/javascript/commit/97407d8aa481007d3262fe7a0772dea901ce0a8c), [`ae3a6683a`](https://github.com/clerk/javascript/commit/ae3a6683aa1a28e5201325463e4211229b641711), [`c22cd5214`](https://github.com/clerk/javascript/commit/c22cd52147492ba25f3c07bdbe6bbc4eb49a5cf0), [`c7e6d00f5`](https://github.com/clerk/javascript/commit/c7e6d00f56e73df4ed87712e74ad9d5bcaca8924), [`797e327e0`](https://github.com/clerk/javascript/commit/797e327e05ce6bd23320555a9e7d6fadbd9d624f), [`97407d8aa`](https://github.com/clerk/javascript/commit/97407d8aa481007d3262fe7a0772dea901ce0a8c), [`7644b7472`](https://github.com/clerk/javascript/commit/7644b74726ba73e615a1256f9ff3fa03b0f8bc30), [`f5d55bb1f`](https://github.com/clerk/javascript/commit/f5d55bb1fc6a87303fb8bf461c3a917ae4da4005), [`6f755addd`](https://github.com/clerk/javascript/commit/6f755addd0886b9ff8b0d5dbe48e37470049acad)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 4.25.7

### Patch Changes

- Fix an issue where only static routes would be allowed by `publicRoutes` prop from `authMiddleware`. ([#1928](https://github.com/clerk/javascript/pull/1928)) by [@desiprisg](https://github.com/desiprisg)

- Publish packages with [npm provenance](https://docs.npmjs.com/generating-provenance-statements) enabled ([#1891](https://github.com/clerk/javascript/pull/1891)) by [@LekoArts](https://github.com/LekoArts)

- Update `<ClerkProvider />` to work in client components within the app router. This allows rendering of the provider in client components, previously the pages router provider was being imported and throwing an error. ([#1840](https://github.com/clerk/javascript/pull/1840)) by [@BRKalow](https://github.com/BRKalow)

- Update imports of `@clerk/shared` to granular entrypoints. This addresses warnings during a Next.js build that are the result of unsupported APIs being included in the module graph of builds for the edge runtime. ([#1924](https://github.com/clerk/javascript/pull/1924)) by [@BRKalow](https://github.com/BRKalow)

- Updated dependencies [[`3bf64107e`](https://github.com/clerk/javascript/commit/3bf64107e1d0f9fce55163276d157da7849a390f), [`52f8553d2`](https://github.com/clerk/javascript/commit/52f8553d22f9454ee1194fd162410db15da7a4be), [`92727eec3`](https://github.com/clerk/javascript/commit/92727eec39566278263ffa118a085493f964eb94), [`b09b66eec`](https://github.com/clerk/javascript/commit/b09b66eec6ed0fbf99d93cd6843826f19c911099), [`51861addf`](https://github.com/clerk/javascript/commit/51861addff911615035fdc74718a1deff3f5cd62), [`37d8856ba`](https://github.com/clerk/javascript/commit/37d8856babb9db8edf763455172c4d22d6035036), [`aa4cd7615`](https://github.com/clerk/javascript/commit/aa4cd761585b888706a36a6eed7436a8f0476dbf)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 4.25.6

### Patch Changes

- Update the error thrown by auth() or getAuth() to indicate that if the /src directory exists, then the middleware.ts file needs to be placed inside it, otherwise the middleware will not run. ([#1908](https://github.com/clerk/javascript/pull/1908)) by [@nikosdouvlis](https://github.com/nikosdouvlis)

- Updated dependencies [[`9ca215702`](https://github.com/clerk/javascript/commit/9ca215702d1b816217d2c06c812f7d653ec2da11)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 4.25.5

### Patch Changes

- Improves the debug log output, and changes the internal behavior to use multiple `console.log()` calls. This will help to avoid any platform logging limitations per call. ([#1866](https://github.com/clerk/javascript/pull/1866)) by [@BRKalow](https://github.com/BRKalow)

- Updated dependencies [[`35be8709d`](https://github.com/clerk/javascript/commit/35be8709d88f1d1eef043acdba4d49b07578c7b2), [`13e9dfbaa`](https://github.com/clerk/javascript/commit/13e9dfbaa5b7b7e72f63e4b8ecfc1c1918517cd8), [`e38488c92`](https://github.com/clerk/javascript/commit/e38488c929e437583296c34cde23f76218f78caf), [`a11f962bc`](https://github.com/clerk/javascript/commit/a11f962bcbcf225fb927122267de1e8f5faccf53), [`9b644d799`](https://github.com/clerk/javascript/commit/9b644d7991b8cba4b385e9443f87798cde5c9989), [`a9894b445`](https://github.com/clerk/javascript/commit/a9894b445bf1e463176b0442fb73c48f89d9fed8), [`834dadb36`](https://github.com/clerk/javascript/commit/834dadb36c30b2a8f052784de4ad1026b0083b4e), [`70f251007`](https://github.com/clerk/javascript/commit/70f2510074352206bbe7bdadf2c28ccf3c074c12), [`a46d6fe99`](https://github.com/clerk/javascript/commit/a46d6fe99bd9b80671b60347b4c35d558012200f)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 4.25.4

### Patch Changes

- Warn about environment variables deprecations: ([#1859](https://github.com/clerk/javascript/pull/1859)) by [@dimkl](https://github.com/dimkl)

  - `CLERK_API_KEY`
  - `CLERK_FRONTEND_API`
  - `NEXT_PUBLIC_CLERK_FRONTEND_API`

- Introduce a new property on the core Clerk singleton, `sdkMetadata`. This will be populated by each host SDK. This metadata will be used to make logging and debugging easier. ([#1857](https://github.com/clerk/javascript/pull/1857)) by [@BRKalow](https://github.com/BRKalow)

- Introduce new `*EmailLink*` helpers that will replace the `*MagicLink*` helpers. ([#1833](https://github.com/clerk/javascript/pull/1833)) by [@dimkl](https://github.com/dimkl)

  Also marked all the `*MagicLink*` as deprecated using JSDocs.

- Updated dependencies [[`977336f79`](https://github.com/clerk/javascript/commit/977336f793cd4ce5984f98dac3cedf9f5ec363f5), [`997b8e256`](https://github.com/clerk/javascript/commit/997b8e256c8f83d68d0ae4243c7ea5640573d1ae), [`d89c09bb0`](https://github.com/clerk/javascript/commit/d89c09bb0ec9d23ea75ca10f208fe23bb124d87b), [`91e9a55f4`](https://github.com/clerk/javascript/commit/91e9a55f4b9f1a8f8d843a788597026015ddeafd), [`c9b17f5a7`](https://github.com/clerk/javascript/commit/c9b17f5a72cb27786cfc7f1fb42be1233fb10d5c), [`91014880d`](https://github.com/clerk/javascript/commit/91014880df71c2618d0b1e513da4dd19ccd809e3), [`451fc332a`](https://github.com/clerk/javascript/commit/451fc332a06b20482fc1c7345d2f606511144241), [`3848f8dbe`](https://github.com/clerk/javascript/commit/3848f8dbe094226c6062341405a32a9621042fd6), [`7f4d4b942`](https://github.com/clerk/javascript/commit/7f4d4b942e8834462cdc0976b106d9739c345f6b)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 4.25.3

### Patch Changes

- Add deprecation warning for `@clerk/nextjs/app-beta` export. Use the `@clerk/nextjs` instead. by [@nikosdouvlis](https://github.com/nikosdouvlis)

- Retry the implemented changes from [#1767](https://github.com/clerk/javascript/pull/1767) which were reverted in [#1806](https://github.com/clerk/javascript/pull/1806) due to RSC related errors (not all uses components had the `use client` directive). Restore the original PR and add additional `use client` directives to ensure it works correctly. by [@nikosdouvlis](https://github.com/nikosdouvlis)

- Updated dependencies [[`1136c7c15`](https://github.com/clerk/javascript/commit/1136c7c15043ffe917b4918e9e33f55b496cd679), [`1e212c19d`](https://github.com/clerk/javascript/commit/1e212c19d1cbfbcf6bc6718f5aec0a3cb893b96f), [`1136c7c15`](https://github.com/clerk/javascript/commit/1136c7c15043ffe917b4918e9e33f55b496cd679), [`1136c7c15`](https://github.com/clerk/javascript/commit/1136c7c15043ffe917b4918e9e33f55b496cd679), [`1136c7c15`](https://github.com/clerk/javascript/commit/1136c7c15043ffe917b4918e9e33f55b496cd679)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 4.25.2

### Patch Changes

- Pins the internal dependency versions. This ensures that users installing our main framework SDKs will get consistent versions across all @clerk/ packages. ([#1798](https://github.com/clerk/javascript/pull/1798)) by [@BRKalow](https://github.com/BRKalow)

- Updated dependencies [[`b59b6b75d`](https://github.com/clerk/javascript/commit/b59b6b75dc61bc4d7e61f7cca774f3731a2929b9), [`fed24f1bf`](https://github.com/clerk/javascript/commit/fed24f1bf3e2b8c3f3e3327178f77b57c391c62c), [`164f3aac7`](https://github.com/clerk/javascript/commit/164f3aac7928bc69301846130cc77986569d4e91), [`68259a2bb`](https://github.com/clerk/javascript/commit/68259a2bb8193befdde9101d4ec9bf305881d5e2), [`33e927c59`](https://github.com/clerk/javascript/commit/33e927c59fbf06436ff642ef9f846bd3b467e3e1), [`0636ff779`](https://github.com/clerk/javascript/commit/0636ff7799e126d1438d2738ce0e46c3b277f46a), [`9514618d6`](https://github.com/clerk/javascript/commit/9514618d65cfdde0ff011eabd41a992b61fc8dc1), [`bb2ec9373`](https://github.com/clerk/javascript/commit/bb2ec93738f92c89f008c6a275a986593816c4d3), [`c7c6912f3`](https://github.com/clerk/javascript/commit/c7c6912f34874467bc74104690fe9f95491cc10d), [`71bb1c7b5`](https://github.com/clerk/javascript/commit/71bb1c7b570f7b0bbc377c8104c9abcc1af4cacf), [`e592565e0`](https://github.com/clerk/javascript/commit/e592565e0d7707626587f5e0ae7fb7279c84f050)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 4.25.1

### Patch Changes

- Temporarily revert internal change to resolve RSC-related errors ([#1806](https://github.com/clerk/javascript/pull/1806)) by [@nikosdouvlis](https://github.com/nikosdouvlis)

- Updated dependencies [[`cecf74d79`](https://github.com/clerk/javascript/commit/cecf74d79069662d25f73e4745aa01348d398afb), [`a0b25671c`](https://github.com/clerk/javascript/commit/a0b25671cdee39cd0c2fca832b8c378fd445ec39)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 4.25.0

### Minor Changes

- Add the `use client` directive in `@clerk/shared` to make the package compatible with an RSC environment. ([#1767](https://github.com/clerk/javascript/pull/1767)) by [@dimkl](https://github.com/dimkl)

  Remove several helpers from `@clerk/nextjs` and import them from `@clerk/shared` instead.

### Patch Changes

- Apply deprecation warnings for `@clerk/nextjs`: ([#1767](https://github.com/clerk/javascript/pull/1767)) by [@dimkl](https://github.com/dimkl)

  - `CLERK_JS_VERSION` environment variable
  - `CLERK_API_KEY` environment variable
  - `NEXT_PUBLIC_CLERK_FRONTEND_API` environment variable
  - `withClerkMiddleware`
  - `withServerSideAuth`

- Updated dependencies [[`5c8754239`](https://github.com/clerk/javascript/commit/5c8754239e9ef13656fb73f30c9c6a6187b9aa81), [`14895e2dd`](https://github.com/clerk/javascript/commit/14895e2dde0fa15b594b1b7d89829d6013f5afc6), [`2f6a6ac99`](https://github.com/clerk/javascript/commit/2f6a6ac9991469bf8532019bb22ff50adecdb434), [`94c36c755`](https://github.com/clerk/javascript/commit/94c36c755b598eb68d22f42eb7f738050f390678), [`7406afe7f`](https://github.com/clerk/javascript/commit/7406afe7f550f702bd91cde9616fd26222833a87)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 4.24.2

### Patch Changes

- Updated dependencies [[`53ccb27cf`](https://github.com/clerk/javascript/commit/53ccb27cfd195af65adde6694572ed523fc66d6d), [`c61ddf5bf`](https://github.com/clerk/javascript/commit/c61ddf5bf2664e38bbaba6572d421adac8a2eff7), [`0366e0b20`](https://github.com/clerk/javascript/commit/0366e0b208e9086896562af94f24cdbd401c702c)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 4.24.1

### Patch Changes

- Updated dependencies [[`40ea407ad`](https://github.com/clerk/javascript/commit/40ea407ad1042fee6871755f30de544200b1f0d8), [`378a903ac`](https://github.com/clerk/javascript/commit/378a903ac4dc12e6ee708de20f0d9a5aa758bd18), [`27b611e47`](https://github.com/clerk/javascript/commit/27b611e47e4f1ad86e8dff42cb02c98bdc6ff6bd), [`4d0d90238`](https://github.com/clerk/javascript/commit/4d0d9023895c13290d5578ece218c24348c540fc)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 4.24.0

### Minor Changes

- Introduce the new brand-new component OrganizationList ([#1692](https://github.com/clerk/javascript/pull/1692)) by [@panteliselef](https://github.com/panteliselef)

  - Lists all the memberships, invitations or suggestions an active user may have
  - Powered by our `useOrganizationList` react hook

### Patch Changes

- `SignInWithMetamaskButton` is now exported from the `@clerk/nextjs` package ([#1731](https://github.com/clerk/javascript/pull/1731)) by [@octoper](https://github.com/octoper)

- Change `README` to include updated links to issue templates and update Discord link. ([#1750](https://github.com/clerk/javascript/pull/1750)) by [@LekoArts](https://github.com/LekoArts)

- Updates the default middleware config matcher to be more restrictive in how it detects static files. Paths with `.` in them are now allowed, as long as the `.` is not in the final path segment. ([#1695](https://github.com/clerk/javascript/pull/1695)) by [@BRKalow](https://github.com/BRKalow)

- Updated dependencies [[`e99df0a0d`](https://github.com/clerk/javascript/commit/e99df0a0de8ab91e9de4d32dfab46ad562f510d3), [`4327b91f9`](https://github.com/clerk/javascript/commit/4327b91f9ed65b440afaa5f76a6231aeacd3541a), [`75be1d6b3`](https://github.com/clerk/javascript/commit/75be1d6b3d9bf7b5d71613b3f169a942b1d25e7e), [`01b024c57`](https://github.com/clerk/javascript/commit/01b024c57c80ae00d83801fe90b2992111dc1a68)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 4.23.5

### Patch Changes

- Updated dependencies [[`463ff84f5`](https://github.com/clerk/javascript/commit/463ff84f5bfb7114102ca6cb5a2ea2fce705164c), [`e6a388946`](https://github.com/clerk/javascript/commit/e6a38894640b6999b90ea44ef66acda34debe2c1), [`1426e5eb3`](https://github.com/clerk/javascript/commit/1426e5eb3730bb79e2ec5341fa4347d7fa957739)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 4.23.4

### Patch Changes

- Improve error messaging when clock skew is detected. ([#1661](https://github.com/clerk/javascript/pull/1661)) by [@BRKalow](https://github.com/BRKalow)

- Updated dependencies [[`975412ed5`](https://github.com/clerk/javascript/commit/975412ed5307ac81128c87289178bd1e6c2fb1af), [`a102c21d4`](https://github.com/clerk/javascript/commit/a102c21d4762895a80a1ad846700763cc801b3f3)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 4.23.3

### Patch Changes

- Pass dev_browser to AP via query param, fix AP origin detection util ([#1567](https://github.com/clerk/javascript/pull/1567)) by [@yourtallness](https://github.com/yourtallness)

- Logs that exceed maximum allowed length on Vercel deployments will now be truncated to max length exactly ([#1598](https://github.com/clerk/javascript/pull/1598)) by [@jescalan](https://github.com/jescalan)

- Updated dependencies [[`96cc1921c`](https://github.com/clerk/javascript/commit/96cc1921cac20442f19510137ee0100df5f8a0f4), [`8d1e7d76d`](https://github.com/clerk/javascript/commit/8d1e7d76de40c0ecb367c6745094dd0a75f764b3), [`435d2cff5`](https://github.com/clerk/javascript/commit/435d2cff5dfc86c58690d3f0d843f567ac4f3c04), [`8873841fc`](https://github.com/clerk/javascript/commit/8873841fcbb96f31aaeb8a12a0ce1d90512986d4), [`0a5f632f8`](https://github.com/clerk/javascript/commit/0a5f632f83bb4dae4cc82718dc86b7df3a125a56), [`34da40a50`](https://github.com/clerk/javascript/commit/34da40a5035b37eb365c6cb273e25c4d3bcf7161), [`3158752c7`](https://github.com/clerk/javascript/commit/3158752c73b9266775f954d3adaf43c66ba8b2e8), [`8538cd0c1`](https://github.com/clerk/javascript/commit/8538cd0c1e2ee2e38bd11079735a2ffc6738f71b), [`a412a5014`](https://github.com/clerk/javascript/commit/a412a501426f5d7a32284fda47efe48a04b5d38e), [`4ea30e883`](https://github.com/clerk/javascript/commit/4ea30e883a4f5c19cdde3424bf02afa99e2bc86d), [`86de584dd`](https://github.com/clerk/javascript/commit/86de584ddf1c22ec99852b983a92386e5542613c), [`e02a1aff2`](https://github.com/clerk/javascript/commit/e02a1aff2d4b1478601a2e7b598d600ab3902169), [`09bfb793e`](https://github.com/clerk/javascript/commit/09bfb793ee54d50eb54ef4e3a5eb385ea2f2fb54), [`b2296d630`](https://github.com/clerk/javascript/commit/b2296d6304e1ca31a35450e0c67a12555c0142f9), [`52ce79108`](https://github.com/clerk/javascript/commit/52ce79108fb5cb4fc84bf4f2df3e3dc748ee4eb3), [`4764e40c7`](https://github.com/clerk/javascript/commit/4764e40c7e858803fc6379dec20fcf687dcaed64), [`1e117beec`](https://github.com/clerk/javascript/commit/1e117beeca53f27d8e9f58f2a724fbc8a7d54021), [`30fcdd51a`](https://github.com/clerk/javascript/commit/30fcdd51a98dea60da36f2b5152ea22405d2c4f2), [`89bc5de04`](https://github.com/clerk/javascript/commit/89bc5de04aafa9832d4d1b5f816af2340acd14d4)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 4.23.2

### Patch Changes

- Updated dependencies [[`ea95525a4`](https://github.com/clerk/javascript/commit/ea95525a423bcc89bc9e210c2d29c78e5a6c1210), [`24a46ae7e`](https://github.com/clerk/javascript/commit/24a46ae7e038b56197dc56a535c05e698c5bf249), [`d433b83b9`](https://github.com/clerk/javascript/commit/d433b83b92c61752917f62cc410a774813f38fd7), [`5e1a09df4`](https://github.com/clerk/javascript/commit/5e1a09df4e905ddd887d64c7e8cab10fb4beb3ec), [`876777cb1`](https://github.com/clerk/javascript/commit/876777cb14443917d8e0a04b363327d165ad5580), [`0a59e122d`](https://github.com/clerk/javascript/commit/0a59e122d12b672f111a43ef3897061bfd9bdb52)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 4.23.1

### Patch Changes

- Updated dependencies [[`7c1359474`](https://github.com/clerk/javascript/commit/7c135947428e3e0611b6c860fabd8113c15b2166)]:
  - @clerk/[email protected]

## 4.23.0

### Minor Changes

- Support hosting NextJs apps on non-Vercel platforms by constructing req.url using host-related headers instead of using on req.url directly. CLERK_TRUST_HOST is now enabled by default. ([#1492](https://github.com/clerk/javascript/pull/1492)) by [@dimkl](https://github.com/dimkl)

### Patch Changes

- Updated dependencies [[`6fa4768dc`](https://github.com/clerk/javascript/commit/6fa4768dc6b261026d6e75d84c9ade1f389fe0d3), [`4ff4b716f`](https://github.com/clerk/javascript/commit/4ff4b716fdb12b18182e506737afafc7dbc05604)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 4.22.1

### Patch Changes

- Updated dependencies [[`2a9d83280`](https://github.com/clerk/javascript/commit/2a9d8328011cb4c3e1a4c6c675cbd5a4edac4c5c)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 4.22.0

### Minor Changes

- Introduce `createIsomorphicRequest` in `@clerk/backend` ([#1393](https://github.com/clerk/javascript/pull/1393)) by [@anagstef](https://github.com/anagstef)

  This utility simplifies the `authenticateRequest` signature, and it makes it easier to integrate with more frameworks.

- Improve dev-mode logs for authMiddleware (protectedRoutes and ignoredRoutes) by [@nikosdouvlis](https://github.com/nikosdouvlis)

### Patch Changes

- Updated dependencies [[`16c3283ec`](https://github.com/clerk/javascript/commit/16c3283ec192cb7525312da5e718aa7cac8b8445), [`73c9c1d0e`](https://github.com/clerk/javascript/commit/73c9c1d0e3c5f102a515e1ddda01a0a441b40d5b), [`ae9fc247a`](https://github.com/clerk/javascript/commit/ae9fc247aca5bf8211cc8e021706325a010ce9d3), [`1a151e701`](https://github.com/clerk/javascript/commit/1a151e701da80f2d5b1ba1447d6fd5f8612a4bb8), [`e3036848d`](https://github.com/clerk/javascript/commit/e3036848d19a48935129aec2fe50003518a3aa53), [`fd692af79`](https://github.com/clerk/javascript/commit/fd692af791fe206724e38eff647b8562e72c3652), [`090bab66e`](https://github.com/clerk/javascript/commit/090bab66e295bff2358115d2cbd3ed0e603b5ff5), [`bb0d69b45`](https://github.com/clerk/javascript/commit/bb0d69b455fa5fd6ca5b1f45a0f242957521dfbb), [`592911196`](https://github.com/clerk/javascript/commit/5929111966811ac578019a9c1dda03b09eda72a8), [`dd10ebeae`](https://github.com/clerk/javascript/commit/dd10ebeae54d70b84b7c0374cea2876e9cdd6622)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 4.21.14

### Patch Changes

- Updated dependencies [[`2ad7cf390`](https://github.com/clerk/javascript/commit/2ad7cf390ba84b8e767ed6fe136800e38356d79c), [`4eeabbaa3`](https://github.com/clerk/javascript/commit/4eeabbaa36bfd5b277eadd1eaff3d0ed15e4e162), [`f6b77a1a3`](https://github.com/clerk/javascript/commit/f6b77a1a338cddeadb3cc7019171bf9703d7676e), [`f0b044c47`](https://github.com/clerk/javascript/commit/f0b044c475546e96a5995ef16198e60e35e8098f)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 4.21.13

### Patch Changes

- Updated dependencies [[`3fee736c9`](https://github.com/clerk/javascript/commit/3fee736c993b0a8fd157d716890810d04e632962), [`968d9c265`](https://github.com/clerk/javascript/commit/968d9c2651ce25f6e03c2e6eecd81f7daf876f03), [`ac4e47274`](https://github.com/clerk/javascript/commit/ac4e47274afc2ab3a55a78b388a14bed76600402), [`5957a3da6`](https://github.com/clerk/javascript/commit/5957a3da68cde3386c741812e2bc03b5519d00e0)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 4.21.12

### Patch Changes

- Updated dependencies [[`1e71b60a2`](https://github.com/clerk/javascript/commit/1e71b60a2c6832a5f4f9c75ad4152b82db2b52e1)]:
  - @clerk/[email protected]

## 4.21.11

### Patch Changes

- Resolve issue of appending :80 in urls when using CLERK_TRUST_HOST ([#1419](https://github.com/clerk/javascript/pull/1419)) by [@dimkl](https://github.com/dimkl)

- Updated dependencies [[`30f8ad18a`](https://github.com/clerk/javascript/commit/30f8ad18a4f85ca2e3fda46e5c180b28bc8fb47c)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 4.21.10

### Patch Changes

- Support hosting NextJs apps on non-Vercel platforms by constructing req.url using host-related headers instead of using on `req.url` directly. In order to enable this feature, set the `CLERK_TRUST_HOST` env variable to `true` ([#1394](https://github.com/clerk/javascript/pull/1394)) by [@dimkl](https://github.com/dimkl)

## 4.21.9

### Patch Changes

- Add isApiRoute to AfterAuthHandler['auth'] type ([#1397](https://github.com/clerk/javascript/pull/1397)) by [@dimkl](https://github.com/dimkl)

## 4.21.8

### Patch Changes

- Updated dependencies [[`bfb3af28`](https://github.com/clerk/javascript/commit/bfb3af28eb69d47e31f2b846d1ecc309fd885704)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 4.21.7

### Patch Changes

- Updated dependencies [[`11954816`](https://github.com/clerk/javascript/commit/119548164a1757b878027019c20a688d312b1cfd), [`de2347f9`](https://github.com/clerk/javascript/commit/de2347f9efaab4903787a905528a06551a9b7883), [`32148490`](https://github.com/clerk/javascript/commit/32148490b813028412af0467e342aa85227cb4d2)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 4.21.6

### Patch Changes

- Updated dependencies [[`17cc14ec`](https://github.com/clerk/javascript/commit/17cc14ec64ed292239ee782662171a4a8cbd9e87)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 4.21.5

### Patch Changes

- Updated dependencies [[`e41f848c`](https://github.com/clerk/javascript/commit/e41f848c35f5f284bde918e60bdfd77693e5d7bd)]:
  - @clerk/[email protected]

## 4.21.4

### Patch Changes

- Updated dependencies [[`9651658c`](https://github.com/clerk/javascript/commit/9651658c2ab00108ffcb9679cd119488c41ec521), [`4e1bb2bd`](https://github.com/clerk/javascript/commit/4e1bb2bd1f3cc933b1e8422849119e0aa16fdaa6)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 4.21.3

### Patch Changes

- Updated dependencies []:
  - @clerk/[email protected]

## 4.21.2

### Patch Changes

- Detect infinite redirect loops when using `authMiddleware` and inform the user about possible resolution steps. ([#1324](https://github.com/clerk/javascript/pull/1324)) by [@anagstef](https://github.com/anagstef)

- Allow `clerkJSVersion` to be passed when loading interstitial. Support for ([#1354](https://github.com/clerk/javascript/pull/1354)) by [@panteliselef](https://github.com/panteliselef)

  - Nextjs
  - Remix
  - Node

- Updated dependencies [[`f8a334b1`](https://github.com/clerk/javascript/commit/f8a334b1a97b1dab36d3114c42c4ba50ca6d38dc), [`b945c921`](https://github.com/clerk/javascript/commit/b945c92100454f00ff4b6b9c769201ca2ceaac93)]:
  - @clerk/[email protected]
  - @clerk/[email protected]

## 4.21.1

### Patch Changes

- Resolve build issues affecting apps using App Router ([#1346](https://github.com/clerk/javascript/pull/1346)) by [@nikosdouvlis](https://github.com/nikosdouvlis)

- Updated dependencies [[`eff4e45e`](https://github.com/clerk/javascript/commit/eff4e45e351f7ab04da3996853d7bca40d642543)]:
  - @clerk/[email protected]

## 4.21.0

### Minor Changes

- Export error helpers from the shared package to the framework specific packages ([#1308](https://github.com/clerk/javascript/pull/1308)) by [@desiprisg](https://github.com/desiprisg)

### Patch Changes

- Support `audience` parameter in authentication request ([#1004](https://github.com/clerk/javascript/pull/1004)) by [@dimkl](https://github.com/dimkl)

  The audience parameter is used to verify the aud claim in
  the request matches the value of the parameter or is included
  (when the user provides a list).

  Resolves:

  - [#978](https://github.com/clerk/javascript/pull/978)
  - [#1004](https://github.com/clerk/javascript/pull/1004)

- Updated dependencies [[`7af91bc3`](https://github.com/clerk/javascript/commit/7af91bc3ecc25cba04968b491e1e3c6ec32c18af), [`c42b4ac0`](https://github.com/clerk/javascript/commit/c42b4ac02d7ab7022a06b8f484e057999c6d7963), [`6f3d4305`](https://github.com/clerk/javascript/commit/6f3d43055690db1d69a356503a0a45dc948beaef), [`010484f4`](https://github.com/clerk/javascript/commit/010484f4978b9616e8c2ef50986eda742c4967bd)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## 4.20.0

### Minor Changes

- Add support for NextJS applications hosted on AWS Amplify by [@nikosdouvlis](https://github.com/nikosdouvlis)

- Tweaked the default `authMiddleware` behavior for protected API routes. An unauthenticated request for a protected API route will no longer return a `307 Redirect` - a `401 Unauthorized` response will be returned instead. by [@nikosdouvlis](https://github.com/nikosdouvlis)

  With this change, an API route is considered a request for which the following rules apply:

  - The request url matches the following patterns; `['/api/(.*)', '/trpc/(.*)']`
  - Or, the request has `Content-Type: application/json`
  - Or, the request method is not one of: `GET`, `OPTIONS` ,` HEAD`

  A new `apiRoutes` param has been introduced on `authMiddleware`. It can accept an array of path patterns, `RegexExp` or strings. If `apiRoutes` is passed in explicitly, then it overrides the behavior described above and only the requests matching `apiRoutes` will be considered as API routes requests.
  For more technical details, refer to the PR's description.

- Add support for NextJS applications hosted on Railway by [@nikosdouvlis](https://github.com/nikosdouvlis)

### Patch Changes

- Improve debug logs in NextJS by adding AuthStatusObject.debug data by [@nikosdouvlis](https://github.com/nikosdouvlis)

- The devBrowser JWT is now added to all cross-origin redirects triggered by calling `redirectToSignIn` or `redirectToSignUp`. by [@nikosdouvlis](https://github.com/nikosdouvlis)

- Improve debug logging by including `AuthObject.debug()` data when `debug` is `true` in `authMiddleware` by [@nikosdouvlis](https://github.com/nikosdouvlis)

- ESM/CJS support for `@clerk/clerk-react` by [@nikosdouvlis](https://github.com/nikosdouvlis)

  Changes that should affect users and OS contributors:

  - Better source map support for `@clerk/clerk-react`, `@clerk/shared`. This affects anyone developing in our monorepo or anyone using a debugger with Clerk installed in their app.
  - Easier node_modules debugging as `@clerk/clerk-react`, `@clerk/shared` and `@clerk/nextjs` are no longer getting bundled as a single-file package. This also improves error logging in nextjs a lot, as nextjs usually logs the line that threw the error - a minified, single-file package, usually consists of a very long single-line module, so logging error in NextJS wasn't ideal.
  - Headless clerk-js bundle size reduced by ~10kb, normal clerk-ks by ~6kb
  - A new `clerkJSVersion` prop has been added on ClerkProvider allowing to fetch a specific clerk-js version.

- `authMiddleware` handles multi-domain relared properties passed as functions properly by [@nikosdouvlis](https://github.com/nikosdouvlis)

- Updated dependencies [[`b66ea0a5`](https://github.com/clerk/javascript/commit/b66ea0a5aea0d6801e03a1426a0db69921b7b0e3), [`b66ea0a5`](https://github.com/clerk/javascript/commit/b66ea0a5aea0d6801e03a1426a0db69921b7b0e3), [`b66ea0a5`](https://github.com/clerk/javascript/commit/b66ea0a5aea0d6801e03a1426a0db69921b7b0e3), [`b66ea0a5`](https://github.com/clerk/javascript/commit/b66ea0a5aea0d6801e03a1426a0db69921b7b0e3), [`b66ea0a5`](https://github.com/clerk/javascript/commit/b66ea0a5aea0d6801e03a1426a0db69921b7b0e3), [`b66ea0a5`](https://github.com/clerk/javascript/commit/b66ea0a5aea0d6801e03a1426a0db69921b7b0e3), [`b66ea0a5`](https://github.com/clerk/javascript/commit/b66ea0a5aea0d6801e03a1426a0db69921b7b0e3), [`b66ea0a5`](https://github.com/clerk/javascript/commit/b66ea0a5aea0d6801e03a1426a0db69921b7b0e3)]:
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]
  - @clerk/[email protected]

## [4.19.0](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2023-05-26)

**Note:** Version bump only for package @clerk/nextjs

### [4.18.5](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2023-05-26)

**Note:** Version bump only for package @clerk/nextjs

### [4.18.4](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2023-05-23)

**Note:** Version bump only for package @clerk/nextjs

### [4.18.3](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2023-05-23)

**Note:** Version bump only for package @clerk/nextjs

### [4.18.2](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2023-05-18)

**Note:** Version bump only for package @clerk/nextjs

### [4.18.1](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2023-05-17)

**Note:** Version bump only for package @clerk/nextjs

## [4.18.0](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2023-05-15)

**Note:** Version bump only for package @clerk/nextjs

### [4.17.1](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2023-05-04)

### Bug Fixes

- **nextjs:** Use signInUrl and signUpUrl from the env ([#1151](https://github.com/clerk/javascript/issues/1151)) ([0476d79](https://github.com/clerk/javascript/commit/0476d79360f59ecce90d8e69a57225bb0d5b73bb))

## [4.17.0](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2023-05-04)

**Note:** Version bump only for package @clerk/nextjs

## [4.17.0-staging.5](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2023-05-04)

**Note:** Version bump only for package @clerk/nextjs

## [4.17.0-staging.1](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2023-05-02)

**Note:** Version bump only for package @clerk/nextjs

### [4.16.4](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2023-04-19)

**Note:** Version bump only for package @clerk/nextjs

### [4.16.3](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2023-04-19)

**Note:** Version bump only for package @clerk/nextjs

### [4.16.2](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2023-04-12)

**Note:** Version bump only for package @clerk/nextjs

### [4.16.1](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2023-04-12)

### Reverts

- Revert "chore(nextjs): Use tsup to bundle and minify package" ([5453456](https://github.com/clerk/javascript/commit/5453456feedb4dbfbeccbc68ecf5cdd5e6b9e501))
- Revert "fix(nextjs): Omit test files from production build" ([392fd28](https://github.com/clerk/javascript/commit/392fd28ad6f0c1bc5968a1a40c57f91cfd57cc05))
- Revert "fix(nextjs): Add edge-middleware and drop client/ & middleware/ from tsup.config entry" ([ba85989](https://github.com/clerk/javascript/commit/ba85989bf91b3f99e015a82fdf748a79d7404f3d))
- Revert "chore(nextjs): Update serializable props GH issue link" ([f16e623](https://github.com/clerk/javascript/commit/f16e623fe2766274d05efa7cfbbe97d03bda6ff3))
- Revert "fix(nextjs): Fix serializable issue when build with tsup & tsup config cleanup" ([347f6df](https://github.com/clerk/javascript/commit/347f6df8dc23fc51a4a07f1c3942b8f749576541))

## [4.16.0](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2023-04-11)

**Note:** Version bump only for package @clerk/nextjs

## [4.15.0](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2023-04-06)

**Note:** Version bump only for package @clerk/nextjs

### [4.14.1](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2023-04-03)

**Note:** Version bump only for package @clerk/nextjs

## [4.14.0](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2023-03-31)

**Note:** Version bump only for package @clerk/nextjs

## [4.14.0-staging.3](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2023-03-31)

**Note:** Version bump only for package @clerk/nextjs

## [4.14.0-staging.0](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2023-03-31)

### Features

- **nextjs:** Add signInUrl to BAPI call for interstitial ([f2003fc](https://github.com/clerk/javascript/commit/f2003fcb337d2ec5b0496aebd030ebeb8b544799))
- **nextjs:** Support new env var NEXT_PUBLIC_CLERK_SIGN_IN_URL ([0d5bd88](https://github.com/clerk/javascript/commit/0d5bd88bba65d5c9d8e091449ddd13a6bc640928))

## [4.13.0](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2023-03-29)

**Note:** Version bump only for package @clerk/nextjs

### [4.11.7](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2023-03-10)

**Note:** Version bump only for package @clerk/nextjs

### [4.11.6](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2023-03-09)

**Note:** Version bump only for package @clerk/nextjs

### [4.11.5](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2023-03-07)

### Bug Fixes

- **nextjs:** Stop exporting the /api helpers based on the runtime ([224426a](https://github.com/clerk/javascript/commit/224426aca9fe5fda33e728445d590204a7e99fc9))

### [4.11.4](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2023-03-07)

**Note:** Version bump only for package @clerk/nextjs

### [4.11.3](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2023-03-03)

**Note:** Version bump only for package @clerk/nextjs

### [4.11.2](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2023-03-01)

**Note:** Version bump only for package @clerk/nextjs

### [4.11.1](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2023-02-25)

**Note:** Version bump only for package @clerk/nextjs

## [4.11.0](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2023-02-24)

**Note:** Version bump only for package @clerk/nextjs

### [4.10.3-staging.5](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2023-02-22)

### Bug Fixes

- **nextjs:** Reintroduce next as a peer dependency ([b1fd299](https://github.com/clerk/javascript/commit/b1fd2990b6091bba5abc1f9cf9b3c15fff980222))

### [4.10.2](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2023-02-17)

**Note:** Version bump only for package @clerk/nextjs

### [4.10.1](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2023-02-15)

**Note:** Version bump only for package @clerk/nextjs

## [4.10.0](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2023-02-10)

**Note:** Version bump only for package @clerk/nextjs

### [4.9.1](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2023-02-07)

**Note:** Version bump only for package @clerk/nextjs

### [4.9.1-staging.0](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2023-02-07)

**Note:** Version bump only for package @clerk/nextjs

## [4.9.0](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2023-02-07)

**Note:** Version bump only for package @clerk/nextjs

### [4.8.1](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2023-02-01)

**Note:** Version bump only for package @clerk/nextjs

## [4.8.0](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2023-01-27)

**Note:** Version bump only for package @clerk/nextjs

### [4.7.7](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2023-01-24)

**Note:** Version bump only for package @clerk/nextjs

### [4.7.5](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2023-01-20)

### Bug Fixes

- **nextjs,types:** Make frontendApi or publishableKey mutually exclusive but optional ([953c276](https://github.com/clerk/javascript/commit/953c27622ba24054172d6f4178bd5af50f73fa36))

### [4.7.4](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2023-01-19)

**Note:** Version bump only for package @clerk/nextjs

### [4.7.3](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2023-01-18)

**Note:** Version bump only for package @clerk/nextjs

### [4.7.2](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2023-01-18)

**Note:** Version bump only for package @clerk/nextjs

### [4.7.1](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2023-01-17)

**Note:** Version bump only for package @clerk/nextjs

## [4.7.0](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2023-01-17)

**Note:** Version bump only for package @clerk/nextjs

### [4.6.15](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-12-23)

**Note:** Version bump only for package @clerk/nextjs

### [4.6.14](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-12-19)

**Note:** Version bump only for package @clerk/nextjs

### [4.6.13](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-12-13)

**Note:** Version bump only for package @clerk/nextjs

### [4.6.12](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-12-12)

**Note:** Version bump only for package @clerk/nextjs

### [4.6.11](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-12-12)

**Note:** Version bump only for package @clerk/nextjs

### [4.6.10](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-12-09)

**Note:** Version bump only for package @clerk/nextjs

### [4.6.9](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-12-08)

**Note:** Version bump only for package @clerk/nextjs

### [4.6.8](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-12-08)

**Note:** Version bump only for package @clerk/nextjs

### [4.6.7](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-12-02)

**Note:** Version bump only for package @clerk/nextjs

### [4.6.6](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-11-30)

**Note:** Version bump only for package @clerk/nextjs

### [4.6.6-staging.5](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-11-29)

**Note:** Version bump only for package @clerk/nextjs

### [4.6.5](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-11-25)

**Note:** Version bump only for package @clerk/nextjs

### [4.6.4](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-11-25)

**Note:** Version bump only for package @clerk/nextjs

### [4.6.3](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-11-23)

**Note:** Version bump only for package @clerk/nextjs

### [4.6.2](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-11-22)

**Note:** Version bump only for package @clerk/nextjs

### [4.6.2-staging.3](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-11-21)

**Note:** Version bump only for package @clerk/nextjs

### [4.6.2-staging.2](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-11-21)

### Bug Fixes

- **nextjs:** Remove optional auth violation error from withClerkMiddleware ([1760b90](https://github.com/clerk/javascript/commit/1760b9092ff22e57b24d0475e4ec6b49dd5a7ecd))

### [4.6.1](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-11-18)

**Note:** Version bump only for package @clerk/nextjs

## [4.6.0](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-11-15)

**Note:** Version bump only for package @clerk/nextjs

### [4.5.8](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-11-10)

**Note:** Version bump only for package @clerk/nextjs

### [4.5.7](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-11-05)

**Note:** Version bump only for package @clerk/nextjs

### [4.5.6](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-11-03)

**Note:** Version bump only for package @clerk/nextjs

### [4.5.6-staging.4](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-11-02)

**Note:** Version bump only for package @clerk/nextjs

### [4.5.6-staging.3](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-11-02)

**Note:** Version bump only for package @clerk/nextjs

### [4.5.6-staging.2](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-11-02)

**Note:** Version bump only for package @clerk/nextjs

### [4.5.6-staging.1](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-11-02)

**Note:** Version bump only for package @clerk/nextjs

### [4.5.5](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-10-24)

**Note:** Version bump only for package @clerk/nextjs

### [4.5.4](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-10-14)

**Note:** Version bump only for package @clerk/nextjs

### [4.5.3](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-10-14)

**Note:** Version bump only for package @clerk/nextjs

### [4.5.3-staging.1](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-10-13)

**Note:** Version bump only for package @clerk/nextjs

### [4.5.2](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-10-07)

**Note:** Version bump only for package @clerk/nextjs

### [4.5.1](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-10-05)

**Note:** Version bump only for package @clerk/nextjs

## [4.5.0](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-10-03)

**Note:** Version bump only for package @clerk/nextjs

## [4.4.0](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-09-29)

**Note:** Version bump only for package @clerk/nextjs

### [4.3.2](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-09-25)

**Note:** Version bump only for package @clerk/nextjs

### [4.3.1](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-09-24)

**Note:** Version bump only for package @clerk/nextjs

### [4.3.1-staging.1](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-09-24)

**Note:** Version bump only for package @clerk/nextjs

## [4.3.0](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-09-22)

**Note:** Version bump only for package @clerk/nextjs

### [4.2.1](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-09-19)

**Note:** Version bump only for package @clerk/nextjs

## [4.2.0](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-09-16)

**Note:** Version bump only for package @clerk/nextjs

### [4.1.7](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-09-08)

**Note:** Version bump only for package @clerk/nextjs

### [4.1.6](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-09-07)

**Note:** Version bump only for package @clerk/nextjs

### [4.1.5](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-09-07)

**Note:** Version bump only for package @clerk/nextjs

### [4.1.4](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-09-05)

**Note:** Version bump only for package @clerk/nextjs

### [4.1.3](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-08-29)

**Note:** Version bump only for package @clerk/nextjs

### [4.1.2](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-08-29)

**Note:** Version bump only for package @clerk/nextjs

### [4.1.1](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-08-24)

**Note:** Version bump only for package @clerk/nextjs

## [4.1.0](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-08-18)

**Note:** Version bump only for package @clerk/nextjs

### [4.0.5](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-08-18)

**Note:** Version bump only for package @clerk/nextjs

### [4.0.4](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-08-18)

**Note:** Version bump only for package @clerk/nextjs

### [4.0.3](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-08-16)

**Note:** Version bump only for package @clerk/nextjs

### [4.0.2](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-08-09)

**Note:** Version bump only for package @clerk/nextjs

### [4.0.1](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-08-07)

**Note:** Version bump only for package @clerk/nextjs

## [4.0.0](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-08-05)

**Note:** Version bump only for package @clerk/nextjs

### [3.8.3](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-08-05)

**Note:** Version bump only for package @clerk/nextjs

### [3.8.2](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-08-04)

**Note:** Version bump only for package @clerk/nextjs

### [3.8.1](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-07-26)

**Note:** Version bump only for package @clerk/nextjs

## [3.8.0](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-07-13)

### Features

- **nextjs:** Add req.organization access on gssp ([d064448](https://github.com/clerk/javascript/commit/d0644489a71e06df0e751c615b0d03d77967aab2))
- **types,clerk-react,nextjs:** Add loadOrg option for Next.js withServerSideAuth middleware ([0889bde](https://github.com/clerk/javascript/commit/0889bde9bc7f9e1a5d4c1e706c49212e1f7b36f4))

### [3.7.1](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-07-11)

**Note:** Version bump only for package @clerk/nextjs

## [3.7.0](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-07-08)

### Features

- **backend-core,edge:** Add requireEdgeMiddlewareAuth ([9ce6a4e](https://github.com/clerk/javascript/commit/9ce6a4e3f763f5e75a59439f9e36dc1a2ec368c4))
- **edge,nextjs:** Compatibility with API middleware experimental edge-runtime ([107d70e](https://github.com/clerk/javascript/commit/107d70e2fb0522a89763c4b99f0968aea4e01c2c))

### [3.6.13](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-07-07)

**Note:** Version bump only for package @clerk/nextjs

### [3.6.12](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-07-06)

**Note:** Version bump only for package @clerk/nextjs

### [3.6.11](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-07-04)

**Note:** Version bump only for package @clerk/nextjs

### [3.6.10](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-07-01)

**Note:** Version bump only for package @clerk/nextjs

### [3.6.9](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-07-01)

**Note:** Version bump only for package @clerk/nextjs

### [3.6.8](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-06-24)

### Bug Fixes

- **edge,nextjs,remix,clerk-sdk-node,types:** Correct SSR claims typing ([09c147c](https://github.com/clerk/javascript/commit/09c147c196c08e64794423f9eae791bfe453b858))

### [3.6.7](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-06-16)

**Note:** Version bump only for package @clerk/nextjs

### [3.6.6](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-06-06)

**Note:** Version bump only for package @clerk/nextjs

### [3.6.6-staging.4](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-06-03)

**Note:** Version bump only for package @clerk/nextjs

### [3.6.6-staging.3](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-06-03)

**Note:** Version bump only for package @clerk/nextjs

### [3.6.6-staging.2](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-06-02)

**Note:** Version bump only for package @clerk/nextjs

### [3.6.6-staging.1](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-06-01)

**Note:** Version bump only for package @clerk/nextjs

### [3.6.5](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-05-20)

**Note:** Version bump only for package @clerk/nextjs

### [3.6.5-staging.4](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-05-20)

**Note:** Version bump only for package @clerk/nextjs

### [3.6.5-staging.3](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-05-19)

**Note:** Version bump only for package @clerk/nextjs

### [3.6.5-staging.2](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-05-18)

**Note:** Version bump only for package @clerk/nextjs

### [3.6.5-staging.1](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-05-17)

**Note:** Version bump only for package @clerk/nextjs

### [3.6.5-staging.0](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-05-16)

**Note:** Version bump only for package @clerk/nextjs

### [3.6.4](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-05-13)

**Note:** Version bump only for package @clerk/nextjs

### [3.6.3](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-05-12)

**Note:** Version bump only for package @clerk/nextjs

### [3.6.2](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-05-12)

**Note:** Version bump only for package @clerk/nextjs

### [3.6.1](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-05-11)

**Note:** Version bump only for package @clerk/nextjs

## [3.6.0](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-05-06)

### Features

- **nextjs,clerk-sdk-node,remix:** Add claims attribute to req.auth ([c695529](https://github.com/clerk/javascript/commit/c695529089f55baef72b86e3b73b8cd9f4f58e6d))

### [3.5.2-staging.0](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-05-05)

**Note:** Version bump only for package @clerk/nextjs

### [3.5.1](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-05-05)

**Note:** Version bump only for package @clerk/nextjs

## [3.5.0](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-04-28)

**Note:** Version bump only for package @clerk/nextjs

### [3.4.1](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-04-27)

**Note:** Version bump only for package @clerk/nextjs

## [3.4.0](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-04-27)

### Features

- **nextjs:** Fix opts parsing in withServerSideAuth ([1eecb81](https://github.com/clerk/javascript/commit/1eecb81439809fd4536d4b7d2f65d4fed6c6137b))

### [3.3.7](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-04-22)

### Bug Fixes

- **nextjs,backend-core:** Fix handleError parsing ([4eb9732](https://github.com/clerk/javascript/commit/4eb97324d9153aa91492982d00bb76b8592947c7))

### [3.3.6](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-04-19)

**Note:** Version bump only for package @clerk/nextjs

### [3.3.6-staging.1](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-04-19)

**Note:** Version bump only for package @clerk/nextjs

### [3.3.5](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-04-18)

**Note:** Version bump only for package @clerk/nextjs

### [3.3.5-alpha.0](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-04-15)

**Note:** Version bump only for package @clerk/nextjs

### [3.3.4](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-04-15)

**Note:** Version bump only for package @clerk/nextjs

### [3.3.3](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-04-15)

**Note:** Version bump only for package @clerk/nextjs

### [3.3.2](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-04-13)

**Note:** Version bump only for package @clerk/nextjs

### [3.3.1](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-04-07)

**Note:** Version bump only for package @clerk/nextjs

## [3.3.0](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-04-04)

**Note:** Version bump only for package @clerk/nextjs

### [3.2.4](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-03-29)

**Note:** Version bump only for package @clerk/nextjs

### [3.2.3](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-03-28)

**Note:** Version bump only for package @clerk/nextjs

### [3.2.2](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-03-24)

**Note:** Version bump only for package @clerk/nextjs

### [3.2.2-staging.1](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-03-24)

**Note:** Version bump only for package @clerk/nextjs

### [3.2.1-alpha.0](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-03-23)

**Note:** Version bump only for package @clerk/nextjs

## [3.2.0-alpha.2](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-03-23)

**Note:** Version bump only for package @clerk/nextjs

## [3.2.0-alpha.1](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-03-23)

### Features

- **backend-core,clerk-sdk-node,nextjs,remix:** Add injected jwtKey option ([53e56e7](https://github.com/clerk/javascript/commit/53e56e76d59984d4d3f5b7e1e2d276adb8b2dc77))

## [3.2.0-alpha.0](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-03-22)

**Note:** Version bump only for package @clerk/nextjs

## [3.1.0-alpha.1](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-03-22)

**Note:** Version bump only for package @clerk/nextjs

## [3.1.0-alpha.0](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-03-22)

### Features

- **nextjs,remix:** Refactor remix and nextjs getAuthData to use common utils ([d5f5dba](https://github.com/clerk/javascript/commit/d5f5dbace577ae617636841ce51e7cccd5d25b95))

### Bug Fixes

- **nextjs,remix:** Make server getToken throw if called with no session ([f7736c1](https://github.com/clerk/javascript/commit/f7736c1f4730d713f3fbcedd73e2ef5a1ceee605))

### [3.0.1-alpha.2](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-03-20)

**Note:** Version bump only for package @clerk/nextjs

### [3.0.1-alpha.1](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-03-20)

### Features

- **nextjs,remix:** Refactor remix and nextjs getAuthData to use common utils ([d5f5dba](https://github.com/clerk/javascript/commit/d5f5dbace577ae617636841ce51e7cccd5d25b95))

### Bug Fixes

- **nextjs,remix:** Make server getToken throw if called with no session ([f7736c1](https://github.com/clerk/javascript/commit/f7736c1f4730d713f3fbcedd73e2ef5a1ceee605))

### [3.0.1-alpha.0](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-03-19)

### Bug Fixes

- **nextjs,remix:** Make server getToken throw if called with no session ([f7736c1](https://github.com/clerk/javascript/commit/f7736c1f4730d713f3fbcedd73e2ef5a1ceee605))

# [3.0.0-alpha.9](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-03-11)

### Features

- **clerk-remix:** Remove load options from `getAuth` ([246fe76](https://github.com/clerk/javascript/commit/246fe76943aedc07bed8510761a286ef324049ec))
- **nextjs:** Enforce withServerSideAuth callback return type ([3766a49](https://github.com/clerk/javascript/commit/3766a4938641de36f953ec49f45d539f971d778c))
- **nextjs:** Fetch user and session in parallel ([#49](https://github.com/clerk/javascript/issues/49)) ([fb89732](https://github.com/clerk/javascript/commit/fb89732952fba2d45fe9ea73820b6264f5e02dbc))
- **nextjs:** Move shared NextJS SSR types to types package ([78d8c7c](https://github.com/clerk/javascript/commit/78d8c7c3e84f3926127e48c655793a0fca3cdc2c))
- **nextjs:** Strictly type all possible withServerSideAuth return value combinations ([beba831](https://github.com/clerk/javascript/commit/beba83195828737ef20ca4450badded92d95d098))

## [3.0.0-alpha.8](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-02-28)

### Features

- **clerk-remix:** Remove load options from `getAuth` ([246fe76](https://github.com/clerk/javascript/commit/246fe76943aedc07bed8510761a286ef324049ec))
- **nextjs:** Enforce withServerSideAuth callback return type ([3766a49](https://github.com/clerk/javascript/commit/3766a4938641de36f953ec49f45d539f971d778c))
- **nextjs:** Fetch user and session in parallel ([#49](https://github.com/clerk/javascript/issues/49)) ([fb89732](https://github.com/clerk/javascript/commit/fb89732952fba2d45fe9ea73820b6264f5e02dbc))
- **nextjs:** Move shared NextJS SSR types to types package ([78d8c7c](https://github.com/clerk/javascript/commit/78d8c7c3e84f3926127e48c655793a0fca3cdc2c))
- **nextjs:** Strictly type all possible withServerSideAuth return value combinations ([beba831](https://github.com/clerk/javascript/commit/beba83195828737ef20ca4450badded92d95d098))

## [3.0.0-alpha.7](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-02-25)

### Features

- **clerk-remix:** Remove load options from `getAuth` ([5c1e23d](https://github.com/clerk/javascript/commit/5c1e23db40b7a49b7cec5a1d8206daad160e6361))
- **nextjs:** Enforce withServerSideAuth callback return type ([260d7cf](https://github.com/clerk/javascript/commit/260d7cfd255d6f6ff8d0dc2d32fb490008146804))
- **nextjs:** Fetch user and session in parallel ([#49](https://github.com/clerk/javascript/issues/49)) ([e5c2620](https://github.com/clerk/javascript/commit/e5c2620695d489b14e3c513d6773c4527c9baf8b))
- **nextjs:** Move shared NextJS SSR types to types package ([8b898a1](https://github.com/clerk/javascript/commit/8b898a1aa503889921180850292fbfa3c8133ef5))
- **nextjs:** Strictly type all possible withServerSideAuth return value combinations ([e99c57a](https://github.com/clerk/javascript/commit/e99c57adc816a42137c781477e43fe4f372d9d1e))

## [3.0.0-alpha.6](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-02-18)

### Features

- **clerk-remix:** Remove load options from `getAuth` ([5f4cedc](https://github.com/clerk/javascript/commit/5f4cedc70db8398eb196ca769db41ebadb15ab12))
- **nextjs:** Enforce withServerSideAuth callback return type ([a45f28a](https://github.com/clerk/javascript/commit/a45f28ac0bcd357c36759112a73737487499ef3f))
- **nextjs:** Fetch user and session in parallel ([#49](https://github.com/clerk/javascript/issues/49)) ([ef58027](https://github.com/clerk/javascript/commit/ef58027b6d18c880074e1a55d0f2cfe4d83ab614))
- **nextjs:** Move shared NextJS SSR types to types package ([757dc2e](https://github.com/clerk/javascript/commit/757dc2ef1acf32f31bdad8bcab076bb710723781))

### [2.11.17](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-03-17)

**Note:** Version bump only for package @clerk/nextjs

### [2.11.17-staging.1](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-03-17)

**Note:** Version bump only for package @clerk/nextjs

### [2.11.15](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-03-14)

**Note:** Version bump only for package @clerk/nextjs

### [2.11.14](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-03-11)

**Note:** Version bump only for package @clerk/nextjs

### [2.11.13](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-03-09)

**Note:** Version bump only for package @clerk/nextjs

### [2.11.12](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-03-09)

**Note:** Version bump only for package @clerk/nextjs

### [2.11.10](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-03-04)

**Note:** Version bump only for package @clerk/nextjs

### [2.11.9](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-03-04)

**Note:** Version bump only for package @clerk/nextjs

### [2.11.8](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-03-04)

**Note:** Version bump only for package @clerk/nextjs

### [2.11.7](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-03-03)

**Note:** Version bump only for package @clerk/nextjs

### [2.11.6](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-03-02)

**Note:** Version bump only for package @clerk/nextjs

### [2.11.5](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-03-01)

**Note:** Version bump only for package @clerk/nextjs

### [2.11.4](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-02-24)

**Note:** Version bump only for package @clerk/nextjs

### [2.11.4-staging.0](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-02-24)

**Note:** Version bump only for package @clerk/nextjs

### [2.11.3-staging.0](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-02-17)

**Note:** Version bump only for package @clerk/nextjs

### [2.11.2-staging.2](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-02-16)

**Note:** Version bump only for package @clerk/nextjs

### [2.11.2-staging.1](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-02-16)

**Note:** Version bump only for package @clerk/nextjs

### [2.11.2-staging.0](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-02-15)

**Note:** Version bump only for package @clerk/nextjs

### [2.11.1](https://github.com/clerk/javascript/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-02-14)

**Note:** Version bump only for package @clerk/nextjs

### 2.11.1-staging.0 (2022-02-11)

**Note:** Version bump only for package @clerk/nextjs

```
Page 3441/3442FirstPrevNextLast