Change Log
May 7, 2026 · View on GitHub
6.10.0
Minor Changes
- Removed unused internal OAuthConsent prop. (#8492) by @wobsoriano
Patch Changes
- Updated dependencies [
7a5892f]:- @clerk/shared@4.10.1
6.9.0
Minor Changes
- Add experimental
<ConfigureSSO />component. Not ready for usage yet. (#8427) by @LauraBeatris
Patch Changes
-
Move ownership of the clerk-rq
QueryClientfrom@clerk/clerk-jsinto@clerk/shared. TheQueryObserver(constructed in@clerk/shared) and theQueryobjects it observes now always come from a single@tanstack/query-coreresolution — the cross-bundle API contract that produced #8428 (Query.isFetched is not a function) no longer exists. (#8434) by @jacekradkoThis removes the undocumented
clerk.__internal_queryClientgetter from both@clerk/clerk-jsand@clerk/react'sIsomorphicClerk. TheQueryClientis owned by an internal singleton in@clerk/shared, lazily instantiated on the browser only — server renders returnundefined, preserving SSR safety and avoiding cross-request cache sharing.@tanstack/query-coreis no longer a direct dependency of@clerk/clerk-js; it remains a dep of@clerk/sharedand resolves consumer-side as before. -
Updated dependencies [
9e9230c,68d32df,1c27d4d,1001193]:- @clerk/shared@4.10.0
6.8.0
Minor Changes
-
Add internal API methods to manage enterprise connections (#8421) by @LauraBeatris
-
Expose
OAuthConsentas a public component export across React-based SDKs. (#8381) by @wobsorianoExample:
import { OAuthConsent } from '@clerk/react'; export default function Page() { return <OAuthConsent />; }
Patch Changes
6.7.9
Patch Changes
-
Raise the
@tanstack/query-corefloor to^5.100.6in the repo catalog and consume it from@clerk/sharedand@clerk/clerk-jsso the version baked into the productionclerk-jsCDN bundle stays in lockstep with what consumer-side@clerk/sharedresolves to. (#8432) by @jacekradkoFixes a runtime crash (
TypeError: e.isFetched is not a function) introduced when consumer dedupe resolvedquery-coreto5.100.x(which addsQuery.isFetched()) while the published CDN bundle still embedded5.90.16. The newQueryObserverthen calledisFetched()onQueryobjects from the older bundled version. -
Updated dependencies [
1bfd8ab]:- @clerk/shared@4.8.7
6.7.8
Patch Changes
-
Auto-proxy FAPI requests for
.vercel.appsubdomains. When deployed to a.vercel.appdomain without explicit proxy or domain configuration, the SDK automatically routes Frontend API requests through/__clerkon the app's own origin. This enables Clerk production mode on Vercel deployments without manual proxy setup. (#8035) by @brkalow -
Loosen
@tanstack/query-coredependency from an exact pin to a caret range (^5.90.16) so it can dedupe with consumer-installed@tanstack/react-queryversions. This avoids Viteresolve.deduperesolution failures under Bun when two divergent copies ofquery-coreend up nested instead of hoisted. (#8417) by @jacekradko -
Updated dependencies [
9b57986,a9f9b29]:- @clerk/shared@4.8.6
6.7.7
Patch Changes
- Updated dependencies [
da76490]:- @clerk/shared@4.8.5
6.7.6
Patch Changes
6.7.5
Patch Changes
-
Fix an authorization bypass in
has(),auth.protect(), and related predicates when a single call combined conditions from more than one dimension (for example,{ permission, reverification }or{ feature, permission }). A dimension that should have denied the request was treated as indeterminate and ignored by the combining logic, allowing other passing dimensions to carry the result and authorize the call when it should have failed closed. (#8372) by @nikosdouvlisBehavior is now:
- When a requested dimension cannot be satisfied because the underlying session data is missing, malformed, or invalid, the call denies. Previously these cases were treated as indeterminate and ignored, which could let another passing dimension carry the call.
- Fixed a minor bug where
session.checkAuthorization()was building authorization options from the membership row id instead of the organization id.
Single-condition role, permission, feature, and plan checks (
has({ permission }), etc.) are unchanged. Single-conditionreverificationchecks are unchanged on well-formed session data; calls with a missing or malformedfactorVerificationAgepayload now deny where they previously returned indeterminate. Callback-formauth.protect(has => ...)is unaffected unless the callback itself invokes the affected shapes.Separately,
auth.protect()in@clerk/nextjspreviously discarded authorization params (role,permission,feature,plan,reverification) whenever the same argument object also containedunauthenticatedUrl,unauthorizedUrl, ortoken. TypeScript's excess-property check caught this for inline object literals but did not apply once the argument was assigned to a variable, spread, or used from JavaScript. Mixed-shape calls likeauth.protect({ role: 'org:admin', unauthorizedUrl: '/denied' })orauth.protect({ permission: 'org:X', token: 'session_token' })now correctly enforce the authorization check instead of silently letting every authenticated caller through. -
Updated dependencies [
d52b311]:- @clerk/shared@4.8.3
6.7.4
Patch Changes
-
fix(clerk-js): Prevent background token refresh from destroying sessions on mobile (#8303) by @chriscanin
On iOS, background thread throttling can starve the JS event loop for hours (e.g., overnight audio apps). When the SDK's background refresh timer eventually fires with stale credentials, the resulting 401 would trigger
handleUnauthenticated()and destroy the session even though it's still valid on the server.Adds an early return in
#refreshTokenInBackground(), gated to headless/mobile runtimes only (Expo setsruntimeEnvironmentto'headless'). If the token has already expired when the refresh timer fires, bail out instead of sending a request with stale credentials. The next foregroundgetToken()call handles token acquisition through the normal path with proper retry logic.
6.7.3
Patch Changes
-
Added development runtime error when mounting
<OAuthconsent />without active session. (#8335) by @wobsoriano -
Updated dependencies [
c7b0f47,34762e8]:- @clerk/shared@4.8.2
6.7.2
Patch Changes
- Updated dependencies [
b0b6675]:- @clerk/shared@4.8.1
6.7.1
Patch Changes
- Updated dependencies [
dc2de16]:- @clerk/shared@4.8.0
6.7.0
Minor Changes
- Add
OAuthApplicationresource andgetConsentInfo()method for retrieving OAuth consent information, enabling custom OAuth consent flows. (#8275) by @jfoshee
Patch Changes
6.6.0
Minor Changes
Patch Changes
-
Improve types for
signIn.createandsignUp.createmethods. (#8267) by @dstaley -
Fixed API keys "Revoke" confirmation modal being stuck disabled when using a localization. (#8258) by @wobsoriano
-
Updated dependencies [
fdac10e,4e3cb0a,aa32bbc]:- @clerk/shared@4.6.0
6.5.0
Minor Changes
-
API keys is now generally available. (#8059) by @wobsoriano
<APIKeys />componentimport { APIKeys } from '@clerk/react'; export default function Page() { return <APIKeys />; }useAPIKeys()hookimport { useAPIKeys } from '@clerk/react'; export default function CustomAPIKeys() { const { data, isLoading, page, pageCount, fetchNext, fetchPrevious } = useAPIKeys({ pageSize: 10, initialPage: 1, }); if (isLoading) return <div>Loading...</div>; return ( <ul> {data?.map(key => ( <li key={key.id}>{key.name}</li> ))} </ul> ); }
Patch Changes
- Updated dependencies [
2c06a5f]:- @clerk/shared@4.5.0
6.4.1
Patch Changes
-
Add
providerandlogoPublicUrltoEnterpriseConnectionresource (#8203) by @LauraBeatris -
Updated dependencies [
b289566,636b496,aa63796]:- @clerk/shared@4.4.1
6.4.0
Minor Changes
-
Add support for seat-based billing plans in Clerk Billing. (#8006) by @dstaley
-
Add
EnterpriseConnectionresource (#8175) by @LauraBeatrisUser.getEnterpriseConnections()was wrongly typed as returningEnterpriseAccountConnectionResource[], it now returnsEnterpriseConnectionResource[] -
Allow to link external accounts to enterprise accounts via
UserProfile(#8091) by @NicolasLopes7
Patch Changes
6.3.3
Patch Changes
-
Fix dev browser token being read from a stale non-partitioned cookie when
partitionedCookiesis enabled. The token is now kept in memory so FAPI requests always use the authoritative value. (#8161) by @brkalow -
Fix
satelliteAutoSyncto default tofalseas documented. Previously, not passing the prop resulted inundefined, which was treated astruedue to a strict equality check (=== false). This preserved Core 2 auto-sync behavior instead of the intended Core 3 default. The check is now!== true, so bothundefinedandfalseskip automatic satellite sync. (#8001) by @nikosdouvlis -
Fix token cache refresh timer leak that caused accelerating token refresh requests after
session.touch()or organization switching. (#8098) by @jacekradko -
Skip
expired_tokenretry flow when Session Minter is enabled. WhensessionMinteris on, the token is sent in the POST body, so the retry-with-expired-token fallback is unnecessary. The retry flow is preserved for non-Session Minter mode. (#8108) by @nikosdouvlis -
Send
force_origin=truebody param on/tokensrequests whenskipCacheis true, so FAPI Proxy routes to origin instead of Session Minter. (#8106) by @nikosdouvlis
6.3.2
Patch Changes
-
Send previous session token on
/tokensrequests to support Session Minter edge token minting. (#8105) by @nikosdouvlis -
Add optional
intentparameter tosession.touch()to indicate why the touch was triggered (focus, session switch, or org switch). This enables the backend to skip expensive client piggybacking for focus-only touches. by @nikosdouvlis -
Updated dependencies [
f0533a2,e00ec97]:- @clerk/shared@4.3.2
6.3.1
Patch Changes
-
Ensure clerk-js accepts
proxyUrlanddomainin non-browser environments. (#8095) by @brkalow -
Updated dependencies [
b9cb6e5]:- @clerk/shared@4.3.1
6.3.0
Minor Changes
Patch Changes
- Updated dependencies [
de1386f]:- @clerk/shared@4.3.0
6.2.0
Minor Changes
Patch Changes
- Updated dependencies [
3e63793]:- @clerk/shared@4.2.0
6.1.0
Minor Changes
Patch Changes
-
Narrow the error conditions that trigger the unauthenticated flow (sign-out) to only high-confidence authentication failures (401, 422). Previously, all 4xx errors — including 429 rate limits — were treated as auth failures, which could sign users out during transient rate limiting. Non-auth errors from
setActivenow propagate to the caller instead of being silently swallowed. (#8004) by @brkalow -
Fix random sign-outs when the browser temporarily loses network connectivity. (#7912) by @bratsos
-
Updated dependencies [
776ee1b,7fb870d,09cb6d4]:- @clerk/shared@4.1.0
6.0.0
Major Changes
-
Align experimental/unstable prefixes to use consistent naming: (#7361) by @brkalow
- Renamed all
__unstable_*methods to__internal_*(for internal APIs) - Renamed all
experimental__*andexperimental_*methods to__experimental_*(for beta features) - Removed deprecated billing-related props (
__unstable_manageBillingUrl,__unstable_manageBillingLabel,__unstable_manageBillingMembersLimit) andexperimental__forceOauthFirst
- Renamed all
-
Renamed unstable methods to internal: (#7925) by @jacekradko
__unstable__environment→__internal_environment__unstable__updateProps→__internal_updateProps__unstable__setEnvironment→__internal_setEnvironment__unstable__onBeforeRequest→__internal_onBeforeRequest__unstable__onAfterResponse→__internal_onAfterResponse__unstable__onBeforeSetActive→__internal_onBeforeSetActive(window global)__unstable__onAfterSetActive→__internal_onAfterSetActive(window global)
-
Add proactive session token refresh. Tokens are now automatically refreshed in the background before they expire, reducing latency for API calls near token expiration. (#7317) by @jacekradko
-
Updated returned values of
Clerk.checkout()anduseCheckout. (#7232) by @panteliselefVanilla JS
// Before const { getState, subscribe, confirm, start, clear, finalize } = Clerk.checkout({ planId: 'xxx', planPeriod: 'annual', }); getState().isStarting; getState().isConfirming; getState().error; getState().checkout; getState().fetchStatus; getState().status; // After const { checkout, errors, fetchStatus } = Clerk.checkout({ planId: 'xxx', planPeriod: 'annual' }); checkout.plan; // null or defined based on `checkout.status` checkout.status; checkout.start; checkout.confirm;React
// Before const { id, plan, status, start, confirm, paymentSource } = useCheckout({ planId: 'xxx', planPeriod: 'annual' }); // After const { checkout, errors, fetchStatus } = usecCheckout({ planId: 'xxx', planPeriod: 'annual' }); checkout.plan; // null or defined based on `checkout.status` checkout.status; checkout.start; checkout.confirm; -
Remove deprecated
samlproperty fromUserSettingsin favor ofenterpriseSSO(#7063) by @LauraBeatris -
Remove deprecated
samlAccountin favor ofenterpriseAccount(#7258) by @LauraBeatris -
Remove
clerkJSVariantoption and headless bundle. UseprefetchUI={false}instead. (#7629) by @jacekradko -
Require Node.js 20.9.0 in all packages (#7262) by @jacekradko
-
Remove all previously deprecated UI props across the Next.js, React and clerk-js SDKs. The legacy
afterSign(In|Up)Url/redirectUrlprops,UserButtonsign-out overrides, organizationhideSlugflags,OrganizationSwitcher'safterSwitchOrganizationUrl,Client.activeSessions,setActive({ beforeEmit }), and theClerkMiddlewareAuthObjecttype alias are no longer exported. Components now rely solely on the new redirect options and server-side configuration. (#7243) by @jacekradko -
Remove deprecated
samlstrategy in favor ofenterprise_sso(#7326) by @LauraBeatris -
getToken()now throwsClerkOfflineErrorinstead of returningnullwhen the client is offline. (#7598) by @bratsosThis makes it explicit that a token fetch failure was due to network conditions, not authentication state. Previously, returning
nullcould be misinterpreted as "user is signed out," potentially causing the cached token to be cleared.To handle this change, catch
ClerkOfflineErrorfromgetToken()calls:import { ClerkOfflineError } from '@clerk/react/errors'; try { const token = await session.getToken(); } catch (error) { if (ClerkOfflineError.is(error)) { // Handle offline scenario - show offline UI, retry later, etc. } throw error; }
Minor Changes
-
Add support for email link based verification to SignUpFuture (#7745) by @dstaley
-
Surface organization creation defaults with prefilled form fields and advisory warnings (#7488) by @LauraBeatris
-
Reuse SignIn and SignUp instances on Client when processing Client response JSON. (#7803) by @dstaley
-
addListenernow takes askipInitialEmitoption that can be used to avoid emitting immediately after subscribing. (#7925) by @jacekradko -
UI components are now provided by the new
@clerk/uipackage, loaded automatically from the Clerk CDN. (#7925) by @jacekradko -
Don't display impersonation overlay for agents (#7933) by @tmilewski
-
Hide the "Remove" action from the last available 2nd factor strategy when MFA is required (#7729) by @octoper
-
Renames
mountTaskSetupMfaandunmountTaskSetupMfatomountTaskSetupMFAandunmountTaskSetupMFArespectively (#7859) by @octoper -
Add
unsafe_disableDevelopmentModeConsoleWarningoption to disable the development mode warning that's emitted to the console when Clerk is first loaded. (#7505) by @dstaley -
Refactor React SDK hooks to subscribe to auth state via
useSyncExternalStore. This is a mostly internal refactor to unlock future improvements, but includes a few breaking changes and fixes. (#7411) by @EphemBreaking changes:
- Removes ability to pass in
initialAuthStatetouseAuth- This was added for internal use and is no longer needed
- Instead pass in
initialStateto the<ClerkProvider>, ordynamicif using the Next package - See your specific SDK documentation for more information on Server Rendering
Fixes:
- A bug where
useAuthwould sometimes briefly return theinitialStaterather thanundefined- This could in certain situations incorrectly lead to a brief
user: nullon the first page after signing in, indicating a signed out state
- This could in certain situations incorrectly lead to a brief
- Hydration mismatches in certain rare scenarios where subtrees would suspend and hydrate only after
clerk-jshad loaded fully
- Removes ability to pass in
-
Add support for email code MFA to SignInFuture (#7594) by @dstaley
-
Add additional verification fields to SignUpFuture. (#7666) by @dstaley
-
Add support for resetting a password via phone code. (#7824) by @dstaley
-
Disable role selection in
OrganizationProfileduring role set migration (#7534) by @LauraBeatris -
Add Safari ITP (Intelligent Tracking Prevention) cookie refresh support. (#7623) by @nikosdouvlis
Safari's ITP limits cookies set via JavaScript to 7 days. When a session cookie is close to expiring (within 8 days), Clerk now automatically routes navigations through a
/v1/client/touchendpoint to refresh the cookie via a full-page navigation, bypassing the 7-day cap.For developers using a custom
navigatecallback insetActive(), a newdecorateUrlfunction is passed to the callback. Use it to wrap your destination URL:await clerk.setActive({ session: newSession, navigate: ({ decorateUrl }) => { const url = decorateUrl('/dashboard'); window.location.href = url; }, });The
decorateUrlfunction returns the original URL unchanged when the Safari ITP fix is not needed, so it's safe to always use it. -
Add
satelliteAutoSyncoption to optimize satellite app handshake behavior (#7597) by @nikosdouvlisSatellite apps currently trigger a handshake redirect on every first page load, even when no cookies exist. This creates unnecessary redirects to the primary domain for apps where most users aren't authenticated.
New option:
satelliteAutoSync(default:false)- When
false(default): Skip automatic handshake if no session cookies exist, only trigger after explicit sign-in action - When
true: Satellite apps automatically trigger handshake on first load (previous behavior)
New query parameter:
__clerk_sync__clerk_sync=1(NeedsSync): Triggers handshake after returning from primary sign-in__clerk_sync=2(Completed): Prevents re-sync loop after handshake completes
Backwards compatible: Still reads legacy
__clerk_synced=trueparameter.SSR redirect fix: Server-side redirects (e.g.,
redirectToSignIn()from middleware) now correctly add__clerk_sync=1to the return URL for satellite apps. This ensures the handshake is triggered when the user returns from sign-in on the primary domain.CSR redirect fix: Client-side redirects now add
__clerk_sync=1to all redirect URL variants (forceRedirectUrl,fallbackRedirectUrl) for satellite apps, not just the defaultredirectUrl.Usage
SSR (Next.js Middleware)
import { clerkMiddleware } from '@clerk/nextjs/server'; export default clerkMiddleware({ isSatellite: true, domain: 'satellite.example.com', signInUrl: 'https://primary.example.com/sign-in', // Set to true to automatically sync auth state on first load satelliteAutoSync: true, });SSR (TanStack Start)
import { clerkMiddleware } from '@clerk/tanstack-react-start/server'; export default clerkMiddleware({ isSatellite: true, domain: 'satellite.example.com', signInUrl: 'https://primary.example.com/sign-in', // Set to true to automatically sync auth state on first load satelliteAutoSync: true, });CSR (ClerkProvider)
<ClerkProvider publishableKey='pk_...' isSatellite={true} domain='satellite.example.com' signInUrl='https://primary.example.com/sign-in' // Set to true to automatically sync auth state on first load satelliteAutoSync={true} > {children} </ClerkProvider>SSR (TanStack Start with callback)
import { clerkMiddleware } from '@clerk/tanstack-react-start/server'; // Options callback - receives context object, returns options export default clerkMiddleware(({ url }) => ({ isSatellite: true, domain: 'satellite.example.com', signInUrl: 'https://primary.example.com/sign-in', satelliteAutoSync: url.pathname.startsWith('/dashboard'), }));Migration Guide
Behavior change:
satelliteAutoSyncdefaults tofalsePreviously, satellite apps would automatically trigger a handshake redirect on every first page load to sync authentication state with the primary domain—even when no session cookies existed. This caused unnecessary redirects to the primary domain for users who weren't authenticated.
The new default (
satelliteAutoSync: false) provides a better experience for end users. Performance-wise, the satellite app can be shown immediately without attempting to sync state first, which is the right behavior for most use cases.To preserve the previous behavior where visiting a satellite while already signed in on the primary domain automatically syncs your session, set
satelliteAutoSync: true:export default clerkMiddleware({ isSatellite: true, domain: 'satellite.example.com', signInUrl: 'https://primary.example.com/sign-in', satelliteAutoSync: true, // Opt-in to automatic sync on first load });TanStack Start: Function props to options callback
The
clerkMiddlewarefunction no longer accepts individual props as functions. If you were using the function form for props likedomain,proxyUrl, orisSatellite, migrate to the options callback pattern.Before (prop function form - no longer supported):
import { clerkMiddleware } from '@clerk/tanstack-react-start/server'; export default clerkMiddleware({ isSatellite: true, // ❌ Function form for individual props no longer works domain: url => url.hostname, });After (options callback form):
import { clerkMiddleware } from '@clerk/tanstack-react-start/server'; // ✅ Wrap entire options in a callback function export default clerkMiddleware(({ url }) => ({ isSatellite: true, domain: url.hostname, }));The callback receives a context object with the
urlproperty (aURLinstance) and can return options synchronously or as a Promise for async configuration. - When
-
Add standalone
getToken()function for retrieving session tokens outside of framework component trees. (#7325) by @bratsosThis function is safe to call from anywhere in the browser, such as API interceptors, data fetching layers (e.g., React Query, SWR), or vanilla JavaScript code. It automatically waits for Clerk to initialize before returning the token.
import { getToken } from '@clerk/nextjs'; // or any framework package
// Example: Axios interceptor axios.interceptors.request.use(async (config) => { const token = await getToken(); if (token) { config.headers.Authorization =
Bearer ${token}; } return config; }); -
Revert sign up if missing changes to fix Enterprise SSO captcha (#7962) by @dmoerner
Patch Changes
-
Add
resetmethod to the sign-in resource. (#7606) by @alexcarpenter -
-
Prevent DOM-based captcha from hanging in React Native environments (#7967) by @chriscanin
-
Make
expo-auth-sessionandexpo-web-browseroptional via dynamic imports -
Re-export
RedirectToTasksandShowcontrol components
-
-
Add
resetmethod to the new signUp resource. (#7606) by @alexcarpenter -
Rename dev browser APIs to remove JWT terminology. The dev browser identifier is now a generic ID, so internal naming has been updated to reflect this. No runtime behavior changes. (#7930) by @brkalow
-
fix(clerk-js): Handle missing window.location in React Native navigation (#7665) by @chriscanin
-
Fix issue where
signUp.verifications.sendPhoneCode()expected to be provided aphoneNumber. (#7869) by @dstaley -
Fix infinite request loop caused by
dev_browser_unauthenticatederrors during runtime polling by handling them in the base fetcher with a dev browser reset instead of triggering recursivehandleUnauthenticatedcalls. (#7951) by @brkalow -
Fix HashRouter not responding to popup OAuth navigations by adding
pushstate/replacestateto refresh events and suppressing the history observer during external navigation. (#7944) by @brkalow -
Fix backwards compatibility for legacy
clerkUICtoroption removed in theuiprop PR (#7802) by @jacekradko -
Remove ANSI colors from ConsoleTransport. (#7763) by @dstaley
-
Support both
clerkUICtorandclerkUiCtoroption names for backwards compatibility (#7712) by @jacekradko -
Fix
toBeSignedOuttest-helper so it only resolves whenuser === null. It previously resolved for any falsy value, which could give false positives when Clerk had not loaded yet, or during auth-state changes. (#7823) by @Ephem -
Preload component chunks in parallel with the common chunk during mount, reducing first-render latency on slow connections. (#7901) by @jacekradko
-
Remove CHIPS build variant and use
partitioned_cookiesenvironment flag from the Clerk API to control partitioned cookie behavior at runtime. (#7916) by @brkalow -
Remove regenerator-runtime dependency and imports from clerk-js builds (#7473) by @jacekradko
-
Update documentation link in Smart CAPTCHA errors (#7474) by @tmilewski
-
Fix issue where
signUp.password()created a new sign-up when called aftersignUp.create()(#7680) by @dstaley -
Allow creating additional memberships on unlimited
environment.organizationSettings.maxAllowedMemberships(#7555) by @LauraBeatris -
Fixes issue where captcha was always called during signup. (#7835) by @dstaley
-
Fix a crash in the Turnstile CAPTCHA retry logic where captcha.reset() was called after the widget's DOM container had already been removed, causing an unhandled error (#7899) by @tmilewski
-
Fix issue were
sendPhoneCodemethod was incorrectly requiring a parameter. (#7898) by @dstaley -
When password is enabled at the instance level, but not required allow users to add a password in the user profile. (#7379) by @austincalvelage
-
Updated dependencies [
0a9cce3,e35960f,c9f0d77,1bd1747,6a2ff9e,d2cee35,0a9cce3,a374c18,466d642,5ef4a77,af85739,10b5bea,a05d130,b193f79,e9d2f2f,43fc7b7,0f1011a,cbc5618,38def4f,7772f45,a3e689f,583f7a9,965e7f1,2b76081,f284c3d,ac34168,cf0d0dc,690280e,b971d0b,22d1689,e9a1d4d,c088dde,8902e21,972f6a0,a1aaff3,d85646a,ab3dd16,4a8cb10,fd195c1,8887fac,dc886a9,428629b,8b95393,c438fa5,c438fa5,fd195c1,fd69edb,8d91225,1fc95e2,3dac245,a4c3b47,7c3c002,d8bbc66,3983cf8,f1f1d09,736314f,2cc7dbb,86d2199,da415c8,97c9ab3,cc63aab,a7a38ab,cfa70ce,25d37b0,26254f0,c97e6af,d98727e,79e2622,12b3070]:- @clerk/shared@4.0.0
5.125.4
Patch Changes
- Fix a crash in the Turnstile CAPTCHA retry logic where captcha.reset() was called after the widget's DOM container had already been removed, causing an unhandled error (#7957) by @tmilewski
5.125.3
Patch Changes
-
Add debug logging to detect session token swaps in multi-session scenarios (#7945) by @jacekradko
-
Remove CHIPS build variant and use
partitioned_cookiesenvironment flag from the Clerk API to control partitioned cookie behavior at runtime. (#7946) by @brkalow -
Updated dependencies [
7955e9d]:- @clerk/shared@3.47.2
- @clerk/localizations@3.37.2
5.125.2
Patch Changes
-
Don't display impersonation for agents (#7934) by @tmilewski
-
Updated dependencies [
8a0c404]:- @clerk/shared@3.47.1
- @clerk/localizations@3.37.1
5.125.1
Patch Changes
- Fix "You must belong to an organization" screen showing after accepting an organization invitation (#7921) by @LauraBeatris
5.125.0
Minor Changes
- Add support for displaying proration and account credits on payment attempts and statements. (#7885) by @dstaley
Patch Changes
- Updated dependencies [
c00c524]:- @clerk/localizations@3.37.0
- @clerk/shared@3.47.0
5.124.0
Minor Changes
-
Introduces MFA setup session task for handling require MFA after sign-in and sign-up (#7851) by @octoper
-
Add support for account credits in checkout. (#7870) by @dstaley
Patch Changes
-
Fix
__client_uatcookie being set on two different domain scopes when app is loaded in both iframe and non-iframe contexts.getCookieDomain()now falls back tohostnameinstead ofundefinedwhen the eTLD+1 probe fails, and the eTLD+1 probe uses the sameSameSite/Secureattributes as the actual cookie to ensure consistent behavior across contexts. (#7882) by @brkalow -
Fix BaseRouter state not syncing after popup OAuth by observing
pushState/replaceStatechanges in addition topopstate(#7863) by @brkalow -
Updated dependencies [
71bd53c,935f780]:- @clerk/localizations@3.36.0
- @clerk/shared@3.46.0
5.123.1
Patch Changes
-
Set
SameSite=Noneon cookies for.replit.devorigins and consolidate third-party domain list (#7864) by @brkalow -
fix(clerk-js): Handle missing window.location in React Native navigation (#7854) by @SarahSoutoul
-
Updated dependencies [
b17e4bb]:- @clerk/shared@3.45.1
- @clerk/localizations@3.35.5
5.123.0
Minor Changes
-
Add
usernamefield intoPublicUserDataobject. (#7837) by @Jibaru -
Add
providerUserIdfield toExternalAccountresource as the preferred way to access the unique user ID from the OAuth provider. The existingexternalIdfield is now deprecated in favor ofproviderUserIdfor better clarity and consistency across the API. (#7778) by @Jibaru
Patch Changes
-
Updates Keyless Prompt content. (#7798) by @alexcarpenter
-
Disable ConsoleTransport for debug logger by default (#7786) by @jacekradko
-
Fixed an issue where primary identifier shows undefined when signing in with phone number only (#7797) by @wobsoriano
-
Fix infinite loading spinner when navigating to factor-two sign-in route without an active 2FA session (#7787) by @nikosdouvlis
-
Display message for
user_deactivatederror code onSignInandSignUp(#7811) by @LauraBeatris -
Removed redundant
beforeunloadevent listener from SafeLock that was disabling the browser's back-forward cache (bfcache), degrading navigation performance. (#7818) by @wobsoriano -
Updated dependencies [
35bcbd1]:- @clerk/shared@3.45.0
- @clerk/localizations@3.35.4
5.122.1
Patch Changes
- Improve captcha error diagnostics (#7768) by @jacekradko
5.122.0
Minor Changes
- Export
useOrganizationCreationDefaultshook to fetch suggested organization name and logo from default naming rules (#7690) by @LauraBeatris
Patch Changes
- Updated dependencies [
64a35f7,71b20f1,aebb8df,71b20f1]:- @clerk/shared@3.44.0
- @clerk/localizations@3.35.3
5.121.1
Patch Changes
-
fix: Ensure unsafeMetadata is passed with Sign Up Ticket flow (#7657) by @tmilewski
-
Updates keyless prompt content. (#7636) by @alexcarpenter
-
Fix
unsafeMetadatabeing lost when users are transferred between sign-in and sign-up flows during OAuth/SSO authentication (#7647) by @tmilewski -
Updated dependencies [
b7a4e1e]:- @clerk/shared@3.43.2
- @clerk/localizations@3.35.2
5.121.0
Minor Changes
- Handle
offline_accessscope in OAuth consent screen by filtering it from the displayed scopes list (as it describes access duration rather than what can be accessed) and appending informational text about staying signed in when the scope is present. (#7631) by @jfoshee
Patch Changes
-
Fix
TaskChooseOrganizationto complete organization activation when logo upload fails (#7635) by @LauraBeatris -
Updated dependencies [
c650a04,e995cc3]:- @clerk/localizations@3.35.1
- @clerk/shared@3.43.1
5.120.0
Minor Changes
- Surface organization creation defaults with prefilled form fields and advisory warnings (#7603) by @LauraBeatris
Patch Changes
-
Fix redirect conflicts when SignIn and SignUp components are used together on the same page. Added missing dependency arrays to useEffect hooks in redirect functions to prevent unwanted redirects during other component flows. (#7614) by @jacekradko
-
Remove opacity from
Selectplaceholder (#7575) by @LauraBeatris -
Display actual organization membership name in in-app enable organization prompt success message (#7582) by @LauraBeatris
-
Updated dependencies [
271ddeb]:- @clerk/localizations@3.35.0
- @clerk/shared@3.43.0
5.119.1
Patch Changes
- Fix role select being disabled on
OrganizationProfileinvite members page when default role is not in roles list (#7569) by @LauraBeatris
5.119.0
Minor Changes
-
Fix "You must belong to an organization" screen showing when user has existing memberships, invitations or suggestions (#7557) by @LauraBeatris
-
When password is enabled at the instance level, but not required allow users to add a password in the user profile. (#7549) by @austincalvelage
Patch Changes
- Updated dependencies [
c4dbcf7]:- @clerk/localizations@3.34.0
5.118.0
Minor Changes
- Disable role selection in
OrganizationProfileduring role set migration (#7541) by @LauraBeatris
Patch Changes
-
Add
data-variantanddata-colorattributes to the Text component. (#7535) by @alexcarpenter -
Updated dependencies [
a4e6932]:- @clerk/localizations@3.33.0
- @clerk/shared@3.42.0
5.117.0
Minor Changes
- Improves resilience by keeping users logged in when Clerk's origin is temporarily unavailable using edge-based token generation (#7516) by @bratsos
Patch Changes
- Updated dependencies [
03dd374]:- @clerk/shared@3.41.1
- @clerk/localizations@3.32.1
5.116.0
Minor Changes
- Display message in
TaskChooseOrganizationwhen user is not allowed to create organizations (#7502) by @LauraBeatris
Patch Changes
-
Fix Web3 connection error handling in
<UserProfile />(#7489) by @kduprey -
Add missing selected and hover states to
RolesListItemoption. (#7497) by @alexcarpenter -
Introduce radio group for
EnableOrganizationsPrompt(#7501) by @LauraBeatris -
Updated dependencies [
79eb5af,54cd476,b3b02b4,7b3024a,2cd4da9]:- @clerk/shared@3.41.0
- @clerk/localizations@3.32.0
5.115.0
Minor Changes
Patch Changes
-
Fix navigation that was not awaited when attempting to set the session active on password sign-in (#7459) by @octoper
-
Updated dependencies [
375a32d,175883b,f626046,a2cc94e,14342d2]:- @clerk/localizations@3.31.0
- @clerk/shared@3.40.0
5.114.1
Patch Changes
- Updated dependencies [
893d3e4]:- @clerk/localizations@3.30.1
5.114.0
Minor Changes
Patch Changes
-
Improve error handling for invalid avatar file uploads. Previously, avatar images which exceeded the max file size limit of 10MB did not return an error within the Avatar upload component so the user was unaware why their upload did not work. (#7357) by @jigar-clerk
-
Country code updates: Aland Islands, Ascension Island, Kosovo, Mayotte, Western Sahara, and updated names for Algeria, Congo (split into Democratic Republic and Republic), Macedonia (to North Macedonia), and Swaziland (to Eswatini). (#7378) by @zourzouvillys
-
Allow reordering API Keys and Billing pages in
<UserProfile />and<OrganizationProfile />. (#7383) by @wobsorianoExample:
export function CustomUserProfile() { return ( <UserProfile> <UserProfile.Page label='apiKeys' /> <UserProfile.Page label='billing' /> </UserProfile> ); } -
Updated dependencies [
b117ebc]:- @clerk/localizations@3.30.0
- @clerk/shared@3.39.0
5.113.0
Minor Changes
Patch Changes
-
Show the correct error message on
form_new_password_matches_currenterror code (#7372) by @octoper -
Rename internal
isPasswordUntrustedErrortoisPasswordCompromisedError(#7352) by @octoper -
Updated dependencies [
e31f3d5,8376789,f917d68,818c25a,b41c0d5,b41c0d5]:- @clerk/shared@3.38.0
- @clerk/localizations@3.29.1
5.112.1
Patch Changes
- Fix line height calculations. (#7350) by @alexcarpenter
5.112.0
Minor Changes
-
Introduce a new variant for the alternative methods screen to handle untrusted password error on sign-in (#7331) by @octoper
Patch Changes
-
Prevent enable organization prompt from appearing if there is a session with a pending
choose-organizationtask. (#7307) by @LauraBeatrisThis resolves an issue where, after organizations are enabled via the Dashboard, cached environment resources may cause the prompt to show again when the user is redirected to complete the
choose-organizationtask. -
Fix issue where
SignInandSignUpinstances were unable to be serialized withJSON.stringifydue to a circular reference. (#7321) by @dstaley -
Conditionally apply
tabIndex={-1}usage when shown to ensure buttons are keyboard accessible. (#7306) by @alexcarpenter -
Fixes line-height discrepancy between browsers. (#7112) by @alexcarpenter
-
Add localization key for username form error (#7320) by @guilherme6191
-
Ensure client trust messaging is only displayed if no 2FA options are available (#7313) by @tmilewski
-
Updates line-height calculations to follow font-sizing to fix differences across browsers. (#7112) by @alexcarpenter
-
Reverts the changes introduced in PR #7105, as it was causing JWTs returned from client piggybacking not to be inserted into the cache even though their claims had actually changed. (#7329) by @octoper
-
Updated dependencies [
40a841d,f364924,f115e56,d4aef71,3f99742,02798f5,07a30ce,ce8b914]:- @clerk/shared@3.37.0
- @clerk/localizations@3.29.0
5.111.0
Minor Changes
-
When a session already exists on sign in, complete the sign in and redirect instead of only rendering an error. (#7156) by @brkalow
-
Optimized session token poller to share token with other open tabs (#7302) by @jacekradko
Patch Changes
- Updated dependencies [
e6ad12f]:- @clerk/localizations@3.28.5
5.110.0
Minor Changes
-
Removes SWR as direct dependency (#7270) by @panteliselef
-
Introduce in-app development prompt to enable the Organizations feature (#7159) by @LauraBeatris
In development instances, when using organization components or hooks for the first time, developers will see a prompt to enable the Organizations feature directly in their app, eliminating the need to visit the Clerk Dashboard.
Patch Changes
-
Fix useFetch to update fetcher ref (#7145) by @iagodahlem
-
Ensure that organization component warnings are only shown when no user session exists in development (#7298) by @LauraBeatris
-
Updated dependencies [
f85abda,36e43cc]:- @clerk/shared@3.36.0
- @clerk/localizations@3.28.4
5.109.2
Patch Changes
-
Make subscription actions more visible with inline buttons (#7255) by @mauricioabreu
-
Added debug query param to token requests initiated with
skipCacheoption. (#7155) by @jacekradko -
Updated dependencies [
d8f59a6]:- @clerk/shared@3.35.2
- @clerk/localizations@3.28.3
5.109.1
Patch Changes
-
Only render last used badge when there are multiple strategies enabled. (#7224) by @alexcarpenter
-
Internal change, not user-facing: Replace
useOrganizationwithuseOrganizationContextin billing components (#7257) by @LauraBeatris -
Fix issue where network errors were being masked by fraud protection logic, preventing cache fallback from triggering properly. (#7254) by @chriscanin
-
Generate a stable tab identifier in
MemoryTokenCacheso multi-tab token broadcasts can be traced via consistent debug logs. (#7150) by @jacekradko -
Updated dependencies [
a9c13ca]:- @clerk/shared@3.35.1
- @clerk/localizations@3.28.2
5.109.0
Minor Changes
-
Introduced initial Clerk Protect dynamic loader and related types to support dynamically enabling and rolling out Protect in the environment. (#7227) by @zourzouvillys
-
Standardized API keys naming convention (#7223) by @wobsoriano
-
[Experimental] Add support for sign-up via modal in signals implementation (#7193) by @dstaley
Patch Changes
-
fix(clerk-js): update inCrossOriginIframe to handle nested cross origin iframes (#7212) by @thiskevinwang
-
[Experimental] Type method returns using ClerkError (#7213) by @dstaley
-
Fixes a bug where billing hooks would attempt to fetch billing information for an organization member with insufficient permissions, resulting in a 403 error. (#7202) by @panteliselef
-
Ensure scrollbox height fills the available space. (#7222) by @alexcarpenter
-
Updated dependencies [
9f48f13,7be8f45,bdbb0d9,aa184a4,1d4e7a7,42f0d95,c63cc8e,d32d724,00291bc]:- @clerk/localizations@3.28.1
- @clerk/shared@3.35.0
5.108.0
Minor Changes
-
Support for
email_codeandemail_linkas a second factor when user is signing in on a new device. (#7116) by @tmilewski -
Update SocialButtons to show "Continue with" prefix for last auth strategy, and improve mobile layout consistency. (#7169) by @alexcarpenter
-
[Experimental] Update
errorsto have specific field types based on whether it's a sign-in or a sign-up. (#7195) by @dstaley -
Removed internal parameter when creating API keys (#7207) by @wobsoriano
Patch Changes
- Updated dependencies [
d64638d,b5a7e2f,a1d10fc,b944ff3,4011c5e]:- @clerk/localizations@3.28.0
- @clerk/shared@3.34.0
5.107.0
Minor Changes
- Update the supported API version to
2025-11-10. (#7095) by @panteliselef
Patch Changes
- Updated dependencies [
613cb97]:- @clerk/shared@3.33.0
- @clerk/localizations@3.27.2
5.106.0
Minor Changes
-
Implemented server-side pagination and filtering for API keys (#6453) by @wobsoriano
-
[Experimental] Add types for errors used in new custom flow APIs (#7174) by @nikosdouvlis
-
[Experimental] Add support for modal SSO sign-ins to new APIs (#7026) by @dstaley
-
Support granular API keys settings for user and organization profiles (#7179) by @wobsoriano
Patch Changes
- Updated dependencies [
cc11472,539fad7,c413433,a940c39]:- @clerk/shared@3.32.0
- @clerk/localizations@3.27.1
5.105.1
Patch Changes
- Add aria live region to ensure feedback messages are read to screen readers when feedback changes. (#7111) by @alexcarpenter
5.105.0
Minor Changes
- Replaced the persistent key column in the API keys table with a one-time modal that displays the secret immediately after creation. (#7107) by @wobsoriano
Patch Changes
-
Move clientTrustState to SignIn (#7163) by @tmilewski
-
Updated dependencies [
d88ea99,a474c59,5536429]:- @clerk/localizations@3.27.0
- @clerk/shared@3.31.1
5.104.0
Minor Changes
- Adds
client_trust_statefield to Client and SignIn resources to support new fraud protection feature. (#7096) by @chriscanin
Patch Changes
-
fix: Appropriately handle last-used SAML strategies (#7135) by @tmilewski
-
Experimental: Ground work for fixing stale data between hooks and components by sharing a single cache. (#6913) by @panteliselef
-
Updated dependencies [
ea65d39,b09b29e]:- @clerk/shared@3.31.0
- @clerk/localizations@3.26.6
5.103.2
Patch Changes
-
Propagate locale from ClerkProvider to PaymentElement (#6885) by @aeliox
-
Deprecate
@clerk/typesin favor of@clerk/shared/types(#7022) by @nikosdouvlisThe
@clerk/typespackage is now deprecated. All type definitions have been consolidated and moved to@clerk/shared/typesto improve consistency across the Clerk ecosystem.Backward Compatibility:
The
@clerk/typespackage will remain available and will continue to re-export all types from@clerk/shared/typesto ensure backward compatibility. Existing applications will continue to work without any immediate breaking changes. However, we strongly recommend migrating to@clerk/shared/typesas new type definitions and updates will only be added to@clerk/shared/typesstarting with the next major release.Migration Steps:
Please update your imports from
@clerk/typesto@clerk/shared/types:// Before import type { ClerkResource, UserResource } from '@clerk/types'; // After import type { ClerkResource, UserResource } from '@clerk/shared/types';What Changed:
All type definitions including:
- Resource types (User, Organization, Session, etc.)
- API response types
- Configuration types
- Authentication types
- Error types
- And all other shared types
Have been moved from
packages/types/srctopackages/shared/src/typesand are now exported via@clerk/shared/types. -
Add debug logging to session update flows when browser is offline (#7113) by @jacekradko
-
Remove last used badge from rendering on sign-up. (#7100) by @alexcarpenter
-
Bug fix for Checkout success screen to not mention payment if a payment was not made. (#7140) by @panteliselef
-
Optimize Session.#hydrateCache to only cache token if it's new/different (#7105) by @jacekradko
-
Navigates to
/sign-up/continueon sign-up withmissing_requirementsstatus usingticketas strategy (#7101) by @LauraBeatrisIt fixes IdP-initiated flows with missing requirements such as accepting legal consent
-
Updated dependencies [
3e0ef92,2587aa6]:- @clerk/shared@3.30.0
- @clerk/localizations@3.26.5
5.103.1
Patch Changes
- Bring back OrgPreview within the OrgSwitcher component (#7091) by @alexcarpenter
5.103.0
Minor Changes
-
Allow free trials without requiring a payment method, based on the configuration of an instance. (#7068) by @mauricioabreu
-
[Billing Beta] Remove unnecessary
orgIdfrom BillingPayerMethods interface. (#7087) by @panteliselef
Patch Changes
-
Ensure
ThreeDotsMenuis full opacity when focus visible. (#7080) by @alexcarpenter -
Localize aria-labels within
UserButtonandOrganizationSwitchertriggers. (#7086) by @alexcarpenter -
Updated dependencies [
791ff19,439427e,7dfbf3a,d33b7b5]:- @clerk/shared@3.29.0
- @clerk/types@4.96.0
- @clerk/localizations@3.26.4
5.102.1
Patch Changes
-
Add title attribute to email address field with the recommended format. (#6956) by @alexcarpenter
-
Fixes an issue in SelectOption where the focus styles were not being properly applied when the option is focused. (#6999) by @alexcarpenter
Increases SelectOption touch area to remove any dead spots between items.
-
Make avatar remove button size xs to be consistent with upload button sizing. (#7041) by @alexcarpenter
-
Improve avatar upload and removal UX to auto collapse the profile section upon successful save. (#7044) by @alexcarpenter
-
Updated dependencies [
4d46e4e,1217b87]:- @clerk/localizations@3.26.3
- @clerk/types@4.95.1
- @clerk/shared@3.28.3
5.102.0
Minor Changes
- [Billing Beta]: Dropping
paymentMethodIdfrom subscription item. (#7017) by @panteliselef
Patch Changes
-
Add support for automatically sending the browser locale during the sign-in flow (#7011) by @guilherme6191
-
[Billing Beta] Extend support of
forOrganizationsprop by a few minors. (#7021) by @panteliselef -
Updated dependencies [
a172d51,947d0f5]:- @clerk/types@4.95.0
- @clerk/shared@3.28.2
- @clerk/localizations@3.26.2
5.101.1
Patch Changes
-
Hide slug field on
OrganizationProfilebased on environment settings (#7001) by @LauraBeatris -
Updated dependencies [
d8147fb]:- @clerk/shared@3.28.1
5.101.0
Minor Changes
Patch Changes
-
Replace
/commerceendpoints with/billingendpoints. (#6854) by @panteliselef -
Updated dependencies [
305f4ee,53214f9,1441e68,1236c74]:- @clerk/shared@3.28.0
- @clerk/types@4.94.0
- @clerk/localizations@3.26.1
5.100.0
Minor Changes
-
[Billing Beta] Rename payment source descriptors to use "payment method". (#6951) by @panteliselef
-
When fetching a new Session token, broadcast the token value to other tabs so they can pre-warm their in-memory Session Token cache with the most recent token. (#6891) by @jacekradko
-
Add support for sign up
locale(#6915) by @guilherme6191 -
[Experimental] Fix
signIn.passwordemailAddress parameter name. (#6932) by @dstaley -
[Experimental] Fix issue where calling
this.create()would not correctly propagate errors. (#6932) by @dstaley -
[Billing Beta] Rename payment source to payment method. (#6865) by @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) by @panteliselef
Updates localization keys from
commerce->billingandpaymentSourcetopaymentMethod. -
Introduce experimental step to choose enterprise connection on sign-in/sign-up (#6947) by @LauraBeatris
-
[Billing Beta] Replace
forOrganizations: truewithfor: "organization"in<PricingTable/>. (#6978) by @panteliselef
Patch Changes
-
Ensure inputs are properly connected to feedback messages via
aria-describedbyusage. (#6914) by @alexcarpenter -
Add
enterpriseConnectionIdtoSamlAccountandEnterpriseAccountresources (#6961) by @LauraBeatris -
-
Update checkbox checked background color and icon (#6934) by @alexcarpenter
-
Increase role select options contrast
-
Updates user preview subtitle text variant
-
-
Add success text descriptor to otp input field. (#6958) by @alexcarpenter
-
-
Add experimental property
last_authenticated_attoSamlAccountresource, which represents the date when the SAML account was last authenticated (#6954) by @LauraBeatris -
Add experimental support for
enterprise_ssoas astrategyparam forsession.prepareFirstFactorVerification
-
-
Only navigate to enterprise connections chooser when there are multiple
enterprise_ssostrategies assupported_first_factors(#6983) by @NicolasLopes7 -
Updated dependencies [
65b7cc7,6e09786,aa7210c,2cd53cd,1a2eee6,2cd53cd,1a2430a,31a04fc,9766c4a,22b8e49,a66357e,43a9c2b,dacc1af,b1ac445]:- @clerk/types@4.93.0
- @clerk/shared@3.27.4
- @clerk/localizations@3.26.0
5.99.0
Minor Changes
Patch Changes
-
Display organization slug based on environment settings (#6903) by @LauraBeatris
-
Updated dependencies [
fba4781,a1f6714]:- @clerk/types@4.92.0
- @clerk/localizations@3.25.7
- @clerk/shared@3.27.3
5.98.0
Minor Changes
-
Adding /oauth/oauth/end_session to frontendApiRedirectPathsNoUserInput (#6890) by @Ben2W
-
[Experimental] Add Signal support for Web3 APIs (#6840) by @dstaley
Patch Changes
-
Add auto focus behavior to otp input to enable pasting codes immediately (#6863) by @alexcarpenter
-
feat(clerk-js): Enable debugLogger for Next.js keyless applications. (#6886) by @heatlikeheatwave
-
Ensure the back navigation within SignUpVerificationCode returns to the appropriate step within combined flow. (#6909) by @alexcarpenter
-
Improve appearance selectors for tasks, such as including it within
SignIn/SignUpcomponents (#6861) by @iagodahlem -
Updated dependencies [
f737d26,8777f35,2c0128b]:- @clerk/types@4.91.0
- @clerk/shared@3.27.2
- @clerk/localizations@3.25.6
5.97.0
Minor Changes
- [Billing Beta] Drop top level billing flags from environment. Instead, use the payer specific flags. (#6882) by @panteliselef
Patch Changes
-
Prevent leaking the
data-component-statusattribute for components other than<PricingTable/>. (#6884) by @panteliselef -
Hide CTA for
<PricingTable forOrganization/>when the user is does not have an active organization selected. (#6883) by @panteliselef -
Updated dependencies [
37028ca]:- @clerk/types@4.90.0
- @clerk/localizations@3.25.5
- @clerk/shared@3.27.1
5.96.0
Minor Changes
-
Udpate Tyepdoc links to fix temporary ignore warnings (#6846) by @SarahSoutoul
-
Add new
component (#6808) by @tmilewski
Patch Changes
-
Update active context cookie to properly set
Secureattribute. (#6851) by @brkalow -
Updated dependencies [
e3e77eb,9cf89cd,090ca74,5546352]:- @clerk/shared@3.27.0
- @clerk/types@4.89.0
- @clerk/localizations@3.25.4
5.95.0
Minor Changes
-
[Experimental] Add support for ticket sign-ins and sign-ups (#6806) by @dstaley
-
[Billing Beta] Rename types, interfaces and classes that contain
commerceto usebillinginstead. (#6757) by @panteliselef
Patch Changes
-
Fix
TaskChooseOrganizationScreento render accepted suggestions properly (#6804) by @iagodahlem -
Correct ticket field reference in
SignUpStart.tsxhandleSubmitlogic gate (#6824) by @kduprey -
Update jsdocs mentions of
@experimentaltag. (#6651) by @panteliselef -
[Experimental] Correctly determine destination first factor based on identifier. (#6789) by @dstaley
-
Update
<ArrowBlockButton />icon sizing to be consistent with usage within billing components (#6803) by @alexcarpenter -
Updated dependencies [
4a142e9,41e0a41,1aa9e9f,40e1b01,a88ee58,d6c7bbb]:- @clerk/localizations@3.25.3
- @clerk/shared@3.26.1
- @clerk/types@4.88.0
5.94.0
Minor Changes
-
[Experimental] Signal email link support (#6766) by @dstaley
-
Add retry attempt tracking to FAPI client GET requests (#6777) by @jacekradko
The FAPI client now adds a
_clerk_retry_attemptquery parameter to retry attempts for GET requests, allowing servers to track and handle retry scenarios appropriately. This parameter is only added during retry attempts, not on the initial request. -
[Billing Beta] Remove deprecated
subscriptionattribute from Billing (#6788) by @mauricioabreu
Patch Changes
-
Fix ArrowButtonBlock truncation within payment sources (#6764) by @alexcarpenter
-
Hide flows inside UserProfile and OrganizationProfile that depend on Stripe.js when remotely hosted code is not permitted. (#6754) by @panteliselef
-
Add support for canceling past due subscriptions (#6783) by @aeliox
-
Hide payment methods from checkout if the new subscription does not result in an immediate change to the end user's plan. (#6786) by @panteliselef
-
Bug fix that allowed
useStatements(),usePaymentMethods()andusePaymentAttempts()to fire a request when the billing feature was turned off for the instance. (#6785) by @panteliselef -
Performance improvements for
<Checkout />. (#6765) by @panteliselef -
Updated dependencies [
bcf24f2,f7c6b49,f070459,1ceedad,de90ede,9d4a95c,428cd57,9eac18f]:- @clerk/types@4.87.0
- @clerk/localizations@3.25.2
- @clerk/shared@3.26.0
5.93.0
Minor Changes
-
[Billing Beta] Removal of Billing experimental methods:
organization.getSubscriptions()andbilling.getSubscriptions()(#6738) by @mauricioabreu -
[Experimental] Add support for additional params for SignUp (#6716) by @dstaley
Patch Changes
-
Remove Base for non-RHC environments to ensure Coinbase dependencies aren't bundled. (#6742) by @tmilewski
-
Fixes errors in react-native without polyfill for window.location (#6737) by @bratsos
-
Add theme-usage telemetry (#6529) by @alexcarpenter
-
Updated dependencies [
23948dc,82b84fe,54b4b5a,50a8622,23948dc]:- @clerk/types@4.86.0
- @clerk/shared@3.25.0
- @clerk/localizations@3.25.1
5.92.1
Patch Changes
- Hides the subscription "Manage" button when no subscription items exist instead of the subscription itself being absent. (#6734) by @panteliselef
5.92.0
Minor Changes
- Introduce "Last Used" functionality to Sign In and Up (#6722) by @tmilewski
Patch Changes
-
Change placement of the manage subscription button inside
<UserProfile/>and<OrganizationProfile/>(#6428) by @panteliselef -
Do not trigger organization roles query when the current user's membership lacks the required permissions (
org:sys_memberships:readororg:sys_memberships:manage). (#6703) by @LauraBeatrisThis fixes an issue where the
OrganizationSwitchercomponent was making unnecessary API calls to fetch roles, resulting in HTTP 403 errors. -
Update search icon, payment source icon, and user preview identifier colors. (#6697) by @alexcarpenter
-
Updated dependencies [
55490c3,f689d99,e8d21de,637f2e8,465369b]:- @clerk/localizations@3.25.0
- @clerk/types@4.85.0
- @clerk/shared@3.24.2
5.91.2
Patch Changes
-
Fixes issue where "prepare" API request would only fire once, preventing end users from receiving fresh otp codes. (#6695) by @panteliselef
-
Wait for pricing table data to be ready before hiding its fallback. (#6644) by @panteliselef
-
Fix double slash in FAPI client URLs when using a proxy configuration (avoids 308 redirects). (#6706) by @jacekradko
-
Hide billing tab when no paid plans exist, the user does not have a current or past subscription. (#6696) by @panteliselef
-
Update the experimental
Errorsinterface to allow null for raw and global error arrays (#6677) by @nikosdouvlis -
Updated dependencies [
6e3f53e,fced4fc,e6e19d2,d0fe6ca,1b1e8b1]:- @clerk/localizations@3.24.2
- @clerk/types@4.84.1
- @clerk/shared@3.24.1
5.91.1
Patch Changes
5.91.0
Minor Changes
-
[Experimental] Signal phone code support (#6650) by @dstaley
-
[Billing Beta]
checkout.confirm()now infers the resource id resulting in less repetition and improved DX. (#6642) by @panteliselefAfter
const checkout = Clerk.billing.startCheckout({ orgId }); checkout.confirm(); // orgId is always impliedBefore
const checkout = clerk.billing.startCheckout({ orgId }); checkout.confirm({ orgId });
Patch Changes
-
Display free trial badge
<PricingTable/>. (#6656) by @panteliselef -
Adding baseline debug logging to SignIn and SignUp components (#6665) by @jacekradko
-
Updated dependencies [
651dbf8,2a82737,cda5d7b,ba25a5b,a50cfc8,377f67b,a1dcda7,7c3c1f7,65b12ee,263722e]:- @clerk/localizations@3.24.1
- @clerk/types@4.84.0
- @clerk/shared@3.24.0
5.90.0
Minor Changes
- Added support for authentication with Base (#6556) by @jacekradko
Patch Changes
- Updated dependencies [
12b19d4,823b80f,600c648]:- @clerk/localizations@3.24.0
- @clerk/shared@3.23.0
- @clerk/types@4.83.0
5.89.0
Minor Changes
-
Rework the OTP input to use a single transparent input (via
input-otp) to improve password manager compatibility and iOS/Android SMS-based autofill. Removes individual digit fields; a single invisible input drives the six visual slots. (#6551) by @tmilewskiIf you're using
@clerk/testing, please ensure that you're using the latest version.
Patch Changes
-
Clear API keys revoke confirmation field on modal close (#6604) by @wobsoriano
-
Remove unused
__internal_hasAfterAuthFlowsproperty (#6609) by @LauraBeatris -
Removing unused debugLogger functionality (#6615) by @jacekradko
-
Allow end users to select payment methods during trial checkout. (#6608) by @panteliselef
-
Add support for the user_banned error on OAuth flows (#6639) by @dmoerner
-
Updated dependencies [
d52714e,ce49740,2ed539c,deaafe4,a26ecae,c16a7a5,05b6d65]:- @clerk/types@4.82.0
- @clerk/shared@3.22.1
- @clerk/localizations@3.23.1
5.88.0
Minor Changes
-
[Experimental] Add support for captcha to Signal SignUp (#6574) by @dstaley
-
Adding /oauth/authorize-with-immediate-redirect to frontendApiRedirectPathsNoUserInput (#6579) by @Ben2W
-
[Billing Beta] Replace
redirectUrlwithnavigateincheckout.finalize()(#6586) by @panteliselef
Patch Changes
-
[Billing Beta] Rename
cancelFreeTrialDescriptiontocancelFreeTrialAccessUntil. (#6582) by @panteliselef -
Update copies for create organization screen on session tasks (#6584) by @iagodahlem
-
Add class
cl-planDetails-rootto the parent div element that containes the plan details drawer. (#6573) by @panteliselef -
Fix incorrect redirect when completing session tasks within
SignInandSignUpcomponents (#6580) by @iagodahlem -
Hide passkeys section when user has an enterprise account with the disable additional identifiers setting enabled (#6585) by @NicolasLopes7
-
Improve multi-session navigation to tasks (#6575) by @LauraBeatris
-
Update notice when cancelling a trial. (#6582) by @panteliselef
-
Add a development-mode warning when exactly one of
routerPushorrouterReplaceis provided inClerkOptions. Both must be defined together for custom router navigation to work correctly. (#6578) by @kduprey -
Updated dependencies [
e52bf8e,edd0f21,c043c19,c28d29c,172e054]:- @clerk/localizations@3.23.0
- @clerk/types@4.81.0
- @clerk/shared@3.22.0
5.87.0
Minor Changes
-
Update SubscriptionDetails to support free trials (#6569) by @panteliselef
-
[Experimental] Signal implementation for SignUp (#6568) by @dstaley
Patch Changes
-
Fix server-side cache revalidation for Next.js when transitioning from
activetopendingsession (#6572) by @LauraBeatris -
Updated dependencies [
8dc6bad,aa6a3c3,db50c47]:- @clerk/types@4.80.0
- @clerk/localizations@3.22.0
- @clerk/shared@3.21.2
5.86.0
Minor Changes
Patch Changes
-
Add error handling for
setActivewith stale organization data (#6550) by @LauraBeatris -
Updated dependencies [
f7e6d29,413468c,7b7eb1f]:- @clerk/localizations@3.21.3
- @clerk/shared@3.21.1
- @clerk/types@4.79.0
5.85.0
Minor Changes
- [Experimental] Signals: Add support for calling
signIn.password()without an identifier. (#6534) by @dstaley
Patch Changes
-
Remove flickers from PricingTable when signed in. (#6535) by @panteliselef
-
Display trial subscriptions in UserProfile and OrganizationProfile. (#6526) by @panteliselef
-
Updated dependencies [
5b24129]:- @clerk/shared@3.21.0
- @clerk/types@4.78.0
- @clerk/localizations@3.21.2
5.84.0
Minor Changes
-
Add
navigateparameter toclerk.setActive()for custom navigation before the session and/or organization is set. (#6486) by @LauraBeatrisIt's useful for handling pending session tasks for after-auth flows:
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) by @jacekradko
-
Updated dependencies [
4db1e58,69498df,59f1559]:- @clerk/types@4.77.0
- @clerk/shared@3.20.1
- @clerk/localizations@3.21.1
5.83.0
Minor Changes
-
[Billing Beta] Replace usage of top level amounts in plan with fees for displaying prices. (#6490) by @panteliselef
-
Add support for trials in
<Checkout/>(#6494) by @panteliselef- Added
freeTrialEndsAtproperty toCommerceCheckoutResourceinterface.
- Added
-
Update billing resources with trial properties. (#6492) by @panteliselef
-
Update PricingTable with trial info. (#6493) by @panteliselef
-
[Experimental] Signals reset password flow (#6520) by @dstaley
Patch Changes
-
Add optional
isExternaltoApplicationLogo(#6447) by @jfosheeAdd optional
oAuthApplicationUrlparameter to OAuth Consent mounting (which is used to provide a link to the OAuth App homepage).Harden
Linkcomponent so it sanitizes the givenhrefto avoid dangerous protocols. -
Updated dependencies [
69622af,33e7a7b,15fe106,173837c,8b52d7a,854dde8,ae2e2d6,037f25a,6f73222,f8b38b7]:- @clerk/localizations@3.21.0
- @clerk/types@4.76.0
- @clerk/shared@3.20.0
5.82.0
Minor Changes
-
[Billing Beta] Cleanup naming inconsistencies in billing dates. (#6513) by @panteliselef
Migration
- subscriptionItem.periodStartDate → subscriptionItem.periodStart
- subscriptionItem.periodEndDate → subscriptionItem.periodEnd
- subscriptionItem.canceledAtDate → subscriptionItem.canceledAt
-
Remove
treatPendingAsSignedOutfrom Clerk options (#6497) by @LauraBeatris
Patch Changes
-
Use throttling instead of sampling for telemetry events of UI components on keyless apps. (#6514) by @panteliselef
-
Refactor ApplicationLogo rendering logic to account for oAuth logos within OAuthConsent component. (#6518) by @alexcarpenter
-
Trigger Next.js hooks on session status transition from
activetopendingto update authentication context state (#6511) by @LauraBeatris -
Add
.v0.appas a preferred popup origin for OAuth flows. (#6519) by @brkalow -
Updated dependencies [
b72a3dd,d93b0ed,6459f7d,0ff648a,9084759]:- @clerk/types@4.75.0
- @clerk/shared@3.19.0
- @clerk/localizations@3.20.9
5.81.0
Minor Changes
- [Billing Beta] Update
PlanDetailsPropsto reflect that eitherplanIdorplanis allowed. (#6472) by @panteliselef
Patch Changes
-
Introduce
TaskChooseOrganizationcomponent which replacesTaskSelectOrganizationwith a new UI that make the experience similar to the previousSignInandSignUpsteps (#6446) by @LauraBeatris -
Rename task key from
select-organizationtochoose-organization(#6482) by @LauraBeatris -
Updated dependencies [
1ad16da,4edef81,696f8e1,f318d22,1cc66ab]:- @clerk/localizations@3.20.8
- @clerk/types@4.74.0
- @clerk/shared@3.18.1
5.80.0
Minor Changes
- [Billing Beta] Update checkout.status type to be
'needs_confirmation' | 'completed'instead ofstring. (#6474) by @panteliselef
Patch Changes
-
[Billing Beta] Stricter return type of
useCheckoutto improve inference of other properties. (#6473) by @panteliselef -
Guard against navigation to root sign-in route during
setActiveinSignInFactorOne(#6462) by @LauraBeatris -
Fix invalid DOM element prop being passed down to Input (#6458) by @jacekradko
-
Fix iframe detetction and ensure we prefer the oauth popup flow when in an iframe. (#6455) by @brkalow
-
Fix multi-session navigation for hash routing (#6461) by @LauraBeatris
-
Fix
touchSessionoption to only affect session touch behavior to window focus events. (#6444) by @LauraBeatrisPreviously, when
touchSession: falsewas provided, it incorrectly prevented session touching duringsetActive()calls when switching sessions or selecting organizations. -
Updated dependencies [
9368daf,f93965f,7b6dcee,ef87617]:- @clerk/shared@3.18.0
- @clerk/localizations@3.20.7
- @clerk/types@4.73.0
5.79.0
Minor Changes
-
[Billing Beta]: Update prefix for checkout status (#6438) by @panteliselef
Replaces
awaiting_withneeds_. -
[Billing Beta] Remove
statement_idfrom the checkout resource. (#6437) by @panteliselef
Patch Changes
-
Add
inputmode="email"to email fields to help prompt mobile devices to use a virtual keyboard optimized for entering email addresses. (#6440) by @alexcarpenter -
Fix TelemetryCollector logic for clerk-js in browser to properly populate sdkMetadata for telemetry events. (#6448) by @panteliselef
-
Display alert on plan details error (#6384) by @panteliselef
-
Added proper type checking before using the in operator to prevent errors when modal state contains non-object values (#6433) by @jacekradko
-
Refactor billing statement page and payment attempt page data loading (#6420) by @aeliox
-
Added temporary patch for API keys pagination compatibility (#6451) by @wobsoriano
-
Fix SSO callback for after-auth custom flows (#6430) by @LauraBeatris
-
Updated dependencies [
7a46679,05cc5ec,22c35ef,c69de58,e8d816a,aa9f185,af0e123,3d1d871]:- @clerk/shared@3.17.0
- @clerk/types@4.72.0
- @clerk/localizations@3.20.6
5.78.0
Minor Changes
-
[Billing Beta]: Replace
orgfororganizationas payer type for billing APIs. (#6423) by @panteliselefThis 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) by @alexcarpenter
appearance={{ theme: 'simple' // removes Clerk base theme }}
Patch Changes
-
Fixes an issue where cookies were not properly cleared on sign out when using non-default cookie attributes. (#6368) by @brkalow
-
Make
.finalize()from useCheckout to return a Promise. (#6422) by @panteliselef -
Fix server-side session cache not being invalidated for after-auth custom flows (#6425) by @LauraBeatris
-
Improve CLS when PaymentElement mounts in Checkout. (#6387) by @panteliselef
-
Updated dependencies [
e404456,2803133,f1d9d34,d58b959,822ba1f,d4d2612]:- @clerk/types@4.71.0
- @clerk/shared@3.16.0
- @clerk/localizations@3.20.5
5.77.0
Minor Changes
-
Introduce
<TaskSelectOrganization />component. (#6376) by @LauraBeatrisIt allows you to eject the organization selection task flow from the default
SignInandSignUpcomponents and render it on custom URL paths usingtaskUrls.Usage example:
<ClerkProvider taskUrls={{ 'select-organization': '/onboarding/select-organization' }}> <App /> </ClerkProvider>function OnboardingSelectOrganization() { return <TaskSelectOrganization redirectUrlComplete='/dashboard/onboarding-complete' />; }
Patch Changes
-
Remove cache revalidation hooks from pending session handling. This fixes unmounting issues from
SignInandSignUpAIOs during after-auth flows. (#6389) by @LauraBeatris -
Updated dependencies [
b0fdc9e]:- @clerk/types@4.70.1
- @clerk/localizations@3.20.4
- @clerk/shared@3.15.1
5.76.0
Minor Changes
-
[Billing Beta] Introduce top level subscription. (#6317) by @panteliselef
Updated
CommerceSubscriptionJSONto describe the top level subscription and renamed the existing type toCommerceSubscriptionItemJSON. Deprecatedbilling.getSubscriptions()in favour ofbilling.getSubscription. -
[Billing Beta] Replace
useSubscriptionItemswithuseSubscription. (#6317) by @panteliselef
Patch Changes
- Updated dependencies [
cd59c0e,cd59c0e]:- @clerk/types@4.70.0
- @clerk/shared@3.15.0
- @clerk/localizations@3.20.3
5.75.0
Minor Changes
-
[Billing Beta] Replace
payerType[]withforPayerTypetyped as'org' | 'user'. (#6342) by @panteliselef -
Add optional
cssLayerNametoBaseThemeobject (#6322) by @alexcarpenter
Patch Changes
-
Fix authentication state resolution when creating checkout instance (#6370) by @LauraBeatris
-
Introduce
__internal_hasAfterAuthFlowsflag (#6366) by @LauraBeatris -
Adjust the cases in which the Billing item shows within the
UserProfileandOrgProfilecomponents (#6315) by @aeliox -
Refactor UserPreview to use min-height vs empty element to remove extra leading space (#6363) by @alexcarpenter
-
Adds missing error message when an account is locked in hash routing mode. (#6336) by @bratsos
-
Add
taskUrlsoption to customize task flow URLs: (#6373) by @LauraBeatris<ClerkProvider taskUrls={{ org: '/my-custom-org-selector', }} /> -
Improve the contrast of nav bar buttons within profile components. (#6351) by @alexcarpenter
-
Rename
orgsession task key toselect-organization(#6372) by @LauraBeatris -
Updated dependencies [
8ff2aef,fecc99d,6c5cd88,959d63d,80abb5d,4c3d6c1,438e499,bbfaca8,35da3e8,10e1060,92c44dd,a04a8f5,6080456,bd84c62,305e5e4,4954747,c61855c,43ea069]:- @clerk/localizations@3.20.2
- @clerk/types@4.69.0
- @clerk/shared@3.14.0
5.74.1
Patch Changes
-
Replace the
/subscriptionsFAPI endpoint with/subscription_itemsfor cancelling subscription items. (#6341) by @panteliselef -
Updated dependencies [
4f2e0ad]:- @clerk/localizations@3.20.1
5.74.0
Minor Changes
- [Billing Beta] Update
clerk.billing.getPlans()to return paginated data and introduce theusePlans()hook. (#6327) by @panteliselef
Patch Changes
-
Marking root of subscription modal with
cl-subscriptionDetails-root. (#6333) by @panteliselef -
-
Render parsed
colorRingat 15% vs 100% (#6334) by @alexcarpenter -
Render parsed
colorModalBackdropat 73% vs 100% -
Ensure
avatarBackgroundandavatarBorderrender with parsed neutral colors whencolorNeutralis passed in via variables prop
-
-
Improve invalid plan change callout for monthly-only plans (#6248) by @aeliox
-
Navigate to tasks on
sso-callbackroute (#6324) by @LauraBeatris -
Updated dependencies [
d2f6f9e,a329836,6041c39,3f1270d]:- @clerk/types@4.68.0
- @clerk/shared@3.13.0
- @clerk/localizations@3.20.0
5.73.2
Patch Changes
-
Do not trigger after-auth navigation from
useMultisessionActions(#6323) by @LauraBeatris -
Updated dependencies [
2a90b68,af50905]:- @clerk/types@4.67.0
- @clerk/shared@3.12.3
- @clerk/localizations@3.19.2
5.73.1
Patch Changes
-
Refactor after-auth flows to keep navigation internally (#6319) by @LauraBeatris
-
Updated dependencies [
8ee859c]:- @clerk/shared@3.12.2
- @clerk/types@4.66.1
- @clerk/localizations@3.19.1
5.73.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) by @alexcarpenter
:root { --clerk-color-primary: #6d47ff; --clerk-color-primary-foreground: #ffffff; }Deprecated variables
Deprecated New colorTextcolorForegroundcolorTextOnPrimaryBackgroundcolorPrimaryForegroundcolorTextSecondarycolorMutedForegroundspacingUnitspacingcolorInputTextcolorInputForegroundcolorInputBackgroundcolorInputDeprecated 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) by @panteliselef
-
Extract
SubscriptionDetails, into its own internal component, out of existing (also internal)PlanDetailscomponent. (#6148) by @panteliselef
Patch Changes
-
Enhanced detection of password manangers (#6311) by @tmilewski
-
Updated dependencies [
025e304,dedf487,b96114e]:- @clerk/types@4.66.0
- @clerk/localizations@3.19.0
- @clerk/shared@3.12.1
5.72.0
Minor Changes
- [Billing Beta]: Introduce experimental
Clerk.__experimental_checkout()for managing the state of a checkout session. (#6195) by @panteliselef
Patch Changes
-
Bugfix: Fixed incorrect field validation when using password authentication with email or phone number during sign-up. Optional email and phone fields now correctly display their requirement status. (#6259) by @bratsos
-
Force redirect to SSO callback route when force-an-org is enabled, ensuring task display and organization selection (#6271) by @LauraBeatris
-
Navigate to tasks when switching sessions (#6273) by @LauraBeatris
-
Updated dependencies [
2be6a53,f6a1c35,6826d0b,f6a1c35,97a07f7]:- @clerk/types@4.65.0
- @clerk/shared@3.12.0
- @clerk/localizations@3.18.1
5.71.0
Minor Changes
-
Add CSS variable support to the
appearance.variablesobject, enabling use of CSS custom properties. For example, you can now usecolorPrimary: 'var(--brand-color)'to reference CSS variables defined in your stylesheets. (#6187) by @alexcarpenterThis feature includes automatic fallback support for browsers that don't support modern CSS color manipulation features.
-
Added granular permission checks to
<APIKeys />component to support read-only and manage roles (#6253) by @wobsoriano -
Remove
@stripe/react-stripe-jsdependency and only allow loading of stripe-js viaClerk.__internal_loadStripeJs(). (#6180) by @panteliselef -
Password managers will now autofill OTP code verifications. (#6247) by @tmilewski
-
Adds Content Security Policy (CSP) nonce support to the Cloudflare Turnstile (#6226) by @jacekradko
Patch Changes
-
Fix browser back / forward navigation for tabs (#6264) by @aeliox
-
Fix layout shift when navigating after task resolution (#6265) by @LauraBeatris
-
Updated dependencies [
f42c4fe,ec207dc,d00ef33,ec207dc,0e0cc1f]:- @clerk/types@4.64.0
- @clerk/shared@3.11.0
- @clerk/localizations@3.18.0
5.70.0
Minor Changes
-
Convert date properties from number to Date in CommerceSubscriptionResource (#6233) by @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
getPlanby id to the billing namespace. (#6230) by @panteliselef
Patch Changes
-
Updated dependencies [
baac817,abd8446,8387a39,f2a6641,01a0f29]:- @clerk/localizations@3.17.3
- @clerk/shared@3.10.2
- @clerk/types@4.63.0
5.69.3
Patch Changes
-
Hide invitation in
OrganizationSwitcherwhen user is already an active member of the organization (#6208) by @LauraBeatris -
Updated dependencies [
02a1f42,edc0bfd]:- @clerk/shared@3.10.1
- @clerk/types@4.62.1
- @clerk/localizations@3.17.2
5.69.2
Patch Changes
-
Fixes stale
SignInobject onauthenticateWithRedirectforsamlandenterprise_ssocustom flows (#6160) by @LauraBeatrisPreviously, the same connection identifier would be used on every
authenticateWithRedirectcall leading to redirecting to the wrong identity provider -
Fix SVG masking cross-browser compatibility in checkout complete component (#6190) by @panteliselef
-
Use hooks exported from
@clerk/sharedto query commerce data. (#6159) by @panteliselef -
Do not display create organization form after accepting organization invitation on after-auth flow (#6191) by @LauraBeatris
-
Updated dependencies [
65ca8f5,f1be1fe,bffb42a]:- @clerk/localizations@3.17.1
- @clerk/types@4.62.0
- @clerk/shared@3.10.0
5.69.1
Patch Changes
-
Add element descriptors to
<APIKeys />component (#6095) by @wobsoriano -
Fixed issues causing incorrect form fields or restricted access for users with existing sign-up tickets (#6143) by @jacekradko
-
Prevent organization list from displaying after creating an organization through the force organization selection flow (#6117) by @LauraBeatris
-
Replace expiration segmented list with dropdown and hide description field in
<APIKeys />component (#6153) by @wobsoriano -
Add
signInModeprop toPricingTablefor configuring sign in behavior (#6154) by @aeliox -
Reworked the cache key creation logic in SignInFactorOneCodeForm.tsx not to rely on sign_in.id, which can change after host app re-renders (#6134) by @jacekradko
-
Bug fix: Drawers would always act as prefered-reduced-motion was turned on on the first render. (#6149) by @alexcarpenter
-
Fixes a scenario where the session token would not immediately update after a call to
Clerk.session.touch(). (#6144) by @brkalow -
Updated dependencies [
86f32ab,b495279,c3fa15d,52d5e57,15a945c,9487346,656851d,72629b0,0271fd3]:- @clerk/localizations@3.17.0
- @clerk/types@4.61.0
- @clerk/shared@3.9.8
5.69.0
Minor Changes
- Add
<APIKeys />component. This component will initially be in early access and not recommended for production usage just yet. (#5858) by @wobsoriano
Patch Changes
-
Add payment history tab to UserProfile and OrgProfile (#6075) by @aeliox
-
Maintain current active organization when
setActive({ organization: null })is called with force organization selection enabled (#6103) by @LauraBeatris -
Add
.v0.devas prefered origin for oauth flows with popup. (#6118) by @mwickett -
Do not allow
setActive({ organization: null })when organization selection is forced (#6073) by @LauraBeatris -
Use error metadata for invalid change plan screen on
Checkoutcomponent. (#6102) by @panteliselef -
Add localizations for some commerce strings, general cleanups (#6101) by @aeliox
-
Display info tooltip for past due amounts at checkout. (#6097) by @panteliselef
-
Updated dependencies [
19e9e11,18bcb64,138f733,48be55b,2c6f805,97749d5]:- @clerk/localizations@3.16.5
- @clerk/types@4.60.1
- @clerk/shared@3.9.7
5.68.0
Minor Changes
- Introduce
cssLayerNameoption to allow users to opt Clerk styles into a native CSS layer. (#5552) by @alexcarpenter
Patch Changes
-
Get
payment_method_orderfor Stripe payment elements from backend (#6034) by @aeliox -
Use the
is_removableflag on a payment source to determine if it can be removed. (#6033) by @aeliox -
Clean up layout and logic of the
PlanDetailsdrawer (#5928) by @aeliox -
Initiate enterprise SSO from ticket flows, such as organization invitations. (#6009) by @LauraBeatris
-
Introduce internal
<OAuthConsent />component to be used internally in the machine auth OAuth flow in account portal. (#6021) by @alexcarpenter -
feat(types,clerk-js): Update types; RoleSelect allows fallbackLabel (#6037) by @thiskevinwang
- this updates OrganizationInvitation and OrganizationMembership resource+types to include
roleNamewhich is already present on frontend-api responses, asrole_name. - this updates RoleSelect to allow rendering a
fallbackLabelin the event thatvaluedoes not map to any of the supplied roles
- this updates OrganizationInvitation and OrganizationMembership resource+types to include
-
Updated dependencies [
d8fa5d9,be2e89c,85f3db4,5644d94,b578225,8838120]:- @clerk/types@4.60.0
- @clerk/localizations@3.16.4
- @clerk/shared@3.9.6
5.67.5
Patch Changes
-
Fixes a bug where the session cookie was getting incorrectly set from tabs that do not reflect the active session. (#5989) by @brkalow
-
Fix an issue where clerk-js was incorrectly emitting the new session's token during session switching. This impacts some applications that rely on Clerk's multi-session behavior. (#5986) by @brkalow
-
Fix issue where the combined flow wouldn't trigger if a phone number was used as an identifier while set as an optional field. (#5992) by @dstaley
-
Add "Past Due" amount on checkout flow when applicable (#6014) by @octoper
-
Handle missing
publicUserDatainOrganizationMembership(#6016) by @tmilewski -
Add support for the signup_rate_limit_exceeded error on OAuth flows (#6028) by @anagstef
-
Updated dependencies [
f897773,2c6a0cc,71e6a1f]:- @clerk/shared@3.9.5
- @clerk/localizations@3.16.3
- @clerk/types@4.59.3
5.67.4
Patch Changes
-
Replaces
useFetchwithuseSWRoruseSWRMutationin all commerce related components. (#5939) by @panteliselef -
Fix logic for allowing removal of all payment methods if there are no paid subscriptions (#5975) by @aeliox
-
Pass the full statement id to the list item to ensure the full value is copied to clipboard. (#5984) by @alexcarpenter
-
Refactors checkout success highlight animation to fix an issue where background colors other that white, would not properly mask the highlight glow. (#5991) by @alexcarpenter
-
Drop throttling for multisession apps to fix edge cases when quickly switching between tabs with different sessions, in apps that have multisession support enabled. (#5990) by @nikosdouvlis
-
Updated dependencies [
6ed3dfc,f6a4a7b]:- @clerk/types@4.59.2
- @clerk/localizations@3.16.2
- @clerk/shared@3.9.4
5.67.3
Patch Changes
-
Bug fix: Remove cancel subscription option when implicitly subscribed to the default free plan. (#5946) by @alexcarpenter
-
Maintain _ _clerk_ticket and _ _clerk_status query params through sign up verification flow (#5965) by @jacekradko
-
Maintain selected identifier when going through combined flow (#5972) by @jacekradko
-
Remove 'sms' channel parameter from phone code requests (#5966) by @anagstef
-
Updated dependencies [
f237d76]:- @clerk/shared@3.9.3
5.67.2
Patch Changes
-
Add support for country-specific alternative phone code channels (#5937) by @anagstef
-
Allow removal of all payment methods when there are no active subscriptions (#5963) by @aeliox
-
Removes z-index from keyless prompt to prevent overlay issues with drawers. (#5951) by @alexcarpenter
-
Add checkout success animation highlight. (#5940) by @alexcarpenter
-
Fixes issue where min/max username lengths errors were not properly interpolated within profile component. (#5948) by @alexcarpenter
-
Updated dependencies [
c305b31,6bb480e]:- @clerk/localizations@3.16.1
- @clerk/types@4.59.1
- @clerk/shared@3.9.2
5.67.1
Patch Changes
5.67.0
Minor Changes
-
Introduce
__experimental_startPathoption foropenOrganizationProfile. (#5926) by @alexcarpenterExample usage:
clerk.openOrganizationProfile({ __experimental_startPath: '/billing', }); -
Replaces strings with localizations throughout billing components. (#5922) by @alexcarpenter
Patch Changes
-
Hide "Set as default" from the action menu of the default MFA method (#5933) by @octoper
-
Add
oidcPromptprop toSignInandSignUpcomponents andauthenticateWithRedirectmethod to control the OIDC authentication prompt behavior during Enterprise SSO flows (#5925) by @LauraBeatris<SignUp oidcPrompt='select_account' /> <SignIn oidcPrompt='select_account' />signUp.authenticateWithRedirect({ redirectUrl: '/sso-callback', oidcPrompt: 'select_account' }); -
Replace
useFetchwithuseSWRMutateon checkout. (#5932) by @panteliselef -
Bug fix: Call
setActiveafter closing Checkout to ensure RSCs re-render with the new auth context. (#5916) by @panteliselef -
Add
drawerRootdescriptor and adjust z-index approach. (#5924) by @alexcarpenter -
Only lock scroll when Drawer is using fixed strategy (#5936) by @alexcarpenter
-
Fixing issues where checkout data being stale (#5921) by @octoper
-
Bug fix: Always invalidate checkout object when
<Checkout/>unmounts. (#5929) by @panteliselef -
Updated dependencies [
b1337df,65f0878,df6fefd,4282bfa,5491491]:- @clerk/types@4.59.0
- @clerk/localizations@3.16.0
- @clerk/shared@3.9.1
5.66.0
Minor Changes
-
Introduce
WhatsAppas an alternative channel for phone code delivery. (#5894) by @anagstefThe new
channelproperty accompanies thephone_codestrategy. Possible values:whatsappandsms.
Patch Changes
-
Fixes incorrect heading spacing within PlanDetails drawer header (#5918) by @alexcarpenter
-
Display a better subscription list / button when empty and the free plan is hidden (#5912) by @aeliox
-
Improvements of flows for switching between plans (#5883) by @octoper
-
Bug fix: Revalidate payment methods after checking out with test card. (#5913) by @panteliselef
-
Ensure Checkout drawer animation and content respects RTL usage. (#5906) by @alexcarpenter
-
Fixes issue in Safari where navigating between profile tabs caused the navbar icons to shift unexpectedly. (#5887) by @alexcarpenter
-
Fixes
newSubscriptionRedirectUrlusage onPricingTable. (#5909) by @alexcarpenter -
Updated dependencies [
36c6f8f,1ff6d6e,68a7b40,f288881,fbf3cf4]:- @clerk/localizations@3.15.3
- @clerk/shared@3.9.0
- @clerk/types@4.58.1
5.65.0
Minor Changes
-
Add handling of new Handshake nonce flow when authenticating requests (#5865) by @jacekradko
-
Fix issue where we were not correctly passing the checkoutProps through within the PricingTable component. Removes internal checkoutProps prefix from PricingTableBaseProps. (#5888) by @alexcarpenter
Patch Changes
-
Added a notice in tooltip when member no has permissions to manage billing for all manager related buttons (#5852) by @octoper
-
Fix and issue after paying with a new card where it was navigationg to existing payment sources and then complete checkout screen (#5882) by @octoper
-
Update profile components plans page heading from
Switch planstoPlans(#5889) by @alexcarpenter -
Sort payment sources so always default one is on top (#5875) by @octoper
-
Add element descriptor to the text element rendered within UserPreview component. (#5878) by @alexcarpenter
-
Remove no manage billing permissions alert from the of start billing page (#5873) by @octoper
-
Fix mobile
<Drawer />sizing. (#5880) by @alexcarpenter -
Add descriptor ids to
UserMembershipListandOrganizationSwitcherTriggerelements to improve styling experience. (#5881) by @alexcarpenter -
Removes white space from PlanCard when the ctaPosition is top and there are no features (#5885) by @alexcarpenter
-
Fix the "Plan starts at" date when a user downgrades from a paid plan to the free plan (#5893) by @nikosdouvlis
-
Add loading state to
<PaymentSources />component. (#5879) by @alexcarpenter -
Updated dependencies [
d81c1c1,0f5145e,afdfd18,b7c51ba,437b53b,5217155]:- @clerk/localizations@3.15.2
- @clerk/types@4.58.0
- @clerk/shared@3.8.2
5.64.2
Patch Changes
5.64.1
Patch Changes
-
Update Organization subscription API endpoints to include the
/commerce/path segment. (#5855) by @brkalow -
Update PricingTable badge and status messaging. (#5844) by @alexcarpenter
-
Ensure statements ui is scrollable (#5866) by @alexcarpenter
-
Added a gap between no-permissions notice and pricing table in
<OrganizationProfile/>billing page (#5861) by @octoper -
Fix drawer positioning issues experienced in safari (#5859) by @alexcarpenter
-
Fix
ArrowsUpDownstroke fill to usercurrentColor(#5860) by @alexcarpenter -
Handle
invalid_plan_changeerror with custom UI (#5867) by @octoper -
Add new Billing Statements UI to User and Org Profile (#5850) by @aeliox
-
Render long message for
submitErrorwithinCheckoutForm(#5862) by @alexcarpenter -
Show annual amount in the subscriptions list if the subscription has annual plan period (#5863) by @octoper
-
Update
PricingTableplan card UI (#5844) by @alexcarpenter -
Update
<Checkout />line items to includex12prefix when plan is annual (#5857) by @nikospapcom -
Updated dependencies [
4db96e0,36fb43f,e5ac444,4db96e0,d227805]:- @clerk/localizations@3.15.1
- @clerk/types@4.57.1
- @clerk/shared@3.8.1
5.64.0
Minor Changes
-
Mark commerce apis as stable (#5833) by @nikosdouvlis
-
Expose Clerk Billing APIs. (#5833) by @nikosdouvlis
Render the pricing table component
Clerk.mountPricingTableClerk.unmountPricingTable
Manage payment methods
Clerk.[user|organization].initializePaymentSource()Clerk.[user|organization].addPaymentSource()Clerk.[user|organization].getPaymentSources()
Billing namespace
Clerk.billingClerk.billing.getPlans()Clerk.billing.getSubscriptions()Clerk.billing.getInvoices()Clerk.billing.startCheckout()
Patch Changes
-
Move
creditat the top-level and removeprorationproperty (#5849) by @octoper -
Add support for switching to the free plan (#5810) by @aeliox
-
Only allow members with
org:sys_billing:manageto manage billing for an Organization (#5835) by @octoper -
Replace Toggle component with Switch component in active subscription drawer (#5853) by @nikospapcom
-
Introduce
<Tooltip />primitive (#5841) by @alexcarpenter -
Move
<__experimental_PaymentSources />component underBilling->Subscriptionstab and deletePayment methodstab (#5825) by @nikospapcom -
Rename
__experimental_nextTaskto__experimental_navigateToTask(#5715) by @LauraBeatris -
Fix interactive turnstile layout issue on SSO callback. (#5783) by @anagstef
-
Introduce
checkoutContinueUrloption. (#5807) by @alexcarpenter -
Show a localized message for all errors returned from the backend if the user tries to perform an invalid plan change. (#5805) by @nikosdouvlis
-
Always revalidate when checkout drawer opens (#5798) by @octoper
-
Adjusts the layout of the
PricingTableplan cards (#5824) by @aeliox -
Add entry animations to CheckoutComplete component to smooth our the transition between checking out to successful state. (#5802) by @alexcarpenter
-
Allow switching from an existing monthly subscription to an annual subscription for the same plan (#5811) by @aeliox
-
Rename CheckoutProps and PlanDetailsProps to **internal_CheckoutProps and **internal_PlanDetailsProps (#5838) by @nikosdouvlis
-
Fix turnstile language fallback warning on captcha modal. (#5827) by @anagstef
-
Update SubscriptionsList UI to be rendered within ProfileSections within UserProfile and OrganizationProfile. (#5847) by @alexcarpenter
-
Adjusts the order and layout of the checkout form's line items (#5804) by @aeliox
-
Display generic payment icon in payment source row when payment method is not card (#5851) by @nikospapcom
-
Sort subscriptions and add free plan to subsciption list if it's upcoming (#5854) by @octoper
-
Update checkout downgrade notice placement and text. (#5837) by @alexcarpenter
-
Rename __experimental_checkoutContinueUrl to checkoutContinueUrl (#5826) by @nikosdouvlis
-
Add
Pay with test cardbutton on<AddPaymentSource />component in dev instance (#5831) by @nikospapcom -
Update internal Switch component to require a label. (#5845) by @LekoArts
-
Replace __experimental_PricingTable with PricingTable (#5828) by @nikosdouvlis
-
Updated dependencies [
db0138f,aa97231,c792f37,3bf08a9,a7c45b3,74cf3b2,037b113,c15a412,7726a03,ed10566,b846a9a,e66c800,45e8298,b9d90da,9c41091,29462b4,322c43f,17397f9,45e8298]:- @clerk/types@4.57.0
- @clerk/localizations@3.15.0
- @clerk/shared@3.8.0
5.63.5
Patch Changes
-
Use the
total.proration.creditto show the proration credit on checkout flow (#5792) by @octoper -
Adding Partitioned attribute to __client_uat cookie in CHIPS build variant (#5785) by @jacekradko
-
Remove usage of
totals.grandTotalfrom checkout flows (#5794) by @octoper -
Remove unused properties from proration response in checkout (#5793) by @octoper
-
Updated dependencies [
9ec0a73,d9222fc]:- @clerk/types@4.56.3
- @clerk/localizations@3.14.4
- @clerk/shared@3.7.8
5.63.4
Patch Changes
-
Brings back the free plan card in the PricingTable (#5787) by @aeliox
-
Fix issue where the checkout component was portaling into the wrong profile component when two profile components were rendered at once. (#5779) by @alexcarpenter
-
Only render add / select payment method UI during checkout when the total due is greater than $0 (#5762) by @aeliox
-
Updated dependencies [
225b9ca]:- @clerk/types@4.56.2
- @clerk/localizations@3.14.3
- @clerk/shared@3.7.7
5.63.3
Patch Changes
- Fix issue within profile components where the ProfileBox was removed when mounting the pricing table component causing padding issues. (#5777) by @alexcarpenter
5.63.2
Patch Changes
-
Retry checkout confirmation if there is another checkout in progress (#5771) by @octoper
-
Avoid opening checkout from
<PricingTable />without a session, when selecting a plan. (#5765) by @panteliselef -
Forcing __session cookie to have SameSite=none attribute in the CHIPS build variant (#5775) by @jacekradko
-
Display upgrade and downgrade information on
<Checkout />. (#5746) by @panteliselef -
Fix handshake redirect loop in applications deployed to Netlify with a Clerk development instance. (#5656) by @wobsoriano
-
Throw error in development when opening
<Checkout />without a session. (#5767) by @panteliselef -
Refactor PricingTable components to use RootBox component for top level element. (#5747) by @alexcarpenter
-
Updated dependencies [
387bf62,2716622,294da82]:- @clerk/types@4.56.1
- @clerk/shared@3.7.6
- @clerk/localizations@3.14.2
5.63.1
Patch Changes
-
Correct the entry point for the clerk.chips.browser.js bundle (#5758) by @jacekradko
-
Update dependency qrcode.react from 3.1.0 to 4.2.0. This fixes peer dependency warnings with React 19. (#5760) by @LekoArts
5.63.0
Minor Changes
-
Introduce
<PricingTable forOrganizations />to display plans that available only for organizations. (#5740) by @panteliselef -
Setting the Partitioned attribute on __session cookie (#5514) by @jacekradko
Patch Changes
-
Checkout confirm request handles both new/existing payment sources (#5745) by @octoper
-
Exclude matrix variant of
<PricingTable />. (#5724) by @panteliselef -
Fix layout shift caused by the invisible captcha mechanism (#5753) by @anagstef
-
For each plan inside the
<PricingTable/>display "Switch to this plan" instead of "Get started" when a subscription already exists. (#5722) by @panteliselef -
Renames all instances of
SubscriptionDetailstoPlanDetailsto better reflect the capabilities, use cases, and params of the component. (#5749) by @aeliox -
Split
CommerceTotalstoCommerceCheckoutTotalsandCommerceInvoiceTotals. (#5726) by @panteliselef -
Bug fix: Checkout drawer not opening after user selected another account from UserButton. (#5743) by @panteliselef
-
Fix list spacing within PricingTable and PlanDetails components. (#5755) by @alexcarpenter
-
Replace
"commerce"with"billing"in error message when components cannot render because the feature is disabled. (#5741) by @panteliselef -
Remove stale properties from
__experimental_CommerceInvoiceResource(#5738) by @panteliselef -
Switch to "Payment method" terminology instead of "Payment source". (#5721) by @panteliselef
- Removes
userProfile.__experimental_billingPage.start.headerTitle__paymentSources - Adds
userProfile.__experimental_billingPage.start.headerTitle__paymentMethods
- Removes
-
Retry confrim checkout requests if any erros with >=500 status code occur (#5742) by @octoper
-
Add the CAPTCHA element on the SignIn component (#5739) by @anagstef
-
Update the text in Checkout buttons from "Pay $0" to "Subscribe". (#5720) by @panteliselef
-
Updated dependencies [
b02e766,5d78b28,d7f4438,5866855,0007106,462b5b2,447d7a9,2beea29,115601d]:- @clerk/types@4.56.0
- @clerk/localizations@3.14.1
- @clerk/shared@3.7.5
5.62.2
Patch Changes
-
Bug fix: Use the same cache key for payment sources across checkout and profiles. (#5706) by @panteliselef
-
Avoid laggy ui when closing drawer after canceling subscription. (#5711) by @panteliselef
-
Bug fix: on session switch, revalidate cached commerce resources. (#5712) by @panteliselef
-
Revalidate payment sources from
<Checkout />when a new payment source is added before the checkout is completed. (#5709) by @panteliselef -
Invalidate invoices after successful checkout. (#5717) by @panteliselef
-
Incremental improvements for account funds in checkout. (#5705) by @panteliselef
- Fixes CLS issues when rendering account funds
- Renames "accounts funds" to "payment sources" for consistency
- Auto opes the "Add a new payment source" drawer only if no payments sources exist
-
Update shortDate modifier to include year for future dates. (#5707) by @panteliselef
-
Add support for 2 new OAuth error codes (#5718) by @anagstef
-
Updated dependencies [
f9c2dfa,7cd1afa]:- @clerk/localizations@3.14.0
5.62.1
Patch Changes
-
Minor UI fixes for Billing pages in
<UserProfile/>and<OrganizationProfile/>. (#5690) by @panteliselef -
Updated dependencies [
8b25035]:- @clerk/localizations@3.13.14
- @clerk/types@4.55.1
- @clerk/shared@3.7.4
5.62.0
Minor Changes
-
Introduce
Clerk.statusfor tracking the state of the clerk singleton. (#5476) by @panteliselefPossible values for
Clerk.statusare:"loading": Set during initialization"error": Set when hotloading clerk-js failed orClerk.load()failed"ready": Set when Clerk is fully operational"degraded": Set when Clerk is partially operational
The computed value of
Clerk.loadedis:truewhenClerk.statusis either"ready"or"degraded".falsewhenClerk.statusis"loading"or"error".
-
Introduce
clerk.legacy.browser.jsfor legacy browser support. (#5495) by @dstaley
Patch Changes
-
Fix duplicate checkout calls when clicking Get Started buttons (#5664) by @aeliox
-
-
Adds support for collecting and verifying user email (when they don't already have one associated with their payer) during checkout (#5671) by @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.
-
-
Rollback change to lazy-loading suspense wrapper (#5670) by @aeliox
-
Add
<SubscriptionsList />to both UserProfile and OrgProfile components. (#5658) by @alexcarpenterIntroduce experimental method for opening
<SubscriptionDetails />component.clerk.__experimental_openSubscriptionDetails(...) -
Updated dependencies [
68dc2b6,33201bf,4334598,0ae0403]:- @clerk/localizations@3.13.13
- @clerk/types@4.55.0
- @clerk/shared@3.7.3
5.61.2
Patch Changes
-
Ensure margin is reset on definition list components to prevent browser default styling leaking in. (#5653) by @alexcarpenter
-
Refactor InvoicePage title and invoice ID UI. (#5655) by @alexcarpenter
-
Chore: display correct total for checkout complete page (#5650) by @aeliox
-
Updated dependencies [
ea84f6b,45486ac,837692a,0c00e59,6a5f644]:- @clerk/localizations@3.13.12
- @clerk/types@4.54.2
- @clerk/shared@3.7.2
5.61.1
Patch Changes
-
Fix an issue where
fallbackRedirectUrlandforceRedirectUrlwere being improperly passed from sign up to sign in and vice versa. These props will now only apply to the specific flow they were passed to initially. (#5645) by @brkalow -
Add invoices data fetching and invoice UI to org and user profile. (#5627) by @alexcarpenter
-
Chore: tidy up checkout complete state for upcoming subscriptions (#5644) by @aeliox
-
Hide Billing tabs from UP and OP when no paid plans exist for an instance. (#5628) by @panteliselef
-
Updates
PricingTableandSubscriptionDetailDrawerto handleupcomingand "expiring" subscriptions. (#5601) by @aeliox -
Updated dependencies [
ab939fd,03284da,7389ba3,f6ef841,b7b940c,e634830,f8887b2]:- @clerk/types@4.54.1
- @clerk/shared@3.7.1
- @clerk/localizations@3.13.11
5.61.0
Minor Changes
-
Add support for feature or plan based authorization (#5582) by @panteliselef
Plan
Clerk.session.checkAuthorization({ plan: "my-plan" })
Feature
Clerk.session.checkAuthorization({ feature: "my-feature" })
Scoped per user or per org
Clerk.session.checkAuthorization({ feature: "org:my-feature" })Clerk.session.checkAuthorization({ feature: "user:my-feature" })Clerk.session.checkAuthorization({ plan: "user:my-plan" })Clerk.session.checkAuthorization({ plan: "org:my-plan" })
Patch Changes
-
Nest existing commerce settings under
billing. (#5612) by @panteliselef -
Rename the
sendCaptchaTokento__internal_sendCaptchaToken. (#5581) by @anagstef -
Ensure Organization slugs contain at least one alphanumeric character (#5586) by @jacekradko
-
Ensure Stripe dependencies aren't bundled for non-RHC environments (#5594) by @tmilewski
-
Fix issue where truncated text was wraping within line items. (#5616) by @alexcarpenter
-
Fully strip @stripe/stripe-js from non-RHC builds (#5597) by @tmilewski
-
Add
PaymentSourceRowfor displaying payment sources (#5570) by @aeliox -
Bug fix: Invalidate cached checkout on checkout drawer unmount (#5602) by @aeliox
-
Updated dependencies [
e4d04ae,431a821,93068ea,431a821,431a821,103bc03,48438b4,196dcb4]:- @clerk/types@4.54.0
- @clerk/shared@3.7.0
- @clerk/localizations@3.13.10
5.60.0
Minor Changes
- Introduce
sessionClaimsto useAuth(). (#5565) by @panteliselef- thanks to @ijxy for the contribution
Patch Changes
-
Move
createEventBusto shared. (#5546) by @panteliselef -
Updated dependencies [
70c9db9,554242e,f17e445,cc1f9a0,8186cb5]:- @clerk/shared@3.6.0
- @clerk/types@4.53.0
- @clerk/localizations@3.13.9
5.59.3
Patch Changes
-
Uses the helper function
__experimental_JWTPayloadToAuthObjectPropertiesfrom@clerk/sharedto handle the new JWT v2 schema. (#5549) by @octoper -
Remove Stripe from non-RHC build (#5569) by @tmilewski
-
Add Payment Sources to
<OrgProfile />, hook up all org-related payment source and checkout methods to the org-specific endpoints (#5554) by @aeliox -
Fix issue where the SSO callback URL was incorrectly generated when using the transfer flow within a modal. (#5562) by @dstaley
-
Add copy and truncation options to
<LineItems.Description />component. (#5560) by @alexcarpenter -
Update the supported API version to
2025-04-10(#5568) by @octoper -
Optionally handle the
intentparameter on SSO redirects to reload specific resources. (#5553) by @dstaley -
Updated dependencies [
3ad3bc8,cfa94b8,2033919,5f3cc46]:- @clerk/shared@3.5.0
- @clerk/types@4.52.0
- @clerk/localizations@3.13.8
5.59.2
Patch Changes
-
Expose the 'external_account.phone_number' property. This represents the associated phone number, if exists, with the specific external account (#5557) by @chanioxaris
-
Stop retrying on
/verifyif the client cannot solve the challenge (#5526) by @anagstef -
Handle two factor redirect when authenticate with web3 and multifactor has been enabled (#5352) by @nikospapcom
-
Updated dependencies [
f6f275d]:- @clerk/types@4.51.1
- @clerk/localizations@3.13.7
- @clerk/shared@3.4.1
5.59.1
Patch Changes
-
Adds support for Apple Pay to
AddPaymentSourcecomponent, and removes the unusable "collapsed" state. (#5506) by @aeliox -
Fixes an issue where a race condition was caused by triggering navigations during a call to
setActive. (#5515) by @dstaley -
Introduce
clerk.__internal_openCheckout()andclerk.__internal_closeCheckout()methods and remove<Checkout />from within the<PricingTable />component. (#5481) by @alexcarpenter -
Fix routing issue in
<Checkout />component by wrapping theLazyDrawerRendererwith nestedVirtualRouter. (#5527) by @alexcarpenter -
Fixes an issue where the SSO callback URL was incorrectly set for combined sign-in/sign-up. (#5515) by @dstaley
-
Trigger navigation to tasks on
setActivefor internal routing only (#5535) by @LauraBeatris -
Updated dependencies [
e1ec52b,bebb6d8,c3e7886,d0d5203,6112420,9b25e31,26ce4c1]:- @clerk/types@4.51.0
- @clerk/localizations@3.13.6
- @clerk/shared@3.4.0
5.59.0
Minor Changes
-
Improve session refresh logic. (#5397) by @panteliselef
- Switched from interval-based polling to timeout-based polling, ensuring retries for a
getToken()call complete before the next poll begins. Clerk.handleUnauthenticated()now sets the session to null when a/clientrequest returns a500status code, preventing infinite request loops.- Improved error handling: If the
/clientrequest fails during initialization, the poller stops, a dummy client is created, a manual request to/tokensis attempted, and polling resumes.
- Switched from interval-based polling to timeout-based polling, ensuring retries for a
-
Expose
retryAftervalue onClerkAPIResponseErrorfor 429 responses. (#5480) by @dstaley
Patch Changes
-
Remove non-actionable error from Session poller. (#5494) by @panteliselef
-
Treat pending sessions as signed-out by default in
Clerk.isSignedIn(#5505) by @LauraBeatris -
add v0 preview domain to opt-in to pop-up auth flow (#5502) by @mwickett
-
Fix sign in prepare first factor cache key (#5474) by @octoper
-
Create a utility that implements
Promise.allSettledwith ES6/ES2015 compatibility. (#5491) by @panteliselef -
Remove usage of
<PlanCard />from<SubscriptionDetailDrawer />. (#5469) by @alexcarpenter -
Add payment source section to
UserProfile(#5492) by @aeliox -
Update secured by clerk link URL. (#5504) by @alexcarpenter
-
Emit captcha errors if the turnstile fails to execute (#5520) by @anagstef
-
Filters out non supported strategies for reverification (#5475) by @octoper
-
Updated dependencies [
60a9a51,e984494,67d34eb,ec4521b,38828ae,f30fa75,9c68678,619cde8]:- @clerk/shared@3.3.0
- @clerk/localizations@3.13.5
- @clerk/types@4.50.2
5.58.1
Patch Changes
-
Fallback to locally stored environment during an outage. (#5420) by @panteliselef
-
Fix Turnstile console warning when locale is used (#5463) by @anagstef
-
Remove console.error from transfer flow (#5462) by @anagstef
-
Add billing page to
OrgProfile, use newusePlanshook, and adds new subscription methods (#5423) by @aeliox -
Refactor
<PricingTableDefault />to use local sub components to align with<PricingTableMatrix />implementation and descriptors. (#5450) by @alexcarpenter -
Updated dependencies [
e20fb6b,77e6462]:- @clerk/localizations@3.13.4
- @clerk/shared@3.2.3
- @clerk/types@4.50.1
5.58.0
Minor Changes
-
Add support for the
oauthFlowprop on<SignIn />and<SignUp />, allowing developers to opt-in to using a popup for OAuth authorization instead of redirects. (#5239) by @dstaleyWith the new
oauthFlowprop, developers can opt-in to using a popup window instead of redirects for their OAuth flows by settingoauthFlowto"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 aniframe. We also opt applications into the"popup"flow when we detect that your application is running on a domain that's typically embedded into aniframe, such asloveable.app.
Patch Changes
-
Load tasks based on environment settings (#5422) by @LauraBeatris
-
Handle the empty body on 204 responses from FAPI (#5410) by @anagstef
-
Updated dependencies [
1da28a2,a9b618d,f20dc15,a570b80,4d9f1ee]:- @clerk/types@4.50.0
- @clerk/shared@3.2.2
- @clerk/localizations@3.13.3
5.57.4
Patch Changes
-
Fix lazy-loading of
BillingPageinUserProfile(#5445) by @aeliox -
Remove Paypal option from
<CheckoutForm />(#5446) by @alexcarpenter -
Wrap nested
<Checkout />component in its own AppearanceProvider to recieve its own appearance object. (#5443) by @alexcarpenter -
Updated dependencies [
466ed13]:- @clerk/types@4.49.2
- @clerk/localizations@3.13.2
- @clerk/shared@3.2.1
5.57.3
Patch Changes
- Pass appearance variables to stripe elements. (#5346) by @alexcarpenter
5.57.2
Patch Changes
-
Add background color to
<PricingTableMatrix />elements to ensure sticky elements cover the scrollable content. (#5417) by @alexcarpenter -
Use a new signUp attempt on SignUp component when there is no ticket flow and a phone number is provided to prevent rate-limiting issues. (#5415) by @anagstef
-
Add
matrixlayout option to<PricingTable />component. (#5393) by @alexcarpenter -
Updated dependencies [
892bc0e]:- @clerk/shared@3.2.0
5.57.1
Patch Changes
-
Fix issue where unverified field weren't showing up when ToS was enabled (#5404) by @octoper
-
Lazy-loads experimental components within
UserProfile, preventing unnecessary code from loading. (#5409) by @aeliox -
Fix an edge case where
window.Clerkis re-assigned if the Clerk script is injected multiple times. (#5406) by @brkalow -
Export
isReverificationCancelledErrorerror helper (#5396) by @octoper -
Introduce
__experimental_nextTaskmethod for navigating to next tasks on a after-auth flow (#5377) by @LauraBeatris -
Update the resiliency logic for failed client attempts to allow the creation of a dev browser. (#5411) by @panteliselef
-
This introducing changes to
useReverification, the changes include removing the array and returning the fetcher directly and also the dropping the optionsthrowOnCancelandonCancelin favour of always throwing the cancellation error. (#5396) by @octoperimport { useReverification } from '@clerk/clerk-react'; import { isReverificationCancelledError } from '@clerk/clerk-react/error'; type MyData = { balance: number; }; export function MyButton() { const fetchMyData = () => fetch('/api/balance').then(res => res.json() as Promise<MyData>); const enhancedFetcher = useReverification(fetchMyData); const handleClick = async () => { try { const myData = await enhancedFetcher(); // ^ is typed as `MyData` } catch (e) { // Handle error returned from the fetcher here // You can also handle cancellation with the following if (isReverificationCancelledError(err)) { // Handle the cancellation error here } } }; return <button onClick={handleClick}>Update User</button>; }These changes are also adding a new handler in options called
onNeedsReverification, which can be used to create a custom UI to handle re-verification flow. When the handler is passed the default UI our AIO components provide will not be triggered so you will have to create and handle the re-verification process.import { useReverification } from '@clerk/clerk-react'; import { isReverificationCancelledError } from '@clerk/clerk-react/error'; type MyData = { balance: number; }; export function MyButton() { const fetchMyData = () => fetch('/api/balance').then(res => res.json() as Promise<MyData>); const enhancedFetcher = useReverification(fetchMyData, { onNeedsReverification: ({ complete, cancel, level }) => { // e.g open a modal here and handle the re-verification flow }, }); const handleClick = async () => { try { const myData = await enhancedFetcher(); // ^ is typed as `MyData` } catch (e) { // Handle error returned from the fetcher here // You can also handle cancellation with the following if (isReverificationCancelledError(err)) { // Handle the cancellation error here } } }; return <button onClick={handleClick}>Update User</button>; } -
Updated dependencies [
3910ebe,e513333]:- @clerk/types@4.49.1
- @clerk/shared@3.1.0
- @clerk/localizations@3.13.1
5.57.0
Minor Changes
-
Navigate to tasks on after sign-in/sign-up (#5280) by @LauraBeatris
-
Improve the resilience of the SDK against situations where the /v1/environment endpoint is not reachable. This is achieved by allowing the initialization of the environment with default values. (#5287) by @jacekradko
-
Allow user set primary web3 wallet in
<UserProfile />when more than one web3 wallets presented (#5353) by @nikospapcom -
Deprecate out of date jwt types in favour of existing that are up-to-date. (#5354) by @panteliselef
Patch Changes
-
Fix
<CheckoutForm />select positioning and option text color. (#5356) by @alexcarpenter -
Add support for localizationKeys within commerce components. (#5390) by @alexcarpenter
-
Default
<Drawer.Confirmation />toalertdialogrole. (#5383) by @alexcarpenter -
Simplify plan card avatar badge container styling. (#5355) by @alexcarpenter
-
Introduce
<Drawer.Confirmation />component to be used within Commerce cancel subscription flow. (#5376) by @alexcarpenter -
Hide personal workspace options when organization selection is enforced (#5391) by @LauraBeatris
-
Allow token refresh when Client failed to resolve. (#5345) by @panteliselef
-
Introduce experimental billing APIs and components (#5248) by @aeliox
-
Introduce
<Drawer />component and update commerce components implementations to make use of it. (#5337) by @alexcarpenter -
Update floating-ui packages to latest. (#5341) by @alexcarpenter
-
Conditionally render the avatar and badge components within PlanCard. (#5348) by @alexcarpenter
-
When a C2 is not signed-in, redirect them to sign-in from the
<PlanCard />. (#5349) by @alexcarpenter -
Update plan feed rendering within
<PlanCard />to only renderannualMonthlyAmountwhen it's greater than 0. (#5357) by @alexcarpenter -
Adjust the
<Drawer />enter/exit animations timing and easings. (#5369) by @alexcarpenter -
Refactor
<Checkout />components to apply descriptors and ensure styling is properly connected to theming layer. (#5359) by @alexcarpenter -
Introduce
<PlanCardFeaturesList/>variants to render the avatar and description fields within<PlanDetailsDrawer />. (#5379) by @alexcarpenter -
Updated dependencies [
725918d,91d0f0b,9572bf5,39bbc51,3dddcda,7524943,150b5c8,23c931e,730262f,0b18bb1,021bc5f,1a61390]:- @clerk/types@4.49.0
- @clerk/shared@3.0.2
- @clerk/localizations@3.13.0
5.56.0
Minor Changes
Patch Changes
-
Removes legal consent checkbox from sign-up start card when only social or web3 strategies are enabled. (#5289) by @alexcarpenter
-
Make use of native browser navigator locks property to avoid needing to use localstorage or cookies. (#5156) by @alexcarpenter
-
Improve the UX on Reverification by not requiring the user's current password. (#5284) by @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.
-
When a user passes
withSignUp={false}we should opt out of combined flow even whensignUpUrlis undefined. (#5286) by @alexcarpenter -
fix(clerk-js): Correctly show alternative methods for user re-verification card (#5164) by @octoper
-
Remove the Primary Web3 wallet from user preview section, in the
<UserProfile/>(#5319) by @nikospapcom -
Handle pwned password error during sign in instant password submit. (#5298) by @Nikpolik
-
Updated dependencies [
75879672c5805bfba1caca906ac0729497744164,7ec95a7e59033600958aca4b86f3bcd5da947dec,1427c92069483f3f0880739c4ca5b418872e5d38,3c225d90227141dc62d955e76c7f8e0202524bc7,657af338e7464162419189dde9cd6696a0622e41,2a66c16af08573000bb619607346ac420cd4ce56]:- @clerk/shared@3.0.1
- @clerk/types@4.48.0
- @clerk/localizations@3.12.0
5.55.1
Patch Changes
- Updated dependencies [
aefaf48071cc7df172011febb4a870526be89d24]:- @clerk/localizations@3.11.1
5.55.0
Minor Changes
- Lazily load components related to
<SignUp>functionality when used with the combined flow in<SignIn>. (#5237) by @panteliselef
Patch Changes
-
Revert offlineScheduler (#5279) by @nikosdouvlis
-
Display validation error in
<Waitlist />for email address field correctly (#5243) by @nikospapcom -
Updated dependencies [
ae53f31442b661c291c4b4cc4cc5152df6c6aa47,02defeda4d73de9cf34904d76590fd98d4abd3a9,79169b18d3d7fe8ccd7b0c1d13d782ef627e7cd3,f18318179180b1f95690a4982ba44df9de1c57ab]:- @clerk/localizations@3.11.0
5.54.2
Patch Changes
- Fixes a bug in
Clerk.signOut()that was preventing the after sign out redirect from occurring in Next.js v15. (#5171) by @brkalow
5.54.1
Patch Changes
- Fix modal issues by inlining scroll locking mechanism instead of using
<FloatingOverlay/>which caused issues in Chromium based browsers (#5244) by @octoper
5.54.0
Minor Changes
-
Introduce the
appearance.captchaproperty for the CAPTCHA widget (#5184) by @anagstef -
Track usage of modal UI Components as part of telemetry. (#5185) by @panteliselef
-
-
Initialize new
pendingsession status as an signed-in state (#5136) by @LauraBeatris -
Deprecate
Clerk.client.activeSessionsin favor ofClerk.client.signedInSessions -
Introduce
Clerk.isSignedInproperty as an explicit signed-in state check, instead of!!Clerk.sessionor!!Clerk.user:
- if (Clerk.user) { + if (Clerk.isSignedIn) { // Mount user button component document.getElementById('signed-in').innerHTML = ` <div id="user-button"></div> ` const userbuttonDiv = document.getElementById('user-button') clerk.mountUserButton(userbuttonDiv) } -
Patch Changes
-
Set input primitive placeholder color. (#5157) by @alexcarpenter
-
Fix issue where scroll lock was not restored correctly when multiple modals were opening (#5233) by @octoper
-
Refactor social button row distribution calculation to prevent overlapping on page load. (#5213) by @alexcarpenter
-
Remove full width from OrgProfile members search input. (#5126) by @alexcarpenter
-
Improve compatibility with Safari 12 by removing modern JavaScript syntax. (#5228) by @dstaley
-
Bug fix: Broadcast a sign out event to all opened tabs when
Clerk.signOut()orUser.delete()is called. (#5133) by @panteliselef -
Initialize
tasksonSessionresource (#5170) by @LauraBeatris -
Updated dependencies [
28179323d9891bd13625e32c5682a3276e73cdae,7ae77b74326e378bf161e29886ee82e1556d9840,c5c246ce91c01db9f1eaccbd354f646bcd24ec0a,bcbe5f6382ebcc70ef4fddb950d052bf6b7d693a,382c30240f563e58bc4d4832557c6825da40ce7f]:- @clerk/types@4.47.0
- @clerk/shared@3.0.0
- @clerk/localizations@3.10.8
5.53.0
Minor Changes
-
Introduce
EmailLinkErrorCodeStatusto support users in custom flows and markEmailLinkErrorCodeas deprecated. (#5142) by @alexcarpenter- import { EmailLinkErrorCode } from '@clerk/nextjs/errors' + import { EmailLinkErrorCodeStatus } from '@clerk/nextjs/errors' -
Fix issue where
unsafeMetadatawas not associated with sign-ups in the combined sign-in-or-up flow. (#5161) by @dstaley
Patch Changes
-
Fix navigation issue within combined flow web3 providers when additional fields are required. (#5141) by @alexcarpenter
-
Pause session touch and token refresh while browser is offline, and resume it when the device comes back online. (#5098) by @panteliselef
-
Remove logo from use another method verification card. (#5169) by @alexcarpenter
-
Trigger re-verification when setting an email as primary (#5162) by @octoper
-
Support passing additional properties to
eventPrebuiltComponentMounted(), and ensurewithSignUpis collected onSignInmount. (#5150) by @brkalow -
Adjust verification modal vertical alignment and remove logo usage within verification cards. (#5153) by @alexcarpenter
-
Track custom pages and custom items usage on
UserButtonandUserProfilemount. (#5163) by @panteliselef -
Updated dependencies [
d76c4699990b8477745c2584b1b98d5c92f9ace6,a9b0087fca3f427f65907b358d9b5bc0c95921d8,92d17d7c087470b262fa5407cb6720fe6b17d333,4001e0388a705e6dbdbb82eaaa494a688a1c6e9f]:- @clerk/shared@2.22.0
- @clerk/types@4.46.1
- @clerk/localizations@3.10.7
5.52.3
Patch Changes
-
Bug fix: Close modals when calling
Clerk.navigate()orClerk.setActive({redirectUrl}). (#5092) by @panteliselef -
Updated dependencies [
dd2cbfe9f30358b6b298901bb52fa378b0acdca3,570d8386f6aa596bf7bb1659bdddb8dd4d992b1d,eab46bc76c0544956268cc51d7ab686f33ddd31a]:- @clerk/types@4.46.0
- @clerk/localizations@3.10.6
- @clerk/shared@2.21.1
5.52.2
Patch Changes
-
Update
@coinbase/wallet-sdkdependency to4.3.0, to resolve SDK Security Advisory (#5120) by @chanioxaris -
Add
menuButtonEllipsiselement descriptor. (#5090) by @alexcarpenter -
Fix issue accessing routing option when componentProps is undefined. (#5088) by @alexcarpenter
-
createAllowedRedirectOriginsnow takes the instance type into account to include Frontend API URL for development instances. This is necessary to properly support Clerk as an IdP with OAuth for development instances. (#4767) by @kostaspt -
Replaces hard-coded string
"Add a passkey"with a new localization keyuserProfile.start.passkeysSection.primaryButton(#5105) by @Philitician -
Avoid triggering email code verification twice on React strict mode (#5095) by @LauraBeatris
-
Updated dependencies [
f41081c563ddd2afc05b837358e0de087ae0c895,767ac85fe6ce0ee0594c923e9af701bb05f40a0b,225b38c7187d31fc755155ea99834ca03894d36b,26d273cd16941491fa05bca0ee64108956573177,429f1bfe5f7a554ab1fdf265475ba6c8b3f78472]:- @clerk/shared@2.21.0
- @clerk/types@4.45.1
- @clerk/localizations@3.10.5
5.52.1
Patch Changes
-
Add virtual routing deprecation warning. (#5072) by @alexcarpenter
-
Ensure only one action is open per section within
UserProfile. (#5030) by @alexcarpenter -
Prevent infinite loop when the client is blocked (#5083) by @anagstef
5.52.0
Minor Changes
- Update
@coinbase/wallet-sdkdepedency to4.2.4. (#4945) by @panteliselef
5.51.0
Minor Changes
Patch Changes
-
Reverts #4977 (#5057) by @alexcarpenter
Marks virtual routing as deprecated.
-
Updated dependencies [
d3152be7f01fbb5ca26aeddc2437021f4b7ecc83,f976349243da2b75023e59e802460e6f3592ebbd]:- @clerk/types@4.45.0
- @clerk/localizations@3.10.4
- @clerk/shared@2.20.18
5.50.2
Patch Changes
-
Fix captcha layout shift on transfer flow, custom flows and invisible (#5049) by @anagstef
-
Updated dependencies [
26225f2c31a22560f7ece2e02f1d0080b5b89520,833693a6792b621e72162d70673e7bdfa84a69b6]:- @clerk/shared@2.20.17
- @clerk/types@4.44.3
- @clerk/localizations@3.10.3
5.50.1
Patch Changes
-
Removes Turnstile remotely-hosted code from builds for unsupported environments (#5039) by @tmilewski
-
Opt out of combined flow when sign up mode is restricted. (#5020) by @alexcarpenter
-
Use a cookie instead of localStorage for the active org ID to avoid issues when localStorage is disabled at the browser level. (#4394) by @brkalow
-
Removes web3 provider options from progressive sign up step. web3 providers don't have the ability to fill in missing fields. (#5036) by @alexcarpenter
-
Remove
'virtual'from theroutingoption. The'virtual'value is only used internally and should not be part of the public API. (#4977) by @alexcarpenter -
Do not throw error on
captchaHeartbeatifdisplayConfigisnull. (#5032) by @jacekradko -
Pass the
signInUrlthrough to the sign up context when within the combined flow. (#5042) by @alexcarpenter -
Updated dependencies [
a309be354275b91a7b17d5a67e8ef6aa230a9935,1345cb487970a7347351897e80dfb829d85c41ea]:- @clerk/shared@2.20.16
- @clerk/types@4.44.2
- @clerk/localizations@3.10.2
5.50.0
Minor Changes
- Improve Keyless prompt's copy and add secondary CTA button for navigating to API keys page in the Dashboard. (#4993) by @kaftarmery
Patch Changes
-
Add
subtitleCombinedlocalizations to sign-in-or-up flow. (#4988) by @alexcarpenter -
Introduced searching for members list on
OrganizationProfile(#4942) by @LauraBeatris -
Navigate to specific instance instead of /last-active for configuration after keyless. (#5013) by @panteliselef
-
Updated dependencies [
57c983fdc2b8d883623a2294daae0ac6c02c48f6,a26cf0ff10c76244975c454fdf6c615475d4bcd5]:- @clerk/localizations@3.10.1
- @clerk/types@4.44.1
- @clerk/shared@2.20.15
5.49.0
Minor Changes
- Enable email verification in
UserProfilevia enterprise SSO (#4406) by @NicolasLopes7
Patch Changes
-
Fix an issue where Clerk's
proxyUrlwas not being respected. (#4990) by @brkalow -
Add sign up title localization for use in sign-in-or-up flow. (#4983) by @alexcarpenter
-
Updated dependencies [
2179690c10a61b117e82fdd566b34939f4d28bc1,2179690c10a61b117e82fdd566b34939f4d28bc1,bdb537a9902c0f0ae58ca1d4b7590d929f28fedb]:- @clerk/types@4.44.0
- @clerk/localizations@3.10.0
- @clerk/shared@2.20.14
5.48.0
Minor Changes
-
Expand Keyless popover when a user signs-in. (#4969) by @kaftarmery
Patch Changes
-
Fix error message for invalid captcha on sign-up (#4967) by @anagstef
-
Fixes an issue where Clerk's internal API client was using the incorrect domain for satellite apps. (#4974) by @brkalow
-
Remove nested
tag from the Keyless popover. (#4978) by @kaftarmery
-
Updated dependencies [
f87ede848265d75ea1e880a3ab80c53a250f42cf,6126cc98281bca96797fd8a55b6ec6aeda397e46,6e096564a459db4eaf953e99e570905b10be6c84,b3023eb4b7ae06cd0e6f8bf593f96cace2a7a8a1,b72ce8692629cd61445542bf94ed3540a3859378]:- @clerk/shared@2.20.13
- @clerk/types@4.43.0
- @clerk/localizations@3.9.14
5.47.0
Minor Changes
-
Display keyless prompt until the developer manually dismisses it. (#4940) by @panteliselef
-
Add a "Go to dashboard" link to the success state on the Keyless popover. (#4959) by @kaftarmery
Patch Changes
-
Remove text-shimmer animation from the Keyless prompt UI. (#4949) by @kaftarmery
-
Fixes an issue where certain query parameters were not preserved during the SSO callback. (#4961) by @dstaley
-
Remove unused, experimental code for a new UI component rendering path. (#4950) by @brkalow
-
Keyless prompt revalidate environment on focus at most every 10 seconds. (#4944) by @panteliselef
-
Internal refactoring of
createFapiClient()to remove reliance onClerkinstance. (#4947) by @brkalow -
Updated dependencies [
fe3e49f61acefe8d7f1992405f7cb415fea2e5c8,4427c4702f64d4f28f7564ce5889d41e260aa519]:- @clerk/types@4.42.0
- @clerk/localizations@3.9.13
- @clerk/shared@2.20.12
5.46.0
Minor Changes
- Add a confirmation state that the Application has been successfully claimed on the Keyless prompt. (#4928) by @kaftarmery
Patch Changes
-
Remove experimental prefix from combined title. (#4935) by @alexcarpenter
-
Fix interactive bot protection widget not appearing on transfer flow (#4941) by @anagstef
-
Updated dependencies [
418ec5c62c4eb600566faab07684c068a29007e3]:- @clerk/localizations@3.9.12
- @clerk/types@4.41.2
- @clerk/shared@2.20.11
5.45.2
Patch Changes
-
Fixes an infinite loading state happening when successfully adding 2FA via the security tab within
<UserProfile />. (#4934) by @alexcarpenter -
Fix layout shift when Smart CAPTCHA is about to execute. (#4924) by @anagstef
-
Standardizing ambient declaration files for all SDKs (#4919) by @jacekradko
-
Updated dependencies [
884e6db45573519695f0066f348a04dc519e7bec,9eef7713212378351e8e01628611eaa18de250e8]:- @clerk/localizations@3.9.11
- @clerk/shared@2.20.10
5.45.1
Patch Changes
-
Remove "Learn more" link from Keyless popover and improve copy (#4923) by @kaftarmery
-
Stop falling back to the Clerk proxy worker if turnstile fails to load as it is not as accurate as challenges.cloudflare.com (#4922) by @nikosdouvlis
-
Updated dependencies [
7ffc99b48977b9f6c74c0c71c500b60cb8aba65e]:- @clerk/types@4.41.1
- @clerk/localizations@3.9.10
- @clerk/shared@2.20.9
5.45.0
Minor Changes
- Introduce sign-in-or-up flow. (#4788) by @alexcarpenter
Patch Changes
-
Skip fraud protection if client has bypass enabled (#4907) by @nikosdouvlis
-
Updated dependencies [
4af35380f18d1d06c15ad1f5745c2d5a1ab1c37d,aa48b1f9e890b2402e9d05989a4820141076f7bf,53bd34fff38b17498edf66cc4bc2d42d707f28dc]:- @clerk/types@4.41.0
- @clerk/localizations@3.9.9
- @clerk/shared@2.20.8
5.44.1
Patch Changes
-
Simplify animations on Keyless prompt. (#4868) by @kaftarmery
Bug fix: Add base element styles to override default styling of elements on Keyless prompt.
-
Fixes an issue that caused Clerk's UI code to load even before components were rendered. (#4876) by @brkalow
-
Updated dependencies [
fd7a5be73db3acaa7daeb9b15af73c2ce99d03a6]:- @clerk/localizations@3.9.8
- @clerk/types@4.40.3
- @clerk/shared@2.20.7
5.44.0
Minor Changes
Patch Changes
5.43.7
Patch Changes
- Fixes username form field errors to display messages according to the respective code sent in the error response. (#4858) by @panteliselef
5.43.6
Patch Changes
-
Opens new tab when claiming keys on Keyless mode. (#4852) by @panteliselef
-
Initially render Keyless UI as collapsed. (#4857) by @panteliselef
-
Updates Keyless UI to automatically expand when the application has been claimed. (#4855) by @kaftarmery
-
Post captcha tokens to /client/verify instead of PATCH /client (#4850) by @nikosdouvlis
-
Updated dependencies [
44cab6038af0a4d23869b3b292ece742fbbc4d85,a3de23c85083fc061762e2533618a6c47d00c480]:- @clerk/types@4.40.2
- @clerk/localizations@3.9.7
- @clerk/shared@2.20.6
5.43.5
Patch Changes
-
Fix combined flow routing. (#4817) by @alexcarpenter
-
Improve error handling when trying to sign-in/sign-up with web3 wallet and wallet is not installed in the browser (#4845) by @nikospapcom
-
Fix username field error message rendering within sign-up continue flow. (#4840) by @alexcarpenter
-
Improve accessibility of the Keyless prompt. (#4806) by @kaftarmery
-
Updated dependencies [
80e1117631d35834705119a79cdcf9e0ed423fdd]:- @clerk/localizations@3.9.6
- @clerk/types@4.40.1
- @clerk/shared@2.20.5
5.43.4
Patch Changes
-
Revalidate environment on window focus for Keyless. (#4813) by @panteliselef
-
Fix broken enterprise connection icon for custom SAML provider (#4809) by @LauraBeatris
-
fix(clerk-js): Rethrow errors if not requires_captcha during init (#4812) by @nikosdouvlis
-
Updated dependencies [
fa8be89155279f00b2a04da669e5ec3e22514d42]:- @clerk/localizations@3.9.5
5.43.3
Patch Changes
- Updated dependencies [
c9da04636ffe1ba804a1ce5e5b79027d3a2344d2]:- @clerk/types@4.40.0
- @clerk/localizations@3.9.4
- @clerk/shared@2.20.4
5.43.2
Patch Changes
- Redirect to sign up start step within combined flow when there are optional fields. (#4795) by @alexcarpenter
5.43.1
Patch Changes
-
Updated dependencies [
84ccb0049041534f111be65f7c7d4d6120069446]:- @clerk/shared@2.20.3
5.43.0
Minor Changes
- Redirect to the current page when within modal mode and no redirect URL is provided. (#4768) by @alexcarpenter
Patch Changes
-
fix: Properly detect and create devBrowser when the suffixed version is missing but an unsuffixed version exists (#4776) by @panteliselef
If the __clerk_db_jwt referred to a different instance, we’d fetch
/environmentand/clientwith mismatched publishable keys and JWTs, breaking the app. -
Updated dependencies [
1677fa46862accd25d4837c9abd9a7a70c5b7858,dcd2f3973ca90500fda9e52c4f81e631c49e87fc]:- @clerk/localizations@3.9.3
5.42.1
Patch Changes
-
Added min and max length username settings to username field error. (#4771) by @alexcarpenter
-
Rename
toJSON()resource methods to__internal_toSnapshot()to avoid issues with serializing functions. (#4777) by @anagstef -
Updated dependencies [
aeafa7c5efd50c893d088ac99199d7eaecc04025,acd9326ef2d6942b981b3ee59c4b20ddd303323d]:- @clerk/localizations@3.9.2
- @clerk/types@4.39.4
- @clerk/shared@2.20.2
5.42.0
Minor Changes
- Display a UI prompt while Clerk is running in Keyless mode. (#4761) by @panteliselef
Patch Changes
-
Add additional toast UI for the claim/keyless flow (#4756) by @kaftarmery
-
Using the same peerDependencies semver for react and react-dom (#4758) by @jacekradko
-
Introduce
__internal_copyInstanceKeysUrlas property inClerkOptions. It is intented for internal usage from other Clerk SDKs and will be used in Keyless mode. (#4755) by @panteliselef -
Bug fix: Use
afterSwitchSessionUrlinstead of usingafterSignInUrlwhen switching sessions within<UserButton/>. (#4726) by @panteliselef -
Add
claimedAtproperty inside AuthConfig for the environment. It describes when a instance that was created from the Keyless mode was finally claimed. (#4752) by @panteliselef -
Handle organization membership quote exceeded error during enterprise SSO (#4763) by @mzhong9723
-
Introduce a
toJSON()function on resources. (#4604) by @anagstefThis 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.
-
Updated dependencies [
66ad299e4b6496ea4a93799de0f1ecfad920ddad,dd3fdc7b2a96ddb90b33c6f1cefb055a60f99a9d,e1748582d0c89462f48a482a7805871b7065fa19,7f7edcaa8228c26d19e9081979100ada7e982095,dd3fdc7b2a96ddb90b33c6f1cefb055a60f99a9d]:- @clerk/shared@2.20.1
- @clerk/types@4.39.3
- @clerk/localizations@3.9.1
5.41.0
Minor Changes
- Switching to use ^ for semver ranges of internal @clerk/ production dependencies. (#4664) by @jacekradko
Patch Changes
- Updated dependencies [
ffa631d2480cfe77bf08c61b1302ace308e5b630]:- @clerk/localizations@3.9.0
- @clerk/shared@2.20.0
5.40.3
Patch Changes
-
Bug fix: When the requested Web3 provider cannot be found, use any other available injected Web3 Wallet provider, instead of blocking the sign-in/sign-up flow. (#4734) by @chanioxaris
-
Introduce the
navbarButtonTextelement descriptor. (#4635) by @alexcarpenter -
Updated dependencies [
cd72a27a75863dfd94b0a00ed5b2d03231556bc0]:- @clerk/types@4.39.2
- @clerk/localizations@3.8.2
- @clerk/shared@2.19.4
5.40.2
Patch Changes
-
Add
socialButtonsRootdescriptor. (#4729) by @alexcarpenter -
Updated dependencies [
6ea3d39510297b005cde3cd561f56b2e0ea7c61b,08b3e4042370937b79d4b4167155d6aad1fa9356,1b86a1da34ce4bc309f69980ac13a691a0a633c2]:- @clerk/localizations@3.8.1
- @clerk/types@4.39.1
- @clerk/shared@2.19.3
5.40.1
Patch Changes
-
Apply fraud protection logic to all requests (#4709) by @nikosdouvlis
-
Updated dependencies [
4cb22548da81dd8b186a6ef1cf120aea99c85c62]:- @clerk/shared@2.19.2
5.40.0
Minor Changes
- Replace
__internal_claimAccountlessKeysUrlwith__internal_claimKeylessApplicationUrl. (#4602) by @panteliselef
Patch Changes
-
Fixes an issue during sign-up flow where a user lands on the continue step, and proceeds successfully through the sign-up process and gets redirected to AP sign-up due to signUp.id being undefined. (#4711) by @alexcarpenter
-
Introduce experimental sign-in combined flow. (#4607) by @alexcarpenter
-
Updated dependencies [
6fdffaf41f6b79c56dc017e058a670ddbaaf9f42,550c7e9851329688e37be29b83ea0c3b12482af7,9393a90eeecd7a8e441a85682a7defa5cc5aa4f2,965cb6a8aa47ad57b08dd1c8859117e12ed2eaa7,3f640805d2a4e1616aafa56f6848d6657911bb99,b9a5bea404cb09d7e328d48b41bd2669feb4e518,e7abe51a9e8baa378c6ad588b4766a60bc2c4433]:- @clerk/localizations@3.8.0
- @clerk/types@4.39.0
- @clerk/shared@2.19.1
5.39.0
Minor Changes
- Replace usage of
OAUTH_PROVIDERSandWEB3_PROVIDERSfrom@clerk/typesto@clerk/shared. (#4716) by @panteliselef
Patch Changes
- Updated dependencies [
0bc3ccc5bd4a93121bb7e7d6a32271af9c31f8c3,0bc3ccc5bd4a93121bb7e7d6a32271af9c31f8c3]:- @clerk/shared@2.19.0
- @clerk/types@4.38.0
- @clerk/localizations@3.7.4
5.38.0
Minor Changes
- Introduce a new
allowedRedirectProtocolsoption to pass additional allowed protocols for user-provided redirect validation. (#4705) by @BRKalow
Patch Changes
-
Fixes an issue in
UserProfilewhere email and username forms could retain stale values from the previous render, leading to incorrect data being sent to FAPI (#4713) by @LauraBeatris -
Remove side-effect from
Sessionresource initialization that triggered a session cookie update. This cookie update is now explicitly part of theClerk.load()flow. (#4555) by @BRKalow -
Updated dependencies [
4e5e7f463c12893a21cb3b5f9317fc3f2945879b]:- @clerk/types@4.37.0
- @clerk/localizations@3.7.3
- @clerk/shared@2.18.1
5.37.0
Minor Changes
- Support OKW Wallet Web3 provider and authentication strategy (#4696) by @chanioxaris
Patch Changes
- Updated dependencies [
8ee5d84995fa17532491ff96efac5738c9bcd9ef,09fedd1df155d30cc055ce701b133aa6470e9b47,235eaae4c3c9400492fca47d20a47c7081041565]:- @clerk/localizations@3.7.2
- @clerk/types@4.36.0
- @clerk/shared@2.18.0
5.36.0
Minor Changes
-
-
Update the supported API version to
2024-10-01that includes the following changes (#4596) by @Nikpolik- Notification for new sign ins to users' accounts feature becomes available.
- The response for Sign Ins with an email address that matches a SAML connection is updated. Instead of responding with a status of
needs_identifierthe API will now return a status ofneeds_first_factorand the email address that matched will be returned in the identifier field. the only strategy that will be included in supported first factors isenterprise_sso
Read more in the API Version docs
-
Update components to use the new
enterprise_ssostrategy for sign ins / sign ups that match an enterprise connection and handle the new API response.This strategy supersedes SAML to provide a single strategy as the entry point for Enterprise SSO 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).
-
Patch Changes
-
Fix a memory leak in email link flow polling. (#4515) by @myandrienko
-
Updated dependencies [
8a28d1f403309f692d9332704f07effbf39d056d]:- @clerk/types@4.35.1
- @clerk/localizations@3.7.1
- @clerk/shared@2.17.1
5.35.1
Patch Changes
-
Fix a bug where the Clerk event listener was not emitting updates when a Session's user data changes. (#4661) by @BRKalow
-
Bug fix: Being able to revoke a session from UserProfile. (#4653) by @panteliselef
5.35.0
Minor Changes
-
Drop experimental tag related to reverification. (#4536) by @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
-
If a nonce is provided, it is now made available to Clerk's internal components. This allows the nonce to be passed in to style-src in CSPs and work correctly. (#4509) by @jescalan
Patch Changes
-
Include BUILD_DISABLE_RHC to allow for builds which remove remotely hosted code as it is a requirement for browser extensions. (#4133) by @tmilewski
-
Rename userVerification to reverification to align with the feature name. (#4634) by @BRKalow
-
Updated dependencies [
fe9e147e366153d664af7fc325655ecb299a1f9d,fe9e147e366153d664af7fc325655ecb299a1f9d,d84d7e31235c5c7da3415981dc76db4473a71a39,fe9e147e366153d664af7fc325655ecb299a1f9d,dce4f7ffca7248c0500f0ec9a978672b1f2fad69]:- @clerk/shared@2.17.0
- @clerk/types@4.35.0
- @clerk/localizations@3.7.0
5.34.6
Patch Changes
-
Catch and ignore any captcha errors during heartbeat (#4629) by @nikosdouvlis
-
Enable captcha for development instances (#4620) by @issuedat
-
Add new internal UI component for accountless. (#4625) by @panteliselef
-
Decouple captcha heartbeat from token refresh mechanism (#4630) by @nikosdouvlis
-
Updated dependencies [
c70994b5b6f92a6550dfe37547f01bbfa810c223,7623a99594e7329200b6b374e483152d7679ce66]:- @clerk/types@4.34.2
- @clerk/localizations@3.6.6
- @clerk/shared@2.16.1
5.34.5
Patch Changes
- Collect captcha token on load (#4623) by @nikosdouvlis
5.34.4
Patch Changes
-
Fixes issue where
FormFeedbackwas rendering two elements with the sameidattribute leading to invalid markup. (#4552) by @alexcarpenter -
Handle
sign_up_restricted_waitlisterror encountered in an oauth flow (#4603) by @nikospapcom -
Exclude
_clerk_session_idquery param from/waitlistendpoint (#4594) by @nikospapcom -
Inject captcha token into every X heartbeats (#4614) by @nikosdouvlis
-
Updated dependencies [
e47eb5882a7fd4a8dee25933c6644790d6ea3407,7510d5cf0ac4d2994849931de8dda75cf605f840,273d16cb0665d4d960838cb294dc356f41814745,6b0961765e1f3d09679be4b163fa13ac7dd97191]:- @clerk/shared@2.16.0
- @clerk/types@4.34.1
- @clerk/localizations@3.6.5
5.34.3
Patch Changes
-
Block /tokens requests until fraud detection completes by @nikosdouvlis
-
Enforce uppercase rendering for
<ProviderInitialIcon />. (#4578) by @alexcarpenter -
Fixes an issue where the password field would not render during autofill event until the user interacted with the screen. (#4560) by @alexcarpenter
-
Updated dependencies [
536fa996ff84a545678a3036b28409824d1c00dd,b28c5e8bc44885bf6b1533df48e872ba90c387da]:- @clerk/shared@2.15.0
5.34.2
Patch Changes
-
Display logo in
<Waitlist />component (#4561) by @nikospapcom -
Correctly handle async requires_captcha error by @nikosdouvlis
5.34.1
Patch Changes
-
Protect /tokens requests by requiring a valid captcha token if the request fails with 401 (#4559) by @nikosdouvlis
-
Updated dependencies [
46faeb6f59b19c963fb137c858347525b1cd9e19,ea6c52dd751abe38b350ee07f148652c24125e22]:- @clerk/shared@2.14.0
- @clerk/types@4.34.0
- @clerk/localizations@3.6.4
5.34.0
Minor Changes
-
Surface enterprise accounts in
UserProfile, allowing to display more protocols besides SAML (#4518) by @LauraBeatris -
Introduce the
experimental.rethrowOfflineNetworkErrorsoption to theClerkProvidercomponent. (#4525) by @anagstefWhen set to
true, Clerk will rethrow network errors that occur while the user is offline.
Patch Changes
-
Display additional errors from enterprise SSO (#4553) by @LauraBeatris
-
Updated dependencies [
1c0b5001f7f975a2f3f54ad692526ecf7257847e,6217a3f7c94311d49f873214bd406961e0b8d6f7,1783025cdb94c447028704c2121fa0b8af785904]:- @clerk/types@4.33.0
- @clerk/shared@2.13.0
- @clerk/localizations@3.6.3
5.33.1
Patch Changes
-
Use fapi error long message instead of statusText when throwing API errors. (#4511) by @panteliselef
-
Fixes satellite syncing when both the satellite and the primary apps use server-side enabled frameworks like NextJS (#4516) by @nikosdouvlis
-
Updated dependencies [
cc741adf26d983ae199ad8e7faa6551a80999f16]:- @clerk/localizations@3.6.2
5.33.0
Minor Changes
- Replace
redirectUrlwithafterJoinWaitlistUrlin<Waitlist />component (#4532) by @nikospapcom
Patch Changes
- Updated dependencies [
7dbad4c5abd226d7b10941a626ead5d85b1a3f24]:- @clerk/types@4.32.0
- @clerk/localizations@3.6.1
- @clerk/shared@2.12.1
5.32.0
Minor Changes
-
Introduce experimental support for passkeys in Expo (iOS, Android, and Web). (#4352) by @AlexNti
To use passkeys in Expo projects, pass the
__experimental_passkeysobject, which can be imported from@clerk/clerk-expo/passkeys, to theClerkProvidercomponent:import { ClerkProvider } from '@clerk/clerk-expo'; import { passkeys } from '@clerk/clerk-expo/passkeys'; <ClerkProvider __experimental_passkeys={passkeys}>{/* Your app here */}</ClerkProvider>;The API for using passkeys in Expo projects is the same as the one used in web apps:
// 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) by @octoper
Removed the
__experimental_prefix. -
Now sending the Frontend API version through query string params (#4457) by @jacekradko
Patch Changes
-
Fixes issues in
ClerkRouterthat were causing inaccurate pathnames within Elements flows. Also fixes a dependency issue where@clerk/elementswas pulling in the wrong version of@clerk/shared. (#4513) by @alexcarpenter -
Internal change to use component-specific context providers. This change does not impact consumers. (#4486) by @dstaley
-
Add afterJoinWaitlistUrl to DisplayConfig resource (#4524) by @nikospapcom
-
Updated dependencies [
75b2fa0ab30f48e8b575adf31ff9ca0e6901f885,5a21de1f46df3642828dc27e4862263c9858da2b,f7472e22877f62fc7f3c8d3efe409ff2276fb4a3,e199037b8f484abdeeb9fc24455a1b4b8c31c8dd,886e294a8d8c54b39cd5bda88d46b89eace3861e,0e443ad7c76643420b50e5b169193e03f6ef79f9,cc24c8145f1eea7fb91550f2c3e0bac3993e4320]:- @clerk/localizations@3.6.0
- @clerk/shared@2.12.0
- @clerk/types@4.31.0
5.31.2
Patch Changes
- Re-init window.Clerk options when
ClerkProviderprops change in@clerk/clerk-react(#4498) by @nikosdouvlis
5.31.1
Patch Changes
-
Fix an issue where protocol relative URLs were not properly detected as non-relative. (#4483) by @BRKalow
-
Updated dependencies [
8a04ae47b8305f994b348301fd8134d5baf02943]:- @clerk/shared@2.11.5
5.31.0
Minor Changes
- New Feature: Introduce the
<Waitlist />component and thewaitlistsign up mode. (#4376) by @nikospapcom- Allow users to request access with an email address via the new
<Waitlist />component. - Show
Join waitlistprompt from<SignIn />component when mode iswaitlist. - Appropriate the text in the Sign Up component when mode is
waitlist. - Added
joinWaitlist()method inClerksingleton. - Added
redirectToWaitlist()method inClerksingleton to allow user to redirect to waitlist page.
- Allow users to request access with an email address via the new
Patch Changes
-
Expose internal
__internal_getOptionmethod from Clerk. (#4456) by @alexcarpenter -
Updated dependencies [
d74a6a7c0f291104c6bba722a8c432814d7b336e,1a0c8fe665869e732d3c800bde0f5219fce54301,0800fc3f1f4e1b6a1d13f5c02557001a283af6e8]:- @clerk/localizations@3.5.0
- @clerk/types@4.30.0
- @clerk/shared@2.11.4
5.30.3
Patch Changes
-
clerk-jsis now built with Rspack instead of Webpack. This is an internal tooling change that shouldn't affect consumers. by @nikosdouvlis -
Refactor imports from @clerk/shared to improve treeshaking support by @nikosdouvlis
-
Updated dependencies [
a7726cc12a824b278f6d2a37cb1901c38c5f70dc,a7726cc12a824b278f6d2a37cb1901c38c5f70dc]:- @clerk/shared@2.11.3
- @clerk/localizations@3.4.4
5.30.0
Minor Changes
Patch Changes
-
Experimental:
asStandalonenow accepts a callback that notifies if the standalone popover needs to unmount. (#4423) by @panteliselef -
Improve checkbox label alignment to account for wrapping labels. (#4426) by @alexcarpenter
-
Remove unused
fitTextInOneLineandtextWidthForCurrentSize(#4407) by @zythosec -
Chore: Replace beforeEmit with an explicit call after
setActive, inside the experimental UserVerification. (#4362) by @panteliselef -
Updated dependencies [
f875463da,5be7ca9fd,c2f5071be,08c5a2add,ae0621972,cd2189ac8,159877be0,434b432f8]:- @clerk/types@4.29.0
- @clerk/localizations@3.4.1
- @clerk/shared@2.11.0
5.29.1
Patch Changes
-
Show an error on
<UserProfile />if the Web3 wallet is already claimed. (#4389) by @EmmanouelaPothitou -
Fix for legal consent rendered on the
component when only social sign up is enabled (#4403) by @octoper
5.29.0
Minor Changes
Patch Changes
- Updated dependencies [
3fdcdbf88,f9d53fe34]:- @clerk/localizations@3.4.0
- @clerk/types@4.28.0
- @clerk/ui@0.1.10
- @clerk/shared@2.10.1
5.28.0
Minor Changes
Patch Changes
-
Bug fix: Always receive a new session verification object when UserVerification component mounts. (#4359) by @panteliselef
-
Updated dependencies [
3b50b67bd,3b50b67bd]:- @clerk/shared@2.10.0
- @clerk/types@4.27.0
- @clerk/localizations@3.3.1
5.27.0
Minor Changes
-
Drop
maxAgeMinutesfrom__experimental_startVerification. (#4338) by @panteliselefDrop types
__experimental_SessionVerificationConfigand__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) by @nikospapcom
-
Add experimental standalone mode for
<UserButton />and<OrganizationSwitcher />. (#4042) by @panteliselefWhen
__experimental_asStandalone: truethe 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_prefetchOrganizationSwitcheras a way to mount an internal component that will render theuseOrganizationList()hook and prefetch the necessary data for the popover of<OrganizationSwitcher />. 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 })
- (For internal usage) Added
-
Use EIP-4361 message spec for Web3 wallets sign in signature requests (#4334) by @chanioxaris
Patch Changes
-
Retry with exponential backoff if loadScript fails to load the script (#4349) by @nikosdouvlis
-
Add the
?render=explicitquery parameter to the Turnstile script. (#4332) by @anagstef -
Updated dependencies [
e81d45b72,752ce9bfa,0a9bf8ef4,99cdf9b67,ce40ff6f0,2102052c0]:- @clerk/types@4.26.0
- @clerk/shared@2.9.2
- @clerk/localizations@3.3.0
5.26.5
Patch Changes
-
Only retry the OAuth flow if the captcha check failed. (#4329) by @nikosdouvlis
-
Improve bot detection by loading the Turnstile SDK directly from CloudFlare. (#4321) by @anagstef
If loading fails due to CSP rules, load it through FAPI instead.
-
Bypass captcha for providers dynamically provided in environment (#4322) by @nikosdouvlis
-
Updated dependencies [
d64e54c40,2ba2fd148]:- @clerk/shared@2.9.1
- @clerk/types@4.25.1
- @clerk/localizations@3.2.1
5.26.4
Patch Changes
- Correctly handle malformed or protocol-relative URLs before navigating to cross-origin URLs (#4317) by @nikosdouvlis
5.26.3
Patch Changes
- Update
OrganizationSwitcherpopover action to include label (#4304) by @LauraBeatris
5.26.2
Patch Changes
-
Handle gracefully Coinbase Wallet use of existing Passkey (#4302) by @chanioxaris
-
Updates webpack to address CVE-2024-43788. (#4287) by @dependabot
-
Updated dependencies [
e29a8061d,00a9ddb5b]:- @clerk/localizations@3.2.0
5.26.1
Patch Changes
- Enable "Send invitation" button when default role is loaded (#4281) by @LauraBeatris
5.26.0
Minor Changes
- Rename
__experimental_assuranceto__experimental_reverification. (#4268) by @panteliselef- Supported levels are now are
firstFactor,secondFactor,multiFactor. - Support maxAge is now replaced by maxAgeMinutes and afterMinutes depending on usage.
- Introduced
____experimental_SessionVerificationTypesthat abstracts away the level and maxAge- Allowed values 'veryStrict' | 'strict' | 'moderate' | 'lax'
- Supported levels are now are
Patch Changes
- Updated dependencies [
fb932e5cf]:- @clerk/shared@2.9.0
- @clerk/types@4.25.0
- @clerk/localizations@3.1.2
5.25.0
Minor Changes
-
Drop the experimental mounted variant of
UserVerification. (#4266) by @panteliselefRemoves:
<__experimental_UserVerification/>__experimental_mountUserVerification()__experimental_unmountUserVerification()
-
Experimental Feature:
<UserProfile/>allows users to update their information. Mostly of this information is considered sensitive data. (#4127) by @panteliselefWe 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 ❌ -
We recently shipped an experimental feature to persist the Clerk client (under
persistClientflag) as an opt-in. This allows for matching a user's device with a client. We want to test this behavior with more users, so we're making it opt-out as the next step. After more successful testing we'll remove the experimental flag and enable it by default. (#4250) by @panteliselefIf you're encountering issues, please open an issue. You can disable this new behavior like so:
// React <ClerkProvider experimental={{ persistClient: false }} />; // Vanilla JS await clerk.load({ experimental: { persistClient: false } });
Patch Changes
-
Allow single-character usernames in
<UserProfile />validation (#4243) by @nikospapcom -
Handle gracefully yet unknown to our components Web3 providers (#4263) by @chanioxaris
-
Navigate to
/choosewhen signing out during multi session. (#4203) by @alexcarpenter -
Updated dependencies [
f6fb8b53d,4a8570590]:- @clerk/types@4.24.0
- @clerk/localizations@3.1.1
- @clerk/shared@2.8.5
5.24.1
Patch Changes
- Maintain focus on password input after error during sign in flow. (#4240) by @alexcarpenter
5.24.0
Minor Changes
-
Handle
sign_up_mode_restrictederror encountered in an oauth flow (#4232) by @nikospapcom -
Render "Restricted access" screen in
<SignUp />component whensignup.modeinuserSettingsisrestricted(#4220) by @nikospapcom
Patch Changes
-
Correctly pass
defaultOpenprop toOrganizationSwitcherpopover instance. (#4233) by @alexcarpenter -
Conditionally renders identification sections on
UserProfilebased on the SAML connection configuration for disabling additional identifiers. (#4211) by @NicolasLopes7 -
Updated dependencies [
4749ed4c5,f1f17eaab,2e35ac538]:- @clerk/types@4.23.0
- @clerk/localizations@3.1.0
- @clerk/shared@2.8.4
5.23.0
Minor Changes
- Hide sign up url from
<SignIn />component when mode isrestricted(#4206) by @nikospapcom
Patch Changes
-
Handle gracefully Coinbase Wallet initial configuration (#4218) by @chanioxaris
-
Supports default role on
OrganizationProfileinvitations. When inviting a member, the default role will be automatically selected, otherwise it falls back to the only available role. (#4210) by @LauraBeatris -
Updated dependencies [
c9063853e,19d3808d4,737bcbb0f]:- @clerk/types@4.22.0
- @clerk/localizations@3.0.6
- @clerk/shared@2.8.3
5.22.4
Patch Changes
-
Fix UserProfile and OrganizationProfile wrong padding on footer for small screens when Development notice is enabled (#4191) by @octoper
-
Internal change to move
iconImageUrlutil tosharedpackage. (#4188) by @alexcarpenter -
Only render the Sign out of all accounts action within
<UserButton />when there are multiple sessions. (#4200) by @alexcarpenter -
Updated dependencies [
cb32aaf59,2e5c550e4,6275c242c,f9faaf031]:- @clerk/shared@2.8.2
- @clerk/types@4.21.1
- @clerk/localizations@3.0.5
5.22.3
Patch Changes
-
Restore behavior of MetaMask compatible Web3 wallets. Before, even if a user didn't use the MetaMask browser extension but a compatible one, such as Rabby Wallet, it was possible to use it as they share the same API to authenticate themselves. This behavior stopped working when we added support for EIP6963 regarding handling multiple injected providers. This commit restores the previous behavior by using the existing injected provider if there is a single one (#4185) by @chanioxaris
-
Updated dependencies [
5dde18f6b]:- @clerk/localizations@3.0.4
5.22.2
Patch Changes
-
Add color to phone input select options to fix rendering within dark and shadesOfPurple themes. (#4176) by @alexcarpenter
-
Updated dependencies [
3743eb911]:- @clerk/shared@2.8.1
5.22.1
Patch Changes
5.22.0
Minor Changes
-
Experimental support for
has()with assurance. (#4118) by @panteliselefExample usage:
has({ __experimental_assurance: { level: 'L2.secondFactor', maxAge: 'A1.10min', }, });Created a shared utility called
createCheckAuthorizationexported from@clerk/shared
Patch Changes
-
Moves
fastDeepMergeutils to@clerk/sharedpackage. (#4056) by @alexcarpenter -
Adds translation keys for error messages from the organizations API. (#4123) by @LauraBeatris
-
Updated dependencies [
23b850f5f,ace56babd,ba19be354,248142a6d,1189f71f8,de1ba10b4]:- @clerk/localizations@3.0.2
- @clerk/shared@2.8.0
- @clerk/types@4.21.0
5.21.2
Patch Changes
- Updated dependencies [
be3b119f8]:- @clerk/shared@2.7.2
5.21.1
Patch Changes
-
Update type of
__experimental_factorVerificationAgeto be[number, number] | null. (#4135) by @panteliselef -
Updated dependencies [
8c6909d46]:- @clerk/types@4.20.1
- @clerk/localizations@3.0.1
- @clerk/shared@2.7.1
5.21.0
Minor Changes
-
Experimental support: Expect a new sessionClaim called
fvathat tracks the age of verified factor groups. (#4061) by @panteliselefServer side
This can be applied to any helper that returns the auth object
Nextjs example
auth().__experimental_factorVerificationAge;Client side
React example
const { session } = useSession(); session?.__experimental_factorVerificationAge;
Patch Changes
-
Fix bug where session.getToken() was reading a stale organization ID. (#4112) by @BRKalow
-
Drop support for deprecated Coinbase Web3 provider (#4092) by @chanioxaris
-
Ensure we don't access
window.addEventListener()andwindow.dispatchEventin non-browser environments. (#4095) by @wobsoriano -
Support
phone_codeas first factor for the experimental UserVerification component. (#4085) by @panteliselef -
Updated dependencies [
c63a5adf0,8823c21a2,95ac67a14,a0cb062fa,746b4ed5e,feb9e14d4]:- @clerk/types@4.20.0
- @clerk/shared@2.7.0
- @clerk/localizations@3.0.0
5.20.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) by @chanioxaris
-
Experimental: Persist the Clerk client after signing out a user. (#3941) by @panteliselef
This allows for matching a user's device with a client. To try out this new feature, enable it in your
<ClerkProvider />orclerk.load()call.// React <ClerkProvider experimental={{ persistClient: true }} />; // Vanilla JS await clerk.load({ experimental: { persistClient: true } });
Patch Changes
- Updated dependencies [
8a3b9f079,e95c28196]:- @clerk/types@4.19.0
- @clerk/localizations@2.8.1
- @clerk/shared@2.6.2
5.19.0
Minor Changes
-
Add new
UserVerificationcomponent (experimental feature). This UI component allows for a user to "re-enter" their credentials (first factor and/or second factor) which results in them being re-verified. (#4016) by @panteliselefNew methods have been added:
__experimental_openUserVerification()__experimental_closeUserVerification()__experimental_mountUserVerification(targetNode: HTMLDivElement)__experimental_unmountUserVerification(targetNode: HTMLDivElement)
-
Move SessionVerification methods from UserResource to SessionResource: (#4073) by @panteliselef
user.__experimental_verifySession->session.__experimental_startVerificationuser.__experimental_verifySessionPrepareFirstFactor->session.__experimental_prepareFirstFactorVerificationuser.__experimental_verifySessionAttemptFirstFactor->session.__experimental_attemptFirstFactorVerificationuser.__experimental_verifySessionPrepareSecondFactor->session.__experimental_prepareSecondFactorVerificationuser.__experimental_verifySessionAttemptSecondFactor->session.__experimental_attemptSecondFactorVerification
Patch Changes
-
Bug fix: Use the EIP-6963 standard to get a Web3 provider when more than one provider is injected. (#4059) by @EmmanouelaPothitou
-
chore(clerk-js): Display shortened web3 wallet address on user profile (#4074) by @EmmanouelaPothitou
-
chore(clerk-js): Add 'Unverified' or 'Primary' tag next to the Web3 wallet address on the user profile. (#4077) by @EmmanouelaPothitou
-
Updated dependencies [
afad9af89,82593173a,afad9af89]:- @clerk/localizations@2.8.0
- @clerk/types@4.18.0
- @clerk/shared@2.6.1
5.18.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) by @chanioxaris
Patch Changes
-
Updated dependencies [
58e6754ad,13693018f,3aa63dc5a,3304dcc0b]:- @clerk/localizations@2.7.1
- @clerk/types@4.17.0
- @clerk/shared@2.6.0
5.17.0
Minor Changes
- Support connecting Coinbase Wallet via
(#4030) by @chanioxaris
Patch Changes
-
Fix 404s after signing out in NextJS apps by keeping the session cookie while cache is being invalidated (#4001) by @nikosdouvlis
-
Updated dependencies [
7ca43acae,c1389492d]:- @clerk/localizations@2.7.0
- @clerk/types@4.16.0
- @clerk/shared@2.5.5
5.16.1
Patch Changes
-
Remove sessionId parameter from all experimental verify session methods. (#4026) by @panteliselef
-
Introduce Coinbase Wallet Web3 provider types (#4028) by @chanioxaris
-
Change the webpackChunkName of GoogleOneTap from
"oneTap"to"onetap"for consistency. (#4036) by @panteliselef -
Fixes issue where
createFlexGapPropertyIosCompatwas incorrectly detecting a modern Chrome for iOS user agent. (#4034) by @alexcarpenter -
Introduce support for the Hugging Face OAuth Provider. (#4021) by @Nikpolik
-
Updated dependencies [
0158c774a,8be1a7abc]:- @clerk/types@4.15.1
- @clerk/localizations@2.6.3
- @clerk/shared@2.5.4
5.16.0
Minor Changes
-
Expose
SessionVerificationas an experimental resource. (#4011) by @panteliselefUpdate
UserResourcewith 5 new experimental methods:experimental_verifySessionfor creating a new SessionVerification record and initiating a new flow.experimental_verifySessionPrepareFirstFactorfor preparing a supported first factor likephone_codeexperimental_verifySessionAttemptFirstFactorfor attempting a supported first factor likepasswordexperimental_verifySessionPrepareSecondFactorfor preparing a supported second factor likephone_codeexperimental_verifySessionAttemptSecondFactorfor attempting a supported second factor liketotp
-
Fixes a bug where multiple tabs with different active organizations would not always respect the selected organization. Going forward, when a tab is focused the active organization will immediately be updated to the tab's last active organization. (#3786) by @BRKalow
Additionally,
Clerk.session.getToken()now accepts anorganizationIdoption. The provided organization ID will be used to set organization-related claims in the generated session token.
Patch Changes
-
-
Fixes an issue in Connected Accounts menu that was related to Custom OAuth Providers: (#4014) by @nikospapcom
-
Resolves undefined properties error that occurred when a Custom OAuth Provider was
enabledbutauthenticatablewas set tofalse.
-
-
Fix issue where MFA two-factor UI was incorrectly rendering set default action in SMS code when TOTP strategy was defined. (#4003) by @alexcarpenter
-
Updated dependencies [
247b3fd75]:- @clerk/types@4.15.0
- @clerk/localizations@2.6.2
- @clerk/shared@2.5.3
5.15.1
Patch Changes
-
Improve the Smart CAPTCHA widget console error. (#3989) by @agis
-
Updated dependencies [
c81785972,05198fd17,5818ca8bd]:- @clerk/localizations@2.6.1
5.15.0
Minor Changes
- Inject
windowNavigatethrough router functions. (#3922) by @panteliselef
Patch Changes
-
Fixes an issue where the application logo would render smaller than intended (#3959) by @alexcarpenter
-
Updated dependencies [
77cdf7611,3de0a1b7e,ec6bfb5b1,dc0e1c33d,e5491facc,072667043]:- @clerk/localizations@2.6.0
- @clerk/types@4.14.0
- @clerk/shared@2.5.2
5.14.1
Patch Changes
-
Add development mode warning in the browser console when
load()happens. Companion PR for Add dev mode warning to components. (#3930) by @LekoArts -
Fix unresponsive behavior when clicking placeholder logo in the
<CreateOrganization />component (#3921) by @wobsoriano -
In certain situations the Frontend API response contains
supported_first_factorswith anullvalue 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 againstnullvalues. (#3938) by @dstaley -
Updated dependencies [
7e0ced3da,b6f0613dc]:- @clerk/shared@2.5.1
- @clerk/types@4.13.1
- @clerk/localizations@2.5.8
5.14.0
Minor Changes
-
Add a
nonceto clerk-js' script loading options. Also adds anonceprop toClerkProvider. This can be used to thread a nonce value through to the clerk-js script load to support apps using astrict-dynamiccontent security policy. For next.js applications, the nonce will be automatically pulled from the CSP header and threaded through without needing any props so long as the provider is server-rendered. (#3858) by @jescalan -
Introduce
transferableprop for<SignIn />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 atransferableoption toClerk.handleRedirectCallback()with the same functionality. (#3845) by @BRKalow
Patch Changes
- Updated dependencies [
59d5f19d3,4e6c94e3f]:- @clerk/shared@2.5.0
- @clerk/types@4.13.0
- @clerk/localizations@2.5.7
5.13.2
Patch Changes
-
Add option to hide the slug field in the
<CreateOrganization />,<OrganizationSwitcher />, and<OrganizationList />components (#3882) by @wobsoriano -
Updated dependencies [
9b2aeacb3]:- @clerk/types@4.12.1
- @clerk/localizations@2.5.6
- @clerk/shared@2.4.5
5.13.1
Patch Changes
- Fix missing horizonatal padding when page urls are used within
<UserButton />. (#3903) by @alexcarpenter
5.13.0
Minor Changes
-
Add
createOrganizationsLimitparam in@clerk/backendmethodUser.updateUser()(#3823) by @NicolasLopes7Example:
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 })
Patch Changes
- Updated dependencies [
7e94fcf0f]:- @clerk/types@4.12.0
- @clerk/localizations@2.5.5
- @clerk/shared@2.4.4
5.12.0
Minor Changes
-
Introducing a development mode warning when in development mode in order to mitigate going to production with development keys. (#3870) by @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_disableDevelopmentModeWarningslayout appearance prop to<ClerkProvider>Example:
<ClerkProvider appearance={{ layout: { unsafe_disableDevelopmentModeWarnings: true, }, }} /> -
Removed
__experimental_startPathfromOrganizationProfilePropsin@clerk/clerk-jsand@clerk/types. (#3888) by @nikospapcom
Patch Changes
- Updated dependencies [
568186cad,407195270]:- @clerk/types@4.11.0
- @clerk/localizations@2.5.4
- @clerk/shared@2.4.3
5.11.0
Minor Changes
-
Introduce support for custom menu items in
<UserButton/>. (#3784) by @nikospapcom- Use
<UserButton.MenuItems>as a child component to wrap custom menu items. - Use
<UserButton.Link/>for creating external or internal links. - Use
<UserButton.Action/>for opening a specific custom page of "UserProfile" or to trigger your own custom logic viaonClick. - If needed, reorder existing items like
manageAccountandsignOut
New usage example:
<UserButton> <UserButton.MenuItems> <UserButton.Link label='Terms' labelIcon={<Icon />} href='/terms' /> <UserButton.Action label='Help' labelIcon={<Icon />} open='help' />{' '} // Navigate to `/help` page when UserProfile opens as a modal. (Requires a custom page to have been set in `/help`) <UserButton.Action label='manageAccount' labelIcon={<Icon />} /> <UserButton.Action label='Chat Modal' labelIcon={<Icon />} onClick={() => setModal(true)} /> </UserButton.MenuItems> </UserButton> - Use
Patch Changes
-
Introduce ability to set an active organization by slug (#3825) by @wobsoriano
-
Updated dependencies [
d3d38e206,a3e9c2fb8,fb302bb64,aa06f3ba7,80e647731]:- @clerk/localizations@2.5.3
- @clerk/types@4.10.0
- @clerk/shared@2.4.2
5.10.2
Patch Changes
-
Add support for opening the
UserProfileModalandOrganizationProfileModalto specific navigation items through theUserButtonandOrganizationSwitcher. (#3732) by @EmmanouelaPothitou -
Adjust how we pass captcha tokens to the Clerk API when signing in with Google, Microsoft, and Apple (#3806) by @BRKalow
-
Add
signUp.start.actionLink__use_emailandsignUp.start.actionLink__use_phonelocalization keys. (#3826) by @alexcarpenter -
Updated dependencies [
b48689705,4e61f8d27]:- @clerk/types@4.9.1
- @clerk/localizations@2.5.2
- @clerk/shared@2.4.1
5.10.1
Patch Changes
- Updated dependencies [
24465035c]:- @clerk/localizations@2.5.1
5.10.0
Minor Changes
-
Support reading / writing / removing suffixed/un-suffixed cookies from
@clerk/clerk-jsand@clerk/backend. by @dimklThe
__session,__clerk_db_jwtand__client_uatcookies will now include a suffix derived from the instance's publishakeKey. The cookie name suffixes are used to prevent cookie collisions, effectively enabling support for multiple Clerk applications running on the same domain. -
Improve UX in ConnectedAccounts by converting the error into a useful, user-friendly message with a visible way to take action. (#3723) by @panteliselef
Patch Changes
-
Update the image alt attribute to fix accessibility issues reported by Lighthouse. (#3775) by @vignesh-gupta
-
Set
sessionandclient_uatbefore invalidating cache duringsetActive()flow (#3774) by @nikosdouvlis -
Update types to account for null second factors (#3780) by @dstaley
-
Updated dependencies [
b87f7b9e1,b2788f67b,6e8a5037c,b2788f67b,5fa7208cf,86c75e50c]:- @clerk/shared@2.4.0
- @clerk/localizations@2.5.0
- @clerk/types@4.9.0
5.9.0
Minor Changes
- Added support for Custom OAuth providers by @nikosdouvlis
- Updated strategy types to include
CustomOAuthStrategy:- Added the
CustomOAuthStrategytype with the valueoauth_custom_${string} - Modified
OAuthStrategyto includeCustomOAuthStrategy:export type OAuthStrategy =oauth_${OAuthProvider}| CustomOAuthStrategy;
- Added the
- Added the
CustomOauthProvidertype with valuecustom_${string}and extendedOAuthProvidertype to includeCustomOauthProvider - Added support for displaying provider initials when
logo_urlis null for custom OAuth providers - Created new
ProviderInitialIconinternal component in order to display custom oauth provider initials if providerlogo_urlis null
- Updated strategy types to include
Patch Changes
-
Bug Fix: Navigation during signing out requires a router which was missing from the ImpersonationFab by @nikosdouvlis
-
Updated dependencies [
df7d856d5]:- @clerk/types@4.8.0
- @clerk/localizations@2.4.8
- @clerk/shared@2.3.3
5.8.1
Patch Changes
-
Bug fix: Clear session cookie after a user deletes their account (#3628) by @octoper
-
Set the localhost cookies with the Secure attribute (#3604) by @anagstef
5.8.0
Minor Changes
-
Deprecate
afterSignOutUrlandafterMultiSessionSingleSignOutUrlfrom UserButton. (#3544) by @panteliselefDevelopers can now configure these directly in
ClerkProviderand have them work properly without in UserButton, UserProfile and in impersonation mode.
Patch Changes
-
Bug fix: Requests failing due to incorrect parsing of value
falsewhen content type isx-www-form-urlencoded(#3630) by @EmmanouelaPothitou -
When organization changes, display/fetch the corresponding organization roles. (#3624) by @panteliselef
-
Updated dependencies [
d6b5006c4]:- @clerk/types@4.7.0
- @clerk/localizations@2.4.7
- @clerk/shared@2.3.2
5.7.2
Patch Changes
-
Correctly use updated protocol verification in all code paths (#3605) by @LekoArts
-
Updated dependencies [
72888323b]:- @clerk/localizations@2.4.6
5.7.1
Patch Changes
-
Bug fix: Skip password strategy for users who authenticate with SAML. (#3578) by @panteliselef
-
Add
organizationAvatarUploaderContainerdescriptor which is used e.g. for the logo upload box inside "Create Organization" flow (#3596) by @LekoArts -
Remove the qs library and use the native URLSearchParams API instead. (#3430) by @EmmanouelaPothitou
-
Allow chrome-extension: protocol in validation (#3584) by @LekoArts
-
In a previous release the protocol validation for window navigation was added (ref). Since then only
http:andhttps:were allowed. (#3564) by @LekoArtsWith this release
wails:is also supported again. If you think that the mentioned commit introduced a regression for you and your protocol should be supported, please open an issue. -
Add the
titleattribute to<OrganizationPreview>component so that truncated organization names can be previewed e.g. through hovering (#3522) by @davemo -
Updated dependencies [
1273b04ec]:- @clerk/types@4.6.1
- @clerk/localizations@2.4.5
- @clerk/shared@2.3.1
5.7.0
Minor Changes
- Move
isWebAuthnSupported,isWebAuthnAutofillSupported,isWebAuthnPlatformAuthenticatorSupportedto@clerk/shared/webauthn. (#3472) by @panteliselef
Patch Changes
- Updated dependencies [
4ec3f63e2]:- @clerk/shared@2.3.0
5.6.0
Minor Changes
- Add descriptor for formatted dates in tables. Those elements can be identified by the
cl-formattedDate__tableCellcss class. (#3465) by @panteliselef
Patch Changes
-
In some instances your application logo (shown at the top of the sign-in/sign-up form of the prebuilt components) might have been distorted in browsers like Firefox. By applying
object-fit: containto the image's CSS the logo now fills its bounding box without being distorted. (#3501) by @LekoArts -
Support remounting ClerkProvider multiple times by making sure that the
updatePropscall during the loading phase does not override any defaults set byClerk.load()for values that are missing (#3455) by @nikosdouvlis -
Sms phone code verification lists available phone numbers on cancel. (#3479) by @panteliselef
-
Only render active sessions in the active devices section. Fixes the bug where a device with no information would render upon revoking. (#3497) by @desiprisg
-
Fixed a bug where Clerk components rendered in modals were wrapped with
aria-hidden. (#3508) by @BRKalow -
Bug fix: statically loading a resource would result in an increase in bundle size for
clerk.browser.js. (#3519) by @panteliselef -
Updated dependencies [
86a27f693,478c49b41,02bed2e00,cd424c590,73e5d61e2,68f247444,b8e46328d]:- @clerk/shared@2.2.2
- @clerk/localizations@2.4.4
- @clerk/types@4.6.0
5.5.3
Patch Changes
-
Bug fix: Use the correct returnBack url when GoogleOneTap remains open across navigations. (#3410) by @panteliselef
Previously it will only use the url that existed in the browser url bar at the time the component was initially rendered.
-
Add
aria-labelandaria-expandedin menu trigger to improve accessibility (#3446) by @panteliselef -
Add experimental support for hCaptcha captcha provider (#3422) by @anagstef
-
Updated dependencies [
4beb00672]:- @clerk/types@4.5.1
5.5.2
Patch Changes
- Validate protocol on window navigation by @tmilewski
5.5.1
Patch Changes
-
Add a custom logger to allow logging a message or warning to the console once per session, in order to avoid consecutive identical logs due to component rerenders. (#3383) by @desiprisg
-
Updated dependencies [
ff31f7255,8e5969d82,0e48fc210]:- @clerk/shared@2.2.1
- @clerk/localizations@2.4.3
5.5.0
Minor Changes
-
Add support for GoogleOneTap. New APIs listed: (#3392) by @panteliselef
React component
<GoogleOneTap/>
Customize the UX of the prompt
<GoogleOneTap cancelOnTapOutside={false} itpSupport={false} fedCmSupport={false} />Use the component from with Vanilla JS
Clerk.openGoogleOneTap(props: GoogleOneTapProps)Clerk.closeGoogleOneTap()
Low level APIs for custom flows
await Clerk.authenticateWithGoogleOneTap({ token: 'xxxx'})await Clerk.handleGoogleOneTapCallback()
We recommend using this two methods together in order and let Clerk to perform the correct redirections.
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
google.accounts.id.initialize({ callback: async response => { const signInOrUp = await Clerk.authenticateWithGoogleOneTap({ token: response.credential, }); if (signInOrUp.status === 'complete') { await Clerk.setActive({ session: signInOrUp.createdSessionId, }); } }, });
Patch Changes
-
A bug was fixed to not override the existing sign-up state on the OAuth callback. (#3401) by @LauraBeatris
When continuing a sign-up flow with social connections,
@clerk/clerk-jswas creating a newSignUpResourceobject, instead of patching the existing one.This was affecting Web3 sign-up flows, since the wallet ID was being overridden on the browser redirect.
-
Updated dependencies [
d6a9b3f5d,456b06849]:- @clerk/types@4.5.0
- @clerk/shared@2.2.0
5.4.0
Minor Changes
- Replace mount with open for GoogleOneTap. New api is
__experimental_openGoogleOneTap. (#3379) by @panteliselef
Patch Changes
-
Remove cookie when signing out before running
onBeforeSetActiveto resolve issues where we do navigations inonBeforeSetActive. (#3371) by @octoper -
Updated dependencies [
3d790d5ea,e84090db0]:- @clerk/types@4.4.0
- @clerk/localizations@2.4.2
5.3.2
Patch Changes
-
Add a descriptor for Invitation previews in
(#3376) by @EmmanouelaPothitou -
Updated dependencies [
eae0a32d5]:- @clerk/types@4.3.1
5.3.1
Patch Changes
-
Re-organize cookie codebase into a central place, fix TokenUpdate event to be triggered on sign-out and drop duplicate event on refreshing token. (#3362) by @dimkl
-
Updated dependencies [
9d02df655,ec84d51e7]:- @clerk/localizations@2.4.1
- @clerk/shared@2.1.1
5.3.0
Minor Changes
-
Updates related to experimental Google One Tap support (#3250) by @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.
<__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
<__experimental_GoogleOneTap signInForceRedirectUrl='' signUpForceRedirectUrl='' />- Let the developer configure the experience they want to offer. (All these values are true by default)
<__experimental_GoogleOneTap cancelOnTapOutside={false} itpSupport={false} fedCmSupport={false} />- Moved authenticateWithGoogleOneTap to Clerk singleton
Clerk.__experimental_authenticateWithGoogleOneTap;- Created the handleGoogleOneTapCallback in Clerk singleton
Clerk.__experimental_handleGoogleOneTapCallback; -
Introduce new
client_mismatchverification 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) by @mzhong9723
Patch Changes
-
Improve logging for CAPTCHA script loading errors (#3374) by @anagstef
-
Respect the
signInForceRedirectUrl,signInFallbackRedirectUrl,signUpForceRedirectUrlandsignUpFallbackRedirectUrlprops passed toSignInButton,SignUpButtonand the low-levelwindow.Clerk.buildSignInUrl&window.Clerk.buildSignUpUrlmethods. These props allow you to control the redirect behavior of theSignInandSignUpcomponents. For more information, refer to the Custom Redirects guide. (#3361) by @nikosdouvlis -
Updated dependencies [
6f61130e3,94197710a,b27ca8366,201b28d37,b27ca8366]:- @clerk/localizations@2.4.0
- @clerk/types@4.3.0
- @clerk/shared@2.1.0
5.2.4
Patch Changes
-
Fix a bug where client_uat domain detection would not handle hostnames with a single part. This impacts locally defined custom hostnames used as aliases. (#3357) by @BRKalow
-
Fix Cypress setting cookies as third-party (#3245) by @anagstef
5.2.3
Patch Changes
5.2.2
Patch Changes
-
Specify an explicit domain when setting the client_uat cookie. This ensures there are no duplicate cookie issues when also receiving cookies from the API. (#3318) by @BRKalow
-
Updated dependencies [
df4525f87,1662aaae9,9d7a79841,f70c885f7,f5804a225]:- @clerk/localizations@2.3.1
- @clerk/shared@2.0.2
- @clerk/types@4.2.1
5.2.1
Patch Changes
- Fixes issue where email field is required but is not shown after user tries to edit email, when already tried another email before when trying to sign up with a method that not provides and email (e.g Metamask) (#3291) by @octoper
5.2.0
Minor Changes
- Allow localization of text in social buttons when many are listed. (#3282) by @panteliselef
Patch Changes
-
Allow users to display the email address field after selecting to input a phone number. Previously that was not possible when passkeys were enabled. (#3286) by @panteliselef
-
Avoid throwing error for missing an active organization when no user is signed in (#3290) by @panteliselef
-
Use default value for
signIn.userData. This will prevent the SignIn modal from breaking when an appearance prop is used in Next.js App Router. (#3280) by @panteliselef -
Remove deprecated
__clerk_frontend_apifromWindowinterface (#3288) by @LauraBeatris -
Updated dependencies [
a78bc447c,c7d626292,19cd42434]:- @clerk/shared@2.0.1
- @clerk/localizations@2.3.0
- @clerk/types@4.2.0
5.1.1
Patch Changes
-
Default to text type for all inputs. This resolved inconsistencies with
@tailwindcss/forms. (#3260) by @desiprisg -
Prevent form submission for deleting user account when confirmation value is incorrect but submission is triggered via an "Enter" keystroke. (#3265) by @panteliselef
-
Set the card error when encountering an error on preparing verification via code for email or phone on sign up. (#3256) by @desiprisg
-
Updated dependencies [
0a825dcc4]:- @clerk/localizations@2.2.0
5.1.0
Minor Changes
-
Remove experimental Passkeys APIs. This includes any API that is marked as experimental or has the
__experimental_prefix. (#3233) by @panteliselefThis prepares the Passkeys release to move further along towards a beta release and eventual stable release.
Patch Changes
-
Check if any legacy properties have value before displaying a warning (#3254) by @EmmanouelaPothitou
-
Hide "Create Organization" in
when it's disabled for user (#3249) by @dimkl -
Warn when a legacy redirect prop is being shadowed by "fallbackRedirectUrl" or "forceRedirectUrl" by @nikosdouvlis
-
Updated dependencies [
de1d75d1a,956d8792f]:- @clerk/localizations@2.1.0
- @clerk/types@4.1.0
5.0.0
Major Changes
-
043801f2a: All the components that using routing will throw a runtime error if the a path property is provided with a routing strategy other than path.
Example that will throw an error:
<SignIn routing='hash' path='/sign-in' /> -
c2a090513: Change the minimal Node.js version required by Clerk to
18.17.0. -
deac67c1c: Drop default exports from all packages. Migration guide:
- use
import { Clerk } from '@clerk/backend'; - use
import { clerkInstance } from '@clerk/clerk-sdk-node'; - use
import { Clerk } from '@clerk/clerk-sdk-node'; - use
import { Clerk } from '@clerk/clerk-js'; - use
import { Clerk } from '@clerk/clerk-js/headless'; - use
import { IsomorphicClerk } from '@clerk/clerk-react'
- use
-
7f6a64f43: - By default, all the components with routing will have the
routingprop assigned as'path'by default when thepathprop is filled.- The
<UserButton />component will set the default value of theuserProfileModeprop to'navigation'if theuserProfileUrlprop is provided. - The
<OrganizationSwitcher />component will have theorganizationProfileModeandcreateOrganizationModeprops assigned with'navigation'by default if theorganizationProfileUrlandcreateOrganizationUrlprops are filled accordingly.
- The
-
7f833da9e: Drop deprecations. Migration steps:
- use
publishableKeyinstead offrontendApi - use
Clerk.handleEmailLinkVerification()instead ofClerk.handleMagicLinkVerification() - use
isEmailLinkErrorinstead ofisMagicLinkError - use
EmailLinkErrorCodeinstead ofMagicLinkErrorCode - use
useEmailLinkinstead ofuseMagicLink - drop
orgsjwt claim from session token - use
ExternalAccount.imageUrlinstead ofExternalAccount.avatarUrl - use
Organization.imageUrlinstead ofOrganization.logoUrl - use
User.imageUrlinstead ofUser.profileImageUrl - use
OrganizationMembershipPublicUserData.imageUrlinstead ofOrganizationMembershipPublicUserData.profileImageUrl - use
useOrganizationListinstead ofuseOrganizations - use
userProfilePropsinstead ofuserProfileinAppearance - use
Clerk.setActive()instead ofClerk.setSession() - drop
passwordparam inUser.update() - use
afterSelectOrganizationUrlinstead ofafterSwitchOrganizationUrlinOrganizationSwitcher - drop
Clerk.experimental_canUseCaptcha/Clerk.Clerk.experimental_captchaSiteKey/Clerk.experimental_captchaURL(were meant for internal use) - use
User.getOrganizationMemberships()instead ofClerk.getOrganizationMemberships() - drop
lastOrganizationInvitation/lastOrganizationMemberfrom Clerk emitted events - drop
Clerk.__unstable__invitationUpdate/Clerk.__unstable__membershipUpdate - drop support for string param in
Organization.create() - use
Organization.getInvitations()instead ofOrganization.getPendingInvitations() - use
pageSizeinstead oflimitinOrganizationMembership.retrieve() - use
initialPageinstead ofoffsetinOrganizationMembership.retrieve() - drop
lastOrganizationInvitation/lastOrganizationMemberfrom ClerkProvider - use
invitationsinstead ofinvitationListinuseOrganization - use
membershipsinstead ofmembershipListinuseOrganization - use
redirectUrlinstead ofredirect_urlinUser.createExternalAccount() - use
signatureinstead ofgeneratedSignatureinSignup.attemptWeb3WalletVerification()
- use
-
71663c568: Internal update default apiUrl domain from clerk.dev to clerk.com
-
cfea3d9c0: Path-based routing is now the default routing strategy if the
pathprop is filled. Additionally, if thepathandroutingprops are not filled, an error will be thrown.// Without path or routing props, an error with be thrown <UserProfile /> <CreateOrganization /> <OrganizationProfile /> <SignIn /> <SignUp /> // Alternative #1 <UserProfile path="/whatever"/> <CreateOrganization path="/whatever"/> <OrganizationProfile path="/whatever"/> <SignIn path="/whatever"/> <SignUp path="/whatever"/> // Alternative #2 <UserProfile routing="hash_or_virtual"/> <CreateOrganization routing="hash_or_virtual"/> <OrganizationProfile routing="hash_or_virtual"/> <SignIn routing="hash_or_virtual"/> <SignUp routing="hash_or_virtual"/> -
d18cae5fd: Make the user name on
clickable, i.e. part of the button's trigger. This change inverts the positions of cl-userButtonTriggerandcl-userButtonBox, the latter now being a child of the former. -
7bffc47cb: Drop
Clerk.isReady(). UseClerk.loadedinstead. -
5f58a2274: Remove hashing and third-party cookie functionality related to development instance session syncing in favor of URL-based session syncing with query parameters.
-
5f58a2274: -
buildUrlWithAuthno longer accepts anoptionsargument. -
52ff8fe6b: Upgrade React version to >=18 and add react-dom as peer dependency to fix issues with vite & rollup building.
-
ab4eb56a5: Drop
redirectToHomeredirect method in favour ofredirectToAfterSignUporredirectToAfterSignIn.When the
<SignIn/>and<SignUp/>components are rendered while a user is already logged in, they will now redirect to the configuredafterSignInandafterSignUpURLs, respectively. Previously, the redirect URL was set to the home URL configured in the dashboard. -
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.0now. -
4bb57057e: Breaking Changes:
- Drop
isLegacyFrontendApiKeyfrom@clerk/shared - Drop default exports from
@clerk/clerk-js- on headless Clerk type
- on ui and ui.retheme
Portal
- Use
isProductionFromSecretKeyinstead ofisProductionFromApiKey - Use
isDevelopmentFromSecretKeyinstead ofisDevelopmentFromApiKey
Changes:
- Rename
HeadlessBrowserClerkConstrutor/HeadlessBrowserClerkConstructor(typo) - Use
isomorphicAtob/isomorhpicBtoato replacebase-64in@clerk/expo - Refactor merging build-time and runtime props in
@clerk/backendclerk client - Drop
node-fetchdependency from@clerk/backend - Drop duplicate test in
@clerk/backend
- Drop
-
f5fb63cf1: Consolidate
afterSignOutOneUrl&afterSignOutAllUrltoafterSignOutUrland drop usage of Dashboard settings in ClerkJS components. The Dashboard settings should only apply to the Account Portal application. -
9a1fe3728: Use the new
routerPushandrouterReplaceprops for<ClerkProvider />instead ofnavigate. -
d30ea1faa: Change the default behavior of
afterSignOutUrl,afterSignInandafterSignUpprops to be redirected to/instead of the Account Portal defined URL. -
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.
-
41ae1d2f0: Avatar Shimmer will be enabled by default for
<UserButton/>and<OrganizationSwitcher/>. -
429d030f7: Introducing some changes and some addition for the appearence descriptors for the organization preview in
<OrganizationSwitcher/>:.cl-organizationPreview__organizationSwitcherhas been renamed to.cl-organizationPreview__organizationSwitcherTrigger..cl-organizationPreview__organizationSwitcherListedOrganizationwas added to allow you to customize the appearance of all the listed organization previews..cl-organizationPreview__organizationSwitcherActiveOrganizationnwas added to allow you to customize the appearance of the active organization.
Minor Changes
-
4b8bedc66: Move usage of internal useCoreX hooks to useX hooks
-
0d0b1d89a: List passkeys under security in UserProfile.
- Supports renaming a passkey.
- Supports deleting a passkey.
-
08dd88c4a: Introducing sign out from all open tabs at once.
-
afec17953: Improved error handling for registration and retrieval of passkeys. ClerkRuntimeError codes introduced:
passkey_not_supportedpasskeys_pa_not_supportedpasskey_invalid_rpID_or_domainpasskey_already_existspasskey_operation_abortedpasskey_retrieval_cancelledpasskey_retrieval_failedpasskey_registration_cancelledpasskey_registration_failed
Example usage:
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
<OrganizationProfile/>.The previous roles (
adminandbasic_member), are still kept as a fallback. -
9180c8b80: Deprecate
supported_identifiersand removesupported_external_accounts. -
e400fa9e3: Introducing default values for
allowedRedirectOrigins. If no value is provided, default values similar to the example below will apply.Let's assume the host of the application is
test.host, the origins will behttps://test.host/https://yourawesomeapp.clerk.accounts.dev/https://*.yourawesomeapp.clerk.accounts.dev/
-
fc3ffd880: Support for prompting a user to reset their password if it is found to be compromised during sign-in.
-
31570f138: During sign in, navigate to the
reset-passwordroute if the user needs a new password. This happens when you enforce password usage during sign-in in your dashboard. Previously this case wasn't handled in the password form.The
signIn.resetPassword.requiredMessagelocalization was updated to'For security reasons, it is required to reset your password.'. -
492b8a7b1: Increase the duration until data become stale for organization hooks.
-
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()try { await clerk.client.signIn.authenticateWithPasskey(...args); }catch (e) { if (isClerkRuntimeError(e)) { if (err.code === 'passkey_operation_aborted') { ... } } } -
ClerkRuntimeError codes introduced:
passkey_not_supportedpasskeys_pa_not_supportedpasskey_invalid_rpID_or_domainpasskey_already_existspasskey_operation_abortedpasskey_retrieval_cancelledpasskey_retrieval_failedpasskey_registration_cancelledpasskey_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()
-
-
ff803ff20: Throw an error in development when there is an invalid mount or modal open. This includes mounting a component when the resource is not available (i.e.
mountUserProfile()when the user does not exist) as well as mounting a component without the feature being enabled via the clerk dashboard (i.e.mountOrganizationProfile()without having organizations enabled). -
ff08fe237: Introduce experimental support for Google One Tap
- React Component
<__experimental_GoogleOneTap/> - JS
clerk.__experimental_mountGoogleOneTap(node,props)
- React Component
-
73849836f: Use sigUpUrl from props / context / repo-level to construct a redirectUrl in sign-in from email-link flow.
-
9737ef510: Accept
skipInvitationScreenas a prop from OrganizationSwitcher.skipInvitationScreenhides 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(). -
d941b902f: Drop firebase legacy integration code and start using sessions/:sid/tokens/:template endpoint for the firebase tokens.
-
57e0972bb: Remove fallback data and allow promise to throw for paginated endpoint methods. Affected methods:
- Organization.getDomains
- Organization.getInvitations
- Organization.getMembershipRequests
- Organization.getMemberships
- User.getOrganizationInvitations
- User.getOrganizationSuggestions
- User.getOrganizationMemberships
-
fe2607b6f: Remove MembershipRole. The type
MembershipRolewould always include the old role keysadmin,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.// clerk.d.ts interface ClerkAuthorization { permission: ''; role: 'admin' | 'basic_member' | 'guest_member'; } -
c7e6d00f5: Experimental support for
<Gate/>with role checks. -
ef72c0ae6: Remove unused error helpers.
- clerkErrorInvalidColor()
- clerkCoreErrorUserIsNotDefined()
- clerkCoreErrorSessionIsNotDefined()
- clerkCoreErrorOrganizationIsNotDefined()
-
663243220: Remove the unused appearance keys for accordion and breadcrumb elements.
-
d1b524ffb: Handle user_locked error encountered in an oauth flow by redirecting to /sign-up or /sign-in
-
12962bc58: Re-use common pagination types for consistency across types.
Types introduced in
@clerk/types:ClerkPaginationRequest: describes pagination related props in request payloadClerkPaginatedResponse: describes pagination related props in response bodyClerkPaginationParams: describes pagination related props in api client method params
-
2e4a43017: Update
@clerk/clerk-jsand@clerk/clerk-reactto support the following examples:Clerk.signOut({ redirectUrl: '/' }) <SignOutButton redirectUrl='/' /> // uses Clerk.signOut({ redirectUrl: '/' }) <UserButton afterSignOutUrl='/after' /> // uses Clerk.signOut({ redirectUrl: '/after' }) <ClerkProvider afterSignOutUrl='/after' /> // uses Clerk.signOut({ redirectUrl: '/after' }) -
5aab9f04a: Add
routerDebugoption inClerk.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
experimentaltags and prefixes - Drop
somefrom thehasutility and Protect. Protect now accepts aconditionprop where a function is expected with thehasbeing exposed as the param. - Protect can now be used without required props. In this case behaves as
<SignedIn>, if no authorization props are passed. haswill throw an error if neitherpermissionorroleis 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-foundcomponent set by the developer - inside a route handler it will return empty response body with a 404 status code
- inside a page or layout file it will render the nearest
-
9e57e94d2: Greatly improve the UX when users are creating their passwords. The hints below the input fields now have smoother animations and show more types of feedback based on different conditions. Additionally, the password validation is now debounced.
-
7f751c4ef: Add support for X/Twitter v2 OAuth provider
-
18c0d015d: Pass environment into
sdkMetadatain order to detect if production clerk-js is used by other sdks in dev mode. When it is log dev warning from clerk-js. -
0d1052ac2: Add a private __navigateWithError util function to clerk for use in User Lockout scenarios
-
5471c7e8d: Move and export the following from @clerk/clerk-js and @clerk/nextjs to @clerk/shared: -
DEV_BROWSER_SSO_JWT_PARAMETER-DEV_BROWSER_JWT_MARKER-DEV_BROWSER_SSO_JWT_KEY-setDevBrowserJWTInURL-getDevBrowserJWTFromURL-getDevBrowserJWTFromResponse -
5d6937c9f: Use signInUrl from props / context / repo-level to construct a redirectUrl in sign-up from email-link flow.
-
ebf9be77f: Allow users to authenticate with passkeys via the
<SignIn/>. -
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()
- Get the user's passkeys
Patch Changes
-
3daa937a7: Bug fix: Respect
navigateAfterCreateOrganizationin<OrganizationList/>. -
69ce3e185: Update
@zxcvbn-ts/corefrom2.2.1to3.0.4. Update@zxcvbn-ts/language-commonfrom3.0.2to3.0.4. -
3ba3f383b: Internal refactoring of form fields, deprecation of Form.Control and introduction of Form.PlainInput.
-
1ddffb67e: A bug fix for prefetching data for OrganizationSwitcher and correctly displaying a notification count in the switcher as well.
-
1834a3ee4: fix(shared,clerk-js): Do not replace current URL if it does not contain a clerk token
-
64d3763ec: Fix incorrect pagination counters in data tables inside
<OrganizationProfile/>. -
0a108ae3b: Inform developers who are using legacy Clerk development instances that in V5 URL Based Session Syncing must be enabled. For more information refer to https://clerk.com/docs/upgrade-guides/url-based-session-syncing.
-
e214450e9: Reset OTP field when pressing "Cancel" in VerifyDomainPage inside
<OrganziatoinProfile/>. -
034abeb76: Use strict equality operator to check for lockout errors in handleRedirectCallback
-
d08d96971: Fixes errant
actoutput from unit tests -
17a6158e8: Warn about legacy redirect search params
-
9dc46b2c1: Fix the PhoneInput country ISO text color
-
d422dae67: Fixes memebership count in
<OrganizationProfile/>Members page for members withorg:sys_memberships:readpermission -
a2ab0d300: Align country code position with phone number input.
-
6c2d88ee8: Add data-1p-ignore to input fields that do not benefit from password manager suggestions.
-
d37d44a68: Shows list of domains if member has the
org:sys_domain:readpermission. -
434a96ebe: Hide backup codes when adding
phone_codemfa and instance setting is off. -
791c49807: Rename the @staging tag to @canary. Drop support for @next tag.
-
5f49568f6: Emit session when permissions or role of the active memberships change.
-
8b40dc7a3: Enhance
CreateOrganizationFormby replacingAvatarPreviewwith an upload button to prevent layout shifts -
dd49f93da: Fallback to custom role name if localization is not provided.
-
7466fa505: Update cookie setting to ensure cookies can be set to be read when an application is embedded in an iframe.
-
2de442b24: Rename beta-v5 to beta
-
db18787c4: Always drop **clerk_db_jwt and **dev_session params from the URL
-
6a769771c: Update README for v5
-
6d3b422c8: Avoid depending on
countas it can be zero but invitations may still exist. -
23ebc89e9: Bug fix: Avoid triggering prepare verification twice. (Affects only dev mode)
-
9e10d577e: Return reject(err) in factor one & two code forms
-
2684f1d5c: Fix checkbox styling issues
-
beac05f39: Fix SSO callback Turnstile widget alignment
-
097ec4872: The organizationPreviewSecondaryIdentifier element will no longer be rendered empty inside the organization switcher's list.
-
06d2b4fca: Resolve type issues when importing
@clerk/clerk-jsdirectly -
bab2e7e05: Support but warn when
afterSignInUrlandafterSignUpUrlare used -
27052469e: Use
userMembershipsinstead oforganizationListinside<OrganizationSwitcher/>. -
9e99eb727: Update
@clerk/nextjserror messages to refer toclerkMiddleware()and deprecatedauthMiddleware()and fix a typo incannotRenderSignUpComponentWhenSessionExistserror message. -
846a4c24d: Update user memberships when user creates, leaves or deletes an organization.
-
491fba5ad: Throw error for unsupported method
OrganizationMembership.reload -
d65d36fc6: Tests for internal PlainInput component.
-
94bbdf7df: Fix font size inconsistencies when selecting method to sign in.
-
98b194b2a: Fix badge misalignment on members list when title is empty
-
1c199d1d2: Fix for input group components with prefix or suffix to match the rest of the design
-
676d23a59: Revalidate invitations table after invitation screen submit.
-
12f3c5c55: Update the debBrowser handling logic to remove hash-based devBrowser JWTs from the URL. Even if v5 does not use the hash-based JWT at all, we still need to remove it from the URL in case clerk-js is initialised on a page after a redirect from an older clerk-js version, such as an AccountPortal using the v4 components
-
394cecc6b: Prevent submitting on enter in Organization Profile form when submit button is disabled.
-
d9f265fcb: Fallback to invisible CAPTCHA if the element to render to is not found in the DOM
-
d005992e0: Require role to be selected before sending organization invite, affects
<OrganizationProfile/>and`. -
d1dc44cc7: Correct chunk loading logic in
clerk.headless.browservariant -
141f09fdc: Fix the input box-shadow on iOS 16 devices
-
b6c4e1cfe: Display a warning in the browser's console when organization components are mounted but the "Organizations" feature is disabled for the instance.
-
7d3aa44d7: Disable emailAdress field in SignUp if fields.emailAddress.disabled is true
-
fbbb1afc2: Exclude external custom links from route matching. Previously adding external links to custom pages would cause all pages that are defined below it to throw an error.
-
e7414cb3f: Remove legacy roles fallback After the release of Custom Roles, roles should always be dynamically fetched.
-
63373bf21: Correct the HTML structure of the UI components to ensure validity
-
0ee1777e0: Allow retries for all 300xxx error codes for CF Turnstile.
-
78fc5eec0: Introduces new element appearance descriptors:
activeDeviceListItemallows you to customize the appearance of the active device list (accordion) itemactiveDeviceListItem__currentallows you to customize the appearance of the current active device list (accordion) item
activeDeviceallows you to customize the appearance of the active device itemactiveDevice__currentallows you to customize the appearance of the current active device item
-
6e54b1b59: Sync IsomorphicClerk with the clerk singleton and the LoadedClerk interface. IsomorphicClerk now extends from LoadedClerk.
-
4edb77632: Replace Form.Control with Form.PlainInput for text and email inputs.
-
4aff3d936: Bug Fix: When authenticating with a passkey and user was looked out an error was thrown for accessing an undefined variable
-
976c6a07e: Fixes an icon misalignment in account switcher.
-
6a33709cc: Drop
org:sys_domains:deleteandorg:sys_memberships:deleteas those have now been merged with the respectivemanageones. -
45c92006c: Ensure the token returned from
getToken()and the token in the session cookie remain in sync. -
d9bd2b4ea: Fix: fallback to other first factors when preferred strategy is passkey but the user has not registered a passkey yet.
-
f77e8cdbd: Add Autocomplete TS generic for union literals
-
8b466a9ba: Prevent Clerk component flickering when mounted in a Next.js app using App Router
-
4063bd8e9: Introduce more component animations
-
8cc45d2af: Allow dynamic values components props, even if these values change after the components are rendered. For example, a
SignIncomponent with aredirectUrlprop passed in will always respect the latest value ofredirectUrl. -
fe6215dea: Fix the OAuth errors coming from the server to use localizations
-
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
<UserProfile/>. -
b0ca7b801: Refactor of internal input group, password field, and checkbox inputs in forms.
-
30dfdf2aa: Fallback to the API error message when the password is pwned and there is no translation available.
-
8b261add2: Use pattern for email input fields.
-
9955938d6: Hide members page of
if user doesn't have any membership related permissions. -
1affbb22a: Replace semver with custom regex in versionSelector
-
8ca8517bf: Warn instead of erroring when a legacy redirect prop ('redirectUrl', 'afterSignInUrl', 'afterSignUpUrl') is used
-
f00fd2dfe: Support legacy redirectUrl prop on SignIn and SignUp
-
046224177: Make useAwaitableNavigate handle navigations between pages reliably
-
e4c0ae028: Users will no longer see an error the SignIn component when they try to close popups due to passkey autofill.
-
75ea300bc: Add
useAssertWrappedByClerkProviderto internal code. If you use hooks likeuseAuthoutside of the<ClerkProvider />context an error will be thrown. For example:@clerk/clerk-react: useAuth can only be used within the <ClerkProvider /> component -
db3eefe8c: Refactor of internal radio input in forms.
-
93a611570: Re-initialize the Client to default values when is destroyed
-
aaa457097: Escape characters in pattern for inputs of [type="email"]
-
fc36e2e54: We are rolling back support for password complexity / strength checks during sign-in. Feature will be limited to HIBP for now. Hence, the password form need not expect a sign_in status of
needs_new_password. -
920c9e1b5: Hide "Add domain" button inside
<OrganizationProfile/>when user is missing theorg:sys_domains:managepermission. -
e7ae9c36a: Show counter of members/invitations/requests even if it is 0.
-
ebf9f165f: Fix transfer flow when having the Smart Bot Protection enabled
-
445026ab7: Make the instant password field focusable if it is autofilled.
-
f540e9843: Return to localhost when SSO callback fails on SignIn or SignUp
-
4705d63a8: Ensures we don't attempt to access
window.addEventListener()in non-browser environments. -
7b40924e4: Remove handshake-related query parameters on load of clerk-js. It's possible that these parameters will be returned from Clerk's API, but they are only applicable for SSR-compatible frameworks and so on the client they are unused.
-
bf09d18d6: Bug fix: Clear feedback of input field if
setErroris called with undefined. -
59336d3d4: Refresh invited members upon revocation
-
5dea004b1: Fix invite members to an Organization form to show error when invalid email addresses are submitted.
-
c3dccfc34: Update token refresh mechanism to handle network failures without raising an error
-
2f6306fd3: Fix Custom Pages freeze error by using useMemo for when creating the custom pages
-
6fd303b99: Take account custom pages when redirecting inside OrganizationProfile.
-
750337633: Fix redirect flow for OAuth2 IDP flow with email_link verification.
-
859b5495f: Removed hoverable state from no-interactive sections in
<UserProfile/> -
9040549d6: Bug fix: fetch custom roles in OrganizationSwitcher
-
f02482bb5: Add spacing between
Add domainbutton and it's subtitle that's under the Verified Domains section in<OrganizationProfile/>component. -
8fbe8ba2f: Make UI-triggered redirects default to hash-based routing. If a routing strategy is not provided, default to hash routing. All routing strategies know how to convert a hash-based url to their own format.
-
fb794ce7b: Support older iOS 13.3 and 13.4 mobile devices
-
b9dd8e7c0: Height misalignment fixes for Password section in
<UserProfile/> -
94519aa33: Renaming
passkeys_pa_not_supportedtopasskey_pa_not_supportedto align with the rest passkey error codes. -
d11aa60eb: Align action buttons with user preview in
<UserButton/> -
79040966f: Inputs will now trim usernames and email addresses since whitespace as a prefix or suffix is invalid in these fields.
-
63ef35ec5: Hide "Add passkey" button in UP when app is satellite.
-
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.
-
9c6411aa8: Avoid passing some of the new feedback properties down to the HTML basic elements to avoid react warnings in the console.
-
22f19d3bf: Fixed issue that prevented backup codes showing up for TOTP
-
11fbfdeec: Give application logo correct CSS width to prevent incorrect widths
-
6eab66050: Remove legacy __dev_session from URL search params
-
5db6dbb90: Remove the
__clerk_ticketand__clerk_invitation_tokenquery params after they are consumed. -
6d89f2687: Hide maintenance banner when card has global error
-
0551488fb: Add setter for sdkMetadata on Clerk to address issues arising from older versions of the SDK.
-
Updated dependencies [178907ff6]
-
Updated dependencies [08118edfa]
-
Updated dependencies [743c4d204]
-
Updated dependencies [4b8bedc66]
-
Updated dependencies [78ed58da4]
-
Updated dependencies [1db1f4068]
-
Updated dependencies [c2a090513]
-
Updated dependencies [0d0b1d89a]
-
Updated dependencies [1834a3ee4]
-
Updated dependencies [896cb6104]
-
Updated dependencies [64d3763ec]
-
Updated dependencies [af80d7074]
-
Updated dependencies [8350109ab]
-
Updated dependencies [f8328deb9]
-
Updated dependencies [88d5d2ca0]
-
Updated dependencies [1dc28ab46]
-
Updated dependencies [83e9d0846]
-
Updated dependencies [d37d44a68]
-
Updated dependencies [fe356eebd]
-
Updated dependencies [791c49807]
-
Updated dependencies [164ca116c]
-
Updated dependencies [ea4933655]
-
Updated dependencies [7f6a64f43]
-
Updated dependencies [afec17953]
-
Updated dependencies [0699fa496]
-
Updated dependencies [a68eb3083]
-
Updated dependencies [2de442b24]
-
Updated dependencies [0293f29c8]
-
Updated dependencies [5f58a2274]
-
Updated dependencies [9180c8b80]
-
Updated dependencies [db18787c4]
-
Updated dependencies [7f833da9e]
-
Updated dependencies [ef2325dcc]
-
Updated dependencies [9f5491357]
-
Updated dependencies [fc3ffd880]
-
Updated dependencies [840636a14]
-
Updated dependencies [13ed9ac54]
-
Updated dependencies [31570f138]
-
Updated dependencies [bab2e7e05]
-
Updated dependencies [71663c568]
-
Updated dependencies [492b8a7b1]
-
Updated dependencies [2352149f6]
-
Updated dependencies [e5c989a03]
-
Updated dependencies [ff08fe237]
-
Updated dependencies [7ecd6f6ab]
-
Updated dependencies [12f3c5c55]
-
Updated dependencies [244de5ea3]
-
Updated dependencies [c776f86fb]
-
Updated dependencies [d9f265fcb]
-
Updated dependencies [7bffc47cb]
-
Updated dependencies [4e31fca12]
-
Updated dependencies [9737ef510]
-
Updated dependencies [fafa76fb6]
-
Updated dependencies [75d6bf9ad]
-
Updated dependencies [2b8fe238a]
-
Updated dependencies [27fb9b728]
-
Updated dependencies [b473ad862]
-
Updated dependencies [1f650f30a]
-
Updated dependencies [97407d8aa]
-
Updated dependencies [2a22aade8]
-
Updated dependencies [69ce3e185]
-
Updated dependencies [5b8d85886]
-
Updated dependencies [78fc5eec0]
-
Updated dependencies [a9fe242be]
-
Updated dependencies [5f58a2274]
-
Updated dependencies [6a33709cc]
-
Updated dependencies [eb796dd9e]
-
Updated dependencies [52ff8fe6b]
-
Updated dependencies [f77e8cdbd]
-
Updated dependencies [8b466a9ba]
-
Updated dependencies [fe2607b6f]
-
Updated dependencies [c7e6d00f5]
-
Updated dependencies [8cc45d2af]
-
Updated dependencies [390a70732]
-
Updated dependencies [663243220]
-
Updated dependencies [b8599d700]
-
Updated dependencies [c6a5e0f5d]
-
Updated dependencies [4edb77632]
-
Updated dependencies [ab4eb56a5]
-
Updated dependencies [a9fe242be]
-
Updated dependencies [5c239d973]
-
Updated dependencies [97407d8aa]
-
Updated dependencies [12962bc58]
-
Updated dependencies [e6f8928f1]
-
Updated dependencies [4bb57057e]
-
Updated dependencies [d4ff346dd]
-
Updated dependencies [7644b7472]
-
Updated dependencies [2ec9f6b09]
-
Updated dependencies [2e4a43017]
-
Updated dependencies [2d383e413]
-
Updated dependencies [6b316611f]
-
Updated dependencies [f3b6f32b3]
-
Updated dependencies [5aab9f04a]
-
Updated dependencies [46040a2f3]
-
Updated dependencies [f00fd2dfe]
-
Updated dependencies [8daf8451c]
-
Updated dependencies [75ea300bc]
-
Updated dependencies [9a1fe3728]
-
Updated dependencies [7f751c4ef]
-
Updated dependencies [370b17b12]
-
Updated dependencies [f5d55bb1f]
-
Updated dependencies [18c0d015d]
-
Updated dependencies [1a0268509]
-
Updated dependencies [0d1052ac2]
-
Updated dependencies [d30ea1faa]
-
Updated dependencies [7886ba89d]
-
Updated dependencies [1fd2eff38]
-
Updated dependencies [9a1fe3728]
-
Updated dependencies [5471c7e8d]
-
Updated dependencies [f540e9843]
-
Updated dependencies [477170962]
-
Updated dependencies [1078e8c58]
-
Updated dependencies [38d8b3e8a]
-
Updated dependencies [be991365e]
-
Updated dependencies [8350f73a6]
-
Updated dependencies [34fe88f73]
-
Updated dependencies [d6a7ea61a]
-
Updated dependencies [e0e79b4fe]
-
Updated dependencies [41ae1d2f0]
-
Updated dependencies [fb794ce7b]
-
Updated dependencies [48ca40af9]
-
Updated dependencies [94519aa33]
-
Updated dependencies [ebf9be77f]
-
Updated dependencies [008ac4217]
-
Updated dependencies [40ac4b645]
-
Updated dependencies [6f755addd]
-
Updated dependencies [429d030f7]
-
Updated dependencies [844847e0b]
-
Updated dependencies [6eab66050]
- @clerk/localizations@2.0.0
- @clerk/shared@2.0.0
- @clerk/types@4.0.0
5.0.0-beta.49
Patch Changes
-
Support legacy redirectUrl prop on SignIn and SignUp by @nikosdouvlis
-
Updated dependencies [
f00fd2dfe]:- @clerk/types@4.0.0-beta.30
5.0.0-beta.48
Patch Changes
- Warn about legacy redirect search params (#3224) by @nikosdouvlis
5.0.0-beta.47
Patch Changes
- Warn instead of erroring when a legacy redirect prop ('redirectUrl', 'afterSignInUrl', 'afterSignUpUrl') is used by @nikosdouvlis
5.0.0-beta.46
Patch Changes
-
Bug fix: Respect
navigateAfterCreateOrganizationin<OrganizationList/>. (#3209) by @panteliselef -
Introduce forceRedirectUrl and fallbackRedirectUrl (#3162) by @nikosdouvlis
-
Updated dependencies [
bab2e7e05]:- @clerk/shared@2.0.0-beta.23
- @clerk/types@4.0.0-beta.29
5.0.0-beta.45
Minor Changes
- Introduce experimental support for Google One Tap (#3176) by @panteliselef
- React Component
<__experimental_GoogleOneTap/> - JS
clerk.__experimental_mountGoogleOneTap(node,props)
- React Component
Patch Changes
-
Align country code position with phone number input. (#3199) by @octoper
-
Fix SSO callback Turnstile widget alignment (#3205) by @anagstef
-
Fallback to invisible CAPTCHA if the element to render to is not found in the DOM (#3191) by @anagstef
-
Fix transfer flow when having the Smart Bot Protection enabled (#3202) by @anagstef
-
Removed hoverable state from no-interactive sections in
<UserProfile/>(#3201) by @octoper -
Make UI-triggered redirects default to hash-based routing. If a routing strategy is not provided, default to hash routing. All routing strategies know how to convert a hash-based url to their own format. (#3061) by @nikosdouvlis
-
Support older iOS 13.3 and 13.4 mobile devices (#3188) by @nikosdouvlis
-
Align action buttons with user preview in
<UserButton/>(#3200) by @octoper -
Fixed issue that prevented backup codes showing up for TOTP (#3194) by @octoper
-
Updated dependencies [
ff08fe237,d9f265fcb,2b8fe238a,1078e8c58,fb794ce7b]:- @clerk/types@4.0.0-beta.28
- @clerk/localizations@2.0.0-beta.24
- @clerk/shared@2.0.0-beta.22
5.0.0-beta.44
Patch Changes
-
Bug Fix: When authenticating with a passkey and user was looked out an error was thrown for accessing an undefined variable (#3172) by @panteliselef
-
Renaming
passkeys_pa_not_supportedtopasskey_pa_not_supportedto align with the rest passkey error codes. (#3173) by @panteliselef -
Updated dependencies [
94519aa33]:- @clerk/localizations@2.0.0-beta.23
- @clerk/types@4.0.0-beta.27
5.0.0-beta.43
Minor Changes
Patch Changes
- Updated dependencies [
0699fa496]:- @clerk/types@4.0.0-beta.26
5.0.0-beta.42
Minor Changes
- Move passkey related apis to stable: (#3134) by @panteliselef
-
Register passkey for a user Usage:
await clerk.user.createPasskey() -
Authenticate with passkey Usage:
await clerk.client.signIn.authenticateWithPasskey()try { await clerk.client.signIn.authenticateWithPasskey(...args); }catch (e) { if (isClerkRuntimeError(e)) { if (err.code === 'passkey_operation_aborted') { ... } } } -
ClerkRuntimeError codes introduced:
passkey_not_supportedpasskeys_pa_not_supportedpasskey_invalid_rpID_or_domainpasskey_already_existspasskey_operation_abortedpasskey_retrieval_cancelledpasskey_retrieval_failedpasskey_registration_cancelledpasskey_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()
-
Patch Changes
-
Resolve type issues when importing
@clerk/clerk-jsdirectly (#3142) by @nikosdouvlis -
Updated dependencies [
2352149f6]:- @clerk/localizations@2.0.0-beta.22
- @clerk/types@4.0.0-beta.25
5.0.0-beta.41
Patch Changes
- Hide maintenance banner when card has global error by @nikosdouvlis
5.0.0-beta.40
Minor Changes
- Deprecate
supported_identifiersand removesupported_external_accounts. (#3089) by @panteliselef
Patch Changes
-
Fixes memebership count in
<OrganizationProfile/>Members page for members withorg:sys_memberships:readpermission (#3093) by @octoper -
Avoid depending on
countas it can be zero but invitations may still exist. (#3092) by @panteliselef -
Fixes an icon misalignment in account switcher. (#3108) by @octoper
-
Add maintenance mode banner to the SignIn and SignUp components. The text can be customized by updating the maintenanceMode localization key. by @nikosdouvlis
-
Ensures we don't attempt to access
window.addEventListener()in non-browser environments. (#3097) by @BRKalow -
Updated dependencies [
88d5d2ca0,9180c8b80,c6a5e0f5d,e6f8928f1,f3b6f32b3]:- @clerk/localizations@2.0.0-beta.21
- @clerk/types@4.0.0-beta.24
5.0.0-beta.39
Minor Changes
- Support for prompting a user to reset their password if it is found to be compromised during sign-in. (#3034) by @yourtallness
Patch Changes
-
Correct chunk loading logic in
clerk.headless.browservariant (#3062) by @LekoArts -
Return to localhost when SSO callback fails on SignIn or SignUp (#2955) by @anagstef
-
Update token refresh mechanism to handle network failures without raising an error (#3035) by @dimkl
-
Height misalignment fixes for Password section in
<UserProfile/>(#3081) by @octoper -
Hide "Add passkey" button in UP when app is satellite. (#3070) by @panteliselef
-
Updated dependencies [
fc3ffd880,840636a14,1fd2eff38,f540e9843]:- @clerk/localizations@2.0.0-beta.20
- @clerk/shared@2.0.0-beta.21
- @clerk/types@4.0.0-beta.23
5.0.0-beta.38
Patch Changes
- We are rolling back support for password complexity / strength checks during sign-in. Feature will be limited to HIBP for now. Hence, the password form need not expect a sign_in status of
needs_new_password. (#3050) by @yourtallness
5.0.0-beta.37
Patch Changes
- Updated dependencies [
8350109ab]:- @clerk/shared@2.0.0-beta.20
5.0.0-beta.36
Minor Changes
-
Improved error handling for registration and retrieval of passkeys. (#3025) by @panteliselef
ClerkRuntimeError codes introduced:
passkey_not_supportedpasskeys_pa_not_supportedpasskey_invalid_rpID_or_domainpasskey_already_existspasskey_operation_abortedpasskey_retrieval_cancelledpasskey_retrieval_failedpasskey_registration_cancelledpasskey_registration_failed
Example usage:
try { await __experimental_authenticateWithPasskey(...args); }catch (e) { if (isClerkRuntimeError(e)) { if (err.code === 'passkey_operation_aborted') { ... } } }
Patch Changes
- Updated dependencies [
78ed58da4,afec17953,75d6bf9ad]:- @clerk/localizations@2.0.0-beta.19
- @clerk/types@4.0.0-beta.22
5.0.0-beta.35
Minor Changes
-
List passkeys under security in UserProfile. (#2958) by @panteliselef
- Supports renaming a passkey.
- Supports deleting a passkey.
-
During sign in, navigate to the
reset-passwordroute if the user needs a new password. This happens when you enforce password usage during sign-in in your dashboard. Previously this case wasn't handled in the password form. (#2984) by @yourtallnessThe
signIn.resetPassword.requiredMessagelocalization was updated to'For security reasons, it is required to reset your password.'. -
Throw an error in development when there is an invalid mount or modal open. This includes mounting a component when the resource is not available (i.e.
mountUserProfile()when the user does not exist) as well as mounting a component without the feature being enabled via the clerk dashboard (i.e.mountOrganizationProfile()without having organizations enabled). (#2976) by @desiprisg -
Experimental support for authenticating with a passkey. (#2970) by @panteliselef
Example usage:
await signIn.authenticateWithPasskey(). -
Remove unused error helpers. (#2978) by @panteliselef
- clerkErrorInvalidColor()
- clerkCoreErrorUserIsNotDefined()
- clerkCoreErrorSessionIsNotDefined()
- clerkCoreErrorOrganizationIsNotDefined()
-
Remove the unused appearance keys for accordion and breadcrumb elements. (#2956) by @desiprisg
-
Allow users to authenticate with passkeys via the
<SignIn/>. (#3000) by @panteliselef
Patch Changes
-
Fix font size inconsistencies when selecting method to sign in. (#2997) by @octoper
-
Fix for input group components with prefix or suffix to match the rest of the design (#2996) by @octoper
-
Disable emailAdress field in SignUp if fields.emailAddress.disabled is true (#2990) by @nikospapcom
-
Fix: fallback to other first factors when preferred strategy is passkey but the user has not registered a passkey yet. (#3013) by @panteliselef
-
Users will no longer see an error the SignIn component when they try to close popups due to passkey autofill. (#3015) by @panteliselef
-
Updated dependencies [
08118edfa,0d0b1d89a,13ed9ac54,31570f138,4e31fca12,1f650f30a,663243220,1a0268509,ebf9be77f]:- @clerk/localizations@2.0.0-beta.18
- @clerk/types@4.0.0-beta.21
5.0.0-beta.34
Patch Changes
-
Fix the input box-shadow on iOS 16 devices (#2946) by @anagstef
-
Fix the OAuth errors coming from the server to use localizations (#2957) by @anagstef
-
Remove the
__clerk_ticketand__clerk_invitation_tokenquery params after they are consumed. (#2949) by @desiprisg
5.0.0-beta.33
Minor Changes
- Experimental support for reading, updating, and deleting a user's registered passkeys. (#2926) by @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()
- Get the user's passkeys
Patch Changes
-
The organizationPreviewSecondaryIdentifier element will no longer be rendered empty inside the organization switcher's list. (#2936) by @desiprisg
-
Correct the HTML structure of the UI components to ensure validity (#2894) by @anagstef
-
Show counter of members/invitations/requests even if it is 0. (#2935) by @desiprisg
-
Fix invite members to an Organization form to show error when invalid email addresses are submitted. (#2928) by @octoper
-
Updated dependencies [
178907ff6,008ac4217]:- @clerk/localizations@2.0.0-beta.17
- @clerk/types@4.0.0-beta.20
5.0.0-beta.32
Patch Changes
- Updated dependencies [
8350f73a6]:- @clerk/shared@2.0.0-beta.19
5.0.0-beta.31
Minor Changes
-
Experimental support for a user to register a passkey for their account. (#2884) by @panteliselef
Usage:
await clerk.user.__experimental__createPasskey()
Patch Changes
- Updated dependencies [
fafa76fb6]:- @clerk/types@4.0.0-beta.19
5.0.0-beta.30
Patch Changes
-
Fix badge misalignment on members list when title is empty (#2908) by @octoper
-
Fix Custom Pages freeze error by using useMemo for when creating the custom pages (#2897) by @desiprisg
-
Add spacing between
Add domainbutton and it's subtitle that's under the Verified Domains section in<OrganizationProfile/>component. (#2910) by @octoper -
Updated dependencies [
e5c989a03,2ec9f6b09]:- @clerk/shared@2.0.0-beta.18
5.0.0-beta.29
Minor Changes
- Pass environment into
sdkMetadatain 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) by @panteliselef
Patch Changes
- Updated dependencies [
af80d7074,18c0d015d]:- @clerk/localizations@2.0.0-beta.16
- @clerk/types@4.0.0-beta.18
5.0.0-beta.28
Patch Changes
-
Fix the PhoneInput country ISO text color (#2893) by @anagstef
-
Make useAwaitableNavigate handle navigations between pages reliably (#2899) by @nikosdouvlis
-
Inputs will now trim usernames and email addresses since whitespace as a prefix or suffix is invalid in these fields. (#2881) by @desiprisg
-
Updated dependencies [
fe356eebd]:- @clerk/types@4.0.0-beta.17
5.0.0-beta.27
Patch Changes
-
fix(shared,clerk-js): Do not replace current URL if it does not contain a clerk token (#2879) by @nikosdouvlis
-
Updated dependencies [
1834a3ee4,f8328deb9]:- @clerk/shared@2.0.0-beta.17
- @clerk/localizations@2.0.0-beta.15
5.0.0-beta.26
Patch Changes
-
Always drop **clerk_db_jwt and **dev_session params from the URL by @nikosdouvlis
-
Updated dependencies [
db18787c4]:- @clerk/shared@2.0.0-beta.16
5.0.0-beta.25
Patch Changes
-
Remove legacy __dev_session from URL search params (#2867) by @nikosdouvlis
-
Updated dependencies [
6eab66050]:- @clerk/shared@2.0.0-beta.15
5.0.0-beta.24
Patch Changes
-
Update the debBrowser handling logic to remove hash-based devBrowser JWTs from the URL. Even if v5 does not use the hash-based JWT at all, we still need to remove it from the URL in case clerk-js is initialised on a page after a redirect from an older clerk-js version, such as an AccountPortal using the v4 components (#2858) by @nikosdouvlis
-
Updated dependencies [
12f3c5c55]:- @clerk/shared@2.0.0-beta.14
5.0.0-beta.23
Patch Changes
- Updated dependencies [
5c239d973]:- @clerk/types@4.0.0-beta.16
5.0.0-beta.22
Minor Changes
- Use sigUpUrl from props / context / repo-level to construct a redirectUrl in sign-in from email-link flow. (#2756) by @dimkl
Patch Changes
-
Rename beta-v5 to beta by @nikosdouvlis
-
Ensure the token returned from
getToken()and the token in the session cookie remain in sync. (#2809) by @nikosdouvlis -
Updated dependencies [
2de442b24]:- @clerk/localizations@2.0.0-beta.14
- @clerk/shared@2.0.0-beta.13
- @clerk/types@4.0.0-beta.15
5.0.0-beta-v5.21
Minor Changes
-
Accept
skipInvitationScreenas a prop from OrganizationSwitcher. (#2713) by @panteliselefskipInvitationScreenhides 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) by @kostaspt
-
Use signInUrl from props/ context / repo-level to construct a redirectUrl in email-link flow. (#2727) by @dimkl
Patch Changes
-
Add data-1p-ignore to input fields that do not benefit from password manager suggestions. (#2731) by @panteliselef
-
Update cookie setting to ensure cookies can be set to be read when an application is embedded in an iframe. (#2688) by @SokratisVidros
-
Allow retries for all 300xxx error codes for CF Turnstile. (#2738) by @mzhong9723
-
Prevent Clerk component flickering when mounted in a Next.js app using App Router (#2765) by @nikosdouvlis
-
Replace semver with custom regex in versionSelector (#2760) by @nikosdouvlis
-
Escape characters in pattern for inputs of [type="email"] (#2712) by @panteliselef
-
Fix redirect flow for OAuth2 IDP flow with email_link verification. (#2677) by @mzhong9723
-
Give application logo correct CSS width to prevent incorrect widths (#2735) by @LekoArts
-
Updated dependencies [
244de5ea3,9737ef510,5b8d85886,8b466a9ba,8daf8451c,7f751c4ef,be991365e]:- @clerk/types@4.0.0-beta-v5.14
- @clerk/localizations@2.0.0-beta-v5.13
- @clerk/shared@2.0.0-beta-v5.12
5.0.0-beta-v5.20
Patch Changes
- Introduce more component animations by @nikosdouvlis
5.0.0-beta-v5.19
Major Changes
-
Refresh the look and feel of the Clerk UI components (#2622) by @anagstef
For more info, refer to the upgrade guide from v4 to v5 in Clerk docs.
Patch Changes
-
Inform developers who are using legacy Clerk development instances that in V5 URL Based Session Syncing must be enabled. For more information refer to https://clerk.com/docs/upgrade-guides/url-based-session-syncing. (#2614) by @SokratisVidros
-
Display a warning in the browser's console when organization components are mounted but the "Organizations" feature is disabled for the instance. (#2603) by @panteliselef
-
Remove handshake-related query parameters on load of clerk-js. It's possible that these parameters will be returned from Clerk's API, but they are only applicable for SSR-compatible frameworks and so on the client they are unused. (#2624) by @BRKalow
-
Updated dependencies [
d4ff346dd,7886ba89d]:- @clerk/shared@2.0.0-beta-v5.11
- @clerk/localizations@2.0.0-beta-v5.12
- @clerk/types@4.0.0-beta-v5.13
5.0.0-alpha-v5.18
Patch Changes
-
Update
@clerk/nextjserror messages to refer toclerkMiddleware()and deprecatedauthMiddleware()and fix a typo incannotRenderSignUpComponentWhenSessionExistserror message. (#2589) by @dimkl -
Throw error for unsupported method
OrganizationMembership.reload(#2604) by @panteliselef -
Use pattern for email input fields. (#2575) by @panteliselef
-
Take account custom pages when redirecting inside OrganizationProfile. (#2600) by @panteliselef
5.0.0-alpha-v5.17
Patch Changes
-
Hide backup codes when adding
phone_codemfa and instance setting is off. (#2583) by @panteliselef -
Updated dependencies [
34fe88f73]:- @clerk/localizations@2.0.0-alpha-v5.11
5.0.0-alpha-v5.16
Patch Changes
-
Allow dynamic values components props, even if these values change after the components are rendered. For example, a
SignIncomponent with aredirectUrlprop passed in will always respect the latest value ofredirectUrl. (#2515) by @nikosdouvlis -
Updated dependencies [
8cc45d2af]:- @clerk/shared@2.0.0-alpha-v5.10
5.0.0-alpha-v5.15
Minor Changes
-
Remove fallback data and allow promise to throw for paginated endpoint methods. (#2491) by @panteliselef
Affected methods:
- Organization.getDomains
- Organization.getInvitations
- Organization.getMembershipRequests
- Organization.getMemberships
- User.getOrganizationInvitations
- User.getOrganizationSuggestions
- User.getOrganizationMemberships
Patch Changes
-
Exclude external custom links from route matching. Previously adding external links to custom pages would cause all pages that are defined below it to throw an error. (#2519) by @panteliselef
-
Updated dependencies [
6b316611f]:- @clerk/localizations@2.0.0-alpha-v5.10
5.0.0-alpha-v5.14
Patch Changes
-
Update user memberships when user creates, leaves or deletes an organization. (#2473) by @panteliselef
-
Updated dependencies [
1dc28ab46,ea4933655,eb796dd9e,38d8b3e8a]:- @clerk/shared@2.0.0-alpha-v5.9
- @clerk/localizations@2.0.0-alpha-v5.9
5.0.0-alpha-v5.13
Patch Changes
-
Bug fix: Avoid triggering prepare verification twice. (Affects only dev mode) (#2459) by @panteliselef
-
Bug fix: fetch custom roles in OrganizationSwitcher (#2430) by @panteliselef
-
Updated dependencies [
7ecd6f6ab,390a70732]:- @clerk/shared@2.0.0-alpha-v5.8
- @clerk/localizations@2.0.0-alpha-v5.8
5.0.0-alpha-v5.12
Major Changes
-
Path-based routing is now the default routing strategy if the
pathprop is filled. Additionally, if thepathandroutingprops are not filled, an error will be thrown. (#2338) by @octoper// Without path or routing props, an error with be thrown <UserProfile /> <CreateOrganization /> <OrganizationProfile /> <SignIn /> <SignUp /> // Alternative #1 <UserProfile path="/whatever"/> <CreateOrganization path="/whatever"/> <OrganizationProfile path="/whatever"/> <SignIn path="/whatever"/> <SignUp path="/whatever"/> // Alternative #2 <UserProfile routing="hash_or_virtual"/> <CreateOrganization routing="hash_or_virtual"/> <OrganizationProfile routing="hash_or_virtual"/> <SignIn routing="hash_or_virtual"/> <SignUp routing="hash_or_virtual"/> -
Make the user name on
clickable, i.e. part of the button's trigger. (#2411) by @marcelscruz This change inverts the positions of
cl-userButtonTriggerandcl-userButtonBox, the latter now being a child of the former. -
Consolidate
afterSignOutOneUrl&afterSignOutAllUrltoafterSignOutUrland drop usage of Dashboard settings in ClerkJS components. The Dashboard settings should only apply to the Account Portal application. (#2414) by @dimkl
Minor Changes
-
Remove MembershipRole. The type
MembershipRolewould always include the old role keysadmin,basic_member,guest_member. (#2388) by @panteliselefIf developers still depend on them after the introduction of custom roles, the can provide them as their custom types for authorization.
// clerk.d.ts interface ClerkAuthorization { permission: ''; role: 'admin' | 'basic_member' | 'guest_member'; } -
Update
@clerk/clerk-jsand@clerk/clerk-reactto support the following examples: (#2412) by @dimklClerk.signOut({ redirectUrl: '/' }) <SignOutButton redirectUrl='/' /> // uses Clerk.signOut({ redirectUrl: '/' }) <UserButton afterSignOutUrl='/after' /> // uses Clerk.signOut({ redirectUrl: '/after' }) <ClerkProvider afterSignOutUrl='/after' /> // uses Clerk.signOut({ redirectUrl: '/after' })
Patch Changes
-
Prevent submitting on enter in Organization Profile form when submit button is disabled. (#2400) by @panteliselef
-
Bug fix: Clear feedback of input field if
setErroris called with undefined. (#2399) by @panteliselef -
Updated dependencies [
fe2607b6f,2e4a43017]:- @clerk/types@4.0.0-alpha-v5.12
5.0.0-alpha-v5.11
Major Changes
-
Remove hashing and third-party cookie functionality related to development instance session syncing in favor of URL-based session syncing with query parameters. (#2367) by @tmilewski
-
buildUrlWithAuthno longer accepts anoptionsargument. (#2367) by @tmilewski
Patch Changes
-
Remove legacy roles fallback (#2385) by @panteliselef
After the release of Custom Roles, roles should always be dynamically fetched.
-
Updated dependencies [
5f58a2274,a9fe242be,5f58a2274,a9fe242be]:- @clerk/types@4.0.0-alpha-v5.11
- @clerk/shared@2.0.0-alpha-v5.7
5.0.0-alpha-v5.10
Major Changes
-
Drop
redirectToHomeredirect method in favour ofredirectToAfterSignUporredirectToAfterSignIn. (#2251) by @octoperWhen the
<SignIn/>and<SignUp/>components are rendered while a user is already logged in, they will now redirect to the configuredafterSignInandafterSignUpURLs, respectively. Previously, the redirect URL was set to the home URL configured in the dashboard.
Minor Changes
-
Introduce Protect for authorization. (#2170) by @panteliselef
Changes in public APIs:
- Rename Gate to Protect
- Support for permission checks. (Previously only roles could be used)
- Remove the
experimentaltags and prefixes - Drop
somefrom thehasutility and Protect. Protect now accepts aconditionprop where a function is expected with thehasbeing exposed as the param. - Protect can now be used without required props. In this case behaves as
<SignedIn>, if no authorization props are passed. haswill throw an error if neitherpermissionorroleis 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-foundcomponent set by the developer - inside a route handler it will return empty response body with a 404 status code
- inside a page or layout file it will render the nearest
Patch Changes
-
Update
@zxcvbn-ts/corefrom2.2.1to3.0.4. Update@zxcvbn-ts/language-commonfrom3.0.2to3.0.4. (#2326) by @LekoArts -
Add
useAssertWrappedByClerkProviderto internal code. If you use hooks likeuseAuthoutside of the<ClerkProvider />context an error will be thrown. For example: (#2299) by @tmilewski@clerk/clerk-react: useAuth can only be used within the <ClerkProvider /> component -
Updated dependencies [
896cb6104,69ce3e185,ab4eb56a5,46040a2f3,75ea300bc,370b17b12,844847e0b]:- @clerk/shared@2.0.0-alpha-v5.6
- @clerk/types@4.0.0-alpha-v5.10
- @clerk/localizations@2.0.0-alpha-v5.7
5.0.0-alpha-v5.9
Major Changes
Patch Changes
-
Fixes errant
actoutput from unit tests (#2289) by @tmilewski -
Fallback to the API error message when the password is pwned and there is no translation available. (#2273) by @desiprisg
-
Make the instant password field focusable if it is autofilled. (#2283) by @desiprisg
-
Updated dependencies [
1db1f4068,7bffc47cb]:- @clerk/types@4.0.0-alpha-v5.9
5.0.0-alpha-v5.8
Major Changes
- Change the default behavior of
afterSignOutUrl,afterSignInandafterSignUpprops to be redirected to/instead of the Account Portal defined URL. (#2020) by @octoper
Patch Changes
-
Drop
org:sys_domains:deleteandorg:sys_memberships:deleteas those have now been merged with the respectivemanageones. (#2256) by @panteliselef -
Hide "Add domain" button inside
<OrganizationProfile/>when user is missing theorg:sys_domains:managepermission. (#2240) by @panteliselef -
Add setter for sdkMetadata on Clerk to address issues arising from older versions of the SDK. (#2237) by @BRKalow
-
Updated dependencies [
6a33709cc,2d383e413,d30ea1faa]:- @clerk/types@4.0.0-alpha-v5.8
- @clerk/localizations@2.0.0-alpha-v5.6
- @clerk/shared@2.0.0-alpha-v5.5
5.0.0-alpha-v5.7
Minor Changes
Patch Changes
-
Sync IsomorphicClerk with the clerk singleton and the LoadedClerk interface. IsomorphicClerk now extends from LoadedClerk. (#2226) by @panteliselef
-
Updated dependencies [
4b8bedc66,c776f86fb,d6a7ea61a]:- @clerk/shared@2.0.0-alpha-v5.4
- @clerk/types@4.0.0-alpha-v5.7
5.0.0-alpha-v5.6
Major Changes
- Use the new
routerPushandrouterReplaceprops for<ClerkProvider />instead ofnavigate. (#1304) by @desiprisg
Minor Changes
- Add
routerDebugoption inClerk.load()to log the destination URLs when navigating (#2223) by @dimkl
Patch Changes
5.0.0-alpha-v5.5
Major Changes
-
All the components that using routing will throw a runtime error if the a path property is provided with a routing strategy other than path. (#2208) by @octoper
Example that will throw an error:
<SignIn routing='hash' path='/sign-in' />
Minor Changes
-
Re-use common pagination types for consistency across types. (#2210) by @dimkl
Types introduced in
@clerk/types:ClerkPaginationRequest: describes pagination related props in request payloadClerkPaginatedResponse: describes pagination related props in response bodyClerkPaginationParams: describes pagination related props in api client method params
Patch Changes
- Updated dependencies [
b8599d700,12962bc58]:- @clerk/localizations@2.0.0-alpha-v5.5
- @clerk/types@4.0.0-alpha-v5.5
5.0.0-alpha-v5.4
Major Changes
-
-
By default, all the components with routing will have the
routingprop assigned as'path'by default when thepathprop is filled. (#1957) by @octoper -
The
<UserButton />component will set the default value of theuserProfileModeprop to'navigation'if theuserProfileUrlprop is provided. -
The
<OrganizationSwitcher />component will have theorganizationProfileModeandcreateOrganizationModeprops assigned with'navigation'by default if theorganizationProfileUrlandcreateOrganizationUrlprops are filled accordingly.
-
Minor Changes
- Drop firebase legacy integration code and start using sessions/:sid/tokens/:template endpoint for the firebase tokens. (#2190) by @dimkl
Patch Changes
-
Reset OTP field when pressing "Cancel" in VerifyDomainPage inside
<OrganziatoinProfile/>. (#2200) by @panteliselef -
Fallback to custom role name if localization is not provided. (#2194) by @panteliselef
-
Revalidate invitations table after invitation screen submit. (#2195) by @panteliselef
-
Updated dependencies [
164ca116c,7f6a64f43]:- @clerk/localizations@2.0.0-alpha-v5.4
- @clerk/types@4.0.0-alpha-v5.4
5.0.0-alpha-v5.3
Major Changes
-
Upgrade React version to >=18 and add react-dom as peer dependency (#2164) by @dimkl
to fix issues with vite & rollup building.
-
Breaking Changes: (#2169) by @dimkl
- Drop
isLegacyFrontendApiKeyfrom@clerk/shared - Drop default exports from
@clerk/clerk-js- on headless Clerk type
- on ui and ui.retheme
Portal
- Use
isProductionFromSecretKeyinstead ofisProductionFromApiKey - Use
isDevelopmentFromSecretKeyinstead ofisDevelopmentFromApiKey
Changes:
- Rename
HeadlessBrowserClerkConstrutor/HeadlessBrowserClerkConstructor(typo) - Use
isomorphicAtob/isomorhpicBtoato replacebase-64in@clerk/expo - Refactor merging build-time and runtime props in
@clerk/backendclerk client - Drop
node-fetchdependency from@clerk/backend - Drop duplicate test in
@clerk/backend
- Drop
-
Introducing some changes and some addition for the appearence descriptors for the organization preview in
<OrganizationSwitcher/>: (#2158) by @octoper.cl-organizationPreview__organizationSwitcherhas been renamed to.cl-organizationPreview__organizationSwitcherTrigger..cl-organizationPreview__organizationSwitcherListedOrganizationwas added to allow you to customize the appearance of all the listed organization previews..cl-organizationPreview__organizationSwitcherActiveOrganizationnwas added to allow you to customize the appearance of the active organization.
Patch Changes
-
Hide members page of
if user doesn't have any membership related permissions. (#2138) by @panteliselef -
Introduces telemetry collection from Clerk's SDKs. Collected telemetry will be used to gain insights into product usage and help drive roadmap priority. For more information, see https://clerk.com/docs/telemetry. (#2154) by @BRKalow
-
Updated dependencies [
9f5491357,27fb9b728,52ff8fe6b,4bb57057e,40ac4b645,429d030f7]:- @clerk/localizations@2.0.0-alpha-v5.3
- @clerk/shared@2.0.0-alpha-v5.3
- @clerk/types@4.0.0-alpha-v5.3
5.0.0-alpha-v5.2
Major Changes
Patch Changes
- Updated dependencies [
c2a090513]:- @clerk/localizations@2.0.0-alpha-v5.2
- @clerk/shared@2.0.0-alpha-v5.2
- @clerk/types@4.0.0-alpha-v5.2
5.0.0-alpha-v5.1
Major Changes
-
Drop default exports from all packages. Migration guide: (#2150) by @dimkl
- use
import { Clerk } from '@clerk/backend'; - use
import { clerkInstance } from '@clerk/clerk-sdk-node'; - use
import { Clerk } from '@clerk/clerk-sdk-node'; - use
import { Clerk } from '@clerk/clerk-js'; - use
import { Clerk } from '@clerk/clerk-js/headless'; - use
import { IsomorphicClerk } from '@clerk/clerk-react'
- use
-
Drop deprecations. Migration steps: (#2082) by @dimkl
- use
publishableKeyinstead offrontendApi - use
Clerk.handleEmailLinkVerification()instead ofClerk.handleMagicLinkVerification() - use
isEmailLinkErrorinstead ofisMagicLinkError - use
EmailLinkErrorCodeinstead ofMagicLinkErrorCode - use
useEmailLinkinstead ofuseMagicLink - drop
orgsjwt claim from session token - use
ExternalAccount.imageUrlinstead ofExternalAccount.avatarUrl - use
Organization.imageUrlinstead ofOrganization.logoUrl - use
User.imageUrlinstead ofUser.profileImageUrl - use
OrganizationMembershipPublicUserData.imageUrlinstead ofOrganizationMembershipPublicUserData.profileImageUrl - use
useOrganizationListinstead ofuseOrganizations - use
userProfilePropsinstead ofuserProfileinAppearance - use
Clerk.setActive()instead ofClerk.setSession() - drop
passwordparam inUser.update() - use
afterSelectOrganizationUrlinstead ofafterSwitchOrganizationUrlinOrganizationSwitcher - drop
Clerk.experimental_canUseCaptcha/Clerk.Clerk.experimental_captchaSiteKey/Clerk.experimental_captchaURL(were meant for internal use) - use
User.getOrganizationMemberships()instead ofClerk.getOrganizationMemberships() - drop
lastOrganizationInvitation/lastOrganizationMemberfrom Clerk emitted events - drop
Clerk.__unstable__invitationUpdate/Clerk.__unstable__membershipUpdate - drop support for string param in
Organization.create() - use
Organization.getInvitations()instead ofOrganization.getPendingInvitations() - use
pageSizeinstead oflimitinOrganizationMembership.retrieve() - use
initialPageinstead ofoffsetinOrganizationMembership.retrieve() - drop
lastOrganizationInvitation/lastOrganizationMemberfrom ClerkProvider - use
invitationsinstead ofinvitationListinuseOrganization - use
membershipsinstead ofmembershipListinuseOrganization - use
redirectUrlinstead ofredirect_urlinUser.createExternalAccount() - use
signatureinstead ofgeneratedSignatureinSignup.attemptWeb3WalletVerification()
- use
Minor Changes
-
Introducing sign out from all open tabs at once. (#2094) by @octoper
-
Introducing default values for
allowedRedirectOrigins. If no value is provided, default values similar to the example below will apply. (#2128) by @octoperLet's assume the host of the application is
test.host, the origins will behttps://test.host/https://yourawesomeapp.clerk.accounts.dev/https://*.yourawesomeapp.clerk.accounts.dev/
-
Increase the duration until data become stale for organization hooks. (#2093) by @panteliselef
-
Handle user_locked error encountered in an oauth flow by redirecting to /sign-up or /sign-in (#2019) by @yourtallness
-
Add a private __navigateWithError util function to clerk for use in User Lockout scenarios (#2043) by @yourtallness
-
Move and export the following from @clerk/clerk-js and @clerk/nextjs to @clerk/shared: (#2149) by @dimkl
- `DEV_BROWSER_SSO_JWT_PARAMETER` - `DEV_BROWSER_JWT_MARKER` - `DEV_BROWSER_SSO_JWT_KEY` - `setDevBrowserJWTInURL` - `getDevBrowserJWTFromURL` - `getDevBrowserJWTFromResponse`
Patch Changes
-
A bug fix for prefetching data for OrganizationSwitcher and correctly displaying a notification count in the switcher as well. (#2147) by @panteliselef
-
Fix incorrect pagination counters in data tables inside
<OrganizationProfile/>. (#2056) by @panteliselef -
Use strict equality operator to check for lockout errors in handleRedirectCallback (#2072) by @yourtallness
-
Emit session when permissions or role of the active memberships change. (#2073) by @panteliselef
-
Return reject(err) in factor one & two code forms (#2080) by @yourtallness
-
Use
userMembershipsinstead oforganizationListinside<OrganizationSwitcher/>. (#2118) by @panteliselef -
Require role to be selected before sending organization invite, affects
<OrganizationProfile/>and`. (#2129) by @panteliselef -
Add Autocomplete TS generic for union literals (#2132) by @tmilewski
-
Refactor of internal input group, password field, and checkbox inputs in forms. (#2087) by @panteliselef
-
Refactor of internal radio input in forms. (#2034) by @panteliselef
-
Refresh invited members upon revocation (#2058) by @tmilewski
-
Updated dependencies [
64d3763ec,83e9d0846,7f833da9e,492b8a7b1,b473ad862,2a22aade8,f77e8cdbd,0d1052ac2,5471c7e8d,477170962,e0e79b4fe]:- @clerk/shared@2.0.0-alpha-v5.1
- @clerk/types@4.0.0-alpha-v5.1
- @clerk/localizations@2.0.0-alpha-v5.1
5.0.0-alpha-v5.0
Major Changes
-
Internal update default apiUrl domain from clerk.dev to clerk.com (#1878) by @dimkl
-
Dropping support for Node 14 and 16 as they both reached EOL status. The minimal Node.js version required by Clerk is
18.18.0now. (#1864) by @dimkl -
Avatar Shimmer will be enabled by default for
<UserButton/>and<OrganizationSwitcher/>. (#1972) by @octoper
Minor Changes
-
Add support for custom roles in
<OrganizationProfile/>. (#2004) by @panteliselefThe previous roles (
adminandbasic_member), are still kept as a fallback. -
Experimental support for
<Gate/>with role checks. (#1942) by @panteliselef -
Greatly improve the UX when users are creating their passwords. The hints below the input fields now have smoother animations and show more types of feedback based on different conditions. Additionally, the password validation is now debounced. (#1776) by @desiprisg
Patch Changes
-
Internal refactoring of form fields, deprecation of Form.Control and introduction of Form.PlainInput. (#1912) by @panteliselef
-
Shows list of domains if member has the
org:sys_domain:readpermission. (#1988) by @panteliselef -
Rename the @staging tag to @canary. Drop support for @next tag. (#2015) by @anagstef
-
Enhance
CreateOrganizationFormby replacingAvatarPreviewwith an upload button to prevent layout shifts (#2014) by @nikospapcom -
Tests for internal PlainInput component. (#2029) by @panteliselef
-
Introduces new element appearance descriptors: (#1994) by @tmilewski
activeDeviceListItemallows you to customize the appearance of the active device list (accordion) itemactiveDeviceListItem__currentallows you to customize the appearance of the current active device list (accordion) item
activeDeviceallows you to customize the appearance of the active device itemactiveDevice__currentallows you to customize the appearance of the current active device item
-
Replace Form.Control with Form.PlainInput for text and email inputs. (#2036) by @panteliselef
-
Localize placeholder of confirmation field when deleting a user account from
<UserProfile/>. (#2036) by @panteliselef -
Re-initialize the Client to default values when is destroyed (#1913) by @octoper
-
Avoid passing some of the new feedback properties down to the HTML basic elements to avoid react warnings in the console. (#1977) by @desiprisg
-
Updated dependencies [
743c4d204,d37d44a68,791c49807,a68eb3083,0293f29c8,ef2325dcc,71663c568,97407d8aa,78fc5eec0,c7e6d00f5,4edb77632,97407d8aa,7644b7472,f5d55bb1f,41ae1d2f0,48ca40af9,6f755addd]:- @clerk/shared@2.0.0-alpha-v5.0
- @clerk/types@4.0.0-alpha-v5.0
- @clerk/localizations@1.26.8-alpha-v5.0
4.63.0
Minor Changes
-
Introduce customization in
UserProfileandOrganizationProfile(#1822) by @anagstefThe
<UserProfile />component now allows the addition of custom pages and external links to the navigation sidebar. Custom pages can be created using the<UserProfile.Page>component, and external links can be added using the<UserProfile.Link>component. The default routes, such asAccountandSecurity, can be reordered.Example React API usage:
<UserProfile> <UserProfile.Page label='Custom Page' url='custom' labelIcon={<CustomIcon />} > <MyCustomPageContent /> </UserProfile.Page> <UserProfile.Link label='External' url='/home' labelIcon={<Icon />} /> <UserProfile.Page label='account' /> <UserProfile.Page label='security' /> </UserProfile>Custom pages and links should be provided as children using the
<UserButton.UserProfilePage>and<UserButton.UserProfileLink>components when using theUserButtoncomponent.The
<OrganizationProfile />component now supports the addition of custom pages and external links to the navigation sidebar. Custom pages can be created using the<OrganizationProfile.Page>component, and external links can be added using the<OrganizationProfile.Link>component. The default routes, such asMembersandSettings, can be reordered.Example React API usage:
<OrganizationProfile> <OrganizationProfile.Page label='Custom Page' url='custom' labelIcon={<CustomIcon />} > <MyCustomPageContent /> </OrganizationProfile.Page> <OrganizationProfile.Link label='External' url='/home' labelIcon={<Icon />} /> <OrganizationProfile.Page label='members' /> <OrganizationProfile.Page label='settings' /> </OrganizationProfile>Custom pages and links should be provided as children using the
<OrganizationSwitcher.OrganizationProfilePage>and<OrganizationSwitcher.OrganizationProfileLink>components when using theOrganizationSwitchercomponent.
Patch Changes
-
Publish packages with npm provenance enabled (#1891) by @LekoArts
-
Keep
CreateOrganizationFormdisabled in case of an uploaded avatar and organization name is empty. (#1910) by @nikospapcom -
Drop
experimental_force_oauth_first&experimental__forceOauthFirstfromDisplayConfig(#1918) by @dimkl -
Updated dependencies [
3bf64107e,734dc52af,52f8553d2,92727eec3,b09b66eec,51861addf,aa4cd7615]:- @clerk/localizations@1.26.7
- @clerk/shared@1.0.0
- @clerk/types@3.57.0
4.62.1
Patch Changes
-
Added
formFieldInputPlaceholder__passwordto the placeholder of the password input in the<SignInFactorOnePasswordCard/>component (#1909) by @octoper -
Internal fix for deprecation warning when using limi & offset. (#1904) by @panteliselef
-
Remove custom Alert from invitation page and display it as a global error instead (at the top of the component). (#1903) by @panteliselef
-
Deprecate experimental captcha from Clerk singleton. (#1905) by @panteliselef
-
Append query params for sign-in and sign-up initial values after the hash in order to be readable via hash routing. (#1855) by @desiprisg
-
Updated dependencies [
ccfb0e8ed,9ca215702]:- @clerk/localizations@1.26.6
- @clerk/types@3.56.1
4.62.0
Minor Changes
-
Introduces three new element appearance descriptors: (#1803) by @octoper
tableHeadlet's you customize the tables head styles.paginationButtonlet's you customize the pagination buttons.paginationRowTextlet's you customize the pagination text.
-
Add new
/sign-up/continue/verify-phone-numberand/sign-up/continue/verify-email-addressroutes in order to allow navigating back to the/sign-up/continuestep when editing the extra identifier that is provided in the/sign-up/continuestep. (#1870) by @desiprisg
Patch Changes
-
Improve accessibility of
<UserButton />and<OrganizationSwitcher />by usingaria-*attributes (where appropriate) and roles likemenuandmenuitem. (#1826) by @panteliselef -
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) by @mzhong9723 -
Mark the following SAML related types as stable: (#1876) by @dimkl
User.samlAccountsSamlAccountUserSettingsResource.samlUserSettingsJSON.samlSamlSettingsUserResource.samlAccountsSamlAccountResourceSamlStrategyUserJSON.saml_accountsSamlAccountJSONSamlConfigSamlFactorHandleSamlCallbackParams
-
Deprecate the
organization.__unstable__invitationUpdateandorganization.__unstable__membershipUpdatemethods. (#1879) by @panteliselef -
Enforce LTR direction in code inputs (#1873) by @desiprisg
-
Replace role based check with permission based checks inside the OrganizationSwitcher component. (#1851) by @panteliselef
-
Update
@emotion/reactfrom11.10.5to11.11.1to allow internal usage of TypeScript v5 (Emotion commit) (#1877) by @LekoArts -
Replace role based check with permission based checks inside the OrganizationSettings component. (#1850) by @panteliselef
-
Fix methods in clerk-js that consumede paginated endpoints in order to retrieve single resources. (#1871) by @panteliselef
-
Fix incorrect deprecation message for
__unstable__membershipUpdate. (#1889) by @panteliselef -
Replace role based check with permission based checks inside the OrganizationMembers component. (#1849) by @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) by @chanioxaris -
Updated dependencies [
35be8709d,e38488c92,a11f962bc,9b644d799,a9894b445,834dadb36,70f251007,a46d6fe99]:- @clerk/types@3.56.0
- @clerk/shared@0.24.5
- @clerk/localizations@1.26.5
4.61.0
Minor Changes
-
The sign-in form will now switch to the phone input if the only initial value provided was that of the phone number. (#1861) by @desiprisg
-
Add support for LinkedIn OIDC (#1772) by @fragoulis
Patch Changes
-
Warn about MagicLink deprecations: (#1836) by @dimkl
MagicLinkErrorisMagicLinkErrorMagicLinkErrorCodehandleMagicLinkVerificationcreateMagicLinkFlowuseMagicLink
-
Updated the OAuth buttons in the SignIn and SignUp components to prevent layout shifts while loading. (#1838) by @octoper
-
Introduces a new
isAuthorized()method in theSessionclass. 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) by @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) by @BRKalow -
Fix incorrect path of types for the clerk-js headless variant. (#1848) by @panteliselef
-
Throw an error if the
signInUrlis on the same origin of a satellite application or if it is of invalid format (#1845) by @desiprisg -
Introduces an internal
<Gate/>component (supporting hook and HOC) which enables us to conditionally render parts of our components based on a users permissions. (#1834) by @panteliselef -
Correctly set idle card state when an error occurs during the MFA set up phase. (#1825) by @desiprisg
-
Introduce new
*EmailLink*helpers that will replace the*MagicLink*helpers. (#1833) by @dimklAlso marked all the
*MagicLink*as deprecated using JSDocs. -
Disable country picker button when form is submitted (#1853) by @desiprisg
-
Updated dependencies [
977336f79,997b8e256,7fb229688,91e9a55f4,91014880d,7f4d4b942]:- @clerk/shared@0.24.4
- @clerk/types@3.55.0
- @clerk/localizations@1.26.4
4.60.1
Patch Changes
-
Apply deprecation warnings for @clerk/types: (#1823) by @dimkl
orgsjwt claimsapiKeyfrontendApiredirect_urlpasswordgenerateSignatureafterSwitchOrganizationUrlprofileImageUrl
-
Fixes an issue where the phone number value was not properly copied onto the input when pasting on the email or username field in the
<SignIn/>component after autoswitching to the phone number field. The issue was introduced with the changes for the Prefill<SignIn/>and<SignUp/>feature. by @nikosdouvlis -
Updated dependencies [
1136c7c15,1e212c19d,1136c7c15,1136c7c15]:- @clerk/shared@0.24.3
4.60.0
Minor Changes
- Introduce a new user resource method to leave an organization. You can now call 'user.leaveOrganization(<org_id>)' when a user chooses to leave an organization instead of 'organization.removeMember(<user_id>)' which is mostly meant for organization based actions. (#1809) by @chanioxaris
Patch Changes
-
-
Introduce organizationProfileProps as prop in
<OrganizationSwitcher/>. (#1801) by @panteliselef -
Introduce appearance in userProfileProps in
<UserButton/>. -
Deprecate the usage of
appearance.userProfilein<UserButton/>.
-
-
Introduce ClerkRuntimeError class for localizing error messages in ClerkJS components (#1813) by @panteliselef
-
Enables you to translate the tooltip hint while creating an organization through the
formFieldHintText__slugkey (#1811) by @LekoArts -
Pins the internal dependency versions. This ensures that users installing our main framework SDKs will get consistent versions across all @clerk/ packages. (#1798) by @BRKalow
-
Fixes a UI bug on Safari, that was causing the border of tables to be displayed incorrectly (#1814) by @panteliselef
-
Warn about
publicUserData.profileImageUrlnested property deprecation inOrganizationMembership&OrganizationMembershipRequestresources. (#1812) by @dimkl -
Fix internal subpath imports by replacing them with top level imports. (#1804) by @dimkl
-
Removes
it.skipfrom the LeaveOrganizationPage tests. (#1820) by @panteliselef -
Updated dependencies [
b59b6b75d,164f3aac7,68259a2bb,33e927c59,0636ff779,9514618d6,ccf42105b,c7c6912f3,e3451443e,71bb1c7b5]:- @clerk/types@3.54.0
- @clerk/localizations@1.26.3
- @clerk/shared@0.24.2
4.59.1
Patch Changes
-
Apply deprecation warnings for
@clerk/clerk-js: (#1800) by @dimklClerk.setSession
-
Updated dependencies [
cecf74d79]:- @clerk/shared@0.24.1
4.59.0
Minor Changes
<SignIn/>,<SignUp/>,<RedirectToSignin/>,<RedirectToSignUp/>,clerk.redirectToSignIn()andclerk.redirectToSignUp()now accept theinitialValuesoption, which will prefill the appropriate form fields with the values provided. (#1701) by @desiprisg
Patch Changes
-
Use our deprecate utility to log warnings about deprecated usage of Organization.getMemberships (#1779) by @dimkl
-
Fix: localized key for invalid email addresses in InviteMembers form. (#1781) by @panteliselef
-
Apply deprecation warnings clerk-js package for: (#1779) by @dimkl
- Organization.create() using string parameter
- Organization.retrieve()
limit&offset - Clerk.getOrganizationMemberships()
svgUrlavatarUrl/logoUrl/faviconUrl/profileImageUrl
-
Updated the OAuth buttons in the SignIn and SignUp components to prevent layout shifts while loading. (#1728) by @octoper
-
Updated dependencies [
7ffa6fac3,cc8851765,5c8754239,2f6a6ac99,753f7bbda,55c8ebd39]:- @clerk/shared@0.24.0
- @clerk/localizations@1.26.2
- @clerk/types@3.53.0
4.58.2
Patch Changes
-
Safer usage of
localStorageby checking ifwindowis available in current environment (#1774) by @LekoArts -
Some minor TypeScript type fixes to internal components. Also applying some ESLint recommendations. (#1756) by @LekoArts
-
Introduces a new method for fetching organization invitations called
Organization.getInvitations. (#1766) by @panteliselefDeprecate
Organization.getPendingInvitations -
Adds the ability to force users to reset their password. (#1757) by @kostaspt
-
Updated dependencies [
07ede0f95,0eb666118,3b85311c9,ffcc78c06,c61ddf5bf,0366e0b20]:- @clerk/shared@0.23.1
- @clerk/types@3.52.1
- @clerk/localizations@1.26.1
4.58.1
Patch Changes
-
Fixed a bug where the "Unverified" badge was missing on email or phone number fields when those where marked as "Primary" (#1749) by @panteliselef
-
Removing the
__clerk_referrer_primarythat was marked as deprecated. It was introduced to support the multi-domain featured, but was replaced shortly after. (#1755) by @panteliselef -
Updated dependencies [
6706b154c,086a2e0b7]:- @clerk/shared@0.23.0
4.58.0
Minor Changes
- Introduce the new brand-new component OrganizationList (#1692) by @panteliselef
- Lists all the memberships, invitations or suggestions an active user may have
- Powered by our
useOrganizationListreact hook
Patch Changes
-
Organization.getMemberships now supports paginated responses by passing
{paginated:true}(#1708) by @panteliselef -
Change
READMEto include updated links to issue templates and update Discord link. (#1750) by @LekoArts -
Add support for redirecting to "factor-one" during account transfer flow. (#1696) by @kostaspt
-
Disable role selection for the last admin in OrganizationProfile (#1721) by @panteliselef
-
This PR replaces
The verification link expired. Please resend it.message with the localization keyformFieldError__verificationLinkExpired. The english message was also adjust toThe verification link expired. Please request a new link.to make the second sentence clearer. (#1738) by @LekoArts -
Improve color contrast in Badges (#1716) by @panteliselef
-
The issue #1557 uncovered that when using
@clerk/nextjstogether withnext-intlthe error"Failed to execute 'removeChild' on 'Node'"was thrown. (#1726) by @LekoArtsThat error came from
@floating-ui/reactwhich@clerk/clerk-jsused under the hood. Its version was upgraded from0.19.0to0.25.4to fix this error.This error is probably not isolated to
next-intlso if you encountered a similar error in the past, try upgrading. -
Fix bug with missing or incorrect breadcrumbs in Organization and User profiles (#1722) by @panteliselef
-
Fixes minor bug in UI of a success page (#1725) by @panteliselef
-
Improve spacing consistency OrganizationList (#1717) by @panteliselef
-
Updated dependencies [
e6b52ae34,e99df0a0d,4327b91f9,4e16d39f3,8b9a7a360,30bb9eccb,01b024c57,b0f396bc5]:- @clerk/localizations@1.26.0
- @clerk/types@3.52.0
- @clerk/shared@0.22.1
4.57.0
Minor Changes
- Introduced a new
firstFactorUrlproperty in sign-in callback to handle unverified emails. (#1629) by @kostaspt
Patch Changes
-
Organization Switcher now displays organization invitations and suggestions in a more compact form. (#1675) by @panteliselef
-
Updated dependencies [
463ff84f5,1426e5eb3,060b2bd6b]:- @clerk/types@3.51.0
- @clerk/localizations@1.25.2
4.56.3
Patch Changes
-
Display a notification counter for admins with pending request in the active organization. The counter is it visible in OrganizationSwitcher and OrganizationProfile ("Requests" tab) (#1670) by @panteliselef
-
Previously users could leave or delete an organization by submitting the form without the macthing organization name (#1677) by @panteliselef
-
Support swapping the Clerk publishableKey at runtime to allow users to toggle the instance being used. (#1655) by @BRKalow
-
Updated dependencies [
169bc3d26]:- @clerk/localizations@1.25.1
4.56.2
Patch Changes
- Set SameSite=Lax for dev browser cookie, instead of Strict, so that it can be read from the server after redirects (#1638) by @yourtallness
4.56.1
Patch Changes
- Disable chunking for
@clerk/clerk-js/headlessto ensure the library doesn't attempt to dynamically load chunks in a non-browser environment. (#1654) by @BRKalow
4.56.0
Minor Changes
-
Introducing validatePassword for SignIn and SignUp resources (#1445) by @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) by @chanioxaris
Also make available the user's suggestions from the useOrganizationList hook
-
Introduces userInvitations from
useOrganizationList(#1520) by @panteliselefuserInvitationsis a paginated list of data. It can be used to create Paginated tables or Infinite lists. -
Implement Resend OTP functionality as part of the Organization Domain verification flow (#1583) by @chanioxaris
-
Introduce
hasImagein User / Organization / Session resources (#1544) by @dimkl -
Improve redirects on OAuth callback. Now, if you try to sign up with a provider that allows unverified accounts, it will (#1563) by @kostaspt
navigate to the appropriate change when needed, fixing the broken flow.
-
Introduce
logoLinkUrlprop inappearance.layout(#1449) by @nikospapcomA new
logoLinkUrlprop has been added toappearance.layoutand used inApplicationLogoto change thehrefof the link. By default, the logo link url will be the Home URL you've set in the Clerk Dashboard.
Patch Changes
-
Pass dev_browser to AP via query param, fix AP origin detection util (#1567) by @yourtallness
-
Introduces a new resource called OrganizationMembership (#1572) by @panteliselef
- useOrganization has been updated in order to return a list of domain with the above type
-
Introduces Membership Requests in
(#1576) by @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) by @panteliselef
- userMemberships is now also part of the returned values of useOrganizationList
-
Introduces the accept method in UserOrganizationInvitation class (#1550) by @panteliselef
-
Display a notification counter for organization invitations in OrganizationSwitcher (#1627) by @panteliselef
-
Introduces a new resource called OrganizationDomain (#1569) by @panteliselef
- useOrganization has been updated in order to return a list of domain with the above type
-
Introduces domains and invitations in
(#1560) by @panteliselef - The "Members" page now accommodates Domain and Individual invitations
- The "Settings" page allows for the addition, edit and removal of a domain
-
Fix a bug where it was not possible to delete the username if it was optional. (#1580) by @raptisj
-
A OrganizationMembershipRequest can now be rejected (#1612) by @panteliselef
- New
OrganizationMembershipRequest.rejectmethod alongsideaccept - As an organization admin, navigate to
Organization Profile>Members>Requests. You can now reject a request from the table.
- New
-
Ensure the session token is updated when calling
setActive()in a non-browser environment. (#1623) by @BRKalow -
Introduces an invitation list within
(#1554) by @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) by @panteliselef
-
Construct urls based on context in
(#1503) by @panteliselef - Deprecate
afterSwitchOrganizationUrl - Introduce
afterSelectOrganizationUrl&afterSelectPersonalUrl
afterSelectOrganizationUrlaccepts- Full URL -> 'https://clerk.com/'
- relative path -> '/organizations'
- relative path -> with param '/organizations/:id'
- function that returns a string -> (org) =>
/org/${org.slug}afterSelectPersonalUrlaccepts - Full URL -> 'https://clerk.com/'
- relative path -> '/users'
- relative path -> with param '/users/:username'
- function that returns a string -> (user) =>
/users/${user.id}
- Deprecate
-
Introduces list of suggestions within
(#1577) by @panteliselef - Users can request to join a suggested organization
-
Updated dependencies [
96cc1921c,8d1e7d76d,435d2cff5,8873841fc,0a5f632f8,34da40a50,3158752c7,8538cd0c1,a412a5014,4ea30e883,17b3de961,86de584dd,e404b98f7,e02a1aff2,09bfb793e,b2296d630,dcabc22c5,52ce79108,4764e40c7,1e117beec,89bc5de04]:- @clerk/shared@0.22.0
- @clerk/types@3.50.0
- @clerk/localizations@1.25.0
4.55.0
Minor Changes
-
Handle the construction of zxcvbn errors with information from FAPI (#1526) by @raptisj
-
Eliminate pre/post onBlur states for password field and prioritize minimum character count error message over other complexity errors. (#1531) by @raptisj
-
Introduce Clerk.client.clearCache() method (#1545) by @SokratisVidros
Patch Changes
-
Deprecate usage of old image fields in favor of
imageUrl(#1543) by @dimkl -
Introduce the ability to read multiple errors. Used for password complexity errors coming from BE. (#1505) by @raptisj
-
Introduces a new internal class
UserOrganizationInvitationthat represents and invitation to join an organization with the organization data populated (#1527) by @panteliselefAdditions to support the above
- UserOrganizationInvitationResource
- UserOrganizationInvitationJSON
- ClerkPaginatedResponse
ClerkPaginatedResponse represents a paginated FAPI response
-
Updated dependencies [
ea95525a4,24a46ae7e,be7a18cc0,d433b83b9,5e1a09df4,0a59e122d]:- @clerk/types@3.49.0
- @clerk/shared@0.21.0
- @clerk/localizations@1.24.1
4.54.2
Patch Changes
- Updated dependencies [
30cf15c10]:- @clerk/localizations@1.24.0
4.54.1
Patch Changes
-
Introduce the
skipInvitationScreenprop on<CreateOrganization />component (#1501) by @panteliselef -
Removes identifier from Personal Workspace in the OrganizationSwitcher list (UI) (#1502) by @panteliselef
-
In
<OrganizationProfile />component, allow an admin to leave the current organization if there are more admins present. (#1498) by @chanioxaris -
Updated dependencies [
6fa4768dc]:- @clerk/types@3.48.1
- @clerk/localizations@1.23.2
4.54.0
Minor Changes
- Add unsafeMetadata prop to the SignUp component (#1464) by @tmilewski
Patch Changes
-
Experimental support for ESM and CJS for clerk-js (#1485) by @nikosdouvlis
-
Updated dependencies [
2a9d83280,73c0f9a29]:- @clerk/types@3.48.0
- @clerk/localizations@1.23.1
4.53.0
Minor Changes
-
Add a confirmation input as an additional check when doing destructive actions such as: (#1454) by @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) by @chanioxaris
-
Add
form_username_invalid_characterunstable error localization key. (#1475) by @desiprisg -
Fixed a bug where overriding some localization values in the sign in/up start pages with an empty string would result in showing the english translation. (#1474) by @desiprisg
-
Changes to OrganizationSwitcher (#1462) by @panteliselef
- Removal of user identifier from the trigger & popover
- Hidden avatar of active user when
hidePersonalis true
-
Enable the ability to target the avatar upload and remove action buttons (#1455) by @tmilewski
-
In the
component, if the newly created organization has max allowed membership equal to 1, skip the invitation page (#1471) by @chanioxaris -
Updated dependencies [
73c9c1d0e,ae9fc247a,1a151e701,090bab66e,8bd5b3d38,5ecbb0a37,592911196,cd361e169]:- @clerk/types@3.47.0
- @clerk/localizations@1.23.0
- @clerk/shared@0.20.0
4.52.1
Patch Changes
- Updated dependencies [
561a78bd7]:- @clerk/localizations@1.22.1
4.52.0
Minor Changes
- The password field will now autofocus on the sign in factor one page. (#1447) by @desiprisg
Patch Changes
- Move UI for deleting account to bottom of user profile component in the security section (#1407) by @jescalan
4.51.0
Minor Changes
- Navigate to the signUp url if user visits the verify-email-address/verify-phone-number route without the proper identifier present (#1405) by @desiprisg
Patch Changes
- Updated dependencies [
30f8ad18a,1ce885065,9ce3cbe41]:- @clerk/types@3.46.1
- @clerk/localizations@1.22.0
4.50.1
Patch Changes
-
Set the
__sessioncookie withsamesite:nonefor secure iframes only (#1403) by @nikosdouvlis -
Updated dependencies [
137322862,741012544,0b55cdf27]:- @clerk/localizations@1.21.1
4.50.0
Minor Changes
- Add ability for organization admins to delete an organization if they have permission to do so (#1368) by @jescalan
Patch Changes
-
Support cross-origin iframe to use session cookie (#1389) by @dimkl
-
Updated dependencies [
bfb3af28]:- @clerk/localizations@1.21.0
- @clerk/types@3.46.0
4.49.0
Minor Changes
- If user does not have permission to create an org, create org button will not display in the OrganizationSwitcher UI (#1373) by @jescalan
Patch Changes
-
Fix to pull from the correct permissions set when displaying user delete self UI (#1372) by @jescalan
-
Updated dependencies [
11954816,32148490]:- @clerk/types@3.45.0
- @clerk/localizations@1.20.1
4.48.1
Patch Changes
4.48.0
Minor Changes
- Adds the ability for users to delete their own accounts, as long as they have permission to do so (#1307) by @jescalan
Patch Changes
-
Password, first name & last name fields will be disabled if there are active SAML accounts. (#1326) by @yourtallness
-
Updated dependencies [
9651658c,4e1bb2bd,eed73021,a23a3cc8]:- @clerk/types@3.43.0
- @clerk/localizations@1.19.0
4.47.2
Patch Changes
-
Optimize all images displayed within the Clerk components, such as Avatars, static OAuth provider assets etc. All images are now resized and compressed. Additionally, all images are automatically converted into more efficient formats (
avif,webp) if they are supported by the user's browser, otherwise all images fall back tojpeg. (#1367) by @nikosdouvlis -
Updated dependencies [
59bc649a]:- @clerk/shared@0.19.1
4.47.1
Patch Changes
- Updated dependencies [
0d5caa84]:- @clerk/localizations@1.18.1
4.47.0
Minor Changes
-
Add base64 string support in Organization.setLogo (#1309) by @raptisj
-
Fix magic link flows for development instances when url-based session syncing is used. (#1343) by @alex-ntousias
Patch Changes
- Updated dependencies [
7af91bc3,c42b4ac0,5cde6d80,6f3d4305]:- @clerk/shared@0.19.0
- @clerk/types@3.42.0
- @clerk/localizations@1.18.0
4.46.0
Minor Changes
- Add missing appearance keys for the "Manage Organization" button within
<OrganizationSwitcher/>by @nikosdouvlis
Patch Changes
-
Make first name, last name & password readonly for users with active SAML accounts by @nikosdouvlis
-
Load CF turnstile from FAPI by @nikosdouvlis
-
ESM/CJS support for
@clerk/clerk-reactby @nikosdouvlisChanges that should affect users and OS contributors:
- Better source map support for
@clerk/clerk-react,@clerk/shared. This affects anyone developing in our monorepo or anyone using a debugger with Clerk installed in their app. - Easier node_modules debugging as
@clerk/clerk-react,@clerk/sharedand@clerk/nextjsare no longer getting bundled as a single-file package. This also improves error logging in nextjs a lot, as nextjs usually logs the line that threw the error - a minified, single-file package, usually consists of a very long single-line module, so logging error in NextJS wasn't ideal. - Headless clerk-js bundle size reduced by ~10kb, normal clerk-ks by ~6kb
- A new
clerkJSVersionprop has been added on ClerkProvider allowing to fetch a specific clerk-js version.
- Better source map support for
-
Add support for dataURLs in User.setProfileImage by @nikosdouvlis
-
Support OTP autofill for Chrome on iOS by @nikosdouvlis
- Fixes a bug preventing OTP being correctly autofilled when received via SMS
-
Preview known SAML error messages during failed Sign in/up flows by @nikosdouvlis
-
Updated dependencies [
b66ea0a5,b66ea0a5,b66ea0a5,b66ea0a5]:- @clerk/localizations@1.17.1
- @clerk/types@3.41.1
- @clerk/shared@0.18.0
4.45.0 (2023-06-03)
Note: Version bump only for package @clerk/clerk-js
4.44.0 (2023-05-26)
Note: Version bump only for package @clerk/clerk-js
4.43.2 (2023-05-23)
Note: Version bump only for package @clerk/clerk-js
4.43.1 (2023-05-23)
Note: Version bump only for package @clerk/clerk-js
4.43.0 (2023-05-23)
Note: Version bump only for package @clerk/clerk-js
4.42.0 (2023-05-18)
Note: Version bump only for package @clerk/clerk-js
4.41.0 (2023-05-17)
Note: Version bump only for package @clerk/clerk-js
4.40.0 (2023-05-15)
Note: Version bump only for package @clerk/clerk-js
4.39.0 (2023-05-04)
Note: Version bump only for package @clerk/clerk-js
4.39.0-staging.5 (2023-05-04)
Features
- clerk-js,types: Support sign in with SAML strategy (6da395f)
- clerk-js,types: Support sign up with SAML strategy (6d9c93e)
- clerk-js: Use allowed special characters for password from environment (dec0512)
Bug Fixes
- clerk-js: Escape
allowed_special_charactersfrom FAPI (da6b683)
4.39.0-staging.3 (2023-05-02)
Features
- clerk-js: Add resetPasswordFlow to SignIn resource (6155f5b)
- clerk-js: Create
page (3fbf8e7) - clerk-js: Introduce Reset Password flow (e903c4f)
- clerk-js: Localize "Password don't match" field error (c573599)
- clerk-js: Prepare Reset password field for complexity and strength (9736d94)
- clerk-js: Reset password for first factor (280b5df)
- clerk-js: Reset password MFA (5978756)
Bug Fixes
- clerk-js,types: Remove after_sign_out_url as it not returned by FAPI (#1121) (d87493d)
- clerk-js: Add error when preparing for reset_password_code (7ac766e)
- clerk-js: Allow children to be passed in VerificationCodeCard (eb556f8)
- clerk-js: Password settings maximum allowed length (bfcb799)
- clerk-js: Remove forgotten console.log (823a0c0)
- clerk-js: Update type of resetPasswordFlow in SignInResource (637b791)
- clerk-js: Use redirectWithAuth after multi session signOut (928a206)
4.38.3 (2023-04-19)
Note: Version bump only for package @clerk/clerk-js
4.38.2 (2023-04-19)
Bug Fixes
- clerk-js: Add resetPassword method as a core resource (fa70749)
- clerk-js: Do not append __clerk_db_jwt if it already exists (2c9082a)
- clerk-js: Refactor types for resetPassword (fd53901)
4.38.1 (2023-04-12)
Note: Version bump only for package @clerk/clerk-js
4.38.0 (2023-04-11)
Note: Version bump only for package @clerk/clerk-js
4.37.0 (2023-04-06)
Note: Version bump only for package @clerk/clerk-js
4.36.0 (2023-04-03)
Note: Version bump only for package @clerk/clerk-js
4.35.0 (2023-03-31)
Note: Version bump only for package @clerk/clerk-js
4.35.0-staging.3 (2023-03-31)
Bug Fixes
- clerk-js: Run multidomain getters only in browser (ad10705)
4.34.1 (2023-03-29)
Note: Version bump only for package @clerk/clerk-js
4.34.0 (2023-03-29)
Bug Fixes
- clerk-js: Bring back error for missing proxyUrlAndDomain (f1ebfd8)
4.32.0 (2023-03-10)
Note: Version bump only for package @clerk/clerk-js
4.31.0 (2023-03-09)
Note: Version bump only for package @clerk/clerk-js
4.30.1 (2023-03-07)
Note: Version bump only for package @clerk/clerk-js
4.30.0 (2023-03-07)
Note: Version bump only for package @clerk/clerk-js
4.29.1 (2023-03-03)
Note: Version bump only for package @clerk/clerk-js
4.29.0 (2023-03-01)
Note: Version bump only for package @clerk/clerk-js
4.28.1 (2023-02-25)
Note: Version bump only for package @clerk/clerk-js
4.28.1-staging.1 (2023-02-25)
Bug Fixes
- clerk-js: Dispatch token update only for session token (fc6837b)
4.28.0 (2023-02-24)
Note: Version bump only for package @clerk/clerk-js
4.27.3-staging.3 (2023-02-22)
Bug Fixes
- clerk-js: Pass unsafe metadata to sign up methods (e2510e6)
4.27.2 (2023-02-17)
Note: Version bump only for package @clerk/clerk-js
4.27.1 (2023-02-15)
Note: Version bump only for package @clerk/clerk-js
4.27.0 (2023-02-10)
Note: Version bump only for package @clerk/clerk-js
4.26.1 (2023-02-07)
Note: Version bump only for package @clerk/clerk-js
4.26.1-staging.0 (2023-02-07)
Note: Version bump only for package @clerk/clerk-js
4.26.0 (2023-02-07)
Note: Version bump only for package @clerk/clerk-js
4.25.0 (2023-02-01)
Bug Fixes
4.24.0 (2023-01-27)
Note: Version bump only for package @clerk/clerk-js
4.23.3 (2023-01-24)
Note: Version bump only for package @clerk/clerk-js
4.23.2 (2023-01-20)
Note: Version bump only for package @clerk/clerk-js
4.23.1 (2023-01-17)
Bug Fixes
- clerk-js: Add missing dev instance suffix for new accounts.dev urls (cb2e516)
4.23.0 (2023-01-17)
Note: Version bump only for package @clerk/clerk-js
4.22.1 (2022-12-23)
Note: Version bump only for package @clerk/clerk-js
4.22.0 (2022-12-19)
Note: Version bump only for package @clerk/clerk-js
4.21.7 (2022-12-14)
Bug Fixes
- clerk-js: Fix spacing between membership widget and members table (255d495)
4.21.6 (2022-12-13)
Note: Version bump only for package @clerk/clerk-js
4.21.5 (2022-12-12)
Note: Version bump only for package @clerk/clerk-js
4.21.4 (2022-12-12)
Note: Version bump only for package @clerk/clerk-js
4.21.3 (2022-12-09)
Note: Version bump only for package @clerk/clerk-js
4.21.2 (2022-12-08)
Reverts
4.21.1 (2022-12-08)
Note: Version bump only for package @clerk/clerk-js
4.21.0 (2022-12-08)
Bug Fixes
- clerk-js: Tweak options spacing in organization switcher (b43dac2)
- clerk-js: Tweak options spacing in organization switcher (c1f1a7c)
4.20.0 (2022-12-02)
Note: Version bump only for package @clerk/clerk-js
4.19.0 (2022-11-30)
Note: Version bump only for package @clerk/clerk-js
4.19.0-staging.2 (2022-11-30)
Bug Fixes
- clerk-js: Update typo (4278a9e)
4.19.0-staging.1 (2022-11-30)
Bug Fixes
- clerk-js: Treat unstablebilling props as functions or strings (3c8bf9c)
4.18.0 (2022-11-30)
Note: Version bump only for package @clerk/clerk-js
4.18.0-staging.8 (2022-11-30)
Bug Fixes
4.18.0-staging.7 (2022-11-29)
Note: Version bump only for package @clerk/clerk-js
4.18.0-staging.6 (2022-11-29)
Bug Fixes
- clerk-js: Fix cookieless logic (698740e)
4.17.0 (2022-11-25)
Note: Version bump only for package @clerk/clerk-js
4.17.0-staging.1 (2022-11-25)
Bug Fixes
- clerk-js: Ensure #/ prefix for hashes (0243403)
4.16.2 (2022-11-25)
Note: Version bump only for package @clerk/clerk-js
4.16.1 (2022-11-23)
Bug Fixes
- clerk-js: Add headless folder to final package (b22d6f9)
4.16.0 (2022-11-22)
Bug Fixes
- clerk-js: Adjust picker text size in PhoneInput (5f6ec69)
4.16.0-staging.3 (2022-11-21)
Note: Version bump only for package @clerk/clerk-js
4.16.0-staging.2 (2022-11-21)
Features
- clerk-js: Export all ClerkJS error utilities (c225288)
- clerk-js: Improve DX for headless import (8d64310)
4.15.2 (2022-11-18)
Note: Version bump only for package @clerk/clerk-js
4.15.1 (2022-11-15)
Bug Fixes
- clerk-js: Correct role change check in ActiveMembersList (3cf8b5e)
4.15.0 (2022-11-15)
Note: Version bump only for package @clerk/clerk-js
4.14.1 (2022-11-10)
Note: Version bump only for package @clerk/clerk-js
4.14.0 (2022-11-05)
Features
- clerk-js,shared: Introduce private unstable__mutate to force mutate swr state (2a21dd8)
- clerk-js: Introduce withOrganizationsEnabledGuard (00fc621)
- clerk-js: Reset card error when navigating in OrganizationMembers (6a1e873)
- clerk-js: Update avatar background color (7874110)
- types,clerk-js: Introduce OrganizationSettings resource (455911f)
4.13.0 (2022-11-03)
Note: Version bump only for package @clerk/clerk-js
4.13.0-staging.4 (2022-11-02)
Note: Version bump only for package @clerk/clerk-js
4.13.0-staging.3 (2022-11-02)
Note: Version bump only for package @clerk/clerk-js
4.13.0-staging.2 (2022-11-02)
Note: Version bump only for package @clerk/clerk-js
4.13.0-staging.1 (2022-11-02)
Features
- clerk-js,types: Organization invitation metadata (87764b8)
- clerk-js: Add
loadedto core Clerk instance (7c08a91) - clerk-js: Set up the InviteMembersPage for OrganizationProfile (882727f)
Bug Fixes
- clerk-js: Add TabPanel tabIndex and remove outline (262499e)
- clerk-js: Correctly truncate the name in the OrganizationProfile Navbar (fc06ec7)
- clerk-js: Fallback to Default Gravatar when not provided an imageUrl (580a423)
- clerk-js: Fix globalObject for UMD packaging (7499207)
- clerk-js: Prioritize focus of tabs when keyboard navigating (3f90c38)
- clerk-js: Take into account enabled attributes and not first factors for Sign Up form (d3fdb1d)
- clerk-js: Update the OrgSwitcher trigger when hidePersonal is true (8a0d8cd)
- clerk-js: Wrap ImpersonationFab with
withCoreSessionSwitchGuard(1d7cea9) - clerk-js: Wrap ImpersonationFab with withCoreUserGuard (7405f34)
- clerk-react: Add frontendAPI on window as a fallback (06f8b37)
4.12.1 (2022-10-24)
Bug Fixes
- clerk-js: Add missing localizationKey import (fb17eca)
4.12.0 (2022-10-24)
Note: Version bump only for package @clerk/clerk-js
4.11.0 (2022-10-14)
Features
- types,clerk-js: List only authenticatable OAuth providers in Sign in/up components (4b3f1e6)
Bug Fixes
- clerk-js: Replace
avatardescriptor withavatarBox(65cab1f)
4.10.1 (2022-10-14)
Bug Fixes
- shared: Version bump for shared (c0cebb5)
4.10.0 (2022-10-14)
Note: Version bump only for package @clerk/clerk-js
4.10.0-staging.1 (2022-10-13)
Features
- clerk-js,clerk-react,types: Wire up
OrganizationSwitcherandOrganizationProfile(1e34e69) - clerk-js: Add table and pagination elements (cb56f5c)
- clerk-js: Fade in text for ImpersonationFab (25c24b2)
- clerk-js: Introduce Menu element (f4b4586)
- clerk-js: Introduce Select element and use it in PhoneInput (9619bfe)
- clerk-js: Make the whole ImpersonationFab draggable (85d65f8)
- clerk-js: Replace Switch Account text with icon (1262f1b)
Bug Fixes
- clerk-js: Add appearance customization support for avatar gradient (96cde45)
- clerk-js: Add default colors for avatar (703fbd9)
- clerk-js: Add global not_allowed_access error to localization prop (0313fe5)
- clerk-js: Consistent ImpersonationFab drag behaviour in mobile (b53d0a8)
- clerk-js: Extract BoringAvatar library module (ca5420b)
- clerk-js: Fix useSupportEmail.test.tsx (52bb1cb)
- clerk-js: Implement tabs components (d9428cd)
- clerk-js: Improve keyboard nav and handle disabled tabs order of focus (ae87f00)
- clerk-js: Introduce FullHeightLoader element and replace Spinner in UserProfile (121d697)
- clerk-js: Make global errors localizable (e674272)
- clerk-js: Make translateError fallback to longMessage first (78627ca)
- clerk-js: Minor refactor in naming and types (8e1d32b)
- clerk-js: Remove redundant code (49c97e2)
- clerk-js: Replace gravatar with Boring avatar (7f2e2b6)
4.9.0 (2022-10-07)
Note: Version bump only for package @clerk/clerk-js
4.8.1 (2022-10-05)
Note: Version bump only for package @clerk/clerk-js
4.8.0 (2022-10-03)
Features
- clerk-js: Add open prop in user button (6ae7f42)
Bug Fixes
4.7.0 (2022-09-29)
Note: Version bump only for package @clerk/clerk-js
4.6.1 (2022-09-25)
Note: Version bump only for package @clerk/clerk-js
4.6.0 (2022-09-24)
Note: Version bump only for package @clerk/clerk-js
4.5.0 (2022-09-22)
Note: Version bump only for package @clerk/clerk-js
4.4.1 (2022-09-19)
Bug Fixes
- clerk-js: Add missing applicationName param to
signUp.continue.subtitle(1a41709) - clerk-js: Add missing applicationName param to
signUp.emailLink.subtitle(bd5c8f2) - clerk-js: Stop infinite TOTP re-renders by removing user from the deep array (dc935bb)
- clerk-js: Typo on remove phone number page (5fa86a4)
4.4.0 (2022-09-16)
Bug Fixes
- clerk-js: Add missing applicationName param to
signUp.continue.subtitle(1a41709) - clerk-js: Stop infinite TOTP re-renders by removing user from the deep array (dc935bb)
4.3.5 (2022-09-07)
Note: Version bump only for package @clerk/clerk-js
4.3.4 (2022-09-07)
Note: Version bump only for package @clerk/clerk-js
4.3.3 (2022-09-03)
Note: Version bump only for package @clerk/clerk-js
4.3.2 (2022-09-02)
Note: Version bump only for package @clerk/clerk-js
4.3.1 (2022-08-29)
Note: Version bump only for package @clerk/clerk-js
4.3.0 (2022-08-29)
Note: Version bump only for package @clerk/clerk-js
4.2.2 (2022-08-24)
Note: Version bump only for package @clerk/clerk-js
4.2.1 (2022-08-18)
Note: Version bump only for package @clerk/clerk-js
4.2.0 (2022-08-18)
Note: Version bump only for package @clerk/clerk-js
4.2.0-staging.1 (2022-08-18)
Bug Fixes
- clerk-js: Minor cleanup (d44a8a9)
4.1.1 (2022-08-16)
Note: Version bump only for package @clerk/clerk-js
4.1.0 (2022-08-11)
Note: Version bump only for package @clerk/clerk-js
4.0.2 (2022-08-09)
Bug Fixes
4.0.1 (2022-08-07)
Note: Version bump only for package @clerk/clerk-js
4.0.0 (2022-08-05)
Note: Version bump only for package @clerk/clerk-js
3.17.0 (2022-08-04)
Features
- clerk-js: Get support email from FAPI /v1/environment if exists (c9bb8d7)
3.16.4 (2022-07-13)
Note: Version bump only for package @clerk/clerk-js
3.16.3 (2022-07-12)
Note: Version bump only for package @clerk/clerk-js
3.16.2 (2022-07-07)
Note: Version bump only for package @clerk/clerk-js
3.16.1 (2022-07-06)
Note: Version bump only for package @clerk/clerk-js
3.16.0 (2022-07-01)
Features
- types,clerk-js: Introduce user hasVerifiedEmailAddress & hasVerifiedPhoneNumber attributes (ea68447)
3.15.0 (2022-06-24)
Features
- clerk-js: Add supportEmail property option (71eff74)
3.14.0 (2022-06-16)
Note: Version bump only for package @clerk/clerk-js
3.14.0-staging.1 (2022-06-16)
Bug Fixes
- clerk-js: Default verification status to unverified if verification is missing (cac67a0)
3.13.3 (2022-06-15)
Note: Version bump only for package @clerk/clerk-js
3.13.2 (2022-06-07)
Note: Version bump only for package @clerk/clerk-js
3.13.1 (2022-06-06)
Bug Fixes
- clerk-js: Fix new URL constructor (d0cc743)
3.13.0 (2022-06-06)
Note: Version bump only for package @clerk/clerk-js
3.12.0-staging.11 (2022-06-03)
Bug Fixes
- clerk-js: Teach ClerkJS to work in expo again (5492b69)
3.12.0-staging.10 (2022-06-03)
Bug Fixes
- clerk-js: Apply minor copywriting fixes (4a1dab4)
- clerk-js: Apply minor copywriting fixes - pt2 (49c128b)
3.12.0-staging.9 (2022-06-03)
Bug Fixes
- clerk-js: If organization is
null, set the active org as null (f7bff5c) - clerk-js: Render SignUp form input errors if missing (bec968c)
3.12.0-staging.8 (2022-06-03)
Bug Fixes
- clerk-js,types: Typo for MetaMask web3 provider name (922dcb5)
- clerk-js: Improve removal page copyright for connected account and web3 wallet (bfdfbba)
- clerk-js: Render UserProfile connected account section only if at least one provider is enabled (23a127f)
3.12.0-staging.7 (2022-06-02)
Features
- clerk-js: Support multiple unverified identifiers during Sign up flow (3ec9dd5)
- types,clerk-js: Support required/optional email/phone for Progressive sign up instances (13da457)
3.12.0-staging.6 (2022-06-01)
Features
- types,clerk-js: Introduce web3 wallet operations in UserProfile (6570a87)
Bug Fixes
- clerk-js: Do not show verification status badges for ext accnts on the user profile page (0fa4f46)
- clerk-js: Emit changes in organization to listeners (798ee62)
- clerk-js: Fixed bugs in
setActivecaused by new conditions on session (37f4010) - types,clerk-js: Same component navigate after OAuth flow with missing requirements (39ca6ce)
3.12.0 (2022-05-20)
Note: Version bump only for package @clerk/clerk-js
3.12.0-staging.4 (2022-05-20)
Bug Fixes
- clerk-js: Refactor imports to stop bundling shared when not used (b0d5e73)
3.12.0-staging.3 (2022-05-19)
Bug Fixes
- clerk-js: Fix password field display logic, fix margin between oauth & web3 providers (fe601a4)
3.12.0-staging.2 (2022-05-18)
Features
- clerk-js: Make sign up flow resumable (bfe0d8c)
- clerk-js: Make sign up flow resumable for Web3 providers (cf49066)
- clerk-js: Replace Error & Info component with a single Alert component (8c34d21)
- clerk-js: Session touch should include the active organization (664030c)
- types,clerk-js: Enhance Web3 wallet resource with relevant operations (a166716)
Bug Fixes
- clerk-js: Navigate to sign up continue in web3 (460ba1c)
3.12.0-staging.1 (2022-05-17)
Features
- clerk-js: Make sign up flow resumable (bfe0d8c)
- clerk-js: Make sign up flow resumable for Web3 providers (cf49066)
- clerk-js: Replace Error & Info component with a single Alert component (8c34d21)
- clerk-js: Session touch should include the active organization (664030c)
Bug Fixes
- clerk-js: Navigate to sign up continue in web3 (460ba1c)
3.12.0-staging.0 (2022-05-16)
Features
- clerk-js: Session touch should include the active organization (664030c)
3.11.0 (2022-05-13)
Features
- clerk-js: Add shortcut to active org in Clerk singleton (03e68d4)
3.10.4 (2022-05-12)
Note: Version bump only for package @clerk/clerk-js
3.10.3 (2022-05-12)
Note: Version bump only for package @clerk/clerk-js
3.10.2 (2022-05-11)
Note: Version bump only for package @clerk/clerk-js
3.10.2-staging.1 (2022-05-11)
Bug Fixes
3.10.1 (2022-05-06)
Note: Version bump only for package @clerk/clerk-js
3.10.0 (2022-05-05)
Note: Version bump only for package @clerk/clerk-js
3.9.0 (2022-04-28)
Features
3.8.0 (2022-04-22)
Note: Version bump only for package @clerk/clerk-js
3.7.1 (2022-04-19)
Note: Version bump only for package @clerk/clerk-js
3.7.1-staging.1 (2022-04-19)
Bug Fixes
- clerk-js: Pass rotating_token_nonce correctly to FAPIClient (370cb0e)
3.7.0 (2022-04-18)
Features
- clerk-js: Organization slugs (7f0e771)
3.6.1-alpha.0 (2022-04-15)
Note: Version bump only for package @clerk/clerk-js
3.6.0 (2022-04-15)
Note: Version bump only for package @clerk/clerk-js
3.5.0 (2022-04-13)
Note: Version bump only for package @clerk/clerk-js
3.4.2 (2022-04-11)
Bug Fixes
- clerk-js: Set provider as busy when initiating oauth connection & prevent further clicks (a2faf0f)
3.4.1 (2022-04-07)
Bug Fixes
- clerk-js: Hide unverified accts from profile, skip unverified accts w/o known error from list (ac28d0d)
3.4.0 (2022-04-04)
Note: Version bump only for package @clerk/clerk-js
3.3.0 (2022-03-31)
Features
- clerk-react: Allow usernames to be optional (ea4583a)
3.2.2 (2022-03-29)
Note: Version bump only for package @clerk/clerk-js
3.2.1 (2022-03-28)
Note: Version bump only for package @clerk/clerk-js
3.2.0 (2022-03-24)
Note: Version bump only for package @clerk/clerk-js
3.2.0-staging.0 (2022-03-24)
Features
- types,clerk-js,backend-core,clerk-react: Replace thrown error with null return in getToken (d972f93)
Bug Fixes
3.1.1-alpha.0 (2022-03-23)
Note: Version bump only for package @clerk/clerk-js
3.1.0-alpha.1 (2022-03-23)
Features
- types,clerk-js: Allow connecting external accounts from the user profile page (180961b)
3.1.0-alpha.0 (2022-03-23)
Features
- clerk-js,types: Rename UserButton params to afterSignOutUrl, afterMultiSessionSingleSignOutUrl (c4cb76a)
Bug Fixes
- clerk-js: Stop parsing deprecated params from query strings (8280d96)
3.0.1-alpha.3 (2022-03-22)
Bug Fixes
- clerk-expo: Setup createPageLifecycle only in browser environment (#133) (75bd5a1)
- clerk-js: Add createdUserId attribute to SignUp (#132) (b1884bd)
3.0.1-alpha.2 (2022-03-22)
Bug Fixes
- clerk-js,clerk-react: Move error to getToken (d5f6b26)
- clerk-js: Fix signIn.prepareFirstFactor params (e435245)
- clerk-js: Make getToken use /user endpoint for integration tokens (b61213b)
- clerk-js: Show password only if required (cc687ea)
3.0.1-alpha.1 (2022-03-20)
Bug Fixes
- clerk-js,clerk-react: Move error to getToken (d5f6b26)
- clerk-js: Fix signIn.prepareFirstFactor params (e435245)
- clerk-js: Make getToken use /user endpoint for integration tokens (b61213b)
3.0.1-alpha.0 (2022-03-19)
Bug Fixes
- clerk-js,clerk-react: Move error to getToken (84d21ce)
- clerk-js: Fix signIn.prepareFirstFactor params (e435245)
- clerk-js: Make getToken use /user endpoint for integration tokens (b61213b)
3.0.0-alpha.9 (2022-03-11)
Note: Version bump only for package @clerk/clerk-js
3.0.0-alpha.8 (2022-02-28)
Features
- types: Add support for oauth_microsoft (96c1cc6)
3.0.0-alpha.7 (2022-02-25)
Note: Version bump only for package @clerk/clerk-js
3.0.0-alpha.6 (2022-02-18)
Note: Version bump only for package @clerk/clerk-js
2.17.6 (2022-03-17)
Note: Version bump only for package @clerk/clerk-js
2.17.6-staging.1 (2022-03-17)
Note: Version bump only for package @clerk/clerk-js
2.17.4 (2022-03-11)
Note: Version bump only for package @clerk/clerk-js
2.17.3 (2022-03-09)
Note: Version bump only for package @clerk/clerk-js
2.17.1 (2022-03-04)
Bug Fixes
- clerk-react,clerk-js,types: Crate of API feedback fixes (721ce72)
2.17.0 (2022-03-04)
Features
- clerk-js,clerk-react: GetOrganization/s hook methods, fetching mechanism alignment (fc11087)
- clerk-js: Add more attributes on organization models (af010ba)
- clerk-js: Add organization basic resources (09f9012)
- clerk-js: Add useOrganization hook (480c422)
- clerk-js: Basic organization data shape tests (0ca9a31)
- clerk-js: Invitation flow draft (d6faaab)
- clerk-js: Sign up next draft and fixes (e2eef78)
- clerk-js: SignUp with organization invitation flow draft (2a9edbd)
- clerk-react,clerk-js: Add useOrganization hook using __unstable attribute (1635132)
Bug Fixes
- clerk-js: Don't use ResizeObserver on old browsers (581c5cd)
- types: Guarantee elements not in oauth sorting array will be sorted last (f3c2869)
2.16.1 (2022-03-03)
Bug Fixes
- types: Consolidate oauth provider types (bce9ef5)
2.16.0 (2022-03-02)
Features
Bug Fixes
- clerk-js: Clear invalid invitation token value (0c5dc85)
2.15.0 (2022-03-01)
Features
- types: Add support for oauth_microsoft (96c1cc6)
2.14.3 (2022-02-24)
Note: Version bump only for package @clerk/clerk-js
2.14.3-staging.0 (2022-02-24)
Features
- clerk-js: Introduce
UserSettings.instanceIsPasswordBased(f72a555)
Bug Fixes
- clerk-js,clerk-react: Revert user settings work (9a70576)
- clerk-js: Helpful error message for sign in without factors (9d8a050)
- clerk-js: Import Clerk CSS after shared css modules/ components (dde2f3b)
- clerk-js: Render instant password field for password-based instances only (586437f)
- clerk-js: Render instant password field for password-based instances only (a9eefc9)
2.14.2-staging.0 (2022-02-22)
Features
- clerk-js: Allow passing of object style search params on fapiclient (8144779)
2.14.1-staging.0 (2022-02-17)
Note: Version bump only for package @clerk/clerk-js
2.14.0-staging.0 (2022-02-16)
Features
2.13.3-staging.0 (2022-02-15)
Features
- clerk-js: Introduce with
userSettingsinSignIn(adccb35) - clerk-js: Introduce with
userSettingsinUserProfile(62dff26) - clerk-js: Refactor signUp utils to work with userSettings (0eb3352)
- types: Introduce 'UserSettingsResource' (32fcf04)
2.13.2 (2022-02-14)
Bug Fixes
- clerk-js: Remove unnecessary type assertions (f580d4a)
2.13.1 (2022-02-14)
Note: Version bump only for package @clerk/clerk-js