From a3cb881e6f1475174511a1b501fa2831fc2a267b Mon Sep 17 00:00:00 2001 From: Nikos Douvlis Date: Fri, 31 Oct 2025 07:29:23 +0200 Subject: [PATCH 1/4] refactor(types): Drop clerk/types from repo setup and CICD --- .github/labeler.yml | 3 - docs/CONTRIBUTING.md | 1 - integration/presets/astro.ts | 1 - integration/presets/next.ts | 3 +- .../src/app/(reverification)/actions.ts | 2 +- .../last-authentication-strategy.test.ts | 2 +- integration/types.d.ts | 2 +- package.json | 2 +- packages/agent-toolkit/package.json | 1 - packages/astro/package.json | 1 - packages/backend/package.json | 1 - packages/elements/package.json | 1 - packages/expo-passkeys/package.json | 3 +- packages/expo/package.json | 1 - packages/express/package.json | 1 - packages/fastify/package.json | 1 - packages/localizations/package.json | 2 +- packages/nextjs/package.json | 1 - packages/nuxt/package.json | 1 - packages/react-router/package.json | 1 - packages/tanstack-react-start/package.json | 1 - packages/testing/package.json | 1 - packages/types/CHANGELOG.md | 3943 ----------------- packages/types/LICENSE | 21 - packages/types/README.md | 82 - packages/types/package.json | 59 - packages/types/src/index.d.mts | 8 - packages/types/src/index.d.ts | 8 - packages/types/src/index.js | 8 - packages/types/src/index.mjs | 8 - packages/vue/package.json | 3 +- renovate.json5 | 59 - scripts/canary.mjs | 1 - scripts/snapshot.mjs | 1 - turbo.json | 2 +- 35 files changed, 9 insertions(+), 4227 deletions(-) delete mode 100644 packages/types/CHANGELOG.md delete mode 100644 packages/types/LICENSE delete mode 100644 packages/types/README.md delete mode 100644 packages/types/package.json delete mode 100644 packages/types/src/index.d.mts delete mode 100644 packages/types/src/index.d.ts delete mode 100644 packages/types/src/index.js delete mode 100644 packages/types/src/index.mjs diff --git a/.github/labeler.yml b/.github/labeler.yml index bff68abae9c..e36a1ab7131 100644 --- a/.github/labeler.yml +++ b/.github/labeler.yml @@ -48,9 +48,6 @@ testing: themes: - packages/themes/** -types: - - packages/types/** - vue: - packages/vue/** diff --git a/docs/CONTRIBUTING.md b/docs/CONTRIBUTING.md index 003bf9dafab..cd792b06f1a 100644 --- a/docs/CONTRIBUTING.md +++ b/docs/CONTRIBUTING.md @@ -45,7 +45,6 @@ All packages of the monorepo are inside [packages](../packages). For package spe - [`@clerk/backend`](../packages/backend): Functionalities regarded as "core" for Clerk to operate with. _Authentication resolution, API Resources etc._ - [`@clerk/clerk-js`](../packages/clerk-js): Core JavaScript implementation used by Clerk in the browser. - [`@clerk/react`](../packages/react) Clerk package for React applications. -- [`@clerk/types`](../packages/types): Main TypeScript typings for Clerk libraries. - Browse [packages](../packages) to see more Additionally there are packages which act as shared utilities or building blocks. diff --git a/integration/presets/astro.ts b/integration/presets/astro.ts index 7995725b97b..b34b7fb041c 100644 --- a/integration/presets/astro.ts +++ b/integration/presets/astro.ts @@ -11,7 +11,6 @@ const astroNode = applicationConfig() .addScript('build', 'pnpm build') .addScript('serve', 'pnpm preview') .addDependency('@clerk/astro', linkPackage('astro')) - .addDependency('@clerk/types', linkPackage('types')) .addDependency('@clerk/localizations', linkPackage('localizations')); const astroStatic = astroNode.clone().setName('astro-hybrid').useTemplate(templates['astro-hybrid']); diff --git a/integration/presets/next.ts b/integration/presets/next.ts index e2397d2a236..13f00dea7ad 100644 --- a/integration/presets/next.ts +++ b/integration/presets/next.ts @@ -15,8 +15,7 @@ const appRouter = applicationConfig() .addDependency('react', constants.E2E_REACT_VERSION) .addDependency('react-dom', constants.E2E_REACT_DOM_VERSION) .addDependency('@clerk/nextjs', constants.E2E_CLERK_VERSION || linkPackage('nextjs')) - .addDependency('@clerk/shared', linkPackage('shared')) - .addDependency('@clerk/types', linkPackage('types')); + .addDependency('@clerk/shared', linkPackage('shared')); const appRouterTurbo = appRouter.clone().setName('next-app-router-turbopack').addScript('dev', 'pnpm dev'); diff --git a/integration/templates/next-app-router/src/app/(reverification)/actions.ts b/integration/templates/next-app-router/src/app/(reverification)/actions.ts index 54334730534..76750881672 100644 --- a/integration/templates/next-app-router/src/app/(reverification)/actions.ts +++ b/integration/templates/next-app-router/src/app/(reverification)/actions.ts @@ -1,7 +1,7 @@ 'use server'; import { auth, reverificationError } from '@clerk/nextjs/server'; -import { ReverificationConfig } from '@clerk/types'; +import type { ReverificationConfig } from '@clerk/shared/types'; const logUserIdActionReverification = async () => { const { userId, has } = await auth.protect(); diff --git a/integration/tests/last-authentication-strategy.test.ts b/integration/tests/last-authentication-strategy.test.ts index e9d18230380..458a35c5dac 100644 --- a/integration/tests/last-authentication-strategy.test.ts +++ b/integration/tests/last-authentication-strategy.test.ts @@ -1,7 +1,7 @@ +import type { LastAuthenticationStrategy } from '@clerk/shared/types'; import type { Page } from '@playwright/test'; import { expect, test } from '@playwright/test'; -import type { LastAuthenticationStrategy } from '../../packages/types'; import { appConfigs } from '../presets'; import { createTestUtils, testAgainstRunningApps } from '../testUtils'; diff --git a/integration/types.d.ts b/integration/types.d.ts index 8df81fba45b..dccc31eb76a 100644 --- a/integration/types.d.ts +++ b/integration/types.d.ts @@ -1,4 +1,4 @@ -import type { Clerk } from '@clerk/types'; +import type { Clerk } from '@clerk/clerk-js'; declare global { interface Window { diff --git a/package.json b/package.json index f98243f7692..54f37ad01e4 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,7 @@ "license": "MIT", "scripts": { "build": "FORCE_COLOR=1 turbo build --concurrency=${TURBO_CONCURRENCY:-80%} --filter=!@clerk/elements", - "build:declarations": "FORCE_COLOR=1 turbo build:declarations --concurrency=${TURBO_CONCURRENCY:-80%} --filter=@clerk/nextjs --filter=@clerk/react --filter=@clerk/shared --filter=@clerk/types", + "build:declarations": "FORCE_COLOR=1 turbo build:declarations --concurrency=${TURBO_CONCURRENCY:-80%} --filter=@clerk/nextjs --filter=@clerk/react --filter=@clerk/shared", "bundlewatch": "turbo bundlewatch", "changeset": "changeset", "changeset:empty": "pnpm changeset --empty", diff --git a/packages/agent-toolkit/package.json b/packages/agent-toolkit/package.json index e7a48d69cf0..621aac1a9c9 100644 --- a/packages/agent-toolkit/package.json +++ b/packages/agent-toolkit/package.json @@ -49,7 +49,6 @@ "dependencies": { "@clerk/backend": "workspace:^", "@clerk/shared": "workspace:^", - "@clerk/types": "workspace:^", "@modelcontextprotocol/sdk": "1.7.0", "yargs": "17.7.2", "zod": "3.24.2" diff --git a/packages/astro/package.json b/packages/astro/package.json index e97a6b0e6da..5bac39c09f6 100644 --- a/packages/astro/package.json +++ b/packages/astro/package.json @@ -90,7 +90,6 @@ "dependencies": { "@clerk/backend": "workspace:^", "@clerk/shared": "workspace:^", - "@clerk/types": "workspace:^", "nanoid": "5.1.6", "nanostores": "1.0.1" }, diff --git a/packages/backend/package.json b/packages/backend/package.json index 0d427059379..ec5d74c6c1d 100644 --- a/packages/backend/package.json +++ b/packages/backend/package.json @@ -110,7 +110,6 @@ }, "dependencies": { "@clerk/shared": "workspace:^", - "@clerk/types": "workspace:^", "cookie": "1.0.2", "standardwebhooks": "^1.0.0", "tslib": "catalog:repo" diff --git a/packages/elements/package.json b/packages/elements/package.json index 6e95e50eff0..29c6be137fa 100644 --- a/packages/elements/package.json +++ b/packages/elements/package.json @@ -74,7 +74,6 @@ "dependencies": { "@clerk/react": "workspace:^", "@clerk/shared": "workspace:^", - "@clerk/types": "workspace:^", "@radix-ui/primitive": "^1.1.3", "@radix-ui/react-form": "^0.1.8", "@radix-ui/react-slot": "^1.2.3", diff --git a/packages/expo-passkeys/package.json b/packages/expo-passkeys/package.json index 8e48f71e102..a28c17a3aab 100644 --- a/packages/expo-passkeys/package.json +++ b/packages/expo-passkeys/package.json @@ -33,8 +33,7 @@ "publish:local": "pnpm yalc push --replace --sig" }, "dependencies": { - "@clerk/shared": "workspace:^", - "@clerk/types": "workspace:^" + "@clerk/shared": "workspace:^" }, "devDependencies": { "expo": "~52.0.47" diff --git a/packages/expo/package.json b/packages/expo/package.json index 470534095d2..1149a86c4c5 100644 --- a/packages/expo/package.json +++ b/packages/expo/package.json @@ -84,7 +84,6 @@ "@clerk/clerk-js": "workspace:^", "@clerk/react": "workspace:^", "@clerk/shared": "workspace:^", - "@clerk/types": "workspace:^", "base-64": "^1.0.0", "react-native-url-polyfill": "2.0.0", "tslib": "catalog:repo" diff --git a/packages/express/package.json b/packages/express/package.json index 3d37c419bf6..a288888f93b 100644 --- a/packages/express/package.json +++ b/packages/express/package.json @@ -69,7 +69,6 @@ "dependencies": { "@clerk/backend": "workspace:^", "@clerk/shared": "workspace:^", - "@clerk/types": "workspace:^", "tslib": "catalog:repo" }, "devDependencies": { diff --git a/packages/fastify/package.json b/packages/fastify/package.json index 48263de86c2..866a4167000 100644 --- a/packages/fastify/package.json +++ b/packages/fastify/package.json @@ -67,7 +67,6 @@ "dependencies": { "@clerk/backend": "workspace:^", "@clerk/shared": "workspace:^", - "@clerk/types": "workspace:^", "cookies": "0.9.1", "fastify-plugin": "^5.0.1" }, diff --git a/packages/localizations/package.json b/packages/localizations/package.json index 0bf105e7fd6..d3122e71e16 100644 --- a/packages/localizations/package.json +++ b/packages/localizations/package.json @@ -64,7 +64,7 @@ "lint:attw": "attw --pack . --profile node16" }, "dependencies": { - "@clerk/types": "workspace:^" + "": "workspace:^" }, "devDependencies": {}, "engines": { diff --git a/packages/nextjs/package.json b/packages/nextjs/package.json index b602ed34325..e1ff3c8f67a 100644 --- a/packages/nextjs/package.json +++ b/packages/nextjs/package.json @@ -87,7 +87,6 @@ "@clerk/backend": "workspace:^", "@clerk/react": "workspace:^", "@clerk/shared": "workspace:^", - "@clerk/types": "workspace:^", "server-only": "0.0.1", "tslib": "catalog:repo" }, diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index e12958cf2a4..6796561a017 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -71,7 +71,6 @@ "dependencies": { "@clerk/backend": "workspace:^", "@clerk/shared": "workspace:^", - "@clerk/types": "workspace:^", "@clerk/vue": "workspace:^", "@nuxt/kit": "^4.1.3", "@nuxt/schema": "^4.1.3", diff --git a/packages/react-router/package.json b/packages/react-router/package.json index 0af4dc21699..33626114c52 100644 --- a/packages/react-router/package.json +++ b/packages/react-router/package.json @@ -96,7 +96,6 @@ "@clerk/backend": "workspace:^", "@clerk/react": "workspace:^", "@clerk/shared": "workspace:^", - "@clerk/types": "workspace:^", "cookie": "0.7.2", "tslib": "catalog:repo" }, diff --git a/packages/tanstack-react-start/package.json b/packages/tanstack-react-start/package.json index 98cd95e5390..d436a8fd65f 100644 --- a/packages/tanstack-react-start/package.json +++ b/packages/tanstack-react-start/package.json @@ -81,7 +81,6 @@ "@clerk/backend": "workspace:^", "@clerk/react": "workspace:^", "@clerk/shared": "workspace:^", - "@clerk/types": "workspace:^", "tslib": "catalog:repo" }, "devDependencies": { diff --git a/packages/testing/package.json b/packages/testing/package.json index 8a3642abae1..3525b776be3 100644 --- a/packages/testing/package.json +++ b/packages/testing/package.json @@ -76,7 +76,6 @@ "dependencies": { "@clerk/backend": "workspace:^", "@clerk/shared": "workspace:^", - "@clerk/types": "workspace:^", "dotenv": "17.2.2" }, "devDependencies": { diff --git a/packages/types/CHANGELOG.md b/packages/types/CHANGELOG.md deleted file mode 100644 index f8460abde97..00000000000 --- a/packages/types/CHANGELOG.md +++ /dev/null @@ -1,3943 +0,0 @@ -# Change Log - -## 4.96.0 - -### Minor Changes - -- Allow free trials without requiring a payment method, based on the configuration of an instance. ([#7068](https://github.com/clerk/javascript/pull/7068)) by [@mauricioabreu](https://github.com/mauricioabreu) - -- [Billing Beta] Remove unnecessary `orgId` from BillingPayerMethods interface. ([#7087](https://github.com/clerk/javascript/pull/7087)) by [@panteliselef](https://github.com/panteliselef) - -### Patch Changes - -- Localize aria-labels within `UserButton` and `OrganizationSwitcher` triggers. ([#7086](https://github.com/clerk/javascript/pull/7086)) by [@alexcarpenter](https://github.com/alexcarpenter) - -## 4.95.1 - -### Patch Changes - -- Add title attribute to email address field with the recommended format. ([#6956](https://github.com/clerk/javascript/pull/6956)) by [@alexcarpenter](https://github.com/alexcarpenter) - -## 4.95.0 - -### Minor Changes - -- [Billing Beta]: Dropping `paymentMethodId` from subscription item. ([#7017](https://github.com/clerk/javascript/pull/7017)) by [@panteliselef](https://github.com/panteliselef) - -## 4.94.0 - -### Minor Changes - -- [Experimental] Add support for sign-in with passkey to new APIs ([#6997](https://github.com/clerk/javascript/pull/6997)) by [@dstaley](https://github.com/dstaley) - -### Patch Changes - -- Add example usage for `__experimental_startPath`. ([#6987](https://github.com/clerk/javascript/pull/6987)) by [@alexcarpenter](https://github.com/alexcarpenter) - -## 4.93.0 - -### Minor Changes - -- [Billing Beta] Rename payment source descriptors to use "payment method". ([#6951](https://github.com/clerk/javascript/pull/6951)) by [@panteliselef](https://github.com/panteliselef) - -- Add support for sign up `locale` ([#6915](https://github.com/clerk/javascript/pull/6915)) by [@guilherme6191](https://github.com/guilherme6191) - -- [Experimental] Fix `signIn.password` emailAddress parameter name. ([#6932](https://github.com/clerk/javascript/pull/6932)) by [@dstaley](https://github.com/dstaley) - -- [Experimental] Fix issue where calling `this.create()` would not correctly propagate errors. ([#6932](https://github.com/clerk/javascript/pull/6932)) by [@dstaley](https://github.com/dstaley) - -- [Billing Beta] Rename payment source to payment method. ([#6865](https://github.com/clerk/javascript/pull/6865)) by [@panteliselef](https://github.com/panteliselef) - - `Clerk.user.initializePaymentSource()` -> `Clerk.user.initializePaymentMethod()` - `Clerk.user.addPaymentSource()` -> `Clerk.user.addPaymentMethod()` - `Clerk.user.getPaymentSources()` -> `Clerk.user.getPaymentMethods()` - - `Clerk.organization.initializePaymentSource()` -> `Clerk.organization.initializePaymentMethod()` - `Clerk.organization.addPaymentSource()` -> `Clerk.organization.addPaymentMethod()` - `Clerk.organization.getPaymentSources()` -> `Clerk.organization.getPaymentMethods()` - -- [Billing Beta] Rename payment sources to method methods. ([#6959](https://github.com/clerk/javascript/pull/6959)) by [@panteliselef](https://github.com/panteliselef) - - Updates localization keys from `commerce` -> `billing` and `paymentSource` to `paymentMethod`. - -- Introduce experimental step to choose enterprise connection on sign-in/sign-up ([#6947](https://github.com/clerk/javascript/pull/6947)) by [@LauraBeatris](https://github.com/LauraBeatris) - -- [Billing Beta] Replace `forOrganizations: true` with `for: "organization"` in ``. ([#6978](https://github.com/clerk/javascript/pull/6978)) by [@panteliselef](https://github.com/panteliselef) - -### Patch Changes - -- Add `enterpriseConnectionId` to `SamlAccount` and `EnterpriseAccount` resources ([#6961](https://github.com/clerk/javascript/pull/6961)) by [@LauraBeatris](https://github.com/LauraBeatris) - -- Add success text descriptor to otp input field. ([#6958](https://github.com/clerk/javascript/pull/6958)) by [@alexcarpenter](https://github.com/alexcarpenter) - -- - Add experimental property `last_authenticated_at` to `SamlAccount` resource, which represents the date when the SAML account was last authenticated ([#6954](https://github.com/clerk/javascript/pull/6954)) by [@LauraBeatris](https://github.com/LauraBeatris) - - - Add experimental support for `enterprise_sso` as a `strategy` param for `session.prepareFirstFactorVerification` - -## 4.92.0 - -### Minor Changes - -- [Experimental] Add support for additional properties to Signal SignIn/SignUp ([#6897](https://github.com/clerk/javascript/pull/6897)) by [@dstaley](https://github.com/dstaley) - -### Patch Changes - -- Display organization slug based on environment settings ([#6903](https://github.com/clerk/javascript/pull/6903)) by [@LauraBeatris](https://github.com/LauraBeatris) - -## 4.91.0 - -### Minor Changes - -- [Experimental] Add Signal support for Web3 APIs ([#6840](https://github.com/clerk/javascript/pull/6840)) by [@dstaley](https://github.com/dstaley) - -## 4.90.0 - -### Minor Changes - -- [Billing Beta] Drop top level billing flags from environment. Instead, use the payer specific flags. ([#6882](https://github.com/clerk/javascript/pull/6882)) by [@panteliselef](https://github.com/panteliselef) - -## 4.89.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 component ([#6808](https://github.com/clerk/javascript/pull/6808)) by [@tmilewski](https://github.com/tmilewski) - -## 4.88.0 - -### Minor Changes - -- [Experimental] Add support for ticket sign-ins and sign-ups ([#6806](https://github.com/clerk/javascript/pull/6806)) by [@dstaley](https://github.com/dstaley) - -- [Billing Beta] Rename types, interfaces and classes that contain `commerce` to use `billing` instead. ([#6757](https://github.com/clerk/javascript/pull/6757)) by [@panteliselef](https://github.com/panteliselef) - -### Patch Changes - -- Update jsdocs mentions of `@experimental` tag. ([#6651](https://github.com/clerk/javascript/pull/6651)) by [@panteliselef](https://github.com/panteliselef) - -- [Experimental] Correctly determine destination first factor based on identifier. ([#6789](https://github.com/clerk/javascript/pull/6789)) by [@dstaley](https://github.com/dstaley) - -## 4.87.0 - -### Minor Changes - -- [Experimental] Signal email link support ([#6766](https://github.com/clerk/javascript/pull/6766)) by [@dstaley](https://github.com/dstaley) - -- [Billing Beta] Remove deprecated `subscription` attribute from Billing ([#6788](https://github.com/clerk/javascript/pull/6788)) by [@mauricioabreu](https://github.com/mauricioabreu) - -### Patch Changes - -- Add support for canceling past due subscriptions ([#6783](https://github.com/clerk/javascript/pull/6783)) by [@aeliox](https://github.com/aeliox) - -## 4.86.0 - -### Minor Changes - -- [Billing Beta] Removal of Billing experimental methods: `organization.getSubscriptions()` and `billing.getSubscriptions()` ([#6738](https://github.com/clerk/javascript/pull/6738)) by [@mauricioabreu](https://github.com/mauricioabreu) - -- [Experimental] Add support for additional params for SignUp ([#6716](https://github.com/clerk/javascript/pull/6716)) by [@dstaley](https://github.com/dstaley) - -## 4.85.0 - -### Minor Changes - -- Change placement of the manage subscription button inside `` and `` ([#6428](https://github.com/clerk/javascript/pull/6428)) by [@panteliselef](https://github.com/panteliselef) - -### Patch Changes - -- Introduce "Last Used" functionality to Sign In and Up ([#6722](https://github.com/clerk/javascript/pull/6722)) by [@tmilewski](https://github.com/tmilewski) - -- feat(types): Update telemetry type to accept perEventSampling argument. ([#6723](https://github.com/clerk/javascript/pull/6723)) by [@heatlikeheatwave](https://github.com/heatlikeheatwave) - -## 4.84.1 - -### Patch Changes - -- Fixed incorrect deprecation warnings for legacy redirect props in ``. ([#6699](https://github.com/clerk/javascript/pull/6699)) by [@wobsoriano](https://github.com/wobsoriano) - -- Update the experimental `Errors` interface to allow null for raw and global error arrays ([#6677](https://github.com/clerk/javascript/pull/6677)) by [@nikosdouvlis](https://github.com/nikosdouvlis) - -## 4.84.0 - -### Minor Changes - -- [Experimental] Signal phone code support ([#6650](https://github.com/clerk/javascript/pull/6650)) by [@dstaley](https://github.com/dstaley) - -- [Billing Beta] Remove CommerceProduct. ([#6636](https://github.com/clerk/javascript/pull/6636)) by [@panteliselef](https://github.com/panteliselef) - -- [Billing Beta] `checkout.confirm()` now infers the resource id resulting in less repetition and improved DX. ([#6642](https://github.com/clerk/javascript/pull/6642)) by [@panteliselef](https://github.com/panteliselef) - - After - - ```tsx - const checkout = Clerk.billing.startCheckout({ orgId }); - checkout.confirm(); // orgId is always implied - ``` - - Before - - ```tsx - const checkout = clerk.billing.startCheckout({ orgId }); - checkout.confirm({ orgId }); - ``` - -- [Experimental] Signal MFA support ([#6659](https://github.com/clerk/javascript/pull/6659)) by [@dstaley](https://github.com/dstaley) - -### Patch Changes - -- The `SAML_IDPS` export was moved from `@clerk/types` to `@clerk/shared/saml` and was marked as deprecated. ([#6682](https://github.com/clerk/javascript/pull/6682)) by [@nikosdouvlis](https://github.com/nikosdouvlis) - - Please use `import { SAML_IDPS } from "@clerk/shared/saml"` instead. - -- fix(types): Change return type of SetActiveNavigate to allow void or Promise ([#6662](https://github.com/clerk/javascript/pull/6662)) by [@nikosdouvlis](https://github.com/nikosdouvlis) - -- - Export `Feature` type from backend resource. ([#6649](https://github.com/clerk/javascript/pull/6649)) by [@alexisintech](https://github.com/alexisintech) - - - Re-export canonical `CommerceMoneyAmount` type from `@clerk/types`. - -## 4.83.0 - -### Minor Changes - -- Added support for authentication with Base ([#6556](https://github.com/clerk/javascript/pull/6556)) by [@jacekradko](https://github.com/jacekradko) - -## 4.82.0 - -### Minor Changes - -- [Experimental] Signal transfer support ([#6614](https://github.com/clerk/javascript/pull/6614)) by [@dstaley](https://github.com/dstaley) - -- [Experimental] Signals `isLoaded` removal ([#6605](https://github.com/clerk/javascript/pull/6605)) by [@dstaley](https://github.com/dstaley) - -### Patch Changes - -- Remove unused `__internal_hasAfterAuthFlows` property ([#6609](https://github.com/clerk/javascript/pull/6609)) by [@LauraBeatris](https://github.com/LauraBeatris) - -## 4.81.0 - -### Minor Changes - -- [Billing Beta] Rename `cancelFreeTrialDescription` to `cancelFreeTrialAccessUntil`. ([#6582](https://github.com/clerk/javascript/pull/6582)) by [@panteliselef](https://github.com/panteliselef) - -- [Billing Beta] Replace `redirectUrl` with `navigate` in `checkout.finalize()` ([#6586](https://github.com/clerk/javascript/pull/6586)) by [@panteliselef](https://github.com/panteliselef) - -### Patch Changes - -- Update copies for create organization screen on session tasks ([#6584](https://github.com/clerk/javascript/pull/6584)) by [@iagodahlem](https://github.com/iagodahlem) - -- Fix incorrect redirect when completing session tasks within `SignIn` and `SignUp` components ([#6580](https://github.com/clerk/javascript/pull/6580)) by [@iagodahlem](https://github.com/iagodahlem) - -## 4.80.0 - -### Minor Changes - -- [Experimental] Signal SignUp APIs ([#6571](https://github.com/clerk/javascript/pull/6571)) by [@dstaley](https://github.com/dstaley) - -- Update SubscriptionDetails to support free trials ([#6569](https://github.com/clerk/javascript/pull/6569)) by [@panteliselef](https://github.com/panteliselef) - -- [Experimental] Signal implementation for SignUp ([#6568](https://github.com/clerk/javascript/pull/6568)) by [@dstaley](https://github.com/dstaley) - -## 4.79.0 - -### Minor Changes - -- [Experimental] Signal `fetchStatus` support. ([#6549](https://github.com/clerk/javascript/pull/6549)) by [@dstaley](https://github.com/dstaley) - -### Patch Changes - -- Add error handling for `setActive` with stale organization data ([#6550](https://github.com/clerk/javascript/pull/6550)) by [@LauraBeatris](https://github.com/LauraBeatris) - -## 4.78.0 - -### Minor Changes - -- [Experimental] Signals: Add support for calling `signIn.password()` without an identifier. ([#6534](https://github.com/clerk/javascript/pull/6534)) by [@dstaley](https://github.com/dstaley) - -## 4.77.0 - -### Minor Changes - -- Add `navigate` parameter to `clerk.setActive()` for custom navigation before the session and/or organization is set. ([#6486](https://github.com/clerk/javascript/pull/6486)) by [@LauraBeatris](https://github.com/LauraBeatris) - - It's useful for handling pending session tasks for after-auth flows: - - ```typescript - await clerk.setActive({ - session, - navigate: async ({ session }) => { - const currentTask = session.currentTask; - if (currentTask) { - await router.push(`/onboarding/${currentTask.key}`); - return; - } - - await router.push('/dashboard'); - }, - }); - ``` - -### Patch Changes - -- Introduce debugLogger for internal debugging support ([#6452](https://github.com/clerk/javascript/pull/6452)) by [@jacekradko](https://github.com/jacekradko) - -## 4.76.0 - -### Minor Changes - -- [Billing Beta] Replace usage of top level amounts in plan with fees for displaying prices. ([#6490](https://github.com/clerk/javascript/pull/6490)) by [@panteliselef](https://github.com/panteliselef) - -- Add support for trials in `` ([#6494](https://github.com/clerk/javascript/pull/6494)) by [@panteliselef](https://github.com/panteliselef) - - - Added `freeTrialEndsAt` property to `CommerceCheckoutResource` interface. - -- Update billing resources with trial properties. ([#6492](https://github.com/clerk/javascript/pull/6492)) by [@panteliselef](https://github.com/panteliselef) - -- Update PricingTable with trial info. ([#6493](https://github.com/clerk/javascript/pull/6493)) by [@panteliselef](https://github.com/panteliselef) - -- [Experimental] Signals reset password flow ([#6520](https://github.com/clerk/javascript/pull/6520)) by [@dstaley](https://github.com/dstaley) - -### Patch Changes - -- Convert LocalizationResource to interface for typedoc documentation ([#6531](https://github.com/clerk/javascript/pull/6531)) by [@NWylynko](https://github.com/NWylynko) - -- Add optional `isExternal` to `ApplicationLogo` ([#6447](https://github.com/clerk/javascript/pull/6447)) by [@jfoshee](https://github.com/jfoshee) - - Add optional `oAuthApplicationUrl` parameter to OAuth Consent mounting (which is used to provide a link to the OAuth App homepage). - - Harden `Link` component so it sanitizes the given `href` to avoid dangerous protocols. - -## 4.75.0 - -### Minor Changes - -- [Billing Beta] Cleanup naming inconsistencies in billing dates. ([#6513](https://github.com/clerk/javascript/pull/6513)) by [@panteliselef](https://github.com/panteliselef) - - ## Migration - - - subscriptionItem.periodStartDate → subscriptionItem.periodStart - - subscriptionItem.periodEndDate → subscriptionItem.periodEnd - - subscriptionItem.canceledAtDate → subscriptionItem.canceledAt - -- [Experimental] Signal Errors ([#6495](https://github.com/clerk/javascript/pull/6495)) by [@dstaley](https://github.com/dstaley) - -- Remove `treatPendingAsSignedOut` from Clerk options ([#6497](https://github.com/clerk/javascript/pull/6497)) by [@LauraBeatris](https://github.com/LauraBeatris) - -### Patch Changes - -- Add `legalAcceptedAt` to UserResource accessible by `Clerk.user` and `useUser()`. ([#6517](https://github.com/clerk/javascript/pull/6517)) by [@thiskevinwang](https://github.com/thiskevinwang) - -## 4.74.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) - -- [Experimental] Signals ([#6450](https://github.com/clerk/javascript/pull/6450)) by [@dstaley](https://github.com/dstaley) - -- Rename task key from `select-organization` to `choose-organization` ([#6482](https://github.com/clerk/javascript/pull/6482)) by [@LauraBeatris](https://github.com/LauraBeatris) - -## 4.73.0 - -### Minor Changes - -- [Billing Beta] Update checkout.status type to be `'needs_confirmation' | 'completed'` instead of `string`. ([#6474](https://github.com/clerk/javascript/pull/6474)) by [@panteliselef](https://github.com/panteliselef) - -### Patch Changes - -- Add types for `form_param_type_invalid` errors. ([#6457](https://github.com/clerk/javascript/pull/6457)) by [@dstaley](https://github.com/dstaley) - -## 4.72.0 - -### Minor Changes - -- [Billing Beta]: Update prefix for checkout status ([#6438](https://github.com/clerk/javascript/pull/6438)) by [@panteliselef](https://github.com/panteliselef) - - Replaces `awaiting_` with `needs_`. - -- [Billing Beta] Remove `statement_id` from the checkout resource. ([#6437](https://github.com/clerk/javascript/pull/6437)) by [@panteliselef](https://github.com/panteliselef) - -### Patch Changes - -- Fix `UseSessionReturn['session']` JSDocs to not mention active status, since pending sessions are also returned ([#6430](https://github.com/clerk/javascript/pull/6430)) by [@LauraBeatris](https://github.com/LauraBeatris) - -- Remove `treatPendingAsSignedOut` from `useSession` and always return pending session ([#6432](https://github.com/clerk/javascript/pull/6432)) by [@LauraBeatris](https://github.com/LauraBeatris) - -- Refactor billing statement page and payment attempt page data loading ([#6420](https://github.com/clerk/javascript/pull/6420)) by [@aeliox](https://github.com/aeliox) - -## 4.71.0 - -### Minor Changes - -- [Billing Beta]: Replace `org` for `organization` as payer type for billing APIs. ([#6423](https://github.com/clerk/javascript/pull/6423)) by [@panteliselef](https://github.com/panteliselef) - - This applies for all billing APIs, except the resources classes that represent data from Frontend API. - -- Refactor base theme approach to enable opting into simple theme. ([#6371](https://github.com/clerk/javascript/pull/6371)) by [@alexcarpenter](https://github.com/alexcarpenter) - - ```tsx - appearance={{ - theme: 'simple' // removes Clerk base theme - }} - ``` - -### Patch Changes - -- Update JSDocs for `SessionTask` to align with Clerk documentation ([#6396](https://github.com/clerk/javascript/pull/6396)) by [@LauraBeatris](https://github.com/LauraBeatris) - -- Make `.finalize()` from useCheckout to return a Promise. ([#6422](https://github.com/clerk/javascript/pull/6422)) by [@panteliselef](https://github.com/panteliselef) - -## 4.70.1 - -### Patch Changes - -- Add TypeScript types for `` component. ([#6376](https://github.com/clerk/javascript/pull/6376)) by [@LauraBeatris](https://github.com/LauraBeatris) - -## 4.70.0 - -### Minor Changes - -- [Billing Beta] Introduce top level subscription. ([#6317](https://github.com/clerk/javascript/pull/6317)) by [@panteliselef](https://github.com/panteliselef) - - Updated `CommerceSubscriptionJSON` to describe the top level subscription and renamed the existing type to `CommerceSubscriptionItemJSON`. - Deprecated `billing.getSubscriptions()` in favour of `billing.getSubscription`. - -## 4.69.0 - -### Minor Changes - -- [Billing Beta] Replace `payerType[]` with `forPayerType` typed as `'org' | 'user'`. ([#6342](https://github.com/clerk/javascript/pull/6342)) by [@panteliselef](https://github.com/panteliselef) - -- Add optional `cssLayerName` to `BaseTheme` object ([#6322](https://github.com/clerk/javascript/pull/6322)) by [@alexcarpenter](https://github.com/alexcarpenter) - -### Patch Changes - -- Introduce `__internal_hasAfterAuthFlows` flag ([#6366](https://github.com/clerk/javascript/pull/6366)) by [@LauraBeatris](https://github.com/LauraBeatris) - -- Adjust the cases in which the Billing item shows within the `UserProfile` and `OrgProfile` components ([#6315](https://github.com/clerk/javascript/pull/6315)) by [@aeliox](https://github.com/aeliox) - -- Add `taskUrls` option to customize task flow URLs: ([#6373](https://github.com/clerk/javascript/pull/6373)) by [@LauraBeatris](https://github.com/LauraBeatris) - - ```tsx - - ``` - -- Rename `org` session task key to `select-organization` ([#6372](https://github.com/clerk/javascript/pull/6372)) by [@LauraBeatris](https://github.com/LauraBeatris) - -## 4.68.0 - -### Minor Changes - -- [Billing Beta] Update `clerk.billing.getPlans()` to return paginated data and introduce the `usePlans()` hook. ([#6327](https://github.com/clerk/javascript/pull/6327)) by [@panteliselef](https://github.com/panteliselef) - -- Improve invalid plan change callout for monthly-only plans ([#6248](https://github.com/clerk/javascript/pull/6248)) by [@aeliox](https://github.com/aeliox) - -### Patch Changes - -- Ensure proper typing for `SignUpButton` and only allow `unsafeMetadata={...}` when `mode="modal"` ([#6340](https://github.com/clerk/javascript/pull/6340)) by [@tmilewski](https://github.com/tmilewski) - -- - Render parsed `colorRing` at 15% vs 100% ([#6334](https://github.com/clerk/javascript/pull/6334)) by [@alexcarpenter](https://github.com/alexcarpenter) - - - Render parsed `colorModalBackdrop` at 73% vs 100% - - Ensure `avatarBackground` and `avatarBorder` render with parsed neutral colors when `colorNeutral` is passed in via variables prop - -## 4.67.0 - -### Minor Changes - -- Do not trigger after-auth navigation from `useMultisessionActions` ([#6323](https://github.com/clerk/javascript/pull/6323)) by [@LauraBeatris](https://github.com/LauraBeatris) - -## 4.66.1 - -### Patch Changes - -- [Billing Beta] Add experimental JSDoc for `org.getSubscriptions`. ([#6318](https://github.com/clerk/javascript/pull/6318)) by [@panteliselef](https://github.com/panteliselef) - -## 4.66.0 - -### Minor Changes - -- Expose Clerk CSS variables as an option for theming Clerk's components. This change introduces CSS custom properties that allow developers to customize Clerk's appearance using standard CSS variables, providing a more flexible theming approach. ([#6275](https://github.com/clerk/javascript/pull/6275)) by [@alexcarpenter](https://github.com/alexcarpenter) - - ```css - :root { - --clerk-color-primary: #6d47ff; - --clerk-color-primary-foreground: #ffffff; - } - ``` - - ## Deprecated variables - - | Deprecated | New | - | ------------------------------ | ------------------------ | - | `colorText` | `colorForeground` | - | `colorTextOnPrimaryBackground` | `colorPrimaryForeground` | - | `colorTextSecondary` | `colorMutedForeground` | - | `spacingUnit` | `spacing` | - | `colorInputText` | `colorInputForeground` | - | `colorInputBackground` | `colorInput` | - - Deprecated variables will continue to work but will be removed in the next major version. - - ## New variables - - - `colorRing` - The color of the ring when an interactive element is focused. - - `colorMuted` - The background color for elements of lower importance, eg: a muted background. - - `colorShadow` - The base shadow color used in the components. - - `colorBorder` - The base border color used in the components. - - `colorModalBackdrop` - The background color of the modal backdrop. - -- Display past due subscriptions properly. ([#6309](https://github.com/clerk/javascript/pull/6309)) by [@panteliselef](https://github.com/panteliselef) - -- Extract `SubscriptionDetails`, into its own internal component, out of existing (also internal) `PlanDetails` component. ([#6148](https://github.com/clerk/javascript/pull/6148)) by [@panteliselef](https://github.com/panteliselef) - -## 4.65.0 - -### Minor Changes - -- [Billing Beta]: Introduce experimental `Clerk.__experimental_checkout()` for managing the state of a checkout session. ([#6195](https://github.com/clerk/javascript/pull/6195)) by [@panteliselef](https://github.com/panteliselef) - -### Patch Changes - -- Add notice for upcoming/possible breaking changes in commerce related APIs. ([#6285](https://github.com/clerk/javascript/pull/6285)) by [@panteliselef](https://github.com/panteliselef) - -- Export `ClerkAPIResponseError` interface from types package. ([#6286](https://github.com/clerk/javascript/pull/6286)) by [@panteliselef](https://github.com/panteliselef) - -## 4.64.0 - -### Minor Changes - -- Add `__internal_loadStripeJs` in Clerk interface. ([#6180](https://github.com/clerk/javascript/pull/6180)) by [@panteliselef](https://github.com/panteliselef) - -### Patch Changes - -- Add jsdoc comments for `payerType` in `CommercePlanResource`. ([#6257](https://github.com/clerk/javascript/pull/6257)) by [@panteliselef](https://github.com/panteliselef) - -## 4.63.0 - -### Minor Changes - -- Convert date properties from number to Date in CommerceSubscriptionResource ([#6233](https://github.com/clerk/javascript/pull/6233)) by [@panteliselef](https://github.com/panteliselef) - - Deprecates fields of type `number` - - - subscription.periodStart - - subscription.periodEnd - - subscription.canceledAt - Introduces fields of type `Date` - - subscription.periodStartDate - - subscription.periodEndDate - - subscription.canceledAtDate - - subscription.createdAt - -- Add `getPlan` by id to the billing namespace. ([#6230](https://github.com/clerk/javascript/pull/6230)) by [@panteliselef](https://github.com/panteliselef) - -## 4.62.1 - -### Patch Changes - -- Extract internal `ProtectProps` type to shared types to eliminate duplication across SDKs ([#6197](https://github.com/clerk/javascript/pull/6197)) by [@wobsoriano](https://github.com/wobsoriano) - -## 4.62.0 - -### Minor Changes - -- Introduce experimental paginated hooks for commerce data. ([#6159](https://github.com/clerk/javascript/pull/6159)) by [@panteliselef](https://github.com/panteliselef) - - - `useStatements` - - `usePaymentAttempts` - - `usePaymentMethods` - Prefixed with `__experimental_` - -### Patch Changes - -- Fixes stale `SignIn` object on `authenticateWithRedirect` for `saml` and `enterprise_sso` custom flows ([#6160](https://github.com/clerk/javascript/pull/6160)) by [@LauraBeatris](https://github.com/LauraBeatris) - - Previously, the same connection identifier would be used on every `authenticateWithRedirect` call leading to redirecting to the wrong identity provider - -## 4.61.0 - -### Minor Changes - -- Expose `__internal_LocalizationResource` which now includes metadata for which keys require interpolation. ([#6108](https://github.com/clerk/javascript/pull/6108)) by [@panteliselef](https://github.com/panteliselef) - -- Add support for `expiresInSeconds` parameter in session token generation. This allows setting custom expiration times for tokens both with and without templates via the backend API. ([#6150](https://github.com/clerk/javascript/pull/6150)) by [@jacekradko](https://github.com/jacekradko) - -### Patch Changes - -- Add element descriptors to `` component ([#6095](https://github.com/clerk/javascript/pull/6095)) by [@wobsoriano](https://github.com/wobsoriano) - -- Replace expiration segmented list with dropdown and hide description field in `` component ([#6153](https://github.com/clerk/javascript/pull/6153)) by [@wobsoriano](https://github.com/wobsoriano) - -## 4.60.1 - -### Patch Changes - -- Add payment history tab to UserProfile and OrgProfile ([#6075](https://github.com/clerk/javascript/pull/6075)) by [@aeliox](https://github.com/aeliox) - -- Add TypeScript types and en-US localization for upcoming `` component. This component will initially be in early access. ([#5858](https://github.com/clerk/javascript/pull/5858)) by [@wobsoriano](https://github.com/wobsoriano) - -- Add missing semibold FontWeightScale type ([#6114](https://github.com/clerk/javascript/pull/6114)) by [@jacekradko](https://github.com/jacekradko) - -- Parse partial `plan` in `ClerkAPIError.meta` ([#6102](https://github.com/clerk/javascript/pull/6102)) by [@panteliselef](https://github.com/panteliselef) - -- Add localizations for some commerce strings, general cleanups ([#6101](https://github.com/clerk/javascript/pull/6101)) by [@aeliox](https://github.com/aeliox) - -- Introduce `commerce.checkout.pastDueNotice` localization key. ([#6097](https://github.com/clerk/javascript/pull/6097)) by [@panteliselef](https://github.com/panteliselef) - -## 4.60.0 - -### Minor Changes - -- Introduce `cssLayerName` option to allow users to opt Clerk styles into a native CSS layer. ([#5552](https://github.com/clerk/javascript/pull/5552)) by [@alexcarpenter](https://github.com/alexcarpenter) - -### Patch Changes - -- Get `payment_method_order` for Stripe payment elements from backend ([#6034](https://github.com/clerk/javascript/pull/6034)) by [@aeliox](https://github.com/aeliox) - -- Use the `is_removable` flag on a payment source to determine if it can be removed. ([#6033](https://github.com/clerk/javascript/pull/6033)) by [@aeliox](https://github.com/aeliox) - -- Introduce internal `` component to be used internally in the machine auth OAuth flow in account portal. ([#6021](https://github.com/clerk/javascript/pull/6021)) by [@alexcarpenter](https://github.com/alexcarpenter) - -- feat(types,clerk-js): Update types; RoleSelect allows fallbackLabel ([#6037](https://github.com/clerk/javascript/pull/6037)) by [@thiskevinwang](https://github.com/thiskevinwang) - - - this updates OrganizationInvitation and OrganizationMembership resource+types to include `roleName` which is already present on frontend-api responses, as `role_name`. - - this updates RoleSelect to allow rendering a `fallbackLabel` in the event that `value` does not map to any of the supplied roles - -## 4.59.3 - -### Patch Changes - -- Add "Past Due" amount on checkout flow when applicable ([#6014](https://github.com/clerk/javascript/pull/6014)) by [@octoper](https://github.com/octoper) - -- Handle missing `publicUserData` in `OrganizationMembership` ([#6016](https://github.com/clerk/javascript/pull/6016)) by [@tmilewski](https://github.com/tmilewski) - -## 4.59.2 - -### Patch Changes - -- Replaces `useFetch` with `useSWR` or `useSWRMutation` in all commerce related components. ([#5939](https://github.com/clerk/javascript/pull/5939)) by [@panteliselef](https://github.com/panteliselef) - -## 4.59.1 - -### Patch Changes - -- Add support for country-specific alternative phone code channels ([#5937](https://github.com/clerk/javascript/pull/5937)) by [@anagstef](https://github.com/anagstef) - -## 4.59.0 - -### Minor Changes - -- Introduce `__experimental_startPath` option for `openOrganizationProfile`. ([#5926](https://github.com/clerk/javascript/pull/5926)) by [@alexcarpenter](https://github.com/alexcarpenter) - - Example usage: - - ```ts - clerk.openOrganizationProfile({ - __experimental_startPath: '/billing', - }); - ``` - -- Add `onClose` to `__internal_CheckoutProps`. ([#5916](https://github.com/clerk/javascript/pull/5916)) by [@panteliselef](https://github.com/panteliselef) - -- Replaces strings with localizations throughout billing components. ([#5922](https://github.com/clerk/javascript/pull/5922)) by [@alexcarpenter](https://github.com/alexcarpenter) - -### Patch Changes - -- Add `oidcPrompt` prop to `SignIn` and `SignUp` components and `authenticateWithRedirect` method to control the OIDC authentication prompt behavior during Enterprise SSO flows ([#5925](https://github.com/clerk/javascript/pull/5925)) by [@LauraBeatris](https://github.com/LauraBeatris) - - ```tsx - - - ``` - - ```ts - signUp.authenticateWithRedirect({ redirectUrl: '/sso-callback', oidcPrompt: 'select_account' }); - ``` - -- Add `drawerRoot` descriptor and adjust z-index approach. ([#5924](https://github.com/clerk/javascript/pull/5924)) by [@alexcarpenter](https://github.com/alexcarpenter) - -## 4.58.1 - -### Patch Changes - -- Introduce `WhatsApp` as an alternative channel for phone code delivery. ([#5894](https://github.com/clerk/javascript/pull/5894)) by [@anagstef](https://github.com/anagstef) - - The new `channel` property accompanies the `phone_code` strategy. Possible values: `whatsapp` and `sms`. - -- Display a better subscription list / button when empty and the free plan is hidden ([#5912](https://github.com/clerk/javascript/pull/5912)) by [@aeliox](https://github.com/aeliox) - -## 4.58.0 - -### Minor Changes - -- Fix issue where we were not correctly passing the checkoutProps through within the PricingTable component. Removes internal checkoutProps prefix from PricingTableBaseProps. ([#5888](https://github.com/clerk/javascript/pull/5888)) by [@alexcarpenter](https://github.com/alexcarpenter) - -### Patch Changes - -- Update profile components plans page heading from `Switch plans` to `Plans` ([#5889](https://github.com/clerk/javascript/pull/5889)) by [@alexcarpenter](https://github.com/alexcarpenter) - -- Add element descriptor to the text element rendered within UserPreview component. ([#5878](https://github.com/clerk/javascript/pull/5878)) by [@alexcarpenter](https://github.com/alexcarpenter) - -- Add descriptor ids to `UserMembershipList` and `OrganizationSwitcherTrigger` elements to improve styling experience. ([#5881](https://github.com/clerk/javascript/pull/5881)) by [@alexcarpenter](https://github.com/alexcarpenter) - -- Fix the "Plan starts at" date when a user downgrades from a paid plan to the free plan ([#5893](https://github.com/clerk/javascript/pull/5893)) by [@nikosdouvlis](https://github.com/nikosdouvlis) - -## 4.57.1 - -### Patch Changes - -- Update PricingTable badge and status messaging. ([#5844](https://github.com/clerk/javascript/pull/5844)) by [@alexcarpenter](https://github.com/alexcarpenter) - -- Add new Billing Statements UI to User and Org Profile ([#5850](https://github.com/clerk/javascript/pull/5850)) by [@aeliox](https://github.com/aeliox) - -- Show annual amount in the subscriptions list if the subscription has annual plan period ([#5863](https://github.com/clerk/javascript/pull/5863)) by [@octoper](https://github.com/octoper) - -- Update `PricingTable` plan card UI ([#5844](https://github.com/clerk/javascript/pull/5844)) by [@alexcarpenter](https://github.com/alexcarpenter) - -- Update `` line items to include `x12` prefix when plan is annual ([#5857](https://github.com/clerk/javascript/pull/5857)) by [@nikospapcom](https://github.com/nikospapcom) - -## 4.57.0 - -### Minor Changes - -- Mark commerce apis as stable ([#5833](https://github.com/clerk/javascript/pull/5833)) by [@nikosdouvlis](https://github.com/nikosdouvlis) - -- Expose Clerk Billing APIs. ([#5833](https://github.com/clerk/javascript/pull/5833)) by [@nikosdouvlis](https://github.com/nikosdouvlis) - - ## Render the pricing table component - - - `Clerk.mountPricingTable` - - `Clerk.unmountPricingTable` - - ## Manage payment methods - - - `Clerk.[user|organization].initializePaymentSource()` - - `Clerk.[user|organization].addPaymentSource()` - - `Clerk.[user|organization].getPaymentSources()` - - ## Billing namespace - - - `Clerk.billing` - - `Clerk.billing.getPlans()` - - `Clerk.billing.getSubscriptions()` - - `Clerk.billing.getInvoices()` - - `Clerk.billing.startCheckout()` - -### Patch Changes - -- Move `credit` at the top-level and remove `proration` property ([#5849](https://github.com/clerk/javascript/pull/5849)) by [@octoper](https://github.com/octoper) - -- Add support for switching to the free plan ([#5810](https://github.com/clerk/javascript/pull/5810)) by [@aeliox](https://github.com/aeliox) - -- Only allow members with `org:sys_billing:manage` to manage billing for an Organization ([#5835](https://github.com/clerk/javascript/pull/5835)) by [@octoper](https://github.com/octoper) - -- Introduce `` primitive ([#5841](https://github.com/clerk/javascript/pull/5841)) by [@alexcarpenter](https://github.com/alexcarpenter) - -- Rename ` __experimental_nextTask` to `__experimental_navigateToTask` ([#5715](https://github.com/clerk/javascript/pull/5715)) by [@LauraBeatris](https://github.com/LauraBeatris) - -- Introduce `checkoutContinueUrl` option. ([#5807](https://github.com/clerk/javascript/pull/5807)) by [@alexcarpenter](https://github.com/alexcarpenter) - -- Adjusts the layout of the `PricingTable` plan cards ([#5824](https://github.com/clerk/javascript/pull/5824)) by [@aeliox](https://github.com/aeliox) - -- Allow switching from an existing monthly subscription to an annual subscription for the same plan ([#5811](https://github.com/clerk/javascript/pull/5811)) by [@aeliox](https://github.com/aeliox) - -- Rename CheckoutProps and PlanDetailsProps to **internal_CheckoutProps and **internal_PlanDetailsProps ([#5838](https://github.com/clerk/javascript/pull/5838)) by [@nikosdouvlis](https://github.com/nikosdouvlis) - -- Update SubscriptionsList UI to be rendered within ProfileSections within UserProfile and OrganizationProfile. ([#5847](https://github.com/clerk/javascript/pull/5847)) by [@alexcarpenter](https://github.com/alexcarpenter) - -- Update checkout downgrade notice placement and text. ([#5837](https://github.com/clerk/javascript/pull/5837)) 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) - -- Add `Pay with test card` button on `` component in dev instance ([#5831](https://github.com/clerk/javascript/pull/5831)) by [@nikospapcom](https://github.com/nikospapcom) - -- Replace \_\_experimental_PricingTable with PricingTable ([#5828](https://github.com/clerk/javascript/pull/5828)) by [@nikosdouvlis](https://github.com/nikosdouvlis) - -## 4.56.3 - -### Patch Changes - -- Use the `total.proration.credit` to show the proration credit on checkout flow ([#5792](https://github.com/clerk/javascript/pull/5792)) by [@octoper](https://github.com/octoper) - -- Remove unused properties from proration response in checkout ([#5793](https://github.com/clerk/javascript/pull/5793)) by [@octoper](https://github.com/octoper) - -## 4.56.2 - -### Patch Changes - -- Fix issue where the checkout component was portaling into the wrong profile component when two profile components were rendered at once. ([#5779](https://github.com/clerk/javascript/pull/5779)) by [@alexcarpenter](https://github.com/alexcarpenter) - -## 4.56.1 - -### Patch Changes - -- Display upgrade and downgrade information on ``. ([#5746](https://github.com/clerk/javascript/pull/5746)) by [@panteliselef](https://github.com/panteliselef) - -- Refactor PricingTable components to use RootBox component for top level element. ([#5747](https://github.com/clerk/javascript/pull/5747)) by [@alexcarpenter](https://github.com/alexcarpenter) - -## 4.56.0 - -### Minor Changes - -- Introduce `` to display plans that available only for organizations. ([#5740](https://github.com/clerk/javascript/pull/5740)) by [@panteliselef](https://github.com/panteliselef) - -### Patch Changes - -- Checkout confirm request handles both new/existing payment sources ([#5745](https://github.com/clerk/javascript/pull/5745)) by [@octoper](https://github.com/octoper) - -- Exclude matrix variant of ``. ([#5724](https://github.com/clerk/javascript/pull/5724)) by [@panteliselef](https://github.com/panteliselef) - -- Renames all instances of `SubscriptionDetails` to `PlanDetails` to better reflect the capabilities, use cases, and params of the component. ([#5749](https://github.com/clerk/javascript/pull/5749)) by [@aeliox](https://github.com/aeliox) - -- Split `CommerceTotals` to `CommerceCheckoutTotals` and `CommerceInvoiceTotals`. ([#5726](https://github.com/clerk/javascript/pull/5726)) by [@panteliselef](https://github.com/panteliselef) - -- - Break out subscriptions and plans into different pages within `UserProfile` and `OrgProfile` ([#5727](https://github.com/clerk/javascript/pull/5727)) by [@aeliox](https://github.com/aeliox) - - - Display free plan row when "active" and plan has features - - Tidy up design of subscription rows and badging - - Adds `SubscriptionDetails` support for plans without a current subscription - -- Remove stale properties from `__experimental_CommerceInvoiceResource` ([#5738](https://github.com/clerk/javascript/pull/5738)) by [@panteliselef](https://github.com/panteliselef) - -- Switch to "Payment method" terminology instead of "Payment source". ([#5721](https://github.com/clerk/javascript/pull/5721)) by [@panteliselef](https://github.com/panteliselef) - - - Removes `userProfile.__experimental_billingPage.start.headerTitle__paymentSources` - - Adds `userProfile.__experimental_billingPage.start.headerTitle__paymentMethods` - -- Update `checkout.totals.totalDueNow` to always be defined. ([#5720](https://github.com/clerk/javascript/pull/5720)) by [@panteliselef](https://github.com/panteliselef) - -## 4.55.1 - -### Patch Changes - -- Make the `session_exists` error message more user-friendly and localize ([#5699](https://github.com/clerk/javascript/pull/5699)) by [@tmilewski](https://github.com/tmilewski) - -## 4.55.0 - -### Minor Changes - -- Introduce `Clerk.status` for tracking the state of the clerk singleton. ([#5476](https://github.com/clerk/javascript/pull/5476)) by [@panteliselef](https://github.com/panteliselef) - - Possible values for `Clerk.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 `Clerk.loaded` is: - - - `true` when `Clerk.status` is either `"ready"` or `"degraded"`. - - `false` when `Clerk.status` is `"loading"` or `"error"`. - -### Patch Changes - -- - Adds support for collecting and verifying user email (when they don't already have one associated with their payer) during checkout ([#5671](https://github.com/clerk/javascript/pull/5671)) by [@aeliox](https://github.com/aeliox) - - - Fixes incorrect org invoices endpoint. - - Extracts plan CTA button styling, labeling, and selecting into context methods. - - Adds UserProfile / OrgProfile specific scrollbox IDs for drawer portal-ing (fixes issue where both could be open) - - Fixes incorrect button action in SubscriptionList for active but expiring subscriptions. - -- Add `` to both UserProfile and OrgProfile components. ([#5658](https://github.com/clerk/javascript/pull/5658)) by [@alexcarpenter](https://github.com/alexcarpenter) - - Introduce experimental method for opening `` component. - - ```tsx - clerk.__experimental_openSubscriptionDetails(...) - ``` - -## 4.54.2 - -### Patch Changes - -- Refactor InvoicePage title and invoice ID UI. ([#5655](https://github.com/clerk/javascript/pull/5655)) by [@alexcarpenter](https://github.com/alexcarpenter) - -- Improve JSDoc comments ([#5643](https://github.com/clerk/javascript/pull/5643)) by [@alexisintech](https://github.com/alexisintech) - -- Chore: improve checkout error handling ([#5654](https://github.com/clerk/javascript/pull/5654)) by [@aeliox](https://github.com/aeliox) - -- Chore: display correct total for checkout complete page ([#5650](https://github.com/clerk/javascript/pull/5650)) by [@aeliox](https://github.com/aeliox) - -## 4.54.1 - -### Patch Changes - -- Improve JSDoc comments ([#5641](https://github.com/clerk/javascript/pull/5641)) by [@LekoArts](https://github.com/LekoArts) - -- Append expired status to invitation types ([#5646](https://github.com/clerk/javascript/pull/5646)) by [@tmilewski](https://github.com/tmilewski) - -- Improve JSDoc comments ([#5630](https://github.com/clerk/javascript/pull/5630)) by [@LekoArts](https://github.com/LekoArts) - -- Chore: tidy up checkout complete state for upcoming subscriptions ([#5644](https://github.com/clerk/javascript/pull/5644)) by [@aeliox](https://github.com/aeliox) - -- Hide Billing tabs from UP and OP when no paid plans exist for an instance. ([#5628](https://github.com/clerk/javascript/pull/5628)) by [@panteliselef](https://github.com/panteliselef) - -- Updates `PricingTable` and `SubscriptionDetailDrawer` to handle `upcoming` and "expiring" subscriptions. ([#5601](https://github.com/clerk/javascript/pull/5601)) by [@aeliox](https://github.com/aeliox) - -## 4.54.0 - -### Minor Changes - -- Add `pla` claim to `VersionedJwtPayload`. ([#5582](https://github.com/clerk/javascript/pull/5582)) by [@panteliselef](https://github.com/panteliselef) - -### Patch Changes - -- Nest existing commerce settings under `billing`. ([#5612](https://github.com/clerk/javascript/pull/5612)) by [@panteliselef](https://github.com/panteliselef) - -- Rename the `sendCaptchaToken` to `__internal_sendCaptchaToken`. ([#5581](https://github.com/clerk/javascript/pull/5581)) by [@anagstef](https://github.com/anagstef) - -- Improve JSDoc comments ([#5578](https://github.com/clerk/javascript/pull/5578)) by [@LekoArts](https://github.com/LekoArts) - -- Improve JSDoc comments ([#5596](https://github.com/clerk/javascript/pull/5596)) by [@LekoArts](https://github.com/LekoArts) - -## 4.53.0 - -### Minor Changes - -- Introduce `sessionClaims` to useAuth(). ([#5565](https://github.com/clerk/javascript/pull/5565)) by [@panteliselef](https://github.com/panteliselef) - - - thanks to [@ijxy](https://github.com/ijxy) for the [contribution](https://github.com/clerk/javascript/pull/4823) - -## 4.52.0 - -### Minor Changes - -- Adding the new `o` claim that contains all organization related info for JWT v2 schema ([#5549](https://github.com/clerk/javascript/pull/5549)) by [@octoper](https://github.com/octoper) - -### Patch Changes - -- Add Payment Sources to ``, hook up all org-related payment source and checkout methods to the org-specific endpoints ([#5554](https://github.com/clerk/javascript/pull/5554)) by [@aeliox](https://github.com/aeliox) - -- Add copy and truncation options to `` component. ([#5560](https://github.com/clerk/javascript/pull/5560)) by [@alexcarpenter](https://github.com/alexcarpenter) - -- Optionally handle the `intent` parameter on SSO redirects to reload specific resources. ([#5553](https://github.com/clerk/javascript/pull/5553)) by [@dstaley](https://github.com/dstaley) - -## 4.51.1 - -### Patch Changes - -- Expose the 'external_account.phone_number' property. This represents the associated phone number, if exists, with the specific external account ([#5557](https://github.com/clerk/javascript/pull/5557)) by [@chanioxaris](https://github.com/chanioxaris) - -## 4.51.0 - -### Minor Changes - -- Introduces `ver` as JWT claim to allow versioning of the session token. ([#5521](https://github.com/clerk/javascript/pull/5521)) by [@octoper](https://github.com/octoper) - -### Patch Changes - -- Fixes an issue where a race condition was caused by triggering navigations during a call to `setActive`. ([#5515](https://github.com/clerk/javascript/pull/5515)) by [@dstaley](https://github.com/dstaley) - -- Introduce `clerk.__internal_openCheckout()` and `clerk.__internal_closeCheckout()` methods and remove `` from within the `` component. ([#5481](https://github.com/clerk/javascript/pull/5481)) by [@alexcarpenter](https://github.com/alexcarpenter) - -- Mark `ver` claim as experimental ([#5548](https://github.com/clerk/javascript/pull/5548)) by [@octoper](https://github.com/octoper) - -## 4.50.2 - -### Patch Changes - -- Improve JSDoc comments ([#5457](https://github.com/clerk/javascript/pull/5457)) by [@alexisintech](https://github.com/alexisintech) - -- Remove usage of `` from ``. ([#5469](https://github.com/clerk/javascript/pull/5469)) by [@alexcarpenter](https://github.com/alexcarpenter) - -- Add payment source section to `UserProfile` ([#5492](https://github.com/clerk/javascript/pull/5492)) by [@aeliox](https://github.com/aeliox) - -## 4.50.1 - -### Patch Changes - -- Add billing page to `OrgProfile`, use new `usePlans` hook, and adds new subscription methods ([#5423](https://github.com/clerk/javascript/pull/5423)) by [@aeliox](https://github.com/aeliox) - -- Refactor `` to use local sub components to align with `` implementation and descriptors. ([#5450](https://github.com/clerk/javascript/pull/5450)) by [@alexcarpenter](https://github.com/alexcarpenter) - -## 4.50.0 - -### Minor Changes - -- Add support for the `oauthFlow` prop on `` and ``, allowing developers to opt-in to using a popup for OAuth authorization instead of redirects. ([#5239](https://github.com/clerk/javascript/pull/5239)) by [@dstaley](https://github.com/dstaley) - - With the new `oauthFlow` prop, developers can opt-in to using a popup window instead of redirects for their OAuth flows by setting `oauthFlow` to `"popup"`. While we still recommend the default `"redirect"` for most scenarios, the `"popup"` option is useful in environments where the redirect flow does not currently work, such as when your application is embedded into an `iframe`. We also opt applications into the `"popup"` flow when we detect that your application is running on a domain that's typically embedded into an `iframe`, such as `loveable.app`. - -### Patch Changes - -- Load tasks based on environment settings ([#5422](https://github.com/clerk/javascript/pull/5422)) by [@LauraBeatris](https://github.com/LauraBeatris) - -- Derive session status from server-side state ([#5447](https://github.com/clerk/javascript/pull/5447)) by [@LauraBeatris](https://github.com/LauraBeatris) - -## 4.49.2 - -### Patch Changes - -- Wrap nested `` component in its own AppearanceProvider to recieve its own appearance object. ([#5443](https://github.com/clerk/javascript/pull/5443)) by [@alexcarpenter](https://github.com/alexcarpenter) - -## 4.49.1 - -### Patch Changes - -- Introduce `__experimental_nextTask` method for navigating to next tasks on a after-auth flow ([#5377](https://github.com/clerk/javascript/pull/5377)) by [@LauraBeatris](https://github.com/LauraBeatris) - -## 4.49.0 - -### Minor Changes - -- Navigate to tasks on after sign-in/sign-up ([#5280](https://github.com/clerk/javascript/pull/5280)) by [@LauraBeatris](https://github.com/LauraBeatris) - -- Allow user set primary web3 wallet in `` when more than one web3 wallets presented ([#5353](https://github.com/clerk/javascript/pull/5353)) by [@nikospapcom](https://github.com/nikospapcom) - -- Deprecate out of date jwt types in favour of existing that are up-to-date. ([#5354](https://github.com/clerk/javascript/pull/5354)) by [@panteliselef](https://github.com/panteliselef) - -### Patch Changes - -- Simplify plan card avatar badge container styling. ([#5355](https://github.com/clerk/javascript/pull/5355)) by [@alexcarpenter](https://github.com/alexcarpenter) - -- Introduce `` component to be used within Commerce cancel subscription flow. ([#5376](https://github.com/clerk/javascript/pull/5376)) by [@alexcarpenter](https://github.com/alexcarpenter) - -- Hide personal workspace options when organization selection is enforced ([#5391](https://github.com/clerk/javascript/pull/5391)) by [@LauraBeatris](https://github.com/LauraBeatris) - -- Allow token refresh when Client failed to resolve. ([#5345](https://github.com/clerk/javascript/pull/5345)) by [@panteliselef](https://github.com/panteliselef) - -- Improve JSDoc documentation ([#5372](https://github.com/clerk/javascript/pull/5372)) by [@LekoArts](https://github.com/LekoArts) - -- Introduce experimental billing APIs and components ([#5248](https://github.com/clerk/javascript/pull/5248)) by [@aeliox](https://github.com/aeliox) - -- Introduce `` component and update commerce components implementations to make use of it. ([#5337](https://github.com/clerk/javascript/pull/5337)) by [@alexcarpenter](https://github.com/alexcarpenter) - -- Conditionally render the avatar and badge components within PlanCard. ([#5348](https://github.com/clerk/javascript/pull/5348)) by [@alexcarpenter](https://github.com/alexcarpenter) - -- Refactor `` components to apply descriptors and ensure styling is properly connected to theming layer. ([#5359](https://github.com/clerk/javascript/pull/5359)) by [@alexcarpenter](https://github.com/alexcarpenter) - -## 4.48.0 - -### Minor Changes - -- Support passkeys as a first factor strategy for reverification ([#5242](https://github.com/clerk/javascript/pull/5242)) by [@octoper](https://github.com/octoper) - -### Patch Changes - -- Improve JSDoc documentation ([#5296](https://github.com/clerk/javascript/pull/5296)) by [@LekoArts](https://github.com/LekoArts) - -- Improve the UX on Reverification by not requiring the user's current password. ([#5284](https://github.com/clerk/javascript/pull/5284)) by [@chanioxaris](https://github.com/chanioxaris) - - The user has already verified themselves using Reverification, so there is no point to maintain a two level verification in case they would like to change their password. Also, Reverification is a stronger verification factor, as it includes strategies such as email code. - -- Remove unused `experimental.combinedFlow` option. ([#5290](https://github.com/clerk/javascript/pull/5290)) by [@panteliselef](https://github.com/panteliselef) - -## 4.47.0 - -### Minor Changes - -- Introduce the `appearance.captcha` property for the CAPTCHA widget ([#5184](https://github.com/clerk/javascript/pull/5184)) by [@anagstef](https://github.com/anagstef) - -- Surface new `pending` session as a signed-in state ([#5136](https://github.com/clerk/javascript/pull/5136)) by [@LauraBeatris](https://github.com/LauraBeatris) - -### Patch Changes - -- Initialize `tasks` on `Session` resource ([#5170](https://github.com/clerk/javascript/pull/5170)) by [@LauraBeatris](https://github.com/LauraBeatris) - -## 4.46.1 - -### Patch Changes - -- Support passing additional properties to `eventPrebuiltComponentMounted()`, and ensure `withSignUp` is collected on `SignIn` mount. ([#5150](https://github.com/clerk/javascript/pull/5150)) by [@brkalow](https://github.com/brkalow) - -## 4.46.0 - -### Minor Changes - -- Introduce `__internal_addNavigationListener` method the `Clerk` singleton. ([#5092](https://github.com/clerk/javascript/pull/5092)) by [@panteliselef](https://github.com/panteliselef) - -- Extract common button component props. ([#5125](https://github.com/clerk/javascript/pull/5125)) by [@alexcarpenter](https://github.com/alexcarpenter) - -## 4.45.1 - -### Patch Changes - -- Add `menuButtonEllipsis` element descriptor. ([#5090](https://github.com/clerk/javascript/pull/5090)) by [@alexcarpenter](https://github.com/alexcarpenter) - -- Small JSDoc and type improvements ([#5099](https://github.com/clerk/javascript/pull/5099)) by [@LekoArts](https://github.com/LekoArts) - -- Replaces hard-coded string `"Add a passkey"` with a new localization key `userProfile.start.passkeysSection.primaryButton` ([#5105](https://github.com/clerk/javascript/pull/5105)) by [@Philitician](https://github.com/Philitician) - -## 4.45.0 - -### Minor Changes - -- - `@clerk/clerk-js`, `@clerk/types`: Add `redirectUrl` option to `buildAfterSignInUrl()` and `buildAfterSignUpUrl()` methods. ([#5052](https://github.com/clerk/javascript/pull/5052)) by [@brkalow](https://github.com/brkalow) - - - `@clerk/elements`: Ensure redirect_url params passed to Elements components are always passed to Clerk's underlying `build*Url()` methods. - -### Patch Changes - -- Reverts [#4977](https://github.com/clerk/javascript/pull/4977) ([#5057](https://github.com/clerk/javascript/pull/5057)) by [@alexcarpenter](https://github.com/alexcarpenter) - - Marks virtual routing as deprecated. - -## 4.44.3 - -### Patch Changes - -- Improve JSDoc comments to provide better IntelliSense in your IDE ([#5053](https://github.com/clerk/javascript/pull/5053)) by [@LekoArts](https://github.com/LekoArts) - -## 4.44.2 - -### Patch Changes - -- Remove `'virtual'` from the `routing` option. The `'virtual'` value is only used internally and should not be part of the public API. ([#4977](https://github.com/clerk/javascript/pull/4977)) by [@alexcarpenter](https://github.com/alexcarpenter) - -## 4.44.1 - -### Patch Changes - -- Add `subtitleCombined` localizations to sign-in-or-up flow. ([#4988](https://github.com/clerk/javascript/pull/4988)) by [@alexcarpenter](https://github.com/alexcarpenter) - -- Introduced searching for members list on `OrganizationProfile` ([#4942](https://github.com/clerk/javascript/pull/4942)) by [@LauraBeatris](https://github.com/LauraBeatris) - -## 4.44.0 - -### Minor Changes - -- Deprecated `userProfile.emailAddressPage.emailLink.formHint` and `userProfile.emailAddressPage.emailCode.formHint` in favor of `userProfile.emailAddressPage.formHint` ([#4406](https://github.com/clerk/javascript/pull/4406)) by [@NicolasLopes7](https://github.com/NicolasLopes7) - -### Patch Changes - -- Add sign up title localization for use in sign-in-or-up flow. ([#4983](https://github.com/clerk/javascript/pull/4983)) by [@alexcarpenter](https://github.com/alexcarpenter) - -## 4.43.0 - -### Minor Changes - -- - Introduced an `upsert` method to the `SignUp` resource, which reuses the existing sign-up attempt ID if it exists. ([#4720](https://github.com/clerk/javascript/pull/4720)) by [@kostaspt](https://github.com/kostaspt) - - - Fix a ticket flow issue on `` component, where in some rare cases the initial ticket/context is lost, because of creating a new sign-up attempt ID. - -## 4.42.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 - -- Update modal methods to use the correct types. ([#4931](https://github.com/clerk/javascript/pull/4931)) by [@alexcarpenter](https://github.com/alexcarpenter) - -## 4.41.2 - -### Patch Changes - -- Remove experimental prefix from combined title. ([#4935](https://github.com/clerk/javascript/pull/4935)) by [@alexcarpenter](https://github.com/alexcarpenter) - -## 4.41.1 - -### Patch Changes - -- Support `enterprise_sso` strategy (SAML, OIDC, EASIE) on custom flows with `@clerk/elements` ([#4916](https://github.com/clerk/javascript/pull/4916)) by [@LauraBeatris](https://github.com/LauraBeatris) - -## 4.41.0 - -### Minor Changes - -- Introduce sign-in-or-up flow. ([#4788](https://github.com/clerk/javascript/pull/4788)) by [@alexcarpenter](https://github.com/alexcarpenter) - -### Patch Changes - -- Improve runtime prop checking for single-file components ([#4902](https://github.com/clerk/javascript/pull/4902)) by [@wobsoriano](https://github.com/wobsoriano) - -- Skip fraud protection if client has bypass enabled ([#4907](https://github.com/clerk/javascript/pull/4907)) by [@nikosdouvlis](https://github.com/nikosdouvlis) - -## 4.40.3 - -### Patch Changes - -- Update `socialButtonsBlockButtonManyInView` to only accept `'${string}{{provider|titleize}}${string}'` or `undefined`. ([#4887](https://github.com/clerk/javascript/pull/4887)) by [@panteliselef](https://github.com/panteliselef) - -## 4.40.2 - -### 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 - -## 4.40.1 - -### Patch Changes - -- Improve error handling when trying to sign-in/sign-up with web3 wallet and wallet is not installed in the browser ([#4845](https://github.com/clerk/javascript/pull/4845)) by [@nikospapcom](https://github.com/nikospapcom) - -## 4.40.0 - -### Minor Changes - -- Adds `oidcLoginHint` & `oidcPrompt` parameters to following types: ([#4789](https://github.com/clerk/javascript/pull/4789)) by [@octoper](https://github.com/octoper) - - - `ReauthorizeExternalAccountParams` - - `OAuthConfig` - - `SignInCreateParams` - - `PrepareVerificationParams` - - `SignUpCreateParams` - - `CreateExternalAccountParams` - -## 4.39.4 - -### Patch Changes - -- Added min and max length username settings to username field error. ([#4771](https://github.com/clerk/javascript/pull/4771)) by [@alexcarpenter](https://github.com/alexcarpenter) - -- Rename `toJSON()` resource methods to `__internal_toSnapshot()` to avoid issues with serializing functions. ([#4777](https://github.com/clerk/javascript/pull/4777)) by [@anagstef](https://github.com/anagstef) - -## 4.39.3 - -### Patch Changes - -- 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) - -- Add `claimedAt` property inside AuthConfig for the environment. It describes when a instance that was created from the Keyless mode was finally claimed. ([#4752](https://github.com/clerk/javascript/pull/4752)) by [@panteliselef](https://github.com/panteliselef) - -- Introduce a `toJSON()` function on resources. ([#4604](https://github.com/clerk/javascript/pull/4604)) by [@anagstef](https://github.com/anagstef) - - This change also introduces two new internal methods on the Clerk resource, to be used by the expo package. - - - `__internal_getCachedResources()`: (Optional) This function is used to load cached Client and Environment resources if Clerk fails to load them from the Frontend API. - - `__internal_reloadInitialResources()`: This function is used to reload the initial resources (Environment/Client) from the Frontend API. - -## 4.39.2 - -### Patch Changes - -- Introduce the `navbarButtonText` element descriptor. ([#4635](https://github.com/clerk/javascript/pull/4635)) by [@alexcarpenter](https://github.com/alexcarpenter) - -## 4.39.1 - -### Patch Changes - -- Add `socialButtonsRoot` descriptor. ([#4729](https://github.com/clerk/javascript/pull/4729)) by [@alexcarpenter](https://github.com/alexcarpenter) - -## 4.39.0 - -### Minor Changes - -- Replace `__internal_claimAccountlessKeysUrl` with `__internal_claimKeylessApplicationUrl`. ([#4602](https://github.com/clerk/javascript/pull/4602)) by [@panteliselef](https://github.com/panteliselef) - -### Patch Changes - -- Introduce experimental sign-in combined flow. ([#4607](https://github.com/clerk/javascript/pull/4607)) by [@alexcarpenter](https://github.com/alexcarpenter) - -## 4.38.0 - -### Minor Changes - -- Deprecate the following constants and functions: ([#4716](https://github.com/clerk/javascript/pull/4716)) by [@panteliselef](https://github.com/panteliselef) - - - `OAUTH_PROVIDERS` - - `getOAuthProviderData()` - - `sortedOAuthProviders()` - - `WEB3_PROVIDERS` - - `getWeb3ProviderData()` - -## 4.37.0 - -### Minor Changes - -- Introduce a new `allowedRedirectProtocols` option to pass additional allowed protocols for user-provided redirect validation. ([#4705](https://github.com/clerk/javascript/pull/4705)) by [@BRKalow](https://github.com/BRKalow) - -## 4.36.0 - -### Minor Changes - -- Support OKW Wallet Web3 provider and authentication strategy ([#4696](https://github.com/clerk/javascript/pull/4696)) by [@chanioxaris](https://github.com/chanioxaris) - -### Patch Changes - -- Translates a FAPI error message for when an organization domain is already in use for an organization's SSO ([#4671](https://github.com/clerk/javascript/pull/4671)) by [@LauraBeatris](https://github.com/LauraBeatris) - -## 4.35.1 - -### Patch Changes - -- Add support for the new `enterprise_sso` strategy. ([#4596](https://github.com/clerk/javascript/pull/4596)) by [@Nikpolik](https://github.com/Nikpolik) - - This strategy supersedes SAML to provide a single strategy as the entry point for Enterprise Single Sign On regardless of the underlying protocol used to authenticate the user. - For now there are two new types of connections that are supported in addition to SAML, Custom OAuth and EASIE (multi-tenant OAuth). - - - Add a new user setting `enterpriseSSO`, this gets enabled when there is an active enterprise connection for an instance. - - Add support for signing in / signing up with the new `enterprise_sso` strategy. - - Deprecated `userSettings.saml` in favor of `enterprise_sso`. - - Deprecated `saml` sign in strategy in favor of `enterprise_sso`. - -## 4.35.0 - -### Minor Changes - -- Drop experimental tag related to reverification. ([#4536](https://github.com/clerk/javascript/pull/4536)) by [@panteliselef](https://github.com/panteliselef) - - Properties of Clerk class: - - - `__experimental_openUserVerification` -> `__internal_openReverification` - - `__experimental_closeUserVerification` -> `__internal_closeReverification` - - `__experimental_UserVerificationProps` -> `__internal_ReverificationProps` - - `__experimental_UserVerificationModalProps` -> `__internal_ReverificationModalProps` - - Properties of `Session`: - - - `__experimental_factorVerificationAge` -> `factorVerificationAge` - - `__experimental_startVerification` -> `startVerification` - - `__experimental_prepareFirstFactorVerification` -> `prepareFirstFactorVerification` - - `__experimental_attemptFirstFactorVerification` -> `attemptFirstFactorVerification` - - `__experimental_prepareSecondFactorVerification` -> `prepareSecondFactorVerification` - - `__experimental_attemptSecondFactorVerification` -> `attemptSecondFactorVerification` - - Renaming - - - `__experimental_SessionVerificationResource` -> `SessionVerificationResource` - - `__experimental_SessionVerificationStatus` -> `SessionVerificationStatus` - - `__experimental_SessionVerificationLevel` -> `SessionVerificationLevel` - - `__experimental_ReverificationConfig` -> `ReverificationConfig` - - `CheckAuthorizationParamsWithCustomPermissions` and `CheckAuthorizationParams` now include `reverification?: ReverificationConfig;` - - Properties of `IntialState`: - - - `__experimental_factorVerificationAge` -> `factorVerificationAge` - - Localization types: - All properties of `__experimental_userVerification` are moved to `reverification` - -### Patch Changes - -- Rename userVerification to reverification to align with the feature name. ([#4634](https://github.com/clerk/javascript/pull/4634)) by [@BRKalow](https://github.com/BRKalow) - -## 4.34.2 - -### Patch Changes - -- Add `__internal_claimAccountlessKeysUrl` to `ClerkOptions`. ([#4625](https://github.com/clerk/javascript/pull/4625)) by [@panteliselef](https://github.com/panteliselef) - -- Decouple captcha heartbeat from token refresh mechanism ([#4630](https://github.com/clerk/javascript/pull/4630)) by [@nikosdouvlis](https://github.com/nikosdouvlis) - -## 4.34.1 - -### Patch Changes - -- Share hook return types ([#4583](https://github.com/clerk/javascript/pull/4583)) by [@wobsoriano](https://github.com/wobsoriano) - -- Inject captcha token into every X heartbeats ([#4614](https://github.com/clerk/javascript/pull/4614)) by [@nikosdouvlis](https://github.com/nikosdouvlis) - -## 4.34.0 - -### Minor Changes - -- Update reverification config values to snake_case. ([#4556](https://github.com/clerk/javascript/pull/4556)) by [@panteliselef](https://github.com/panteliselef) - - For `__experimental_ReverificationConfig` - - - `strictMfa` changes to `strict_mfa` - - For `__experimental_SessionVerificationLevel` - - - `firstFactor` changes to `first_factor` - - - `secondFactor` changes to `second_factor` - - - `multiFactor` changes to `multi_factor` - -## 4.33.0 - -### Minor Changes - -- Surface enterprise accounts in `UserProfile`, allowing to display more protocols besides SAML ([#4518](https://github.com/clerk/javascript/pull/4518)) by [@LauraBeatris](https://github.com/LauraBeatris) - -- Introduce the `experimental.rethrowOfflineNetworkErrors` option to the `ClerkProvider` component. ([#4525](https://github.com/clerk/javascript/pull/4525)) by [@anagstef](https://github.com/anagstef) - - When set to `true`, Clerk will rethrow network errors that occur while the user is offline. - -- Replace `veryStrict` with `strictMfa` configuration for reverification. ([#4545](https://github.com/clerk/javascript/pull/4545)) by [@panteliselef](https://github.com/panteliselef) - -## 4.32.0 - -### Minor Changes - -- Replace `redirectUrl` with `afterJoinWaitlistUrl` in `` component ([#4532](https://github.com/clerk/javascript/pull/4532)) by [@nikospapcom](https://github.com/nikospapcom) - -## 4.31.0 - -### Minor Changes - -- Introduce experimental support for passkeys in Expo (iOS, Android, and Web). ([#4352](https://github.com/clerk/javascript/pull/4352)) by [@AlexNti](https://github.com/AlexNti) - - To use passkeys in Expo projects, pass the `__experimental_passkeys` object, which can be imported from `@clerk/clerk-expo/passkeys`, to the `ClerkProvider` component: - - ```tsx - import { ClerkProvider } from '@clerk/clerk-expo'; - import { passkeys } from '@clerk/clerk-expo/passkeys'; - - {/* Your app here */}; - ``` - - The API for using passkeys in Expo projects is the same as the one used in web apps: - - ```tsx - // passkey creation - const { user } = useUser(); - - const handleCreatePasskey = async () => { - if (!user) return; - try { - return await user.createPasskey(); - } catch (e: any) { - // handle error - } - }; - - // passkey authentication - const { signIn, setActive } = useSignIn(); - - const handlePasskeySignIn = async () => { - try { - const signInResponse = await signIn.authenticateWithPasskey(); - await setActive({ session: signInResponse.createdSessionId }); - } catch (err: any) { - //handle error - } - }; - ``` - -- The Legal consent feature is now stable. ([#4487](https://github.com/clerk/javascript/pull/4487)) by [@octoper](https://github.com/octoper) - - Removed the `__experimental_` prefix. - -### 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 afterJoinWaitlistUrl to DisplayConfig resource ([#4524](https://github.com/clerk/javascript/pull/4524)) by [@nikospapcom](https://github.com/nikospapcom) - -## 4.30.0 - -### Minor Changes - -- New Feature: Introduce the `` 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 `` component. - - Show `Join waitlist` prompt from `` 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 - -- Expose internal `__internal_getOption` method from Clerk. ([#4456](https://github.com/clerk/javascript/pull/4456)) by [@alexcarpenter](https://github.com/alexcarpenter) - -## 4.29.0 - -### Minor Changes - -- - Introduce `redirectUrl` property on `setActive` as a replacement for `beforeEmit`. ([#4312](https://github.com/clerk/javascript/pull/4312)) by [@issuedat](https://github.com/issuedat) - - - Deprecates `beforeEmit` property on `setActive`. - -### Patch Changes - -- Experimental: `asStandalone` now accepts a callback that notifies if the standalone popover needs to unmount. ([#4423](https://github.com/clerk/javascript/pull/4423)) by [@panteliselef](https://github.com/panteliselef) - -- - Changed `__experimental_legalAccepted` checkbox Indicator element descriptor and element id ([#4427](https://github.com/clerk/javascript/pull/4427)) by [@octoper](https://github.com/octoper) - - - Changed `__experimental_legalAccepted` checkbox Label element descriptor and element id - - Added two new element descriptors `formFieldCheckboxInput`, `formFieldCheckboxLabel`. - -## 4.28.0 - -### Minor Changes - -- Adding experimental support for legal consent for `` component ([#4337](https://github.com/clerk/javascript/pull/4337)) by [@octoper](https://github.com/octoper) - -## 4.27.0 - -### Minor Changes - -- Add experimental support for new UI components ([#4114](https://github.com/clerk/javascript/pull/4114)) by [@BRKalow](https://github.com/BRKalow) - -### Patch Changes - -- Fix `SignInProps`/`SignUpProps` `__experimental` type to allow for arbitrary properties ([#4114](https://github.com/clerk/javascript/pull/4114)) by [@BRKalow](https://github.com/BRKalow) - -## 4.26.0 - -### Minor Changes - -- Drop `maxAgeMinutes` from `__experimental_startVerification`. ([#4338](https://github.com/clerk/javascript/pull/4338)) by [@panteliselef](https://github.com/panteliselef) - - Drop types `__experimental_SessionVerificationConfig` and `__experimental_SessionVerificationMaxAgeMinutes`. - -- The "Restricted access" screen has been improved for visual consistency and the ability to contact support. The displayed texts have been made more clear and the sign-in button has been moved to the bottom. ([#4335](https://github.com/clerk/javascript/pull/4335)) by [@nikospapcom](https://github.com/nikospapcom) - -- Add experimental standalone mode for `` and ``. ([#4042](https://github.com/clerk/javascript/pull/4042)) by [@panteliselef](https://github.com/panteliselef) - - When `__experimental_asStandalone: true` the component will not render its trigger, and instead it will render only the contents of the popover in place. - - APIs that changed: - - - (For internal usage) Added `__experimental_prefetchOrganizationSwitcher` as a way to mount an internal component that will render the `useOrganizationList()` hook and prefetch the necessary data for the popover of ``. This enhances the UX since no loading state will be visible and keeps CLS to the minimum. - - New property for `mountOrganizationSwitcher(node, { __experimental_asStandalone: true })` - - New property for `mountUserButton(node, { __experimental_asStandalone: true })` - -- Use EIP-4361 message spec for Web3 wallets sign in signature requests ([#4334](https://github.com/clerk/javascript/pull/4334)) by [@chanioxaris](https://github.com/chanioxaris) - -## 4.25.1 - -### Patch Changes - -- Bypass captcha for providers dynamically provided in environment ([#4322](https://github.com/clerk/javascript/pull/4322)) by [@nikosdouvlis](https://github.com/nikosdouvlis) - -## 4.25.0 - -### Minor Changes - -- Rename `__experimental_assurance` to `__experimental_reverification`. ([#4268](https://github.com/clerk/javascript/pull/4268)) by [@panteliselef](https://github.com/panteliselef) - - - Supported levels are now are `firstFactor`, `secondFactor`, `multiFactor`. - - Support maxAge is now replaced by maxAgeMinutes and afterMinutes depending on usage. - - Introduced `____experimental_SessionVerificationTypes` that abstracts away the level and maxAge - - Allowed values 'veryStrict' | 'strict' | 'moderate' | 'lax' - -## 4.24.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()` - -- _Experimental Feature_: `` allows users to update their information. Mostly of this information is considered sensitive data. ([#4127](https://github.com/clerk/javascript/pull/4127)) by [@panteliselef](https://github.com/panteliselef) - - We want to ensure that only the users themselves can alter any sensitive data. - - To increase security we are now, require users to re-verify their credentials when they are about to perform these actions: - - | Operation | Reverification | Strategy | Timeframe | - | -------------------------------- | -------------- | ------------------- | --------- | - | Update account (first/last name) | ❌ | | | - | Update username | ✅ | Strongest available | 10m | - | Delete account | ✅ | Strongest available | 10m | - | Create/Remove profile image | ❌ | | | - | Update password | ✅ | Strongest available | 10m | - | Remove password | ❌ | | | - | Revoke session | ✅ | Strongest available | 10m | - | Create identification | ✅ | Strongest available | 10m | - | Remove identification | ✅ | Strongest available | 10m | - | Change primary identification | ✅ | Strongest available | 10m | - | Update Passkey name | ❌ | | | - | Enable MFA (TOTP, Phone number) | ✅ | Strongest available | 10m | - | Disable MFA (TOΤP, Phone number) | ✅ | Strongest available | 10m | - | Create/Regenerate Backup Codes | ✅ | Strongest available | 10m | - | Connect External Account | ✅ | Strongest available | 10m | - | Re-authorize External Account | ❌ | | | - | Remove External Account | ✅ | Strongest available | 10m | - | Leave organization | ❌ | | | - -## 4.23.0 - -### Minor Changes - -- Render "Restricted access" screen in `` component when `signup.mode` in `userSettings` is `restricted` ([#4220](https://github.com/clerk/javascript/pull/4220)) by [@nikospapcom](https://github.com/nikospapcom) - -### Patch Changes - -- Conditionally renders identification sections on `UserProfile` based on the SAML connection configuration for disabling additional identifiers. ([#4211](https://github.com/clerk/javascript/pull/4211)) by [@NicolasLopes7](https://github.com/NicolasLopes7) - -- Introduces the CRUD of organization domains under the `organizations` API. ([#4224](https://github.com/clerk/javascript/pull/4224)) by [@NicolasLopes7](https://github.com/NicolasLopes7) - -## 4.22.0 - -### Minor Changes - -- Hide sign up url from `` component when mode is `restricted` ([#4206](https://github.com/clerk/javascript/pull/4206)) by [@nikospapcom](https://github.com/nikospapcom) - -### Patch Changes - -- Supports default role on `OrganizationProfile` invitations. When inviting a member, the default role will be automatically selected, otherwise it falls back to the only available role. ([#4210](https://github.com/clerk/javascript/pull/4210)) by [@LauraBeatris](https://github.com/LauraBeatris) - -- Add type for \_\_internal_country ([#4215](https://github.com/clerk/javascript/pull/4215)) by [@dstaley](https://github.com/dstaley) - -## 4.21.1 - -### Patch Changes - -- Improve JSDoc comments for some public API properties ([#4190](https://github.com/clerk/javascript/pull/4190)) by [@LekoArts](https://github.com/LekoArts) - -## 4.21.0 - -### Minor Changes - -- Experimental support for `has()` with assurance. ([#4118](https://github.com/clerk/javascript/pull/4118)) by [@panteliselef](https://github.com/panteliselef) - - Example usage: - - ```ts - has({ - __experimental_assurance: { - level: 'L2.secondFactor', - maxAge: 'A1.10min', - }, - }); - ``` - - Created a shared utility called `createCheckAuthorization` exported from `@clerk/shared` - -### Patch Changes - -- Adds translation keys for error messages from the [organizations API](https://clerk.com/docs/references/api/organizations#errors). ([#4123](https://github.com/clerk/javascript/pull/4123)) by [@LauraBeatris](https://github.com/LauraBeatris) - -## 4.20.1 - -### Patch Changes - -- Update type of `__experimental_factorVerificationAge` to be `[number, number] | null`. ([#4135](https://github.com/clerk/javascript/pull/4135)) by [@panteliselef](https://github.com/panteliselef) - -## 4.20.0 - -### Minor Changes - -- Experimental support: Expect a new sessionClaim called `fva` that tracks the age of verified factor groups. ([#4061](https://github.com/clerk/javascript/pull/4061)) by [@panteliselef](https://github.com/panteliselef) - - ### Server side - - This can be applied to any helper that returns the auth object - - **Nextjs example** - - ```ts - auth().__experimental_factorVerificationAge; - ``` - - ### Client side - - **React example** - - ```ts - const { session } = useSession(); - session?.__experimental_factorVerificationAge; - ``` - -### Patch Changes - -- Improve JSDoc comments coverage on `` properties ([#4098](https://github.com/clerk/javascript/pull/4098)) by [@LekoArts](https://github.com/LekoArts) - -- Drop support for deprecated Coinbase Web3 provider ([#4092](https://github.com/clerk/javascript/pull/4092)) by [@chanioxaris](https://github.com/chanioxaris) - -## 4.19.0 - -### Minor Changes - -- Add support for the Coinbase Wallet web3 provider and authentication strategy. The Coinbase Wallet provider handles both Coinbase Wallet extension and Smart Wallet ([#4082](https://github.com/clerk/javascript/pull/4082)) by [@chanioxaris](https://github.com/chanioxaris) - -- **Experimental:** Persist the Clerk client after signing out a user. ([#3941](https://github.com/clerk/javascript/pull/3941)) by [@panteliselef](https://github.com/panteliselef) - - This allows for matching a user's device with a client. To try out this new feature, enable it in your `` or `clerk.load()` call. - - ```js - // React - ; - - // Vanilla JS - await clerk.load({ experimental: { persistClient: true } }); - ``` - -## 4.18.0 - -### Minor Changes - -- Move SessionVerification methods from UserResource to SessionResource: ([#4073](https://github.com/clerk/javascript/pull/4073)) by [@panteliselef](https://github.com/panteliselef) - - - `user.__experimental_verifySession` -> `session.__experimental_startVerification` - - `user.__experimental_verifySessionPrepareFirstFactor` -> `session.__experimental_prepareFirstFactorVerification` - - `user.__experimental_verifySessionAttemptFirstFactor` -> `session.__experimental_attemptFirstFactorVerification` - - `user.__experimental_verifySessionPrepareSecondFactor` -> `session.__experimental_prepareSecondFactorVerification` - - `user.__experimental_verifySessionAttemptSecondFactor` -> `session.__experimental_attemptSecondFactorVerification` - -- Add types for newly introduced `<__experimental_UserVerification />` component (experimental feature). New types: ([#4016](https://github.com/clerk/javascript/pull/4016)) by [@panteliselef](https://github.com/panteliselef) - - - `Appearance` has a new `userVerification` property - - `__experimental_UserVerificationProps` and `__experimental_UserVerificationModalProps` - - `__experimental_openUserVerification` method under the `Clerk` interface - - `__experimental_closeUserVerification` method under the `Clerk` interface - - `__experimental_mountUserVerification` method under the `Clerk` interface - - `__experimental_unmountUserVerification` method under the `Clerk` interface - - `__experimental_userVerification` property under `LocalizationResource` - -## 4.17.0 - -### Minor Changes - -- Add support for Coinbase Wallet strategy during sign in/up flows. Users can now authenticate using their Coinbase Wallet browser extension in the same way as MetaMask ([#4052](https://github.com/clerk/javascript/pull/4052)) by [@chanioxaris](https://github.com/chanioxaris) - -### Patch Changes - -- Tidy up and improve README ([#4053](https://github.com/clerk/javascript/pull/4053)) by [@LekoArts](https://github.com/LekoArts) - -- Update `SAML_IDPS` constant to refer to Microsoft Entra ID instead of the deprecated Azure AD ([#4041](https://github.com/clerk/javascript/pull/4041)) by [@LauraBeatris](https://github.com/LauraBeatris) - -## 4.16.0 - -### Minor Changes - -- Support connecting Coinbase Wallet via ([#4030](https://github.com/clerk/javascript/pull/4030)) by [@chanioxaris](https://github.com/chanioxaris) - -## 4.15.1 - -### Patch Changes - -- Introduce Coinbase Wallet Web3 provider types ([#4028](https://github.com/clerk/javascript/pull/4028)) by [@chanioxaris](https://github.com/chanioxaris) - -- Introduce support for the Hugging Face OAuth Provider. ([#4021](https://github.com/clerk/javascript/pull/4021)) by [@Nikpolik](https://github.com/Nikpolik) - -## 4.15.0 - -### Minor Changes - -- Expose `SessionVerification` as an experimental resource. ([#4011](https://github.com/clerk/javascript/pull/4011)) by [@panteliselef](https://github.com/panteliselef) - - Update `UserResource` with 5 new experimental methods: - - - `experimental_verifySession` for creating a new SessionVerification record and initiating a new flow. - - `experimental_verifySessionPrepareFirstFactor` for preparing a supported first factor like `phone_code` - - `experimental_verifySessionAttemptFirstFactor` for attempting a supported first factor like `password` - - `experimental_verifySessionPrepareSecondFactor` for preparing a supported second factor like `phone_code` - - `experimental_verifySessionAttemptSecondFactor` for attempting a supported second factor like `totp` - -## 4.14.0 - -### Minor Changes - -- Inject `windowNavigate` through router functions. ([#3922](https://github.com/clerk/javascript/pull/3922)) by [@panteliselef](https://github.com/panteliselef) - -## 4.13.1 - -### Patch Changes - -- In certain situations the Frontend API response contains [`supported_first_factors`](https://clerk.com/docs/reference/frontend-api/tag/Sign-Ins#operation/createSignIn!c=200&path=response/supported_first_factors&t=response) with a `null` value while the current code always assumed to receive an array. `SignInResource['supportedFirstFactors']` has been updated to account for that and any code accessing this value has been made more resilient against `null` values. ([#3938](https://github.com/clerk/javascript/pull/3938)) by [@dstaley](https://github.com/dstaley) - -## 4.13.0 - -### Minor Changes - -- Introduce `transferable` prop for `` to disable the automatic transfer of a sign in attempt to a sign up attempt when attempting to sign in with a social provider when the account does not exist. Also adds a `transferable` option to `Clerk.handleRedirectCallback()` with the same functionality. ([#3845](https://github.com/clerk/javascript/pull/3845)) by [@BRKalow](https://github.com/BRKalow) - -## 4.12.1 - -### Patch Changes - -- Add option to hide the slug field in the ``, ``, and `` components ([#3882](https://github.com/clerk/javascript/pull/3882)) by [@wobsoriano](https://github.com/wobsoriano) - -## 4.12.0 - -### Minor Changes - -- Add `createOrganizationsLimit` param in `@clerk/backend` method `User.updateUser()` ([#3823](https://github.com/clerk/javascript/pull/3823)) by [@NicolasLopes7](https://github.com/NicolasLopes7) - - Example: - - ```typescript - import { createClerkClient } from '@clerk/backend'; - - const clerkClient = createClerkClient({...}); - // Update user with createOrganizationsLimit equals 10 - await clerkClient.users.updateUser('user_...', { createOrganizationsLimit: 10 }) - - // Remove createOrganizationsLimit - await clerkClient.users.updateUser('user_...', { createOrganizationsLimit: 0 }) - ``` - -## 4.11.0 - -### Minor Changes - -- Introducing a development mode warning when in development mode in order to mitigate going to production with development keys. ([#3870](https://github.com/clerk/javascript/pull/3870)) by [@octoper](https://github.com/octoper) - - In case need to deactivate this UI change temporarily to simulate how components will look in production, you can do so by adding the `unsafe_disableDevelopmentModeWarnings` layout appearance prop to `` - - Example: - - ```tsx - - ``` - -- Removed `__experimental_startPath` from `OrganizationProfileProps` in `@clerk/clerk-js` and `@clerk/types`. ([#3888](https://github.com/clerk/javascript/pull/3888)) by [@nikospapcom](https://github.com/nikospapcom) - -## 4.10.0 - -### Minor Changes - -- Introduce support for custom menu items in ``. ([#3784](https://github.com/clerk/javascript/pull/3784)) by [@nikospapcom](https://github.com/nikospapcom) - - - Use `` as a child component to wrap custom menu items. - - Use `` for creating external or internal links. - - Use `` for opening a specific custom page of "UserProfile" or to trigger your own custom logic via `onClick`. - - If needed, reorder existing items like `manageAccount` and `signOut` - - New usage example: - - ```jsx - - - } - href='/terms' - /> - } - open='help' - />{' '} - // Navigate to `/help` page when UserProfile opens as a modal. (Requires a custom page to have been set in - `/help`) - } - /> - } - onClick={() => setModal(true)} - /> - - - ``` - -### Patch Changes - -- Introduce ability to set an active organization by slug ([#3825](https://github.com/clerk/javascript/pull/3825)) by [@wobsoriano](https://github.com/wobsoriano) - -## 4.9.1 - -### Patch Changes - -- Add support for opening the `UserProfileModal` and `OrganizationProfileModal` to specific navigation items through the `UserButton` and `OrganizationSwitcher`. ([#3732](https://github.com/clerk/javascript/pull/3732)) by [@EmmanouelaPothitou](https://github.com/EmmanouelaPothitou) - -## 4.9.0 - -### Minor Changes - -- - Introduced `subtitle__disconnected` under `userProfile.start.connectedAccountsSection` ([#3723](https://github.com/clerk/javascript/pull/3723)) by [@panteliselef](https://github.com/panteliselef) - - - Deprecated `userProfile.start.connectedAccountsSection.actionLabel__reauthorize` and `userProfile.start.connectedAccountsSection.subtitle__reauthorize` - -### Patch Changes - -- Update types to account for null second factors ([#3780](https://github.com/clerk/javascript/pull/3780)) by [@dstaley](https://github.com/dstaley) - -## 4.8.0 - -### Minor Changes - -- Added support for Custom OAuth providers by [@nikosdouvlis](https://github.com/nikosdouvlis) - - - Updated strategy types to include `CustomOAuthStrategy`: - - Added the `CustomOAuthStrategy` type with the value `oauth_custom_${string}` - - Modified `OAuthStrategy` to include `CustomOAuthStrategy`: - `export type OAuthStrategy = `oauth\_${OAuthProvider}` | CustomOAuthStrategy;` - - Added the `CustomOauthProvider` type with value `custom_${string}` and extended `OAuthProvider` type to include `CustomOauthProvider` - - Added support for displaying provider initials when `logo_url` is null for custom OAuth providers - - Created new `ProviderInitialIcon` internal component in order to display custom oauth provider initials if provider `logo_url` is null - -## 4.7.0 - -### Minor Changes - -- Deprecate `afterSignOutUrl` and `afterMultiSessionSingleSignOutUrl` from UserButton. ([#3544](https://github.com/clerk/javascript/pull/3544)) by [@panteliselef](https://github.com/panteliselef) - - Developers can now configure these directly in `ClerkProvider` and have them work properly without in UserButton, UserProfile and in impersonation mode. - -## 4.6.1 - -### Patch Changes - -- Add `organizationAvatarUploaderContainer` descriptor which is used e.g. for the logo upload box inside "Create Organization" flow ([#3596](https://github.com/clerk/javascript/pull/3596)) by [@LekoArts](https://github.com/LekoArts) - -## 4.6.0 - -### Minor Changes - -- Add descriptor for formatted dates in tables. Those elements can be identified by the `cl-formattedDate__tableCell` css class. ([#3465](https://github.com/clerk/javascript/pull/3465)) by [@panteliselef](https://github.com/panteliselef) - -### Patch Changes - -- Add support for Enstall OAuth provider ([#3466](https://github.com/clerk/javascript/pull/3466)) by [@Nikpolik](https://github.com/Nikpolik) - -## 4.5.1 - -### Patch Changes - -- Add experimental support for hCaptcha captcha provider ([#3422](https://github.com/clerk/javascript/pull/3422)) by [@anagstef](https://github.com/anagstef) - -## 4.5.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 - - - `` - - Customize the UX of the prompt - - ```tsx - - ``` - - ### 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, - }); - } - }, - }); - ``` - -## 4.4.0 - -### Minor Changes - -- Replace mount with open for GoogleOneTap. New api is `__experimental_openGoogleOneTap`. ([#3379](https://github.com/clerk/javascript/pull/3379)) by [@panteliselef](https://github.com/panteliselef) - -## 4.3.1 - -### Patch Changes - -- Add a descriptor for Invitation previews in ([#3376](https://github.com/clerk/javascript/pull/3376)) by [@EmmanouelaPothitou](https://github.com/EmmanouelaPothitou) - -## 4.3.0 - -### Minor Changes - -- Updates related to experimental Google One Tap support ([#3250](https://github.com/clerk/javascript/pull/3250)) by [@panteliselef](https://github.com/panteliselef) - - - By default we are returning back to the location where the flow started. - To accomplish that internally we will use the redirect_url query parameter to build the url. - - ```tsx - <__experimental_GoogleOneTap /> - ``` - - - In the above example if there is a SIGN_UP_FORCE_REDIRECT_URL or SIGN_IN_FORCE_REDIRECT_URL set then the developer would need to pass new values as props like this - - ```tsx - <__experimental_GoogleOneTap - signInForceRedirectUrl='' - signUpForceRedirectUrl='' - /> - ``` - - - Let the developer configure the experience they want to offer. (All these values are true by default) - - ```tsx - <__experimental_GoogleOneTap - cancelOnTapOutside={false} - itpSupport={false} - fedCmSupport={false} - /> - ``` - - - Moved authenticateWithGoogleOneTap to Clerk singleton - - ```ts - Clerk.__experimental_authenticateWithGoogleOneTap; - ``` - - - Created the handleGoogleOneTapCallback in Clerk singleton - - ```ts - Clerk.__experimental_handleGoogleOneTapCallback; - ``` - -- Introduce new `client_mismatch` verification status for email link sign-in and sign-up. This error (and its message) will be shown if a verification link was opened in another device/browser from which the user initiated the sign-in/sign-up attempt. This functionality needs to be enabled in the Clerk dashboard. ([#3367](https://github.com/clerk/javascript/pull/3367)) by [@mzhong9723](https://github.com/mzhong9723) - -## 4.2.1 - -### Patch Changes - -- The following are all internal changes and not relevant to any end-user: ([#3329](https://github.com/clerk/javascript/pull/3329)) by [@LauraBeatris](https://github.com/LauraBeatris) - - Create type interface for `TelemetryCollector` on `@clerk/types`. This allows to assign `telemetry` on the main Clerk SDK object, while inheriting from the actual `TelemetryCollector` implementation. - -## 4.2.0 - -### Minor Changes - -- Allow localization of text in social buttons when many are listed. ([#3282](https://github.com/clerk/javascript/pull/3282)) by [@panteliselef](https://github.com/panteliselef) - -## 4.1.0 - -### Minor Changes - -- Remove experimental Passkeys APIs. This includes any API that is marked as experimental or has the `__experimental_` prefix. ([#3233](https://github.com/clerk/javascript/pull/3233)) by [@panteliselef](https://github.com/panteliselef) - - This prepares the Passkeys release to move further along towards a beta release and eventual stable release. - -## 4.0.0 - -### Major Changes - -- c2a090513: Change the minimal Node.js version required by Clerk to `18.17.0`. -- 5f58a2274: - Remove `BuildUrlWithAuthParams` type - - `AuthConfigResource` no longer has a `urlBasedSessionSyncing` property - - `buildUrlWithAuth` no longer accepts an `options` argument of `BuildUrlWithAuthParams`. -- 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()` -- 7bffc47cb: Drop `Clerk.isReady(). Use `Clerk.loaded` instead.` -- 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` -- 5f58a2274: Remove hashing and third-party cookie functionality related to development instance session syncing in favor of URL-based session syncing with query parameters. -- 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. -- 9a1fe3728: Use the new `routerPush` and `routerReplace` props for `` instead of `navigate`. -- 7886ba89d: Refresh the look and feel of the Clerk UI components - - For more info, refer to the [upgrade guide from v4 to v5 in Clerk docs](https://clerk.com/docs/upgrade-guides/upgrading-from-v4-to-v5). - -- 9a1fe3728: Introduces two new props for ``, `push` and `replace`. These props replace the `navigate` prop. Passing both `push` and `replace` will allow Clerk to correctly handle navigations without causing issues with the host application's router. -- 477170962: Drop deprecations. Migration steps: - - drop `formFieldLabel__emailAddress_phoneNumber` from localization keys - - drop `formFieldLabel__phoneNumber_username` from localization keys - - drop `formFieldLabel__emailAddress_phoneNumber_username` from localization keys - - drop `formFieldInputPlaceholder__emailAddress_phoneNumber` from localization keys - - drop `formFieldInputPlaceholder__phoneNumber_username` from localization keys - - drop `formFieldInputPlaceholder__emailAddress_phoneNumber_username` from localization keys - - use `title__connectionFailed` instead of `title__conectionFailed` from localization keys - - use `actionLabel__connectionFailed` instead of `actionLabel__conectionFailed` from localization keys - - use `headerTitle__members` instead of `headerTitle__active` from localization keys - - use `headerTitle__invitations` instead of `headerTitle__invited` from localization keys - - drop `createOrganization.subtitle` from localization keys - - use `deDE` instead of `deDe` localization from `@clerk/localizations` -- 41ae1d2f0: Avatar Shimmer will be enabled by default for `` and ``. -- 844847e0b: Align return types for redirectTo\* methods in ClerkJS [SDK-1037] - - Breaking Changes: - - - `redirectToUserProfile` now returns `Promise` instead of `void` - - `redirectToOrganizationProfile` now returns `Promise` instead of `void` - - `redirectToCreateOrganization` now returns `Promise` instead of `void` - - `redirectToHome` now returns `Promise` instead of `void` - -### Minor Changes - -- 0d0b1d89a: List passkeys under security in UserProfile. - - Supports renaming a passkey. - - Supports deleting a passkey. -- afec17953: Improved error handling for registration and retrieval of passkeys. - ClerkRuntimeError codes introduced: - - - `passkey_not_supported` - - `passkeys_pa_not_supported` - - `passkey_invalid_rpID_or_domain` - - `passkey_already_exists` - - `passkey_operation_aborted` - - `passkey_retrieval_cancelled` - - `passkey_retrieval_failed` - - `passkey_registration_cancelled` - - `passkey_registration_failed` - - Example usage: - - ```ts - try { - await __experimental_authenticateWithPasskey(...args); - }catch (e) { - if (isClerkRuntimeError(e)) { - if (err.code === 'passkey_operation_aborted') { - ... - } - } - } - - - ``` - -- 0699fa496: Add support for different CAPTCHA widget types -- 0293f29c8: Add support for custom roles in ``. - - The previous roles (`admin` and `basic_member`), are still kept as a fallback. - -- 9180c8b80: Deprecate `supported_identifiers` and remove `supported_external_accounts`. -- fc3ffd880: Support for prompting a user to reset their password if it is found to be compromised during sign-in. -- 2352149f6: Move passkey related apis to stable: - - - Register passkey for a user - Usage: `await clerk.user.createPasskey()` - - Authenticate with passkey - Usage: `await clerk.client.signIn.authenticateWithPasskey()` - ```ts - try { - await clerk.client.signIn.authenticateWithPasskey(...args); - }catch (e) { - if (isClerkRuntimeError(e)) { - if (err.code === 'passkey_operation_aborted') { - ... - } - } - } - ``` - - ClerkRuntimeError codes introduced: - - - `passkey_not_supported` - - `passkeys_pa_not_supported` - - `passkey_invalid_rpID_or_domain` - - `passkey_already_exists` - - `passkey_operation_aborted` - - `passkey_retrieval_cancelled` - - `passkey_retrieval_failed` - - `passkey_registration_cancelled` - - `passkey_registration_failed` - - - Get the user's passkeys - `clerk.user.passkeys` - - Update the name of a passkey - `clerk.user.passkeys?.[0].update({name:'Company issued passkey'})` - - Delete a passkey - `clerk.user.passkeys?.[0].delete()` - -- ff08fe237: Introduce experimental support for Google One Tap - - React Component `<__experimental_GoogleOneTap/>` - - JS `clerk.__experimental_mountGoogleOneTap(node,props)` -- 9737ef510: Accept `skipInvitationScreen` as a prop from OrganizationSwitcher. - - `skipInvitationScreen` hides the screen for sending invitations after an organization is created. - By default, Clerk will automatically hide the screen if the number of max allowed members is equal to 1 - -- fafa76fb6: Experimental support for a user to register a passkey for their account. - Usage: `await clerk.user.__experimental__createPasskey()` -- 1f650f30a: Experimental support for authenticating with a passkey. - Example usage: `await signIn.authenticateWithPasskey()`. -- a9fe242be: Introduce new `ResultWithError` type in `@clerk/types` -- fe2607b6f: Remove MembershipRole. The type `MembershipRole` would always include the old role keys `admin`, `basic_member`, `guest_member`. - If developers still depend on them after the introduction of custom roles, the can provide them as their custom types for authorization. - - ```ts - // clerk.d.ts - interface ClerkAuthorization { - permission: ''; - role: 'admin' | 'basic_member' | 'guest_member'; - } - ``` - -- c7e6d00f5: Experimental support for `` with role checks. -- 663243220: Remove the unused appearance keys for accordion and breadcrumb elements. -- 12962bc58: Re-use common pagination types for consistency across types. - - Types introduced in `@clerk/types`: - - - `ClerkPaginationRequest` : describes pagination related props in request payload - - `ClerkPaginatedResponse` : describes pagination related props in response body - - `ClerkPaginationParams` : describes pagination related props in api client method params - -- 2e4a43017: Update `@clerk/clerk-js` and `@clerk/clerk-react` to support the following examples: - - ```typescript - Clerk.signOut({ redirectUrl: '/' }) - - - // uses Clerk.signOut({ redirectUrl: '/' }) - - // uses Clerk.signOut({ redirectUrl: '/after' }) - - // uses Clerk.signOut({ redirectUrl: '/after' }) - ``` - -- 5aab9f04a: Add `routerDebug` option in `Clerk.load()` to log the destination URLs when navigating -- 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 ``, 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 -- 7f751c4ef: Add support for X/Twitter v2 OAuth provider -- 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. -- d6a7ea61a: Update the TypeScript types of ``. If you use the `routerPush` prop you're now required to also provide the `routerReplace` prop (or other way around). You can also not provide them at all since both props are optional. -- ebf9be77f: Allow users to authenticate with passkeys via the ``. -- 008ac4217: Experimental support for reading, updating, and deleting a user's registered passkeys. - - Get the user's passkeys - `clerk.user.__experimental__passkeys` - - Update the name of a passkey - `clerk.user.__experimental__passkeys?.[0].update({name:'work laptop passkey'})` - - Delete a passkey - `clerk.user.__experimental__passkeys?.[0].delete()` - -### Patch Changes - -- 1db1f4068: Add `permissions` to `meta` field of fapi error. -- d37d44a68: Shows list of domains if member has the `org:sys_domain:read` permission. -- fe356eebd: Fix the appearance.baseTheme type to accept array of BaseTheme -- 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 `` component will set the default value of the `userProfileMode` prop to `'navigation'` if the `userProfileUrl` prop is provided. - - The `` component will have the `organizationProfileMode` and `createOrganizationMode` props assigned with `'navigation'` by default if the `organizationProfileUrl` and `createOrganizationUrl` props are filled accordingly. -- 2de442b24: Rename beta-v5 to beta -- 840636a14: Adds translation keys to be able to customize error messages when an identifier already exists: - - - form_identifier_exists\_\_email_address - - form_identifier_exists\_\_username - - form_identifier_exists\_\_phone_number - -- bab2e7e05: Support but warn when `afterSignInUrl` and `afterSignUpUrl` are used -- 244de5ea3: Fix using `ClerkPaginationRequest` type without passing a generic. - - Before the fix the `ClerkPaginationRequest = any` and after the fix the `ClerkPaginationRequest = { limit, offset }`. - -- d9f265fcb: Fallback to invisible CAPTCHA if the element to render to is not found in the DOM -- 69ce3e185: Adjust `ZxcvbnResult` interface to use current `feedback.warning` type as used in the upstream `@zxcvbn-ts/core` library. -- 78fc5eec0: Introduces new element appearance descriptors: - - - `activeDeviceListItem` allows you to customize the appearance of the active device list (accordion) item - - `activeDeviceListItem__current` allows you to customize the appearance of the _current_ active device list (accordion) item - - `activeDevice` allows you to customize the appearance of the active device item - - `activeDevice__current` allows you to customize the appearance of the _current_ active device item - -- 6a33709cc: Drop `org:sys_domains:delete` and `org:sys_memberships:delete` as those have now been merged with the respective `manage` ones. -- f77e8cdbd: Add Autocomplete TS generic for union literals -- 8b466a9ba: Prevent Clerk component flickering when mounted in a Next.js app using App Router -- c6a5e0f5d: Add maintenance mode banner to the SignIn and SignUp components. The text can be customized by updating the maintenanceMode localization key. -- 4edb77632: Localize placeholder of confirmation field when deleting a user account from ``. -- ab4eb56a5: Drop `redirectToHome` redirect method in favour of `redirectToAfterSignUp` or `redirectToAfterSignIn`. - - When the `` and `` components are rendered while a user is already logged in, they will now redirect to the configured `afterSignIn` and `afterSignUp` URLs, respectively. Previously, the redirect URL was set to the home URL configured in the dashboard. - -- 5c239d973: Update social provider `docsUrl` entries to point to new URLs -- f00fd2dfe: Support legacy redirectUrl prop on SignIn and SignUp -- f540e9843: Return to localhost when SSO callback fails on SignIn or SignUp -- 48ca40af9: Simplify the WithOptions generic type -- 94519aa33: Renaming `passkeys_pa_not_supported` to `passkey_pa_not_supported` to align with the rest passkey error codes. -- 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. -- 429d030f7: Introducing some changes and some addition for the appearence descriptors for the organization preview in ``: - - `.cl-organizationPreview__organizationSwitcher` has been renamed to `.cl-organizationPreview__organizationSwitcherTrigger`. - - `.cl-organizationPreview__organizationSwitcherListedOrganization` was added to allow you to customize the appearance of all the listed organization previews. - - `.cl-organizationPreview__organizationSwitcherActiveOrganizationn` was added to allow you to customize the appearance of the active organization. - -## 4.0.0-beta.30 - -### Patch Changes - -- Support legacy redirectUrl prop on SignIn and SignUp by [@nikosdouvlis](https://github.com/nikosdouvlis) - -## 4.0.0-beta.29 - -### Patch Changes - -- Introduce forceRedirectUrl and fallbackRedirectUrl ([#3162](https://github.com/clerk/javascript/pull/3162)) by [@nikosdouvlis](https://github.com/nikosdouvlis) - -## 4.0.0-beta.28 - -### 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)` - -### Patch Changes - -- Fallback to invisible CAPTCHA if the element to render to is not found in the DOM ([#3191](https://github.com/clerk/javascript/pull/3191)) by [@anagstef](https://github.com/anagstef) - -## 4.0.0-beta.27 - -### Patch Changes - -- Renaming `passkeys_pa_not_supported` to `passkey_pa_not_supported` to align with the rest passkey error codes. ([#3173](https://github.com/clerk/javascript/pull/3173)) by [@panteliselef](https://github.com/panteliselef) - -## 4.0.0-beta.26 - -### Minor Changes - -- Add support for different CAPTCHA widget types ([#3154](https://github.com/clerk/javascript/pull/3154)) by [@anagstef](https://github.com/anagstef) - -## 4.0.0-beta.25 - -### Minor Changes - -- Move passkey related apis to stable: ([#3134](https://github.com/clerk/javascript/pull/3134)) by [@panteliselef](https://github.com/panteliselef) - - - Register passkey for a user - Usage: `await clerk.user.createPasskey()` - - Authenticate with passkey - Usage: `await clerk.client.signIn.authenticateWithPasskey()` - ```ts - try { - await clerk.client.signIn.authenticateWithPasskey(...args); - }catch (e) { - if (isClerkRuntimeError(e)) { - if (err.code === 'passkey_operation_aborted') { - ... - } - } - } - ``` - - ClerkRuntimeError codes introduced: - - - `passkey_not_supported` - - `passkeys_pa_not_supported` - - `passkey_invalid_rpID_or_domain` - - `passkey_already_exists` - - `passkey_operation_aborted` - - `passkey_retrieval_cancelled` - - `passkey_retrieval_failed` - - `passkey_registration_cancelled` - - `passkey_registration_failed` - - - Get the user's passkeys - `clerk.user.passkeys` - - Update the name of a passkey - `clerk.user.passkeys?.[0].update({name:'Company issued passkey'})` - - Delete a passkey - `clerk.user.passkeys?.[0].delete()` - -## 4.0.0-beta.24 - -### Minor Changes - -- Deprecate `supported_identifiers` and remove `supported_external_accounts`. ([#3089](https://github.com/clerk/javascript/pull/3089)) by [@panteliselef](https://github.com/panteliselef) - -### Patch Changes - -- Add maintenance mode banner to the SignIn and SignUp components. The text can be customized by updating the maintenanceMode localization key. by [@nikosdouvlis](https://github.com/nikosdouvlis) - -## 4.0.0-beta.23 - -### Minor Changes - -- Support for prompting a user to reset their password if it is found to be compromised during sign-in. ([#3034](https://github.com/clerk/javascript/pull/3034)) by [@yourtallness](https://github.com/yourtallness) - -### Patch Changes - -- Adds translation keys to be able to customize error messages when an identifier already exists: ([#3073](https://github.com/clerk/javascript/pull/3073)) by [@octoper](https://github.com/octoper) - - - form_identifier_exists\_\_email_address - - form_identifier_exists\_\_username - - form_identifier_exists\_\_phone_number - -- Return to localhost when SSO callback fails on SignIn or SignUp ([#2955](https://github.com/clerk/javascript/pull/2955)) by [@anagstef](https://github.com/anagstef) - -## 4.0.0-beta.22 - -### Minor Changes - -- Improved error handling for registration and retrieval of passkeys. ([#3025](https://github.com/clerk/javascript/pull/3025)) by [@panteliselef](https://github.com/panteliselef) - - ClerkRuntimeError codes introduced: - - - `passkey_not_supported` - - `passkeys_pa_not_supported` - - `passkey_invalid_rpID_or_domain` - - `passkey_already_exists` - - `passkey_operation_aborted` - - `passkey_retrieval_cancelled` - - `passkey_retrieval_failed` - - `passkey_registration_cancelled` - - `passkey_registration_failed` - - Example usage: - - ```ts - try { - await __experimental_authenticateWithPasskey(...args); - }catch (e) { - if (isClerkRuntimeError(e)) { - if (err.code === 'passkey_operation_aborted') { - ... - } - } - } - - - ``` - -## 4.0.0-beta.21 - -### Minor Changes - -- List passkeys under security in UserProfile. ([#2958](https://github.com/clerk/javascript/pull/2958)) by [@panteliselef](https://github.com/panteliselef) - - - Supports renaming a passkey. - - Supports deleting a passkey. - -- Experimental support for authenticating with a passkey. ([#2970](https://github.com/clerk/javascript/pull/2970)) by [@panteliselef](https://github.com/panteliselef) - - Example usage: `await signIn.authenticateWithPasskey()`. - -- Remove the unused appearance keys for accordion and breadcrumb elements. ([#2956](https://github.com/clerk/javascript/pull/2956)) by [@desiprisg](https://github.com/desiprisg) - -- Allow users to authenticate with passkeys via the ``. ([#3000](https://github.com/clerk/javascript/pull/3000)) by [@panteliselef](https://github.com/panteliselef) - -## 4.0.0-beta.20 - -### Minor Changes - -- Experimental support for reading, updating, and deleting a user's registered passkeys. ([#2926](https://github.com/clerk/javascript/pull/2926)) by [@panteliselef](https://github.com/panteliselef) - - - Get the user's passkeys - `clerk.user.__experimental__passkeys` - - Update the name of a passkey - `clerk.user.__experimental__passkeys?.[0].update({name:'work laptop passkey'})` - - Delete a passkey - `clerk.user.__experimental__passkeys?.[0].delete()` - -## 4.0.0-beta.19 - -### Minor Changes - -- Experimental support for a user to register a passkey for their account. ([#2884](https://github.com/clerk/javascript/pull/2884)) by [@panteliselef](https://github.com/panteliselef) - - Usage: `await clerk.user.__experimental__createPasskey()` - -## 4.0.0-beta.18 - -### 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) - -## 4.0.0-beta.17 - -### Patch Changes - -- Fix the appearance.baseTheme type to accept array of BaseTheme ([#2887](https://github.com/clerk/javascript/pull/2887)) by [@anagstef](https://github.com/anagstef) - -## 4.0.0-beta.16 - -### Patch Changes - -- Update social provider `docsUrl` entries to point to new URLs ([#2817](https://github.com/clerk/javascript/pull/2817)) by [@kylemac](https://github.com/kylemac) - -## 4.0.0-beta.15 - -### Patch Changes - -- Rename beta-v5 to beta by [@nikosdouvlis](https://github.com/nikosdouvlis) - -## 4.0.0-beta-v5.14 - -### Minor Changes - -- Accept `skipInvitationScreen` as a prop from OrganizationSwitcher. ([#2713](https://github.com/clerk/javascript/pull/2713)) by [@panteliselef](https://github.com/panteliselef) - - `skipInvitationScreen` hides the screen for sending invitations after an organization is created. - By default, Clerk will automatically hide the screen if the number of max allowed members is equal to 1 - -- Add support for X/Twitter v2 OAuth provider ([#2690](https://github.com/clerk/javascript/pull/2690)) by [@kostaspt](https://github.com/kostaspt) - -### Patch Changes - -- Fix using `ClerkPaginationRequest` type without passing a generic. ([#2714](https://github.com/clerk/javascript/pull/2714)) by [@dimkl](https://github.com/dimkl) - - Before the fix the `ClerkPaginationRequest = any` and after the fix the `ClerkPaginationRequest = { limit, offset }`. - -- 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) - -## 4.0.0-beta-v5.13 - -### Major Changes - -- Refresh the look and feel of the Clerk UI components ([#2622](https://github.com/clerk/javascript/pull/2622)) by [@anagstef](https://github.com/anagstef) - - For more info, refer to the [upgrade guide from v4 to v5 in Clerk docs](https://clerk.com/docs/upgrade-guides/upgrading-from-v4-to-v5). - -## 4.0.0-alpha-v5.12 - -### Minor Changes - -- Remove MemberRole Type`MemberRole` would always include the old role keys `admin`, `member`, `guest_member`. ([#2388](https://github.com/clerk/javascript/pull/2388)) by [@panteliselef](https://github.com/panteliselef) - - If developers still depend on them after the introduction of custom roles, the can provide them as their custom types for authorization. - - ```ts - // clerk.d.ts - export {}; - - interface ClerkAuthorization { - permission: ''; - role: 'admin' | 'basic_member' | 'guest_member'; - } - ``` - -- Update `@clerk/clerk-js` and `@clerk/clerk-react` to support the following examples: ([#2412](https://github.com/clerk/javascript/pull/2412)) by [@dimkl](https://github.com/dimkl) - - ```typescript - Clerk.signOut({ redirectUrl: '/' }) - - - // uses Clerk.signOut({ redirectUrl: '/' }) - - // uses Clerk.signOut({ redirectUrl: '/after' }) - - // uses Clerk.signOut({ redirectUrl: '/after' }) - ``` - -## 4.0.0-alpha-v5.11 - -### Major Changes - -- - Remove `BuildUrlWithAuthParams` type ([#2367](https://github.com/clerk/javascript/pull/2367)) by [@tmilewski](https://github.com/tmilewski) - - - `AuthConfigResource` no longer has a `urlBasedSessionSyncing` property - - `buildUrlWithAuth` no longer accepts an `options` argument of `BuildUrlWithAuthParams`. - -- 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; - ``` - -### Minor Changes - -- Introduce new `ResultWithError` type in `@clerk/types` ([#2377](https://github.com/clerk/javascript/pull/2377)) by [@dimkl](https://github.com/dimkl) - -## 4.0.0-alpha-v5.10 - -### Major Changes - -- Align return types for redirectTo\* methods in ClerkJS [SDK-1037] ([#2316](https://github.com/clerk/javascript/pull/2316)) by [@tmilewski](https://github.com/tmilewski) - - Breaking Changes: - - - `redirectToUserProfile` now returns `Promise` instead of `void` - - `redirectToOrganizationProfile` now returns `Promise` instead of `void` - - `redirectToCreateOrganization` now returns `Promise` instead of `void` - - `redirectToHome` now returns `Promise` instead of `void` - -### 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 ``, 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 - -- Adjust `ZxcvbnResult` interface to use current `feedback.warning` type as used in the upstream `@zxcvbn-ts/core` library. ([#2326](https://github.com/clerk/javascript/pull/2326)) by [@LekoArts](https://github.com/LekoArts) - -- Drop `redirectToHome` redirect method in favour of `redirectToAfterSignUp` or `redirectToAfterSignIn`. ([#2251](https://github.com/clerk/javascript/pull/2251)) by [@octoper](https://github.com/octoper) - - When the `` and `` components are rendered while a user is already logged in, they will now redirect to the configured `afterSignIn` and `afterSignUp` URLs, respectively. Previously, the redirect URL was set to the home URL configured in the dashboard. - -## 4.0.0-alpha-v5.9 - -### Major Changes - -- Drop `Clerk.isReady(). Use `Clerk.loaded` instead.` ([#2294](https://github.com/clerk/javascript/pull/2294)) by [@dimkl](https://github.com/dimkl) - -### Patch Changes - -- Add `permissions` to `meta` field of fapi error. ([#2282](https://github.com/clerk/javascript/pull/2282)) by [@panteliselef](https://github.com/panteliselef) - -## 4.0.0-alpha-v5.8 - -### Patch Changes - -- Drop `org:sys_domains:delete` and `org:sys_memberships:delete` as those have now been merged with the respective `manage` ones. ([#2256](https://github.com/clerk/javascript/pull/2256)) by [@panteliselef](https://github.com/panteliselef) - -## 4.0.0-alpha-v5.7 - -### Minor Changes - -- Update the TypeScript types of ``. If you use the `routerPush` prop you're now required to also provide the `routerReplace` prop (or other way around). You can also not provide them at all since both props are optional. ([#2227](https://github.com/clerk/javascript/pull/2227)) by [@dimkl](https://github.com/dimkl) - -## 4.0.0-alpha-v5.6 - -### Major Changes - -- Use the new `routerPush` and `routerReplace` props for `` instead of `navigate`. ([#1304](https://github.com/clerk/javascript/pull/1304)) by [@desiprisg](https://github.com/desiprisg) - -- Introduces two new props for ``, `push` and `replace`. These props replace the `navigate` prop. Passing both `push` and `replace` will allow Clerk to correctly handle navigations without causing issues with the host application's router. ([#1304](https://github.com/clerk/javascript/pull/1304)) by [@desiprisg](https://github.com/desiprisg) - -### Minor Changes - -- Add `routerDebug` option in `Clerk.load()` to log the destination URLs when navigating ([#2223](https://github.com/clerk/javascript/pull/2223)) by [@dimkl](https://github.com/dimkl) - -## 4.0.0-alpha-v5.5 - -### Minor Changes - -- Re-use common pagination types for consistency across types. ([#2210](https://github.com/clerk/javascript/pull/2210)) by [@dimkl](https://github.com/dimkl) - - Types introduced in `@clerk/types`: - - - `ClerkPaginationRequest` : describes pagination related props in request payload - - `ClerkPaginatedResponse` : describes pagination related props in response body - - `ClerkPaginationParams` : describes pagination related props in api client method params - -## 4.0.0-alpha-v5.4 - -### Patch 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 `` component will set the default value of the `userProfileMode` prop to `'navigation'` if the `userProfileUrl` prop is provided. - - The `` component will have the `organizationProfileMode` and `createOrganizationMode` props assigned with `'navigation'` by default if the `organizationProfileUrl` and `createOrganizationUrl` props are filled accordingly. - -## 4.0.0-alpha-v5.3 - -### Patch Changes - -- 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) - -- Introducing some changes and some addition for the appearence descriptors for the organization preview in ``: ([#2158](https://github.com/clerk/javascript/pull/2158)) by [@octoper](https://github.com/octoper) - - - `.cl-organizationPreview__organizationSwitcher` has been renamed to `.cl-organizationPreview__organizationSwitcherTrigger`. - - `.cl-organizationPreview__organizationSwitcherListedOrganization` was added to allow you to customize the appearance of all the listed organization previews. - - `.cl-organizationPreview__organizationSwitcherActiveOrganizationn` was added to allow you to customize the appearance of the active organization. - -## 4.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) - -## 4.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` - -- Drop deprecations. Migration steps: ([#2151](https://github.com/clerk/javascript/pull/2151)) by [@dimkl](https://github.com/dimkl) - - - drop `formFieldLabel__emailAddress_phoneNumber` from localization keys - - drop `formFieldLabel__phoneNumber_username` from localization keys - - drop `formFieldLabel__emailAddress_phoneNumber_username` from localization keys - - drop `formFieldInputPlaceholder__emailAddress_phoneNumber` from localization keys - - drop `formFieldInputPlaceholder__phoneNumber_username` from localization keys - - drop `formFieldInputPlaceholder__emailAddress_phoneNumber_username` from localization keys - - use `title__connectionFailed` instead of `title__conectionFailed` from localization keys - - use `actionLabel__connectionFailed` instead of `actionLabel__conectionFailed` from localization keys - - use `headerTitle__members` instead of `headerTitle__active` from localization keys - - use `headerTitle__invitations` instead of `headerTitle__invited` from localization keys - - drop `createOrganization.subtitle` from localization keys - - use `deDE` instead of `deDe` localization from `@clerk/localizations` - -### Patch Changes - -- Add Autocomplete TS generic for union literals ([#2132](https://github.com/clerk/javascript/pull/2132)) by [@tmilewski](https://github.com/tmilewski) - -## 4.0.0-alpha-v5.0 - -### Major Changes - -- 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) - -- Avatar Shimmer will be enabled by default for `` and ``. ([#1972](https://github.com/clerk/javascript/pull/1972)) by [@octoper](https://github.com/octoper) - -### Minor Changes - -- Add support for custom roles in ``. ([#2004](https://github.com/clerk/javascript/pull/2004)) by [@panteliselef](https://github.com/panteliselef) - - The previous roles (`admin` and `basic_member`), are still kept as a fallback. - -- Experimental support for `` with role checks. ([#1942](https://github.com/clerk/javascript/pull/1942)) by [@panteliselef](https://github.com/panteliselef) - -### Patch Changes - -- Shows list of domains if member has the `org:sys_domain:read` permission. ([#1988](https://github.com/clerk/javascript/pull/1988)) by [@panteliselef](https://github.com/panteliselef) - -- Introduces new element appearance descriptors: ([#1994](https://github.com/clerk/javascript/pull/1994)) by [@tmilewski](https://github.com/tmilewski) - - - `activeDeviceListItem` allows you to customize the appearance of the active device list (accordion) item - - `activeDeviceListItem__current` allows you to customize the appearance of the _current_ active device list (accordion) item - - `activeDevice` allows you to customize the appearance of the active device item - - `activeDevice__current` allows you to customize the appearance of the _current_ active device item - -- Localize placeholder of confirmation field when deleting a user account from ``. ([#2036](https://github.com/clerk/javascript/pull/2036)) by [@panteliselef](https://github.com/panteliselef) - -- Simplify the WithOptions generic type ([#1995](https://github.com/clerk/javascript/pull/1995)) by [@tmilewski](https://github.com/tmilewski) - -## 3.57.0 - -### Minor Changes - -- Introduce customization in `UserProfile` and `OrganizationProfile` ([#1822](https://github.com/clerk/javascript/pull/1822)) by [@anagstef](https://github.com/anagstef) - - The `` component now allows the addition of custom pages and external links to the navigation sidebar. Custom pages can be created using the `` component, and external links can be added using the `` component. The default routes, such as `Account` and `Security`, can be reordered. - - Example React API usage: - - ```tsx - - } - > - - - } - /> - - - - ``` - - Custom pages and links should be provided as children using the `` and `` components when using the `UserButton` component. - - The `` component now supports the addition of custom pages and external links to the navigation sidebar. Custom pages can be created using the `` component, and external links can be added using the `` component. The default routes, such as `Members` and `Settings`, can be reordered. - - Example React API usage: - - ```tsx - - } - > - - - } - /> - - - - ``` - - Custom pages and links should be provided as children using the `` and `` components when using the `OrganizationSwitcher` component. - -### Patch Changes - -- 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) - -- Drop `experimental_force_oauth_first` & `experimental__forceOauthFirst` from `DisplayConfig` ([#1918](https://github.com/clerk/javascript/pull/1918)) by [@dimkl](https://github.com/dimkl) - -## 3.56.1 - -### Patch Changes - -- Deprecate experimental captcha from Clerk singleton. ([#1905](https://github.com/clerk/javascript/pull/1905)) by [@panteliselef](https://github.com/panteliselef) - -## 3.56.0 - -### Minor Changes - -- Introduces three new element appearance descriptors: ([#1803](https://github.com/clerk/javascript/pull/1803)) by [@octoper](https://github.com/octoper) - - - `tableHead` let's you customize the tables head styles. - - `paginationButton` let's you customize the pagination buttons. - - `paginationRowText` let's you customize the pagination text. - -### Patch Changes - -- Update default organization permissions with a `sys_` prefix as part of the entitlement. This changes makes it easy to distinguish between clerk reserved permissions and custom permissions created by developers. ([#1865](https://github.com/clerk/javascript/pull/1865)) by [@mzhong9723](https://github.com/mzhong9723) - -- Mark the following SAML related types as stable: ([#1876](https://github.com/clerk/javascript/pull/1876)) by [@dimkl](https://github.com/dimkl) - - - `User.samlAccounts` - - `SamlAccount` - - `UserSettingsResource.saml` - - `UserSettingsJSON.saml` - - `SamlSettings` - - `UserResource.samlAccounts` - - `SamlAccountResource` - - `SamlStrategy` - - `UserJSON.saml_accounts` - - `SamlAccountJSON` - - `SamlConfig` - - `SamlFactor` - - `HandleSamlCallbackParams` - -- Deprecate the `organization.__unstable__invitationUpdate` and `organization.__unstable__membershipUpdate` methods. ([#1879](https://github.com/clerk/javascript/pull/1879)) by [@panteliselef](https://github.com/panteliselef) - -- Fix methods in clerk-js that consumede paginated endpoints in order to retrieve single resources. ([#1871](https://github.com/clerk/javascript/pull/1871)) by [@panteliselef](https://github.com/panteliselef) - -- In invite members screen of the component, consume any invalid email addresses as they are returned in the API error and remove them from the input automatically. ([#1869](https://github.com/clerk/javascript/pull/1869)) by [@chanioxaris](https://github.com/chanioxaris) - -## 3.55.0 - -### Minor Changes - -- Add support for LinkedIn OIDC ([#1772](https://github.com/clerk/javascript/pull/1772)) by [@fragoulis](https://github.com/fragoulis) - -### Patch Changes - -- Introduces a new `isAuthorized()` method in the `Session` class. Returns a promise and checks whether the active user is allowed to perform an action based on the passed (required) permission and the ones attached to the membership. ([#1834](https://github.com/clerk/javascript/pull/1834)) by [@panteliselef](https://github.com/panteliselef) - -- 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. - -## 3.54.0 - -### Minor Changes - -- Introduce a new user resource method to leave an organization. You can now call 'user.leaveOrganization()' when a user chooses to leave an organization instead of 'organization.removeMember()' which is mostly meant for organization based actions. ([#1809](https://github.com/clerk/javascript/pull/1809)) by [@chanioxaris](https://github.com/chanioxaris) - -### Patch Changes - -- - Introduce organizationProfileProps as prop in ``. ([#1801](https://github.com/clerk/javascript/pull/1801)) by [@panteliselef](https://github.com/panteliselef) - - - Introduce appearance in userProfileProps in ``. - - Deprecate the usage of `appearance.userProfile` in ``. - -- Introduce ClerkRuntimeError class for localizing error messages in ClerkJS components ([#1813](https://github.com/clerk/javascript/pull/1813)) by [@panteliselef](https://github.com/panteliselef) - -- Enables you to translate the tooltip hint while creating an organization through the `formFieldHintText__slug` key ([#1811](https://github.com/clerk/javascript/pull/1811)) by [@LekoArts](https://github.com/LekoArts) - -- Drop `password` property from `UserJSON` since it's not being returned by the Frontend API ([#1805](https://github.com/clerk/javascript/pull/1805)) by [@dimkl](https://github.com/dimkl) - -- Remove experimental jsdoc tags from multi-domain types. ([#1819](https://github.com/clerk/javascript/pull/1819)) by [@panteliselef](https://github.com/panteliselef) - -- Warn about `publicUserData.profileImageUrl` nested property deprecation in `OrganizationMembership` & `OrganizationMembershipRequest` resources. ([#1812](https://github.com/clerk/javascript/pull/1812)) by [@dimkl](https://github.com/dimkl) - -## 3.53.0 - -### Minor Changes - -- ``, ``, ``, ``, `clerk.redirectToSignIn()` and `clerk.redirectToSignUp()` now accept the `initialValues` option, which will prefill the appropriate form fields with the values provided. ([#1701](https://github.com/clerk/javascript/pull/1701)) by [@desiprisg](https://github.com/desiprisg) - -## 3.52.1 - -### Patch Changes - -- Introduces a new method for fetching organization invitations called `Organization.getInvitations`. ([#1766](https://github.com/clerk/javascript/pull/1766)) by [@panteliselef](https://github.com/panteliselef) - - Deprecate `Organization.getPendingInvitations` - -- Adds the ability to force users to reset their password. ([#1757](https://github.com/clerk/javascript/pull/1757)) by [@kostaspt](https://github.com/kostaspt) - -## 3.52.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 - -- 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) - -- This PR replaces `The verification link expired. Please resend it.` message with the localization key `formFieldError__verificationLinkExpired`. The english message was also adjust to `The verification link expired. Please request a new link.` to make the second sentence clearer. ([#1738](https://github.com/clerk/javascript/pull/1738)) by [@LekoArts](https://github.com/LekoArts) - -## 3.51.0 - -### Minor Changes - -- Introduced a new `firstFactorUrl` property in sign-in callback to handle unverified emails. ([#1629](https://github.com/clerk/javascript/pull/1629)) by [@kostaspt](https://github.com/kostaspt) - -### Patch Changes - -- Organization Switcher now displays organization invitations and suggestions in a more compact form. ([#1675](https://github.com/clerk/javascript/pull/1675)) by [@panteliselef](https://github.com/panteliselef) - -## 3.50.0 - -### Minor Changes - -- Introducing validatePassword for SignIn and SignUp resources ([#1445](https://github.com/clerk/javascript/pull/1445)) by [@panteliselef](https://github.com/panteliselef) - - - Validate a password based on the instance's configuration set in Password Policies in Dashboard - -- Introduce a new resource called OrganizationSuggestion along with retrieve() & accept() methods ([#1574](https://github.com/clerk/javascript/pull/1574)) by [@chanioxaris](https://github.com/chanioxaris) - - Also make available the user's suggestions from the useOrganizationList hook - -- Introduces userInvitations from `useOrganizationList` ([#1520](https://github.com/clerk/javascript/pull/1520)) by [@panteliselef](https://github.com/panteliselef) - - `userInvitations` is a paginated list of data. It can be used to create Paginated tables or Infinite lists. - -- Introduce `hasImage` in User / Organization / Session resources ([#1544](https://github.com/clerk/javascript/pull/1544)) by [@dimkl](https://github.com/dimkl) - -- Improve redirects on OAuth callback. Now, if you try to sign up with a provider that allows unverified accounts, it will ([#1563](https://github.com/clerk/javascript/pull/1563)) by [@kostaspt](https://github.com/kostaspt) - - navigate to the appropriate change when needed, fixing the broken flow. - -- Introduce `logoLinkUrl` prop in `appearance.layout` ([#1449](https://github.com/clerk/javascript/pull/1449)) by [@nikospapcom](https://github.com/nikospapcom) - - A new `logoLinkUrl` prop has been added to `appearance.layout` and used in `ApplicationLogo` to change the `href` of the link. - By default, the logo link url will be the Home URL you've set in the Clerk Dashboard. - -### Patch Changes - -- Introduces a new resource called OrganizationMembership ([#1572](https://github.com/clerk/javascript/pull/1572)) by [@panteliselef](https://github.com/panteliselef) - - - useOrganization has been updated in order to return a list of domain with the above type - -- Introduces Membership Requests in ([#1576](https://github.com/clerk/javascript/pull/1576)) by [@panteliselef](https://github.com/panteliselef) - - - This is a list of users that have requested to join the active organization - -- Updates signature of OrganizationMembership.retrieve to support backwards compatibility while allowing using the new paginated responses. ([#1606](https://github.com/clerk/javascript/pull/1606)) by [@panteliselef](https://github.com/panteliselef) - - - userMemberships is now also part of the returned values of useOrganizationList - -- Introduces the accept method in UserOrganizationInvitation class ([#1550](https://github.com/clerk/javascript/pull/1550)) by [@panteliselef](https://github.com/panteliselef) - -- Display a notification counter for organization invitations in OrganizationSwitcher ([#1627](https://github.com/clerk/javascript/pull/1627)) by [@panteliselef](https://github.com/panteliselef) - -- Introduces a new resource called OrganizationDomain ([#1569](https://github.com/clerk/javascript/pull/1569)) by [@panteliselef](https://github.com/panteliselef) - - - useOrganization has been updated in order to return a list of domain with the above type - -- Introduces domains and invitations in ([#1560](https://github.com/clerk/javascript/pull/1560)) by [@panteliselef](https://github.com/panteliselef) - - - The "Members" page now accommodates Domain and Individual invitations - - The "Settings" page allows for the addition, edit and removal of a domain - -- A OrganizationMembershipRequest can now be rejected ([#1612](https://github.com/clerk/javascript/pull/1612)) by [@panteliselef](https://github.com/panteliselef) - - - New `OrganizationMembershipRequest.reject` method alongside `accept` - - As an organization admin, navigate to `Organization Profile` > `Members` > `Requests`. You can now reject a request from the table. - -- Introduces an invitation list within ([#1554](https://github.com/clerk/javascript/pull/1554)) by [@panteliselef](https://github.com/panteliselef) - - - Users can accept the invitation that is sent to them - -- When updating enrollment mode of a domain uses can now delete any pending invitations or suggestions. ([#1632](https://github.com/clerk/javascript/pull/1632)) by [@panteliselef](https://github.com/panteliselef) - -- Construct urls based on context in ([#1503](https://github.com/clerk/javascript/pull/1503)) by [@panteliselef](https://github.com/panteliselef) - - - Deprecate `afterSwitchOrganizationUrl` - - Introduce `afterSelectOrganizationUrl` & `afterSelectPersonalUrl` - - `afterSelectOrganizationUrl` accepts - - - Full URL -> 'https://clerk.com/' - - relative path -> '/organizations' - - relative path -> with param '/organizations/:id' - - function that returns a string -> (org) => `/org/${org.slug}` - `afterSelectPersonalUrl` accepts - - Full URL -> 'https://clerk.com/' - - relative path -> '/users' - - relative path -> with param '/users/:username' - - function that returns a string -> (user) => `/users/${user.id}` - -- Introduces list of suggestions within ([#1577](https://github.com/clerk/javascript/pull/1577)) by [@panteliselef](https://github.com/panteliselef) - - - Users can request to join a suggested organization - -## 3.49.0 - -### Minor Changes - -- Handle the construction of zxcvbn errors with information from FAPI ([#1526](https://github.com/clerk/javascript/pull/1526)) by [@raptisj](https://github.com/raptisj) - -### Patch Changes - -- Deprecate usage of old image fields in favor of `imageUrl` ([#1543](https://github.com/clerk/javascript/pull/1543)) by [@dimkl](https://github.com/dimkl) - -- New localization keys for max length exceeded validation: ([#1521](https://github.com/clerk/javascript/pull/1521)) by [@nikospapcom](https://github.com/nikospapcom) - - - Organization name (form_param_max_length_exceeded\_\_name) - - First name (form_param_max_length_exceeded\_\_first_name) - - Last name (form_param_max_length_exceeded\_\_last_name) - -- Introduces a new internal class `UserOrganizationInvitation` that represents and invitation to join an organization with the organization data populated ([#1527](https://github.com/clerk/javascript/pull/1527)) by [@panteliselef](https://github.com/panteliselef) - - Additions to support the above - - - UserOrganizationInvitationResource - - UserOrganizationInvitationJSON - - ClerkPaginatedResponse - - ClerkPaginatedResponse represents a paginated FAPI response - -- Introduce Clerk.client.clearCache() method ([#1545](https://github.com/clerk/javascript/pull/1545)) by [@SokratisVidros](https://github.com/SokratisVidros) - -## 3.48.1 - -### Patch Changes - -- Introduce the `skipInvitationScreen` prop on `` component ([#1501](https://github.com/clerk/javascript/pull/1501)) by [@panteliselef](https://github.com/panteliselef) - -## 3.48.0 - -### Minor Changes - -- Add unsafeMetadata prop to the SignUp component ([#1464](https://github.com/clerk/javascript/pull/1464)) by [@tmilewski](https://github.com/tmilewski) - -## 3.47.0 - -### Minor Changes - -- Add a confirmation input as an additional check when doing destructive actions such as: ([#1454](https://github.com/clerk/javascript/pull/1454)) by [@raptisj](https://github.com/raptisj) - - - delete an organization - - delete a user account - - leave an organization - - Νew localization keys were introduced to support the above - -### Patch Changes - -- Add missing property 'maxAllowedMemberships' in Organization resource ([#1468](https://github.com/clerk/javascript/pull/1468)) by [@chanioxaris](https://github.com/chanioxaris) - -- Add `form_username_invalid_character` unstable error localization key. ([#1475](https://github.com/clerk/javascript/pull/1475)) by [@desiprisg](https://github.com/desiprisg) - -- Add missing property 'privateMetadata' in OrganizationInvitation resource ([#1468](https://github.com/clerk/javascript/pull/1468)) by [@chanioxaris](https://github.com/chanioxaris) - -- Enable the ability to target the avatar upload and remove action buttons ([#1455](https://github.com/clerk/javascript/pull/1455)) by [@tmilewski](https://github.com/tmilewski) - -## 3.46.1 - -### Patch Changes - -- Add missing `create` method to `PhoneNumberResource`, `EmailAddressResource`, `Web3WalletResource` interfaces ([#1411](https://github.com/clerk/javascript/pull/1411)) by [@crutchcorn](https://github.com/crutchcorn) - -## 3.46.0 - -### Minor Changes - -- Add ability for organization admins to delete an organization if they have permission to do so ([#1368](https://github.com/clerk/javascript/pull/1368)) by [@jescalan](https://github.com/jescalan) - -## 3.45.0 - -### Minor Changes - -- If user does not have permission to create an org, create org button will not display in the OrganizationSwitcher UI ([#1373](https://github.com/clerk/javascript/pull/1373)) by [@jescalan](https://github.com/jescalan) - -### Patch Changes - -- Fix to pull from the correct permissions set when displaying user delete self UI ([#1372](https://github.com/clerk/javascript/pull/1372)) by [@jescalan](https://github.com/jescalan) - -## 3.44.0 - -### Minor Changes - -- Add localization keys for when the phone number exists and the last identification is deleted ([#1383](https://github.com/clerk/javascript/pull/1383)) by [@raptisj](https://github.com/raptisj) - -## 3.43.0 - -### Minor Changes - -- Adds the ability for users to delete their own accounts, as long as they have permission to do so ([#1307](https://github.com/clerk/javascript/pull/1307)) by [@jescalan](https://github.com/jescalan) - -### Patch Changes - -- Password, first name & last name fields will be disabled if there are active SAML accounts. ([#1326](https://github.com/clerk/javascript/pull/1326)) by [@yourtallness](https://github.com/yourtallness) - -## 3.42.0 - -### Minor Changes - -- Add base64 string support in Organization.setLogo ([#1309](https://github.com/clerk/javascript/pull/1309)) by [@raptisj](https://github.com/raptisj) - -## 3.41.1 - -### Patch Changes - -- fix(types,localizations): Improve invalid form email_address param error message by [@nikosdouvlis](https://github.com/nikosdouvlis) - -- Make first name, last name & password readonly for users with active SAML accounts by [@nikosdouvlis](https://github.com/nikosdouvlis) - -- Add support for dataURLs in User.setProfileImage by [@nikosdouvlis](https://github.com/nikosdouvlis) - -## [3.41.0](https://github.com/clerk/javascript/compare/@clerk/types@3.41.0-staging.1...@clerk/types@3.41.0) (2023-06-03) - -**Note:** Version bump only for package @clerk/types - -## [3.40.0](https://github.com/clerk/javascript/compare/@clerk/types@3.40.0-staging.0...@clerk/types@3.40.0) (2023-05-26) - -**Note:** Version bump only for package @clerk/types - -## [3.39.0](https://github.com/clerk/javascript/compare/@clerk/types@3.39.0-staging.1...@clerk/types@3.39.0) (2023-05-23) - -**Note:** Version bump only for package @clerk/types - -### [3.38.1](https://github.com/clerk/javascript/compare/@clerk/types@3.38.1-staging.0...@clerk/types@3.38.1) (2023-05-18) - -**Note:** Version bump only for package @clerk/types - -## [3.38.0](https://github.com/clerk/javascript/compare/@clerk/types@3.38.0-staging.1...@clerk/types@3.38.0) (2023-05-17) - -**Note:** Version bump only for package @clerk/types - -## [3.37.0](https://github.com/clerk/javascript/compare/@clerk/types@3.37.0-staging.3...@clerk/types@3.37.0) (2023-05-15) - -**Note:** Version bump only for package @clerk/types - -## [3.36.0](https://github.com/clerk/javascript/compare/@clerk/types@3.36.0-staging.4...@clerk/types@3.36.0) (2023-05-04) - -**Note:** Version bump only for package @clerk/types - -## [3.36.0-staging.4](https://github.com/clerk/javascript/compare/@clerk/types@3.36.0-staging.3...@clerk/types@3.36.0-staging.4) (2023-05-04) - -### Features - -- **clerk-js,types:** Support sign in with SAML strategy ([6da395f](https://github.com/clerk/javascript/commit/6da395fd785467aa934896942408bdb5f64aa887)) -- **clerk-js,types:** Support sign up with SAML strategy ([6d9c93e](https://github.com/clerk/javascript/commit/6d9c93e9d782f17bbddde1e68c2ce977415b45db)) -- **clerk-js:** Use allowed special characters for password from environment ([dec0512](https://github.com/clerk/javascript/commit/dec05120c180e53595e87817a2f44ef62af0f4f1)) - -## [3.36.0-staging.3](https://github.com/clerk/javascript/compare/@clerk/types@3.36.0-staging.2...@clerk/types@3.36.0-staging.3) (2023-05-02) - -### Features - -- **clerk-js:** Add resetPasswordFlow to SignIn resource ([6155f5b](https://github.com/clerk/javascript/commit/6155f5bde6fe0a140bffb7d8087c2246716abf7e)) -- **clerk-js:** Create page ([3fbf8e7](https://github.com/clerk/javascript/commit/3fbf8e7157774412096ff432e622540ae2d96ef4)) -- **clerk-js:** Introduce Reset Password flow ([e903c4f](https://github.com/clerk/javascript/commit/e903c4f430ae629625177637bb14f965a37596e1)) -- **clerk-js:** Localize "Password don't match" field error ([c573599](https://github.com/clerk/javascript/commit/c573599a370d4f3925d0e8a87b37f28f157bb62b)) -- **clerk-js:** Reset password for first factor ([280b5df](https://github.com/clerk/javascript/commit/280b5df2428b790e679a04004461aadb2717ae2b)) -- **clerk-js:** Reset password MFA ([5978756](https://github.com/clerk/javascript/commit/5978756640bc5f5bb4726f72ca2e53ba43f009d6)) - -### Bug Fixes - -- **clerk-js,types:** Remove after_sign_out_url as it not returned by FAPI ([#1121](https://github.com/clerk/javascript/issues/1121)) ([d87493d](https://github.com/clerk/javascript/commit/d87493d13e2c7a3ffbf37ba728e6cde7f6f14682)) -- **clerk-js:** Reset Password missing localization keys ([b1df074](https://github.com/clerk/javascript/commit/b1df074ad203e07b55b0051c9f97d4fd26e0fde5)) -- **clerk-js:** Update type of resetPasswordFlow in SignInResource ([637b791](https://github.com/clerk/javascript/commit/637b791b0086be35a67e7d8a6a0e7c42989296b5)) - -### [3.35.3](https://github.com/clerk/javascript/compare/@clerk/types@3.35.3-staging.0...@clerk/types@3.35.3) (2023-04-19) - -**Note:** Version bump only for package @clerk/types - -### [3.35.2](https://github.com/clerk/javascript/compare/@clerk/types@3.35.1...@clerk/types@3.35.2) (2023-04-19) - -### Bug Fixes - -- **clerk-js:** Add resetPassword method as a core resource ([fa70749](https://github.com/clerk/javascript/commit/fa70749c3bc0e37433b314ea9e12c5153bf60e0e)) -- **clerk-js:** Refactor types for resetPassword ([fd53901](https://github.com/clerk/javascript/commit/fd53901c0fd4ce7c7c81a9239d4818002b83f58c)) - -### [3.35.1](https://github.com/clerk/javascript/compare/@clerk/types@3.35.1-staging.0...@clerk/types@3.35.1) (2023-04-12) - -**Note:** Version bump only for package @clerk/types - -## [3.35.0](https://github.com/clerk/javascript/compare/@clerk/types@3.35.0-staging.3...@clerk/types@3.35.0) (2023-04-11) - -**Note:** Version bump only for package @clerk/types - -## [3.34.0](https://github.com/clerk/javascript/compare/@clerk/types@3.34.0-staging.0...@clerk/types@3.34.0) (2023-04-06) - -**Note:** Version bump only for package @clerk/types - -## [3.33.0](https://github.com/clerk/javascript/compare/@clerk/types@3.33.0-staging.2...@clerk/types@3.33.0) (2023-03-31) - -**Note:** Version bump only for package @clerk/types - -## [3.32.0](https://github.com/clerk/javascript/compare/@clerk/types@3.32.0-staging.0...@clerk/types@3.32.0) (2023-03-29) - -**Note:** Version bump only for package @clerk/types - -### [3.30.1](https://github.com/clerk/javascript/compare/@clerk/types@3.30.1-staging.2...@clerk/types@3.30.1) (2023-03-10) - -**Note:** Version bump only for package @clerk/types - -## [3.30.0](https://github.com/clerk/javascript/compare/@clerk/types@3.30.0-staging.0...@clerk/types@3.30.0) (2023-03-09) - -**Note:** Version bump only for package @clerk/types - -## [3.29.0](https://github.com/clerk/javascript/compare/@clerk/types@3.29.0-staging.0...@clerk/types@3.29.0) (2023-03-07) - -**Note:** Version bump only for package @clerk/types - -### [3.28.5](https://github.com/clerk/javascript/compare/@clerk/types@3.28.5-staging.1...@clerk/types@3.28.5) (2023-03-03) - -**Note:** Version bump only for package @clerk/types - -### [3.28.4](https://github.com/clerk/javascript/compare/@clerk/types@3.28.4-staging.0...@clerk/types@3.28.4) (2023-03-01) - -**Note:** Version bump only for package @clerk/types - -### [3.28.3](https://github.com/clerk/javascript/compare/@clerk/types@3.28.3-staging.0...@clerk/types@3.28.3) (2023-02-25) - -**Note:** Version bump only for package @clerk/types - -### [3.28.2](https://github.com/clerk/javascript/compare/@clerk/types@3.28.2-staging.3...@clerk/types@3.28.2) (2023-02-24) - -**Note:** Version bump only for package @clerk/types - -### [3.28.2-staging.2](https://github.com/clerk/javascript/compare/@clerk/types@3.28.2-staging.1...@clerk/types@3.28.2-staging.2) (2023-02-22) - -### Bug Fixes - -- **clerk-js:** Pass unsafe metadata to sign up methods ([e2510e6](https://github.com/clerk/javascript/commit/e2510e65b726c113de977fb8252cdcd708ad9bb7)) - -### [3.28.1](https://github.com/clerk/javascript/compare/@clerk/types@3.28.1-staging.0...@clerk/types@3.28.1) (2023-02-17) - -**Note:** Version bump only for package @clerk/types - -## [3.28.0](https://github.com/clerk/javascript/compare/@clerk/types@3.28.0-staging.0...@clerk/types@3.28.0) (2023-02-15) - -**Note:** Version bump only for package @clerk/types - -## [3.27.0](https://github.com/clerk/javascript/compare/@clerk/types@3.27.0-staging.1...@clerk/types@3.27.0) (2023-02-10) - -**Note:** Version bump only for package @clerk/types - -### [3.26.1](https://github.com/clerk/javascript/compare/@clerk/types@3.26.1-staging.0...@clerk/types@3.26.1) (2023-02-07) - -**Note:** Version bump only for package @clerk/types - -### [3.26.1-staging.0](https://github.com/clerk/javascript/compare/@clerk/types@3.26.0...@clerk/types@3.26.1-staging.0) (2023-02-07) - -**Note:** Version bump only for package @clerk/types - -## [3.26.0](https://github.com/clerk/javascript/compare/@clerk/types@3.26.0-staging.1...@clerk/types@3.26.0) (2023-02-07) - -**Note:** Version bump only for package @clerk/types - -### [3.25.1](https://github.com/clerk/javascript/compare/@clerk/types@3.25.1-staging.0...@clerk/types@3.25.1) (2023-02-01) - -**Note:** Version bump only for package @clerk/types - -## [3.25.0](https://github.com/clerk/javascript/compare/@clerk/types@3.25.0-staging.1...@clerk/types@3.25.0) (2023-01-27) - -**Note:** Version bump only for package @clerk/types - -### [3.24.1](https://github.com/clerk/javascript/compare/@clerk/types@3.24.0...@clerk/types@3.24.1) (2023-01-20) - -### Bug Fixes - -- **nextjs,types:** Make frontendApi or publishableKey mutually exclusive but optional ([953c276](https://github.com/clerk/javascript/commit/953c27622ba24054172d6f4178bd5af50f73fa36)) - -## [3.24.0](https://github.com/clerk/javascript/compare/@clerk/types@3.24.0-staging.1...@clerk/types@3.24.0) (2023-01-17) - -**Note:** Version bump only for package @clerk/types - -## [3.23.0](https://github.com/clerk/javascript/compare/@clerk/types@3.23.0-staging.1...@clerk/types@3.23.0) (2022-12-19) - -**Note:** Version bump only for package @clerk/types - -### [3.22.2](https://github.com/clerk/javascript/compare/@clerk/types@3.22.2-staging.0...@clerk/types@3.22.2) (2022-12-13) - -**Note:** Version bump only for package @clerk/types - -### [3.22.1](https://github.com/clerk/javascript/compare/@clerk/types@3.22.0...@clerk/types@3.22.1) (2022-12-12) - -**Note:** Version bump only for package @clerk/types - -## [3.22.0](https://github.com/clerk/javascript/compare/@clerk/types@3.22.0-staging.1...@clerk/types@3.22.0) (2022-12-09) - -**Note:** Version bump only for package @clerk/types - -### [3.21.1](https://github.com/clerk/javascript/compare/@clerk/types@3.21.0...@clerk/types@3.21.1) (2022-12-08) - -### Reverts - -- Revert "feat(clerk-js,types): Terse paths parameters (#572)" (#603) ([d535eac](https://github.com/clerk/javascript/commit/d535eace3d7733ce3b848bb05f1b0c02e5faf15d)), closes [#572](https://github.com/clerk/javascript/issues/572) [#603](https://github.com/clerk/javascript/issues/603) - -## [3.21.0](https://github.com/clerk/javascript/compare/@clerk/types@3.21.0-staging.0...@clerk/types@3.21.0) (2022-12-08) - -**Note:** Version bump only for package @clerk/types - -## [3.20.0](https://github.com/clerk/javascript/compare/@clerk/types@3.20.0-staging.0...@clerk/types@3.20.0) (2022-12-02) - -**Note:** Version bump only for package @clerk/types - -## [3.19.0](https://github.com/clerk/javascript/compare/@clerk/types@3.19.0-staging.4...@clerk/types@3.19.0) (2022-11-30) - -**Note:** Version bump only for package @clerk/types - -## [3.19.0-staging.4](https://github.com/clerk/javascript/compare/@clerk/types@3.19.0-staging.3...@clerk/types@3.19.0-staging.4) (2022-11-29) - -**Note:** Version bump only for package @clerk/types - -## [3.18.0](https://github.com/clerk/javascript/compare/@clerk/types@3.18.0-staging.0...@clerk/types@3.18.0) (2022-11-25) - -**Note:** Version bump only for package @clerk/types - -### [3.17.2](https://github.com/clerk/javascript/compare/@clerk/types@3.17.2-staging.0...@clerk/types@3.17.2) (2022-11-25) - -**Note:** Version bump only for package @clerk/types - -### [3.17.1](https://github.com/clerk/javascript/compare/@clerk/types@3.17.0...@clerk/types@3.17.1) (2022-11-23) - -**Note:** Version bump only for package @clerk/types - -## [3.17.0](https://github.com/clerk/javascript/compare/@clerk/types@3.17.0-staging.2...@clerk/types@3.17.0) (2022-11-22) - -**Note:** Version bump only for package @clerk/types - -## [3.17.0-staging.2](https://github.com/clerk/javascript/compare/@clerk/types@3.17.0-staging.1...@clerk/types@3.17.0-staging.2) (2022-11-21) - -### Features - -- **types:** Introduce Xero & Box OAuth provider types ([d7da1f2](https://github.com/clerk/javascript/commit/d7da1f2cbefef2841781202ac2853402c0b8eb2b)) - -### [3.16.1](https://github.com/clerk/javascript/compare/@clerk/types@3.16.1-staging.1...@clerk/types@3.16.1) (2022-11-18) - -**Note:** Version bump only for package @clerk/types - -## [3.16.0](https://github.com/clerk/javascript/compare/@clerk/types@3.16.0-staging.0...@clerk/types@3.16.0) (2022-11-15) - -**Note:** Version bump only for package @clerk/types - -### [3.15.1](https://github.com/clerk/javascript/compare/@clerk/types@3.15.1-staging.1...@clerk/types@3.15.1) (2022-11-10) - -**Note:** Version bump only for package @clerk/types - -## [3.15.0](https://github.com/clerk/javascript/compare/@clerk/types@3.15.0-staging.1...@clerk/types@3.15.0) (2022-11-05) - -### Features - -- **types,clerk-js:** Introduce OrganizationSettings resource ([455911f](https://github.com/clerk/javascript/commit/455911f4166e4bea00aa62b32a05bef297983c61)) - -## [3.14.0](https://github.com/clerk/javascript/compare/@clerk/types@3.14.0-staging.7...@clerk/types@3.14.0) (2022-11-03) - -**Note:** Version bump only for package @clerk/types - -## [3.14.0-staging.4](https://github.com/clerk/javascript/compare/@clerk/types@3.14.0-staging.3...@clerk/types@3.14.0-staging.4) (2022-11-02) - -**Note:** Version bump only for package @clerk/types - -## [3.14.0-staging.3](https://github.com/clerk/javascript/compare/@clerk/types@3.14.0-staging.1...@clerk/types@3.14.0-staging.3) (2022-11-02) - -**Note:** Version bump only for package @clerk/types - -## [3.14.0-staging.2](https://github.com/clerk/javascript/compare/@clerk/types@3.14.0-staging.1...@clerk/types@3.14.0-staging.2) (2022-11-02) - -**Note:** Version bump only for package @clerk/types - -## [3.14.0-staging.1](https://github.com/clerk/javascript/compare/@clerk/types@3.13.0...@clerk/types@3.14.0-staging.1) (2022-11-02) - -### Features - -- **clerk-js,types:** Organization invitation metadata ([87764b8](https://github.com/clerk/javascript/commit/87764b839cc65455347e1c19b15f4a17603201b8)) -- **clerk-js:** Add `loaded` to core Clerk instance ([7c08a91](https://github.com/clerk/javascript/commit/7c08a914d674f05608503898542b907886465b7e)) - -## [3.13.0](https://github.com/clerk/javascript/compare/@clerk/types@3.13.0-staging.0...@clerk/types@3.13.0) (2022-10-24) - -**Note:** Version bump only for package @clerk/types - -## [3.12.0](https://github.com/clerk/javascript/compare/@clerk/types@3.11.0...@clerk/types@3.12.0) (2022-10-14) - -### Features - -- **types,clerk-js:** List only authenticatable OAuth providers in Sign in/up components ([4b3f1e6](https://github.com/clerk/javascript/commit/4b3f1e67d655dfb3e818ce9015b68b369d7a1bd4)) - -## [3.11.0](https://github.com/clerk/javascript/compare/@clerk/types@3.11.0-staging.2...@clerk/types@3.11.0) (2022-10-14) - -**Note:** Version bump only for package @clerk/types - -## [3.11.0-staging.1](https://github.com/clerk/javascript/compare/@clerk/types@3.10.1...@clerk/types@3.11.0-staging.1) (2022-10-13) - -### Features - -- **clerk-js,clerk-react,types:** Wire up `OrganizationSwitcher` and `OrganizationProfile` ([1e34e69](https://github.com/clerk/javascript/commit/1e34e6986ee49aeb9ca9f72cdc5d799d6611b53f)) -- **clerk-js:** Add table and pagination elements ([cb56f5c](https://github.com/clerk/javascript/commit/cb56f5c0313ba6f1fce50eae6fc3e3d596cf1b16)) - -### Bug Fixes - -- **clerk-js:** Add appearance customization support for avatar gradient ([96cde45](https://github.com/clerk/javascript/commit/96cde45b4f1db5ff074289b57ff58c40bf80f6e1)) -- **clerk-js:** Add global not_allowed_access error to localization prop ([0313fe5](https://github.com/clerk/javascript/commit/0313fe5ce4e0afca20865ad1b6d0503502ea6e4d)) -- **types:** Remove unused hideNavigation prop from UserProfile ([21cafcb](https://github.com/clerk/javascript/commit/21cafcb488d66f90a3b0a13a2079d9b0473ecf7e)) - -### [3.10.1](https://github.com/clerk/javascript/compare/@clerk/types@3.10.1-staging.0...@clerk/types@3.10.1) (2022-10-07) - -**Note:** Version bump only for package @clerk/types - -## [3.10.0](https://github.com/clerk/javascript/compare/@clerk/types@3.10.0-staging.0...@clerk/types@3.10.0) (2022-10-05) - -**Note:** Version bump only for package @clerk/types - -## [3.9.0](https://github.com/clerk/javascript/compare/@clerk/types@3.9.0-staging.2...@clerk/types@3.9.0) (2022-10-03) - -### Features - -- **clerk-js:** Add open prop in user button ([6ae7f42](https://github.com/clerk/javascript/commit/6ae7f4226f4db5760e04ee812a494beb66ab2502)) - -### Bug Fixes - -- **clerk-js:** Refactor defaultOpen prop ([1d7b0a9](https://github.com/clerk/javascript/commit/1d7b0a997a86686644d28ac58d0bd7143af9023f)) -- **clerk-js:** Refactor isOpen prop ([044860f](https://github.com/clerk/javascript/commit/044860f7204988876b258141108d0e1741204bc1)) - -## [3.8.0](https://github.com/clerk/javascript/compare/@clerk/types@3.8.0-staging.4...@clerk/types@3.8.0) (2022-09-29) - -**Note:** Version bump only for package @clerk/types - -### [3.7.1](https://github.com/clerk/javascript/compare/@clerk/types@3.7.0...@clerk/types@3.7.1) (2022-09-25) - -**Note:** Version bump only for package @clerk/types - -## [3.7.0](https://github.com/clerk/javascript/compare/@clerk/types@3.7.0-staging.1...@clerk/types@3.7.0) (2022-09-24) - -**Note:** Version bump only for package @clerk/types - -## [3.6.0](https://github.com/clerk/javascript/compare/@clerk/types@3.6.0-staging.0...@clerk/types@3.6.0) (2022-09-22) - -**Note:** Version bump only for package @clerk/types - -### [3.5.1](https://github.com/clerk/javascript/compare/@clerk/types@3.5.0-staging.4...@clerk/types@3.5.1) (2022-09-19) - -### Bug Fixes - -- **types:** Completely remove totp2Fa.resendButton key ([434fae5](https://github.com/clerk/javascript/commit/434fae5803122c825ce6da8ca2dccad13889605b)) - -## [3.5.0](https://github.com/clerk/javascript/compare/@clerk/types@3.5.0-staging.4...@clerk/types@3.5.0) (2022-09-16) - -### Bug Fixes - -- **types:** Completely remove totp2Fa.resendButton key ([434fae5](https://github.com/clerk/javascript/commit/434fae5803122c825ce6da8ca2dccad13889605b)) - -### [3.4.2](https://github.com/clerk/javascript/compare/@clerk/types@3.4.2-staging.0...@clerk/types@3.4.2) (2022-09-07) - -**Note:** Version bump only for package @clerk/types - -### [3.4.1](https://github.com/clerk/javascript/compare/@clerk/types@3.4.1-staging.0...@clerk/types@3.4.1) (2022-08-29) - -**Note:** Version bump only for package @clerk/types - -## [3.4.0](https://github.com/clerk/javascript/compare/@clerk/types@3.4.0-staging.0...@clerk/types@3.4.0) (2022-08-29) - -**Note:** Version bump only for package @clerk/types - -### [3.3.1](https://github.com/clerk/javascript/compare/@clerk/types@3.3.1-staging.0...@clerk/types@3.3.1) (2022-08-24) - -**Note:** Version bump only for package @clerk/types - -## [3.3.0](https://github.com/clerk/javascript/compare/@clerk/types@3.2.0...@clerk/types@3.3.0) (2022-08-18) - -### Features - -- **types:** Introduce Instagram OAuth ([2991b01](https://github.com/clerk/javascript/commit/2991b011bf8002ed9a9c88fbe4cb911665201245)) - -## [3.2.0](https://github.com/clerk/javascript/compare/@clerk/types@3.2.0-staging.0...@clerk/types@3.2.0) (2022-08-18) - -**Note:** Version bump only for package @clerk/types - -### [3.1.1](https://github.com/clerk/javascript/compare/@clerk/types@3.1.0...@clerk/types@3.1.1) (2022-08-16) - -### Bug Fixes - -- **types:** Deprecate orgs session token claim, add org_slug for active organization ([4175040](https://github.com/clerk/javascript/commit/4175040ca2257265cc0b8c12389056933765040b)) - -## [3.1.0](https://github.com/clerk/javascript/compare/@clerk/types@3.1.0-staging.0...@clerk/types@3.1.0) (2022-08-09) - -### Bug Fixes - -- **clerk-js:** Introduce more selectors ([bf4c3b3](https://github.com/clerk/javascript/commit/bf4c3b372c7e74b1b42ce53cb7254e54b67c7815)) - -### [3.0.1](https://github.com/clerk/javascript/compare/@clerk/types@3.0.0...@clerk/types@3.0.1) (2022-08-07) - -**Note:** Version bump only for package @clerk/types - -## [3.0.0](https://github.com/clerk/javascript/compare/@clerk/types@3.0.0-staging.1...@clerk/types@3.0.0) (2022-08-05) - -**Note:** Version bump only for package @clerk/types - -## [2.21.0](https://github.com/clerk/javascript/compare/@clerk/types@2.20.0...@clerk/types@2.21.0) (2022-08-04) - -### Features - -- **clerk-js:** Get support email from FAPI /v1/environment if exists ([c9bb8d7](https://github.com/clerk/javascript/commit/c9bb8d7aaf3958207d4799bdd30e3b15b2890a5d)) - -## [2.20.0](https://github.com/clerk/javascript/compare/@clerk/types@2.19.1...@clerk/types@2.20.0) (2022-07-13) - -### Features - -- **types,clerk-react,nextjs:** Add loadOrg option for Next.js withServerSideAuth middleware ([0889bde](https://github.com/clerk/javascript/commit/0889bde9bc7f9e1a5d4c1e706c49212e1f7b36f4)) - -### Bug Fixes - -- **types:** Typo rename Line to LINE ([79b3dd5](https://github.com/clerk/javascript/commit/79b3dd581e9750ac943d9a7a1091a37a48647538)) - -### [2.19.1](https://github.com/clerk/javascript/compare/@clerk/types@2.19.0...@clerk/types@2.19.1) (2022-07-07) - -### Bug Fixes - -- **types:** Proper documentation url for OAuth providers ([4398cb2](https://github.com/clerk/javascript/commit/4398cb2ce0914ecd4850b1e3ccbbe64d3d25b031)) - -## [2.19.0](https://github.com/clerk/javascript/compare/@clerk/types@2.18.0...@clerk/types@2.19.0) (2022-07-06) - -### Features - -- **types:** Introduce Line OAuth ([e9d429d](https://github.com/clerk/javascript/commit/e9d429d63fcfacd3d393fa9e104e8a1b46f41a67)) - -## [2.18.0](https://github.com/clerk/javascript/compare/@clerk/types@2.17.0...@clerk/types@2.18.0) (2022-07-01) - -### Features - -- **types,clerk-js:** Introduce user hasVerifiedEmailAddress & hasVerifiedPhoneNumber attributes ([ea68447](https://github.com/clerk/javascript/commit/ea684473697c33b7b5d8930fe24b7667f6edeaad)) - -## [2.17.0](https://github.com/clerk/javascript/compare/@clerk/types@2.16.0...@clerk/types@2.17.0) (2022-06-24) - -### Features - -- **clerk-js:** Add supportEmail property option ([71eff74](https://github.com/clerk/javascript/commit/71eff74383bcd1c3044cfd42ceae70de5b246e68)) -- **types,backend-core:** Add org_role, org_id claims ([03da4cf](https://github.com/clerk/javascript/commit/03da4cffee2e5c493d0219d417842a13e066ffe6)) -- **types,backend-core:** Consolidate Clerk issued JWT claims under ClerkJWTClaims ([e6bc9fb](https://github.com/clerk/javascript/commit/e6bc9fb380d38d7f89cc2059e0211b0ad55bd1a5)) - -### Bug Fixes - -- **edge,nextjs,remix,clerk-sdk-node,types:** Correct SSR claims typing ([09c147c](https://github.com/clerk/javascript/commit/09c147c196c08e64794423f9eae791bfe453b858)) - -## [2.16.0](https://github.com/clerk/javascript/compare/@clerk/types@2.16.0-staging.0...@clerk/types@2.16.0) (2022-06-16) - -**Note:** Version bump only for package @clerk/types - -## [2.15.0](https://github.com/clerk/javascript/compare/@clerk/types@2.15.0-staging.3...@clerk/types@2.15.0) (2022-06-06) - -**Note:** Version bump only for package @clerk/types - -## [2.15.0-staging.3](https://github.com/clerk/javascript/compare/@clerk/types@2.15.0-staging.2...@clerk/types@2.15.0-staging.3) (2022-06-03) - -### Bug Fixes - -- **clerk-js,types:** Typo for MetaMask web3 provider name ([922dcb5](https://github.com/clerk/javascript/commit/922dcb52f406a17da8038cafaf10353b15aab2bf)) - -## [2.15.0-staging.2](https://github.com/clerk/javascript/compare/@clerk/types@2.15.0-staging.1...@clerk/types@2.15.0-staging.2) (2022-06-02) - -### Features - -- **types,clerk-js:** Support required/optional email/phone for Progressive sign up instances ([13da457](https://github.com/clerk/javascript/commit/13da4576a08e4e396fa48605ecf61accc06057d5)) - -## [2.15.0-staging.1](https://github.com/clerk/javascript/compare/@clerk/types@2.15.0-staging.0...@clerk/types@2.15.0-staging.1) (2022-06-01) - -### Features - -- **types,clerk-js:** Introduce web3 wallet operations in UserProfile ([6570a87](https://github.com/clerk/javascript/commit/6570a87439d92a59057b2df50ec482511428495e)) - -### Bug Fixes - -- **clerk-js:** Emit changes in organization to listeners ([798ee62](https://github.com/clerk/javascript/commit/798ee622e7961d3aa7f8842184f5fadbcfed517f)) -- **types,clerk-js:** Same component navigate after OAuth flow with missing requirements ([39ca6ce](https://github.com/clerk/javascript/commit/39ca6cee3a8a160fdf0ca95a713707afee55f1fc)) - -## [2.14.0](https://github.com/clerk/javascript/compare/@clerk/types@2.14.0-staging.1...@clerk/types@2.14.0) (2022-05-20) - -**Note:** Version bump only for package @clerk/types - -## [2.14.0-staging.1](https://github.com/clerk/javascript/compare/@clerk/types@2.13.0...@clerk/types@2.14.0-staging.1) (2022-05-18) - -### Features - -- **types,clerk-js:** Enhance Web3 wallet resource with relevant operations ([a166716](https://github.com/clerk/javascript/commit/a166716db44db8e765e67c154093c9d3c3f24c75)) -- **types:** Include new organization role `guest_member` ([ba7f27b](https://github.com/clerk/javascript/commit/ba7f27b42be283f9b7b4126cecc8d93ab9a6f04e)) - -### Bug Fixes - -- **clerk-js:** Navigate to sign up continue in web3 ([460ba1c](https://github.com/clerk/javascript/commit/460ba1cc82bbad6197224ca71ad39302564408b4)) - -## [2.14.0-staging.0](https://github.com/clerk/javascript/compare/@clerk/types@2.13.0...@clerk/types@2.14.0-staging.0) (2022-05-17) - -### Features - -- **types:** Include new organization role `guest_member` ([ba7f27b](https://github.com/clerk/javascript/commit/ba7f27b42be283f9b7b4126cecc8d93ab9a6f04e)) - -### Bug Fixes - -- **clerk-js:** Navigate to sign up continue in web3 ([460ba1c](https://github.com/clerk/javascript/commit/460ba1cc82bbad6197224ca71ad39302564408b4)) - -## [2.13.0](https://github.com/clerk/javascript/compare/@clerk/types@2.10.1...@clerk/types@2.13.0) (2022-05-13) - -### Features - -- **clerk-js:** Add shortcut to active org in Clerk singleton ([03e68d4](https://github.com/clerk/javascript/commit/03e68d4667e7abcd006c4a3a2a2fe7f65bfca417)) -- **types:** Introduce Web3 provider types and helpers ([8291d75](https://github.com/clerk/javascript/commit/8291d75a7f3172d05f76c0f9aeb08aab98e7d81c)) - -## [2.12.0](https://github.com/clerk/javascript/compare/@clerk/types@2.10.1...@clerk/types@2.12.0) (2022-05-12) - -### Features - -- **types:** Introduce Web3 provider types and helpers ([8291d75](https://github.com/clerk/javascript/commit/8291d75a7f3172d05f76c0f9aeb08aab98e7d81c)) - -## [2.11.0](https://github.com/clerk/javascript/compare/@clerk/types@2.10.1...@clerk/types@2.11.0) (2022-05-12) - -### Features - -- **types:** Introduce Web3 provider types and helpers ([8291d75](https://github.com/clerk/javascript/commit/8291d75a7f3172d05f76c0f9aeb08aab98e7d81c)) - -### [2.10.1](https://github.com/clerk/javascript/compare/@clerk/types@2.10.1-staging.0...@clerk/types@2.10.1) (2022-05-11) - -**Note:** Version bump only for package @clerk/types - -## [2.10.0](https://github.com/clerk/javascript/compare/@clerk/types@2.9.0...@clerk/types@2.10.0) (2022-05-06) - -### Features - -- **nextjs,clerk-sdk-node,remix:** Add claims attribute to req.auth ([c695529](https://github.com/clerk/javascript/commit/c695529089f55baef72b86e3b73b8cd9f4f58e6d)) - -## [2.9.0](https://github.com/clerk/javascript/compare/@clerk/types@2.9.0-staging.0...@clerk/types@2.9.0) (2022-05-05) - -**Note:** Version bump only for package @clerk/types - -## [2.8.0](https://github.com/clerk/javascript/compare/@clerk/types@2.7.1...@clerk/types@2.8.0) (2022-04-28) - -### Features - -- **clerk-js:** Add members to organizations ([d6787b6](https://github.com/clerk/javascript/commit/d6787b659744ea2ca178d6cf7df488be265d7a69)) -- **clerk-js:** Delete organizations ([7cb1bea](https://github.com/clerk/javascript/commit/7cb1beaf12b293b9fde541855eb2cda81e0d6be4)) - -### [2.7.1](https://github.com/clerk/javascript/compare/@clerk/types@2.7.1-staging.1...@clerk/types@2.7.1) (2022-04-19) - -**Note:** Version bump only for package @clerk/types - -### [2.7.1-staging.1](https://github.com/clerk/javascript/compare/@clerk/types@2.7.1-staging.0...@clerk/types@2.7.1-staging.1) (2022-04-19) - -### Bug Fixes - -- **clerk-js:** Pass rotating_token_nonce correctly to FAPIClient ([370cb0e](https://github.com/clerk/javascript/commit/370cb0e26bccd524c44b9e7fc0e15521193f514f)) - -## [2.7.0](https://github.com/clerk/javascript/compare/@clerk/types@2.6.1-alpha.0...@clerk/types@2.7.0) (2022-04-18) - -### Features - -- **clerk-js:** Organization slugs ([7f0e771](https://github.com/clerk/javascript/commit/7f0e771036815885b01da095979cf39da212503f)) - -### [2.6.1-alpha.0](https://github.com/clerk/javascript/compare/@clerk/types@2.6.0...@clerk/types@2.6.1-alpha.0) (2022-04-15) - -**Note:** Version bump only for package @clerk/types - -## [2.6.0](https://github.com/clerk/javascript/compare/@clerk/types@2.6.0-staging.0...@clerk/types@2.6.0) (2022-04-15) - -**Note:** Version bump only for package @clerk/types - -## [2.5.0](https://github.com/clerk/javascript/compare/@clerk/types@2.5.0-staging.0...@clerk/types@2.5.0) (2022-04-13) - -**Note:** Version bump only for package @clerk/types - -## [2.4.0](https://github.com/clerk/javascript/compare/@clerk/types@2.3.0...@clerk/types@2.4.0) (2022-04-07) - -### Features - -- **types:** Introduce global UserPublicMetadata and UserUnsafeMetadata interfaces ([b1220ae](https://github.com/clerk/javascript/commit/b1220ae83afac53edac5f09ce2c332f188952ed4)) - -## [2.3.0](https://github.com/clerk/javascript/compare/@clerk/types@2.3.0-staging.0...@clerk/types@2.3.0) (2022-04-04) - -**Note:** Version bump only for package @clerk/types - -### [2.2.1](https://github.com/clerk/javascript/compare/@clerk/types@2.2.1-staging.0...@clerk/types@2.2.1) (2022-03-28) - -**Note:** Version bump only for package @clerk/types - -## [2.2.0](https://github.com/clerk/javascript/compare/@clerk/types@2.2.0-alpha.0...@clerk/types@2.2.0) (2022-03-24) - -**Note:** Version bump only for package @clerk/types - -## [2.2.0-staging.0](https://github.com/clerk/javascript/compare/@clerk/types@2.1.2-staging.0...@clerk/types@2.2.0-staging.0) (2022-03-24) - -### Features - -- **types,clerk-js,backend-core,clerk-react:** Replace thrown error with null return in getToken ([d972f93](https://github.com/clerk/javascript/commit/d972f93684a39abf3619c335cc012b61d5187100)) - -### [2.1.1-alpha.0](https://github.com/clerk/javascript/compare/@clerk/types@2.1.1-staging.0...@clerk/types@2.1.1-alpha.0) (2022-03-23) - -**Note:** Version bump only for package @clerk/types - -## [2.1.0-alpha.1](https://github.com/clerk/javascript/compare/@clerk/types@2.1.0-alpha.0...@clerk/types@2.1.0-alpha.1) (2022-03-23) - -### Features - -- **types,clerk-js:** Allow connecting external accounts from the user profile page ([180961b](https://github.com/clerk/javascript/commit/180961b61d5f6b75b5bc373f5d644cd0576831a8)) - -## [2.1.0-alpha.0](https://github.com/clerk/javascript/compare/@clerk/types@2.0.1-alpha.3...@clerk/types@2.1.0-alpha.0) (2022-03-23) - -### Features - -- **clerk-js,types:** Rename UserButton params to afterSignOutUrl, afterMultiSessionSingleSignOutUrl ([c4cb76a](https://github.com/clerk/javascript/commit/c4cb76a1133fd2308b217cacaffb086b175f6347)) - -### [2.0.1-alpha.3](https://github.com/clerk/javascript/compare/@clerk/types@2.0.1-alpha.2...@clerk/types@2.0.1-alpha.3) (2022-03-22) - -### Bug Fixes - -- **clerk-js:** Add createdUserId attribute to SignUp ([#132](https://github.com/clerk/javascript/issues/132)) ([b1884bd](https://github.com/clerk/javascript/commit/b1884bd950d9fcb27505269a09038dd571072a4e)) - -### [2.0.1-alpha.2](https://github.com/clerk/javascript/compare/@clerk/types@2.0.1-staging.0...@clerk/types@2.0.1-alpha.2) (2022-03-22) - -### Bug Fixes - -- **clerk-js:** Fix signIn.prepareFirstFactor params ([e435245](https://github.com/clerk/javascript/commit/e4352454028099f0973203aa79e548890c6327bd)) -- **clerk-js:** Make getToken use /user endpoint for integration tokens ([b61213b](https://github.com/clerk/javascript/commit/b61213b4c94952e6f21dd8e036aa6815c5c38c06)) - -### [2.0.1-alpha.1](https://github.com/clerk/javascript/compare/@clerk/types@2.0.1-staging.0...@clerk/types@2.0.1-alpha.1) (2022-03-20) - -### Bug Fixes - -- **clerk-js:** Fix signIn.prepareFirstFactor params ([e435245](https://github.com/clerk/javascript/commit/e4352454028099f0973203aa79e548890c6327bd)) -- **clerk-js:** Make getToken use /user endpoint for integration tokens ([b61213b](https://github.com/clerk/javascript/commit/b61213b4c94952e6f21dd8e036aa6815c5c38c06)) - -### [2.0.1-alpha.0](https://github.com/clerk/javascript/compare/@clerk/types@2.0.1-staging.0...@clerk/types@2.0.1-alpha.0) (2022-03-19) - -### Bug Fixes - -- **clerk-js:** Fix signIn.prepareFirstFactor params ([e435245](https://github.com/clerk/javascript/commit/e4352454028099f0973203aa79e548890c6327bd)) -- **clerk-js:** Make getToken use /user endpoint for integration tokens ([b61213b](https://github.com/clerk/javascript/commit/b61213b4c94952e6f21dd8e036aa6815c5c38c06)) - -## [2.0.0-alpha.9](https://github.com/clerk/javascript/compare/@clerk/types@1.28.3...@clerk/types@2.0.0-alpha.9) (2022-03-11) - -### Features - -- **nextjs:** Move shared NextJS SSR types to types package ([78d8c7c](https://github.com/clerk/javascript/commit/78d8c7c3e84f3926127e48c655793a0fca3cdc2c)) -- **types:** Support for oauth_apple ([57b675c](https://github.com/clerk/javascript/commit/57b675c762187d1f16cde6d2577bac71f7993438)) - -## [2.0.0-alpha.8](https://github.com/clerk/javascript/compare/@clerk/types@1.25.4...@clerk/types@2.0.0-alpha.8) (2022-02-28) - -### Features - -- **nextjs:** Move shared NextJS SSR types to types package ([78d8c7c](https://github.com/clerk/javascript/commit/78d8c7c3e84f3926127e48c655793a0fca3cdc2c)) -- **types:** Add support for oauth_microsoft ([96c1cc6](https://github.com/clerk/javascript/commit/96c1cc6817b9bbc6917ea2773498299c1ff9b951)) - -## [2.0.0-alpha.7](https://github.com/clerk/javascript/compare/@clerk/types@1.25.4...@clerk/types@2.0.0-alpha.7) (2022-02-25) - -### Features - -- **nextjs:** Move shared NextJS SSR types to types package ([8b898a1](https://github.com/clerk/javascript/commit/8b898a1aa503889921180850292fbfa3c8133ef5)) - -## [2.0.0-alpha.6](https://github.com/clerk/javascript/compare/@clerk/types@1.25.1-staging.0...@clerk/types@2.0.0-alpha.6) (2022-02-18) - -### Features - -- **nextjs:** Move shared NextJS SSR types to types package ([757dc2e](https://github.com/clerk/javascript/commit/757dc2ef1acf32f31bdad8bcab076bb710723781)) - -### [1.29.2](https://github.com/clerk/javascript/compare/@clerk/types@1.29.2-staging.1...@clerk/types@1.29.2) (2022-03-17) - -**Note:** Version bump only for package @clerk/types - -### [1.29.2-staging.1](https://github.com/clerk/javascript/compare/@clerk/types@1.29.2-staging.0...@clerk/types@1.29.2-staging.1) (2022-03-17) - -**Note:** Version bump only for package @clerk/types - -## [1.29.0](https://github.com/clerk/javascript/compare/@clerk/types@1.28.3...@clerk/types@1.29.0) (2022-03-11) - -### Features - -- **types:** Support for oauth_apple ([57b675c](https://github.com/clerk/javascript/commit/57b675c762187d1f16cde6d2577bac71f7993438)) - -### [1.28.3](https://github.com/clerk/javascript/compare/@clerk/types@1.28.3-staging.0...@clerk/types@1.28.3) (2022-03-09) - -**Note:** Version bump only for package @clerk/types - -### [1.28.1](https://github.com/clerk/javascript/compare/@clerk/types@1.28.0...@clerk/types@1.28.1) (2022-03-04) - -### Bug Fixes - -- **clerk-react,clerk-js,types:** Crate of API feedback fixes ([721ce72](https://github.com/clerk/javascript/commit/721ce7228c37b012891b2bec8caf290239164d05)) -- **types:** Add OrganizationMembership methods on types ([8bac04c](https://github.com/clerk/javascript/commit/8bac04c90ab79c6fb2e319f5c566f421e5984fa7)) -- **types:** Change type import from dot ([a1cdb79](https://github.com/clerk/javascript/commit/a1cdb79f9abde74b92911394b50e7d75107a9cfd)) - -## [1.28.0](https://github.com/clerk/javascript/compare/@clerk/types@1.27.1...@clerk/types@1.28.0) (2022-03-04) - -### Features - -- **clerk-js,clerk-react:** GetOrganization/s hook methods, fetching mechanism alignment ([fc11087](https://github.com/clerk/javascript/commit/fc110874f9a3e056cd43c773c267409dd9b318d6)) -- **clerk-js:** Add more attributes on organization models ([af010ba](https://github.com/clerk/javascript/commit/af010bac4b6e0519eff42d210049c7b3a6bda203)) -- **clerk-js:** Add organization basic resources ([09f9012](https://github.com/clerk/javascript/commit/09f90126282f757cee6f97e7eae8747abc641bb0)) -- **clerk-js:** Basic organization data shape tests ([0ca9a31](https://github.com/clerk/javascript/commit/0ca9a3114b34bfaa338e6e90f1b0d57e02b7dd58)) -- **clerk-js:** Invitation flow draft ([d6faaab](https://github.com/clerk/javascript/commit/d6faaabb7efec09a699c7e83ba24fd4bad199d6b)) -- **clerk-js:** Sign up next draft and fixes ([e2eef78](https://github.com/clerk/javascript/commit/e2eef782d644f7fd1925fee67ee81d27473255fc)) -- **clerk-js:** SignUp with organization invitation flow draft ([2a9edbd](https://github.com/clerk/javascript/commit/2a9edbd52916f9bc037f266d1f96269cf54023cb)) -- **clerk-react,clerk-js:** Add useOrganization hook using \_\_unstable attribute ([1635132](https://github.com/clerk/javascript/commit/16351321a99945d167cbf6e6ca0efdbbbf7efe5a)) - -### Bug Fixes - -- **types:** Guarantee elements not in oauth sorting array will be sorted last ([f3c2869](https://github.com/clerk/javascript/commit/f3c2869bc244fc594522ef8f889055f82d31463f)) - -### [1.27.1](https://github.com/clerk/javascript/compare/@clerk/types@1.27.0...@clerk/types@1.27.1) (2022-03-03) - -### Bug Fixes - -- **types:** Consolidate oauth provider types ([bce9ef5](https://github.com/clerk/javascript/commit/bce9ef5cbfe02e11fe71db3e34dbf4fd9be9c3ed)) - -## [1.27.0](https://github.com/clerk/javascript/compare/@clerk/types@1.26.0...@clerk/types@1.27.0) (2022-03-02) - -### Features - -- **types,clerk-js:** Introduce Notion OAuth ([#72](https://github.com/clerk/javascript/issues/72)) ([9e556d0](https://github.com/clerk/javascript/commit/9e556d00fb41dedbbd05de59947d00c720bb3d95)) - -## [1.26.0](https://github.com/clerk/javascript/compare/@clerk/types@1.25.4...@clerk/types@1.26.0) (2022-03-01) - -### Features - -- **types:** Add support for oauth_microsoft ([96c1cc6](https://github.com/clerk/javascript/commit/96c1cc6817b9bbc6917ea2773498299c1ff9b951)) - -### [1.25.4](https://github.com/clerk/javascript/compare/@clerk/types@1.25.4-staging.0...@clerk/types@1.25.4) (2022-02-24) - -**Note:** Version bump only for package @clerk/types - -### [1.25.4-staging.0](https://github.com/clerk/javascript/compare/@clerk/types@1.25.3-staging.0...@clerk/types@1.25.4-staging.0) (2022-02-24) - -### Features - -- **clerk-js:** Introduce `UserSettings.instanceIsPasswordBased` ([f72a555](https://github.com/clerk/javascript/commit/f72a555f6adb38870539e9bab63cb638c04517d6)) - -### Bug Fixes - -- **clerk-js,clerk-react:** Revert user settings work ([9a70576](https://github.com/clerk/javascript/commit/9a70576d1a47f01e6dbbfd8704f321daddcfe590)) - -### [1.25.3-staging.0](https://github.com/clerk/javascript/compare/@clerk/types@1.25.2-staging.0...@clerk/types@1.25.3-staging.0) (2022-02-17) - -**Note:** Version bump only for package @clerk/types - -### [1.25.2-staging.0](https://github.com/clerk/javascript/compare/@clerk/types@1.25.1...@clerk/types@1.25.2-staging.0) (2022-02-15) - -### Features - -- **clerk-js:** Refactor signUp utils to work with userSettings ([0eb3352](https://github.com/clerk/javascript/commit/0eb3352cf93c35eb5de162822802124248cef840)) -- **types:** Introduce 'UserSettingsResource' ([32fcf04](https://github.com/clerk/javascript/commit/32fcf0477e6db4851f4de50904c02868ba1790ee)) - -### [1.25.1](https://github.com/clerk/javascript/compare/@clerk/types@1.25.1-staging.0...@clerk/types@1.25.1) (2022-02-14) - -**Note:** Version bump only for package @clerk/types - -### 1.25.1-staging.0 (2022-02-11) - -**Note:** Version bump only for package @clerk/types diff --git a/packages/types/LICENSE b/packages/types/LICENSE deleted file mode 100644 index 66914b6af7c..00000000000 --- a/packages/types/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2022 Clerk, Inc. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/packages/types/README.md b/packages/types/README.md deleted file mode 100644 index 6e712b40bb1..00000000000 --- a/packages/types/README.md +++ /dev/null @@ -1,82 +0,0 @@ -

- - - - - - -
-

@clerk/types

-

- -
- -[![Chat on Discord](https://img.shields.io/discord/856971667393609759.svg?logo=discord)](https://clerk.com/discord) -[![Clerk documentation](https://img.shields.io/badge/documentation-clerk-green.svg)](https://clerk.com/docs?utm_source=github&utm_medium=clerk_types) -[![Follow on Twitter](https://img.shields.io/twitter/follow/ClerkDev?style=social)](https://twitter.com/intent/follow?screen_name=ClerkDev) - -[Changelog](https://github.com/clerk/javascript/blob/main/packages/types/CHANGELOG.md) -· -[Report a Bug](https://github.com/clerk/javascript/issues/new?assignees=&labels=needs-triage&projects=&template=BUG_REPORT.yml) -· -[Request a Feature](https://feedback.clerk.com/roadmap) -· -[Get help](https://clerk.com/contact/support?utm_source=github&utm_medium=clerk_types) - -
- ---- - -## Getting Started - -This package provides the TypeScript type declarations for Clerk's SDKs. - -> [!NOTE] -> Clerk's SDKs automatically include their own type definitions so typically it's not necessary to install `@clerk/types` separately. - -### Installation - -```sh -npm install @clerk/types --save-dev -``` - -## Usage - -Import types from `@clerk/types` like so: - -```ts -import type { OAuthStrategy } from '@clerk/types'; - -export type OAuthProps = { - oAuthOptions: OAuthStrategy[]; - error?: string; - setError?: React.Dispatch>; -}; -``` - -You can also [override Clerk interfaces with custom types](https://clerk.com/docs/guides/custom-types?utm_source=github&utm_medium=clerk_types). - -## Support - -You can get in touch with us in any of the following ways: - -- Join our official community [Discord server](https://clerk.com/discord) -- On [our support page](https://clerk.com/contact/support?utm_source=github&utm_medium=clerk_types) - -## Contributing - -We're open to all community contributions! If you'd like to contribute in any way, please read [our contribution guidelines](https://github.com/clerk/javascript/blob/main/docs/CONTRIBUTING.md) and [code of conduct](https://github.com/clerk/javascript/blob/main/docs/CODE_OF_CONDUCT.md). - -## Security - -`@clerk/types` follows good practices of security, but 100% security cannot be assured. - -`@clerk/types` is provided **"as is"** without any **warranty**. Use at your own risk. - -_For more information and to report security issues, please refer to our [security documentation](https://github.com/clerk/javascript/blob/main/docs/SECURITY.md)._ - -## License - -This project is licensed under the **MIT license**. - -See [LICENSE](https://github.com/clerk/javascript/blob/main/packages/types/LICENSE) for more information. diff --git a/packages/types/package.json b/packages/types/package.json deleted file mode 100644 index 6c8fbba8695..00000000000 --- a/packages/types/package.json +++ /dev/null @@ -1,59 +0,0 @@ -{ - "name": "@clerk/types", - "version": "4.96.0", - "description": "Typings for Clerk libraries.", - "keywords": [ - "clerk", - "react", - "auth", - "authentication", - "passwordless", - "session", - "jwt", - "types" - ], - "homepage": "https://clerk.com/", - "bugs": { - "url": "https://github.com/clerk/javascript/issues" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/clerk/javascript.git", - "directory": "packages/types" - }, - "license": "MIT", - "author": "Clerk", - "exports": { - ".": { - "import": { - "types": "./src/index.d.mts", - "default": "./src/index.mjs" - }, - "require": { - "types": "./src/index.d.ts", - "default": "./src/index.js" - } - } - }, - "main": "src/index.js", - "module": "src/index.js", - "types": "src/index.d.ts", - "files": [ - "src" - ], - "scripts": { - "format": "node ../../scripts/format-package.mjs", - "format:check": "node ../../scripts/format-package.mjs --check", - "lint:attw": "attw --pack . --profile node16" - }, - "dependencies": { - "@clerk/shared": "workspace:^" - }, - "devDependencies": {}, - "engines": { - "node": ">=20.9.0" - }, - "publishConfig": { - "access": "public" - } -} diff --git a/packages/types/src/index.d.mts b/packages/types/src/index.d.mts deleted file mode 100644 index fad33bb401a..00000000000 --- a/packages/types/src/index.d.mts +++ /dev/null @@ -1,8 +0,0 @@ -/** - * `@clerk/types` is now merged with `@clerk/shared` - * Please import from `@clerk/shared/types` instead. - * - * This export exists for backwards compatibility - * until we drop the package completely with the next major release. - */ -export type * from '@clerk/shared/types'; diff --git a/packages/types/src/index.d.ts b/packages/types/src/index.d.ts deleted file mode 100644 index fad33bb401a..00000000000 --- a/packages/types/src/index.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -/** - * `@clerk/types` is now merged with `@clerk/shared` - * Please import from `@clerk/shared/types` instead. - * - * This export exists for backwards compatibility - * until we drop the package completely with the next major release. - */ -export type * from '@clerk/shared/types'; diff --git a/packages/types/src/index.js b/packages/types/src/index.js deleted file mode 100644 index 591fd038c7c..00000000000 --- a/packages/types/src/index.js +++ /dev/null @@ -1,8 +0,0 @@ -/** - * `@clerk/types` is now merged with `@clerk/shared` - * Please import from `@clerk/shared/types` instead. - * - * This export exists for backwards compatibility - * until we drop the package completely with the next major release. - */ -module.exports = {}; diff --git a/packages/types/src/index.mjs b/packages/types/src/index.mjs deleted file mode 100644 index a43da491762..00000000000 --- a/packages/types/src/index.mjs +++ /dev/null @@ -1,8 +0,0 @@ -/** - * `@clerk/types` is now merged with `@clerk/shared` - * Please import from `@clerk/shared/types` instead. - * - * This export exists for backwards compatibility - * until we drop the package completely with the next major release. - */ -export {}; diff --git a/packages/vue/package.json b/packages/vue/package.json index 03cf4cca19e..5646672088a 100644 --- a/packages/vue/package.json +++ b/packages/vue/package.json @@ -63,8 +63,7 @@ "test:watch": "vitest watch" }, "dependencies": { - "@clerk/shared": "workspace:^", - "@clerk/types": "workspace:^" + "@clerk/shared": "workspace:^" }, "devDependencies": { "@testing-library/vue": "^8.1.0", diff --git a/renovate.json5 b/renovate.json5 index ebe9c99bb34..702ba9a9392 100644 --- a/renovate.json5 +++ b/renovate.json5 @@ -1215,65 +1215,6 @@ ], semanticCommitScope: "themes", }, - { - groupName: "[DEV] minor & patch dependencies", - groupSlug: "types-dev-minor", - matchFileNames: [ - "packages/types/package.json", - ], - matchDepTypes: [ - "devDependencies", - ], - matchUpdateTypes: [ - "patch", - "minor", - ], - automerge: true, - semanticCommitScope: "types", - }, - { - groupName: "[DEV] major dependencies", - groupSlug: "types-dev-major", - matchFileNames: [ - "packages/types/package.json", - ], - matchDepTypes: [ - "devDependencies", - ], - matchUpdateTypes: [ - "major", - ], - semanticCommitScope: "types", - }, - { - groupName: "minor & patch dependencies", - groupSlug: "types-prod-minor", - matchFileNames: [ - "packages/types/package.json", - ], - matchDepTypes: [ - "dependencies", - ], - matchUpdateTypes: [ - "patch", - "minor", - ], - semanticCommitScope: "types", - }, - { - groupName: "major dependencies", - groupSlug: "types-prod-major", - matchFileNames: [ - "packages/types/package.json", - ], - matchDepTypes: [ - "dependencies", - ], - matchUpdateTypes: [ - "major", - ], - semanticCommitScope: "types", - }, { groupName: "[DEV] minor & patch dependencies", groupSlug: "upgrade-dev-minor", diff --git a/scripts/canary.mjs b/scripts/canary.mjs index be612b96234..54e2b062478 100755 --- a/scripts/canary.mjs +++ b/scripts/canary.mjs @@ -15,7 +15,6 @@ const snapshot = `--- '@clerk/shared': patch '@clerk/themes': patch '@clerk/react': patch -'@clerk/types': patch '@clerk/expo': patch '@clerk/express': patch '@clerk/testing': patch diff --git a/scripts/snapshot.mjs b/scripts/snapshot.mjs index 7d681b16061..08c5a4db87e 100755 --- a/scripts/snapshot.mjs +++ b/scripts/snapshot.mjs @@ -15,7 +15,6 @@ const snapshot = `--- '@clerk/shared': patch '@clerk/themes': patch '@clerk/react': patch -'@clerk/types': patch '@clerk/expo': patch '@clerk/express': patch '@clerk/testing': patch diff --git a/turbo.json b/turbo.json index 26fc5592015..51e2346bdfa 100644 --- a/turbo.json +++ b/turbo.json @@ -360,7 +360,7 @@ "outputLogs": "new-only" }, "//#typedoc:generate": { - "dependsOn": ["@clerk/nextjs#build", "@clerk/react#build", "@clerk/shared#build", "@clerk/types#build"], + "dependsOn": ["@clerk/nextjs#build", "@clerk/react#build", "@clerk/shared#build"], "inputs": ["tsconfig.typedoc.json", "typedoc.config.mjs"], "outputs": [".typedoc/**"], "outputLogs": "new-only" From 2ab0cc1d774463f1d4971f2c6f331898b77a7679 Mon Sep 17 00:00:00 2001 From: Nikos Douvlis Date: Fri, 31 Oct 2025 07:41:51 +0200 Subject: [PATCH 2/4] chore(repo): Migrate all packages to shared/types --- .../AuthenticateWithRedirectCallback.astro | 2 +- .../astro-components/control/ProtectCSR.astro | 2 +- .../interactive/CreateOrganization.astro | 2 +- .../interactive/GoogleOneTap.astro | 2 +- .../interactive/OrganizationList.astro | 2 +- .../OrganizationProfile.astro | 2 +- .../interactive/OrganizationSwitcher.astro | 2 +- .../OrganizationSwitcher.astro | 2 +- .../interactive/PricingTable.astro | 2 +- .../astro-components/interactive/SignIn.astro | 2 +- .../astro-components/interactive/SignUp.astro | 2 +- .../interactive/UserAvatar.astro | 2 +- .../interactive/UserButton/UserButton.astro | 2 +- .../interactive/UserProfile/UserProfile.astro | 2 +- .../interactive/Waitlist.astro | 2 +- .../unstyled/CheckoutButton.astro | 2 +- .../unstyled/PlanDetailsButton.astro | 2 +- .../unstyled/SignInButton.astro | 2 +- .../unstyled/SignOutButton.astro | 2 +- .../unstyled/SignUpButton.astro | 2 +- .../unstyled/SubscriptionDetailsButton.astro | 2 +- .../src/integration/create-integration.ts | 2 +- .../src/internal/create-clerk-instance.ts | 2 +- .../mount-clerk-astro-js-components.ts | 2 +- packages/astro/src/react/CheckoutButton.tsx | 2 +- .../astro/src/react/PlanDetailsButton.tsx | 2 +- packages/astro/src/react/SignInButton.tsx | 2 +- packages/astro/src/react/SignOutButton.tsx | 2 +- packages/astro/src/react/SignUpButton.tsx | 2 +- .../src/react/SubscriptionDetailsButton.tsx | 2 +- .../astro/src/react/controlComponents.tsx | 2 +- packages/astro/src/react/hooks.ts | 2 +- packages/astro/src/react/types.ts | 5 +- packages/astro/src/react/uiComponents.tsx | 2 +- packages/astro/src/react/utils.tsx | 2 +- packages/astro/src/server/clerk-middleware.ts | 2 +- packages/astro/src/stores/external.ts | 2 +- packages/astro/src/stores/internal.ts | 2 +- packages/astro/src/types.ts | 2 +- .../src/__tests__/createRedirect.test.ts | 2 +- .../backend/src/api/endpoints/APIKeysApi.ts | 2 +- .../api/endpoints/AllowlistIdentifierApi.ts | 2 +- .../backend/src/api/endpoints/BillingApi.ts | 2 +- .../api/endpoints/BlocklistIdentifierApi.ts | 2 +- .../backend/src/api/endpoints/ClientApi.ts | 2 +- .../src/api/endpoints/InvitationApi.ts | 2 +- .../src/api/endpoints/JwtTemplatesApi.ts | 2 +- .../backend/src/api/endpoints/MachineApi.ts | 2 +- .../src/api/endpoints/OAuthApplicationsApi.ts | 2 +- .../src/api/endpoints/OrganizationApi.ts | 2 +- .../src/api/endpoints/SamlConnectionApi.ts | 2 +- .../backend/src/api/endpoints/SessionApi.ts | 2 +- packages/backend/src/api/endpoints/UserApi.ts | 2 +- .../src/api/endpoints/WaitlistEntryApi.ts | 2 +- packages/backend/src/api/request.ts | 2 +- packages/backend/src/api/resources/Client.ts | 2 +- .../backend/src/api/resources/CommercePlan.ts | 2 +- .../src/api/resources/CommerceSubscription.ts | 2 +- .../api/resources/CommerceSubscriptionItem.ts | 2 +- packages/backend/src/api/resources/Enums.ts | 2 +- packages/backend/src/api/resources/JSON.ts | 2 +- .../src/api/resources/SignUpAttempt.ts | 2 +- .../backend/src/api/resources/Verification.ts | 2 +- packages/backend/src/api/resources/index.ts | 2 +- packages/backend/src/createRedirect.ts | 2 +- packages/backend/src/index.ts | 2 +- .../backend/src/jwt/__tests__/signJwt.test.ts | 2 +- packages/backend/src/jwt/verifyJwt.ts | 2 +- .../src/tokens/__tests__/authObjects.test.ts | 2 +- .../src/tokens/__tests__/authStatus.test.ts | 2 +- packages/backend/src/tokens/authObjects.ts | 2 +- packages/backend/src/tokens/authStatus.ts | 2 +- .../backend/src/tokens/authenticateContext.ts | 2 +- packages/backend/src/tokens/request.ts | 2 +- packages/backend/src/tokens/types.ts | 2 +- packages/backend/src/tokens/verify.ts | 3 +- .../elements/src/internals/constants/index.ts | 2 +- .../elements/src/internals/errors/index.ts | 2 +- .../internals/machines/form/form.machine.ts | 2 +- .../machines/shared/shared.actions.ts | 2 +- .../machines/shared/shared.actors.ts | 2 +- .../internals/machines/shared/shared.types.ts | 2 +- .../__tests__/router.selectors.test.ts | 2 +- .../sign-in/reset-password.machine.ts | 2 +- .../machines/sign-in/router.machine.ts | 2 +- .../machines/sign-in/router.types.ts | 2 +- .../machines/sign-in/start.machine.ts | 2 +- .../internals/machines/sign-in/start.types.ts | 2 +- .../sign-in/utils/starting-factors.ts | 4 +- .../machines/sign-in/verification.machine.ts | 2 +- .../machines/sign-in/verification.types.ts | 2 +- .../machines/sign-up/continue.machine.ts | 2 +- .../machines/sign-up/router.machine.ts | 2 +- .../machines/sign-up/router.types.ts | 2 +- .../machines/sign-up/start.machine.ts | 2 +- .../internals/machines/sign-up/start.types.ts | 2 +- .../sign-up/utils/fields-to-params.ts | 2 +- .../machines/sign-up/verification.machine.ts | 2 +- .../machines/sign-up/verification.types.ts | 2 +- .../third-party/third-party.actors.ts | 2 +- .../machines/third-party/third-party.types.ts | 2 +- .../internals/machines/types/router.types.ts | 2 +- .../elements/src/react/common/connections.tsx | 2 +- .../elements/src/react/common/form/field.tsx | 2 +- .../utils/determine-input-type-from-name.ts | 2 +- packages/elements/src/react/common/link.tsx | 2 +- .../elements/src/react/common/loading.tsx | 2 +- .../hooks/use-third-party-provider.hook.ts | 2 +- packages/elements/src/react/router/next.ts | 2 +- .../choose-session/choose-session.hooks.ts | 2 +- .../src/react/sign-in/choose-strategy.tsx | 2 +- .../sign-in/context/strategies.context.ts | 2 +- .../src/react/sign-in/verifications.tsx | 2 +- .../utils/generate-password-error-text.ts | 2 +- .../src/react/utils/map-scope-to-strategy.ts | 8 +- packages/elements/src/types/clerk.d.ts | 6 +- .../src/utils/third-party-strategies.ts | 4 +- .../src/ClerkExpoPasskeys.types.ts | 2 +- packages/expo/src/cache/ResourceCache.ts | 2 +- .../src/cache/dummy-data/client-resource.ts | 2 +- .../cache/dummy-data/environment-resource.ts | 2 +- packages/expo/src/hooks/useAuth.ts | 2 +- packages/expo/src/hooks/useOAuth.ts | 2 +- packages/expo/src/hooks/useSSO.ts | 8 +- .../useLocalCredentials/shared.ts | 2 +- .../useLocalCredentials.ts | 2 +- packages/expo/src/provider/ClerkProvider.tsx | 2 +- .../provider/singleton/createClerkInstance.ts | 2 +- packages/expo/src/provider/singleton/types.ts | 2 +- packages/express/env.d.ts | 2 +- packages/express/src/types.ts | 2 +- packages/localizations/package.json | 2 +- packages/localizations/src/ar-SA.ts | 2 +- packages/localizations/src/be-BY.ts | 2 +- packages/localizations/src/bg-BG.ts | 2 +- packages/localizations/src/bn-IN.ts | 2 +- packages/localizations/src/ca-ES.ts | 2 +- packages/localizations/src/cs-CZ.ts | 2 +- packages/localizations/src/da-DK.ts | 2 +- packages/localizations/src/de-DE.ts | 2 +- packages/localizations/src/el-GR.ts | 2 +- packages/localizations/src/en-GB.ts | 2 +- packages/localizations/src/en-US.ts | 2 +- packages/localizations/src/es-CR.ts | 2 +- packages/localizations/src/es-ES.ts | 2 +- packages/localizations/src/es-MX.ts | 2 +- packages/localizations/src/es-UY.ts | 2 +- packages/localizations/src/fa-IR.ts | 2 +- packages/localizations/src/fi-FI.ts | 2 +- packages/localizations/src/fr-FR.ts | 2 +- packages/localizations/src/he-IL.ts | 2 +- packages/localizations/src/hi-IN.ts | 2 +- packages/localizations/src/hr-HR.ts | 2 +- packages/localizations/src/hu-HU.ts | 2 +- packages/localizations/src/id-ID.ts | 2 +- packages/localizations/src/is-IS.ts | 2 +- packages/localizations/src/it-IT.ts | 2 +- packages/localizations/src/ja-JP.ts | 2 +- packages/localizations/src/kk-KZ.ts | 2 +- packages/localizations/src/ko-KR.ts | 2 +- packages/localizations/src/mn-MN.ts | 2 +- packages/localizations/src/ms-MY.ts | 2 +- packages/localizations/src/nb-NO.ts | 2 +- packages/localizations/src/nl-BE.ts | 2 +- packages/localizations/src/nl-NL.ts | 2 +- packages/localizations/src/pl-PL.ts | 2 +- packages/localizations/src/pt-BR.ts | 2 +- packages/localizations/src/pt-PT.ts | 2 +- packages/localizations/src/ro-RO.ts | 2 +- packages/localizations/src/ru-RU.ts | 2 +- packages/localizations/src/sk-SK.ts | 2 +- packages/localizations/src/sr-RS.ts | 2 +- packages/localizations/src/sv-SE.ts | 2 +- packages/localizations/src/ta-IN.ts | 2 +- packages/localizations/src/te-IN.ts | 2 +- packages/localizations/src/th-TH.ts | 2 +- packages/localizations/src/tr-TR.ts | 2 +- packages/localizations/src/uk-UA.ts | 2 +- packages/localizations/src/utils/generate.ts | 2 +- packages/localizations/src/vi-VN.ts | 2 +- packages/localizations/src/zh-CN.ts | 2 +- packages/localizations/src/zh-TW.ts | 2 +- .../src/app-router/server/ClerkProvider.tsx | 2 +- .../app-router/server/controlComponents.tsx | 2 +- .../src/app-router/server/currentUser.ts | 2 +- .../app-router/server/keyless-provider.tsx | 2 +- .../PromisifiedAuthProvider.tsx | 2 +- .../hooks/useEnforceCatchAllRoute.tsx | 2 +- .../hooks/useEnforceRoutingProps.tsx | 2 +- packages/nextjs/src/server/createGetAuth.ts | 2 +- .../src/server/data/getAuthDataFromRequest.ts | 2 +- .../nextjs/src/server/keyless-telemetry.ts | 2 +- packages/nextjs/src/server/protect.ts | 2 +- packages/nextjs/src/server/routeMatcher.ts | 2 +- packages/nextjs/src/types.ts | 2 +- packages/nuxt/src/module.ts | 2 +- packages/nuxt/src/runtime/plugin.ts | 2 +- .../src/runtime/server/clerkMiddleware.ts | 2 +- packages/nuxt/src/runtime/server/types.ts | 2 +- packages/nuxt/src/runtime/server/utils.ts | 2 +- packages/react-router/src/client/types.ts | 2 +- .../react-router/src/client/uiComponents.tsx | 2 +- .../src/server/clerkMiddleware.ts | 2 +- packages/react-router/src/server/getAuth.ts | 2 +- packages/react-router/src/server/types.ts | 2 +- packages/shared/src/authorization.ts | 3 + packages/shared/src/browser.ts | 15 +- packages/shared/src/date.ts | 15 ++ packages/shared/src/devBrowser.ts | 3 + packages/shared/src/eventBus.ts | 1 + packages/shared/src/loadScript.ts | 3 + packages/shared/src/oauth.ts | 3 + packages/shared/src/organization.ts | 1 + packages/shared/src/poller.ts | 3 + packages/shared/src/proxy.ts | 12 + packages/shared/src/router/react.tsx | 6 + packages/shared/src/types/authConfig.ts | 1 + packages/shared/src/types/billing.ts | 1 + packages/shared/src/types/clerk.ts | 222 +++++++++++++----- packages/shared/src/types/jwt.ts | 3 + packages/shared/src/types/jwtv2.ts | 1 + packages/shared/src/types/localization.ts | 2 + .../shared/src/types/organizationDomain.ts | 1 + .../src/types/organizationMembership.ts | 1 + .../types/organizationMembershipRequest.ts | 1 + .../src/types/organizationSuggestion.ts | 1 + packages/shared/src/types/pagination.ts | 3 + packages/shared/src/types/redirects.ts | 2 + packages/shared/src/types/session.ts | 1 + packages/shared/src/types/state.ts | 2 + .../src/types/userOrganizationInvitation.ts | 1 + packages/shared/src/types/utils copy.ts | 4 +- packages/shared/src/url.ts | 42 ++++ packages/shared/src/utils/allSettled.ts | 1 + .../shared/src/utils/createDeferredPromise.ts | 1 + packages/shared/src/utils/handleValueOrFn.ts | 3 + packages/shared/src/versionSelector.ts | 1 + packages/shared/src/webauthn.ts | 9 + .../tanstack-react-start/src/client/types.ts | 2 +- .../src/client/uiComponents.tsx | 2 +- .../src/server/clerkMiddleware.ts | 2 +- .../tanstack-react-start/src/server/types.ts | 2 +- packages/testing/src/common/helpers-utils.ts | 2 +- .../testing/src/cypress/custom-commands.ts | 2 +- packages/testing/src/playwright/helpers.ts | 2 +- packages/upgrade/src/constants/sdks.js | 2 +- pnpm-lock.yaml | 52 +--- 247 files changed, 532 insertions(+), 339 deletions(-) diff --git a/packages/astro/src/astro-components/control/AuthenticateWithRedirectCallback.astro b/packages/astro/src/astro-components/control/AuthenticateWithRedirectCallback.astro index aef20144140..43032416254 100644 --- a/packages/astro/src/astro-components/control/AuthenticateWithRedirectCallback.astro +++ b/packages/astro/src/astro-components/control/AuthenticateWithRedirectCallback.astro @@ -1,5 +1,5 @@ --- -import type { HandleOAuthCallbackParams } from '@clerk/types'; +import type { HandleOAuthCallbackParams } from '@clerk/shared/types'; type Props = HandleOAuthCallbackParams; diff --git a/packages/astro/src/astro-components/control/ProtectCSR.astro b/packages/astro/src/astro-components/control/ProtectCSR.astro index cee284935c5..e3aa5ca8f3c 100644 --- a/packages/astro/src/astro-components/control/ProtectCSR.astro +++ b/packages/astro/src/astro-components/control/ProtectCSR.astro @@ -44,7 +44,7 @@ const {