- Updated dependencies [
f0533a2,e00ec97]:- @clerk/shared@4.3.2
- @clerk/backend@3.2.2
- @clerk/react@6.1.2
- Updated dependencies [
b9cb6e5]:- @clerk/shared@4.3.1
- @clerk/react@6.1.1
- @clerk/backend@3.2.1
- Updated dependencies [
1f43bf7,766ae5b,de1386f,02ff4f2]:- @clerk/backend@3.2.0
- @clerk/shared@4.3.0
- @clerk/react@6.1.0
- Updated dependencies [
3e63793]:- @clerk/backend@3.1.0
- @clerk/shared@4.2.0
- @clerk/react@6.0.3
-
Upgrade
cookiedependency from v0.7.2 to v1.0.2 and remove deprecated@types/cookie(cookie v1 ships built-in types). (#7987) by @jacekradko -
Updated dependencies [
a8c64cc,776ee1b,7fb870d,398b7f9,09cb6d4,09088ed]:- @clerk/backend@3.0.2
- @clerk/shared@4.1.0
- @clerk/react@6.0.2
-
Update README prerequisites to match actual
package.jsonengine and peer dependency constraints. (#7972) by @jacekradko -
Updated dependencies [
55ece85]:- @clerk/backend@3.0.1
- @clerk/react@6.0.1
-
useAuth().getTokenis no longerundefinedduring server-side rendering, it is a function and calling it will throw. (#7730) by @Ephem- If you are only using
getTokeninuseEffect, event handlers or with non-suspenseful data fetching libraries, no change is necessary as these only trigger on the client. - If you are using suspenseful data fetching libraries that do trigger during SSR, you likely have strategies in place to avoid calling
getTokenalready, since this has never been possible. - If you are using
getToken === undefinedchecks to avoid calling it, know that it will now throw instead and you should catch and handle the error.
async function doThingWithToken(getToken: GetToken) { try { const token = await getToken(); // Use token } catch (error) { if (isClerkRuntimeError(error) && error.code === 'clerk_runtime_not_browser') { // Handle error } } }
To access auth data server-side, see the
Authobject reference doc. - If you are only using
-
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
-
Usage of
rootAuthLoaderwithout theclerkMiddleware()installed will not throw a runtime error. (#7796) by @wobsorianoBefore (Removed):
import { rootAuthLoader } from '@clerk/react-router/ssr.server'; export const loader = (args: Route.LoaderArgs) => rootAuthLoader(args);
After:
- Enable the
v8_middlewarefuture flag:
// react-router.config.ts export default { future: { v8_middleware: true, }, } satisfies Config;
- Use the middleware in your app:
import { clerkMiddleware, rootAuthLoader } from '@clerk/react-router/server'; export const middleware: Route.MiddlewareFunction[] = [clerkMiddleware()]; export const loader = (args: Route.LoaderArgs) => rootAuthLoader(args);
- Enable the
-
Remove
clerkJSUrl,clerkJSVersion,clerkUIUrl, andclerkUIVersionprops from all SDKs. To pin a specific version of@clerk/clerk-js, import theClerkconstructor from@clerk/clerk-jsand pass it toClerkProvidervia theClerkprop. To pin a specific version of@clerk/ui, importuifrom@clerk/uiand pass it via theuiprop. This bundles the modules directly with your application instead of loading them from the CDN. (#7879) 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
@clerk/react-router/api.serverexport (use@clerk/react-router/serverinstead). Added codemod to automatically migrate. (#7643) by @jacekradko -
Introduce
<Show when={...}>as the cross-framework authorization control component and remove<Protect>,<SignedIn>, and<SignedOut>in favor of<Show>. (#7373) by @jacekradko -
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; }
-
Introduce Keyless quickstart for React Router. This allows the Clerk SDK to be used without having to sign up and paste your keys manually. (#7794) by @wobsoriano
-
Remove
clerkJSVariantoption and headless bundle. UseprefetchUI={false}instead. (#7629) by @jacekradko -
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; }); -
Export
useOrganizationCreationDefaultshook to fetch suggested organization name and logo from default naming rules (#7694) by @LauraBeatris -
Add
/typessubpath export to re-export types from@clerk/shared/typesalong with SDK-specific types. This allows importing Clerk types directly from the SDK package (e.g.,import type { UserResource } from '@clerk/react/types') without needing to install@clerk/typesas a separate dependency. (#7644) by @nikosdouvlis -
Introduce
<UNSAFE_PortalProvider>component which allows you to specify a custom container for Clerk floating UI elements (popovers, modals, tooltips, etc.) that use portals. Only Clerk components within the provider will be affected, components outside the provider will continue to use the default document.body for portals. (#7310) by @alexcarpenterThis is particularly useful when using Clerk components inside external UI libraries like Radix Dialog or React Aria Components, where portaled elements need to render within the dialog's container to remain interact-able.
'use client'; import { useRef } from 'react'; import * as Dialog from '@radix-ui/react-dialog'; import { UNSAFE_PortalProvider, UserButton } from '@clerk/nextjs'; export function UserDialog() { const containerRef = useRef<HTMLDivElement>(null); return ( <Dialog.Root> <Dialog.Trigger>Open Dialog</Dialog.Trigger> <Dialog.Portal> <Dialog.Overlay /> <Dialog.Content ref={containerRef}> <UNSAFE_PortalProvider getContainer={() => containerRef.current}> <UserButton /> </UNSAFE_PortalProvider> </Dialog.Content> </Dialog.Portal> </Dialog.Root> ); }
-
Wire
clerkUIVersionoption through all framework packages (#7740) by @nikosdouvlis -
Updated dependencies [
0a9cce3,e35960f,c9f0d77,1bd1747,6a2ff9e,d2cee35,44d0e5c,6ec5f08,0a9cce3,8c47111,00882e8,a374c18,466d642,5ef4a77,3abe9ed,af85739,10b5bea,a05d130,b193f79,e9d2f2f,6e90b7f,43fc7b7,0f1011a,cbc5618,38def4f,7772f45,a3e689f,583f7a9,965e7f1,84483c2,2b76081,f284c3d,ac34168,cf0d0dc,0aff70e,ab9efa2,690280e,b971d0b,22d1689,e9a1d4d,c088dde,1a7cac1,8902e21,64af60c,972f6a0,a1aaff3,d85646a,ab3dd16,4a8cb10,fd195c1,8887fac,0b4b481,5f88dbb,2e46acc,dc886a9,428629b,8b95393,c438fa5,c438fa5,fd195c1,fd69edb,8d91225,1fc95e2,3dac245,a4c3b47,7c3c002,d8bbc66,3983cf8,f1f1d09,736314f,2cc7dbb,0af2e6f,86d2199,da415c8,97c9ab3,df16d8d,cc63aab,a7a38ab,cfa70ce,25d37b0,26254f0,7bd782b,c97e6af,c92ccf8,677a9b5,5b24266,d98727e,c77ca7e,79e2622,12b3070,d2317f5]:- @clerk/shared@4.0.0
- @clerk/react@6.0.0
- @clerk/backend@3.0.0
- Updated dependencies [
76a5a1b,7955e9d,51bc9a9]:- @clerk/backend@2.33.0
- @clerk/shared@3.47.2
- @clerk/clerk-react@5.61.3
- @clerk/types@4.101.20
- Updated dependencies [
8a0c404]:- @clerk/shared@3.47.1
- @clerk/backend@2.32.2
- @clerk/clerk-react@5.61.2
- @clerk/types@4.101.19
- Updated dependencies [
c15c8a2]:- @clerk/backend@2.32.1
- Updated dependencies [
c00c524,9c935ad]:- @clerk/shared@3.47.0
- @clerk/backend@2.32.0
- @clerk/clerk-react@5.61.1
- @clerk/types@4.101.18
- Updated dependencies [
71bd53c,935f780,2471e31]:- @clerk/clerk-react@5.61.0
- @clerk/shared@3.46.0
- @clerk/backend@2.31.2
- @clerk/types@4.101.17
- Updated dependencies [
b17e4bb]:- @clerk/shared@3.45.1
- @clerk/backend@2.31.1
- @clerk/clerk-react@5.60.2
- @clerk/types@4.101.16
- Updated dependencies [
35bcbd1,5740640,03c61c1]:- @clerk/shared@3.45.0
- @clerk/backend@2.31.0
- @clerk/clerk-react@5.60.1
- @clerk/types@4.101.15
- Updated dependencies [
a726252]:- @clerk/backend@2.30.1
- Updated dependencies [
559cd84]:- @clerk/backend@2.29.7
- Export
useOrganizationCreationDefaultshook to fetch suggested organization name and logo from default naming rules (#7690) by @LauraBeatris
- Updated dependencies [
64a35f7]:- @clerk/shared@3.44.0
- @clerk/clerk-react@5.60.0
- @clerk/backend@2.29.6
- @clerk/types@4.101.14
- Updated dependencies [
b7a4e1e]:- @clerk/shared@3.43.2
- @clerk/backend@2.29.5
- @clerk/clerk-react@5.59.6
- @clerk/types@4.101.13
- Updated dependencies [
e995cc3]:- @clerk/shared@3.43.1
- @clerk/clerk-react@5.59.5
- @clerk/backend@2.29.4
- @clerk/types@4.101.12
- Updated dependencies [
c3ff1f8,271ddeb,57ff2fb]:- @clerk/backend@2.29.3
- @clerk/shared@3.43.0
- @clerk/clerk-react@5.59.4
- @clerk/types@4.101.11
- Updated dependencies [
6b26afc]:- @clerk/backend@2.29.2
- @clerk/clerk-react@5.59.3
- Updated dependencies [
9320c4f,a4e6932]:- @clerk/backend@2.29.1
- @clerk/shared@3.42.0
- @clerk/clerk-react@5.59.3
- @clerk/types@4.101.10
-
Fix React peer dependency version ranges to use
~instead of^for React 19 versions, ensuring non-overlapping version constraints. (#7513) by @jacekradko -
Updated dependencies [
ede3e2a,03dd374]:- @clerk/backend@2.29.0
- @clerk/clerk-react@5.59.2
- @clerk/shared@3.41.1
- @clerk/types@4.101.9
- Updated dependencies [
79eb5af,5d25027,b3b02b4,7b3024a,2cd4da9,d4e2739]:- @clerk/shared@3.41.0
- @clerk/backend@2.28.0
- @clerk/clerk-react@5.59.1
- @clerk/types@4.101.8
- Updated dependencies [
375a32d,175883b,43d3c3e,f626046,14342d2]:- @clerk/shared@3.40.0
- @clerk/backend@2.27.1
- @clerk/clerk-react@5.59.0
- @clerk/types@4.101.7
- Updated dependencies [
e448757]:- @clerk/backend@2.27.0
- @clerk/clerk-react@5.58.1
- Updated dependencies [
2a508d3,0307ea8,b117ebc,6dbb02b]:- @clerk/clerk-react@5.58.1
- @clerk/shared@3.39.0
- @clerk/backend@2.26.0
- @clerk/types@4.101.6
- Updated dependencies [
e31f3d5,b41c0d5,8376789,f917d68,818c25a,b41c0d5]:- @clerk/shared@3.38.0
- @clerk/backend@2.25.1
- @clerk/clerk-react@5.58.0
- @clerk/types@4.101.5
- Updated dependencies [
40a841d,f364924,f115e56,cf66d07,d4aef71,3f99742,02798f5,07a30ce,d7c336d,ce8b914,d4aef71,a3e14b1]:- @clerk/shared@3.37.0
- @clerk/clerk-react@5.57.1
- @clerk/backend@2.25.0
- @clerk/types@4.101.4
- Options passed to
clerkMiddlewareare now properly forwarded toclerkClient, ensuring consistent configuration when manually providing options from router context. (#7292) by @spegoraro
- Updated dependencies []:
- @clerk/clerk-react@5.57.0
- Updated dependencies [
f85abda,36e43cc,337430b]:- @clerk/shared@3.36.0
- @clerk/clerk-react@5.57.0
- @clerk/backend@2.24.0
- @clerk/types@4.101.3
- Updated dependencies [
d8f59a6]:- @clerk/shared@3.35.2
- @clerk/backend@2.23.2
- @clerk/clerk-react@5.56.2
- @clerk/types@4.101.2
- Updated dependencies [
a9c13ca]:- @clerk/shared@3.35.1
- @clerk/backend@2.23.1
- @clerk/clerk-react@5.56.1
- @clerk/types@4.101.1
- Updated dependencies [
7be8f45,bdbb0d9,aa184a4,1d4e7a7,50e630a,42f0d95,c63cc8e,d32d724,00291bc]:- @clerk/shared@3.35.0
- @clerk/clerk-react@5.56.0
- @clerk/backend@2.23.0
- @clerk/types@4.101.0
- Updated dependencies [
b5a7e2f,a1d10fc,b944ff3,4011c5e,791e942]:- @clerk/types@4.100.0
- @clerk/shared@3.34.0
- @clerk/clerk-react@5.55.0
- @clerk/backend@2.22.0
- Update the supported API version to
2025-11-10. (#7095) by @panteliselef
- Updated dependencies [
613cb97]:- @clerk/shared@3.33.0
- @clerk/backend@2.21.0
- @clerk/clerk-react@5.54.0
- @clerk/types@4.99.0
- Updated dependencies [
cc11472,539fad7,296fb0b,c413433,a940c39]:- @clerk/shared@3.32.0
- @clerk/types@4.98.0
- @clerk/backend@2.20.1
- @clerk/clerk-react@5.53.9
- Updated dependencies [
92fba5d]:- @clerk/clerk-react@5.53.8
- Updated dependencies [
a474c59,b505755,5536429]:- @clerk/shared@3.31.1
- @clerk/backend@2.20.0
- @clerk/clerk-react@5.53.7
- @clerk/types@4.97.2
- Updated dependencies [
85b5acc,ea65d39,b09b29e]:- @clerk/types@4.97.1
- @clerk/shared@3.31.0
- @clerk/clerk-react@5.53.6
- @clerk/backend@2.19.3
- Updated dependencies [
3e0ef92,2587aa6]:- @clerk/shared@3.30.0
- @clerk/types@4.97.0
- @clerk/backend@2.19.2
- @clerk/clerk-react@5.53.5
-
Fixed an issue where manually specified options in the middleware were not being respected. (#7079) by @wobsoriano
-
Updated dependencies [
791ff19,439427e,7dfbf3a,d33b7b5,f2644c2]:- @clerk/shared@3.29.0
- @clerk/types@4.96.0
- @clerk/backend@2.19.1
- @clerk/clerk-react@5.53.4
- Updated dependencies [
4d46e4e,a42a015,8ebbf1e]:- @clerk/types@4.95.1
- @clerk/backend@2.19.0
- @clerk/clerk-react@5.53.3
- @clerk/shared@3.28.3
- Updated dependencies [
a172d51,947d0f5]:- @clerk/types@4.95.0
- @clerk/shared@3.28.2
- @clerk/backend@2.18.3
- @clerk/clerk-react@5.53.2
- Updated dependencies [
d8147fb]:- @clerk/shared@3.28.1
- @clerk/backend@2.18.2
- @clerk/clerk-react@5.53.1
- Updated dependencies [
305f4ee,53214f9,1441e68,1236c74,29201b2]:- @clerk/backend@2.18.1
- @clerk/shared@3.28.0
- @clerk/types@4.94.0
- @clerk/clerk-react@5.53.0
- Updated dependencies [
65b7cc7,20c2e29,6e09786,aa7210c,2cd53cd,56a81aa,1a2eee6,22b8e49,2cd53cd,348021d,1a2430a,31a04fc,9766c4a,fe873dc,22b8e49,a66357e,dacc1af]:- @clerk/types@4.93.0
- @clerk/backend@2.18.0
- @clerk/clerk-react@5.52.0
- @clerk/shared@3.27.4
-
Added
organizationSyncOptionsoption toclerkMiddleware(). It's used to activate a specific organization or personal account based on URL path parameters. (#6927) by @wobsorianoUsage:
// app/root.tsx export const middleware: Route.MiddlewareFunction[] = [ clerkMiddleware({ organizationSyncOptions: { organizationPatterns: [ '/orgs/:slug', // Match the org slug '/orgs/:slug/(.*)', // Wildcard match for optional trailing path segments ], }, }), ];
To learn more about best practices for using organization slugs to manage the active organization, check out this guide.
- Updated dependencies [
fba4781,a1f6714]:- @clerk/types@4.92.0
- @clerk/clerk-react@5.51.0
- @clerk/backend@2.17.2
- @clerk/shared@3.27.3
- Updated dependencies [
04cba7d,f737d26,8777f35,2c0128b]:- @clerk/backend@2.17.1
- @clerk/clerk-react@5.50.0
- @clerk/types@4.91.0
- @clerk/shared@3.27.2
-
Set correct minimum
react-routerversion in README (#6866) by @wobsoriano -
Updated dependencies [
ea2bc26,37028ca]:- @clerk/backend@2.17.0
- @clerk/types@4.90.0
- @clerk/clerk-react@5.49.1
- @clerk/shared@3.27.1
-
Introduce React Router middleware support with
clerkMiddleware()for improved performance and streaming capabilities. (#6660) by @wobsorianoUsage of
rootAuthLoaderwithout theclerkMiddleware()installed is now deprecated and will be removed in the next major version.Before (Deprecated - will be removed):
import { rootAuthLoader } from '@clerk/react-router/ssr.server'; export const loader = (args: Route.LoaderArgs) => rootAuthLoader(args);
After (Recommended):
- Enable the
v8_middlewarefuture flag:
// react-router.config.ts export default { future: { v8_middleware: true, }, } satisfies Config;
- Use the middleware in your app:
import { clerkMiddleware, rootAuthLoader } from '@clerk/react-router/server'; export const middleware: Route.MiddlewareFunction[] = [clerkMiddleware()]; export const loader = (args: Route.LoaderArgs) => rootAuthLoader(args);
Streaming Support (with middleware):
export const middleware: Route.MiddlewareFunction[] = [clerkMiddleware()]; export const loader = (args: Route.LoaderArgs) => { const nonCriticalData = new Promise(res => setTimeout(() => res('non-critical'), 5000)); return rootAuthLoader(args, () => ({ nonCriticalData, })); };
- Enable the
- Add new component (#6808) by @tmilewski
- Updated dependencies [
e3e77eb,9cf89cd,090ca74,b8fbadd,5546352]:- @clerk/backend@2.16.0
- @clerk/shared@3.27.0
- @clerk/clerk-react@5.49.0
- @clerk/types@4.89.0
- Updated dependencies [
8d1514a,a8ba926,41e0a41,1aa9e9f,1ad3b92,a88ee58,d6c7bbb]:- @clerk/backend@2.15.0
- @clerk/shared@3.26.1
- @clerk/clerk-react@5.48.1
- @clerk/types@4.88.0
- Updated dependencies [
bcf24f2,0006c82,7c976b4,1ceedad,de90ede,9d4a95c,428cd57]:- @clerk/clerk-react@5.48.0
- @clerk/types@4.87.0
- @clerk/backend@2.14.1
- @clerk/shared@3.26.0
- [Billing Beta] Drop experimental
subscriptionsproperty from params ofuseOrganization(). UseuseSubscription()instead. (#6738) by @mauricioabreu
- Updated dependencies [
b598581,19f18f8,23948dc,7382e13,24d0742,82b84fe,54b4b5a,50a8622,939df73,23948dc]:- @clerk/backend@2.14.0
- @clerk/types@4.86.0
- @clerk/shared@3.25.0
- @clerk/clerk-react@5.47.0
- Updated dependencies [
55490c3,e8d21de,63fa204,4a5bd7a,637f2e8]:- @clerk/types@4.85.0
- @clerk/backend@2.13.0
- @clerk/clerk-react@5.46.2
- @clerk/shared@3.24.2
- Updated dependencies [
fced4fc,9796fbf,f28179b,e6e19d2,1b1e8b1]:- @clerk/types@4.84.1
- @clerk/clerk-react@5.46.1
- @clerk/shared@3.24.1
- @clerk/backend@2.12.1
- Updated dependencies [
2a82737,cda5d7b,ba25a5b,a50cfc8,377f67b,65b12ee,263722e,c19f936]:- @clerk/clerk-react@5.46.0
- @clerk/types@4.84.0
- @clerk/shared@3.24.0
- @clerk/backend@2.11.0
- Updated dependencies [
600c648]:- @clerk/shared@3.23.0
- @clerk/clerk-react@5.45.0
- @clerk/types@4.83.0
- @clerk/backend@2.10.1
- Updated dependencies [
f49ec31,d52714e,822e4a1,ce49740,ba7f3fd,9036427,2ed539c,deaafe4,a26ecae,c16a7a5,05b6d65,453cf86]:- @clerk/backend@2.10.0
- @clerk/clerk-react@5.44.0
- @clerk/types@4.82.0
- @clerk/shared@3.22.1
- Updated dependencies [
e52bf8e,c043c19,7bb644a,c28d29c,172e054]:- @clerk/types@4.81.0
- @clerk/backend@2.9.4
- @clerk/clerk-react@5.43.1
- @clerk/shared@3.22.0
- Updated dependencies [
8dc6bad,aa6a3c3,db50c47]:- @clerk/types@4.80.0
- @clerk/clerk-react@5.43.0
- @clerk/backend@2.9.3
- @clerk/shared@3.21.2
- Updated dependencies [
413468c,7b7eb1f]:- @clerk/shared@3.21.1
- @clerk/types@4.79.0
- @clerk/clerk-react@5.42.2
- @clerk/backend@2.9.2
- Updated dependencies [
5b24129]:- @clerk/shared@3.21.0
- @clerk/types@4.78.0
- @clerk/backend@2.9.1
- @clerk/clerk-react@5.42.1
- Rename
RedirectToTaskcontrol component toRedirectToTasks(#6486) by @LauraBeatris
- Updated dependencies [
4db1e58,d400782,69498df,307dc3f,2db7431,59f1559,69498df]:- @clerk/types@4.77.0
- @clerk/backend@2.9.0
- @clerk/shared@3.20.1
- @clerk/clerk-react@5.42.0
- Updated dependencies [
15fe106,df63e76,173837c,8b52d7a,854dde8,ae2e2d6,037f25a,f8b38b7]:- @clerk/types@4.76.0
- @clerk/backend@2.8.0
- @clerk/shared@3.20.0
- @clerk/clerk-react@5.41.1
- Updated dependencies [
b72a3dd,d93b0ed,6459f7d,0ff648a,9084759]:- @clerk/types@4.75.0
- @clerk/clerk-react@5.41.0
- @clerk/shared@3.19.0
- @clerk/backend@2.7.1
-
Introduce
TaskChooseOrganizationcomponent which replacesTaskSelectOrganizationwith a new UI that make the experience similar to the previousSignInandSignUpsteps (#6446) by @LauraBeatris -
Add ability to define a machine secret key to Clerk BAPI client function (#6479) by @wobsoriano
const clerkClient = createClerkClient({ machineSecretKey: 'ak_xxxxx' }) clerkClient.m2mTokens.create({...})
-
Updated dependencies [
1ad16da,4edef81,6ff416f,e82f177,696f8e1,f318d22,0d27281,1cc66ab]:- @clerk/clerk-react@5.40.0
- @clerk/types@4.74.0
- @clerk/backend@2.7.0
- @clerk/shared@3.18.1
- Updated dependencies [
9368daf,f93965f,7b6dcee,ef87617]:- @clerk/shared@3.18.0
- @clerk/clerk-react@5.39.0
- @clerk/types@4.73.0
- @clerk/backend@2.6.3
- Updated dependencies [
7a46679,05cc5ec,22c35ef,8c7e5bb,e8d816a,aa9f185,af0e123,241bbbd,3d1d871]:- @clerk/shared@3.17.0
- @clerk/clerk-react@5.38.1
- @clerk/types@4.72.0
- @clerk/backend@2.6.2
- Updated dependencies [
e404456,2803133,f1d9d34,0bdd0df,d58b959,232d7d3,f6375f0,822ba1f,af615b8,d4d2612]:- @clerk/types@4.71.0
- @clerk/shared@3.16.0
- @clerk/backend@2.6.1
- @clerk/clerk-react@5.38.0
- Updated dependencies [
2bbeaf3,cfa7882,b0fdc9e]:- @clerk/backend@2.6.0
- @clerk/clerk-react@5.37.0
- @clerk/types@4.70.1
- @clerk/shared@3.15.1
- Updated dependencies [
8feb59b,cd59c0e,cd59c0e]:- @clerk/clerk-react@5.36.0
- @clerk/types@4.70.0
- @clerk/shared@3.15.0
- @clerk/backend@2.5.2
- Updated dependencies [
fecc99d,959d63d,10e1060,92c44dd,a04a8f5,c61855c,43ea069]:- @clerk/clerk-react@5.35.4
- @clerk/types@4.69.0
- @clerk/shared@3.14.0
- @clerk/backend@2.5.1
- Updated dependencies [
d2f6f9e,a329836,5fbf8df,6041c39,3f1270d,1d9c409,df49349]:- @clerk/clerk-react@5.35.3
- @clerk/types@4.68.0
- @clerk/shared@3.13.0
- @clerk/backend@2.5.0
- Updated dependencies [
2a90b68,af50905]:- @clerk/clerk-react@5.35.2
- @clerk/types@4.67.0
- @clerk/shared@3.12.3
- @clerk/backend@2.4.5
- Updated dependencies [
8ee859c]:- @clerk/shared@3.12.2
- @clerk/types@4.66.1
- @clerk/backend@2.4.4
- @clerk/clerk-react@5.35.1
- Updated dependencies [
025e304,dedf487,b96114e]:- @clerk/types@4.66.0
- @clerk/clerk-react@5.35.0
- @clerk/backend@2.4.3
- @clerk/shared@3.12.1
- [Billing Beta]: Introduce experimental
useCheckout()hook and<CheckoutProvider/>. (#6195) by @panteliselef
- Updated dependencies [
2be6a53,f6a1c35,6826d0b,f6a1c35,8fdb209,97a07f7,e3da9f4]:- @clerk/types@4.65.0
- @clerk/shared@3.12.0
- @clerk/clerk-react@5.34.0
- @clerk/backend@2.4.2
- Export experimental hooks and components for PaymentElement (#6180) by @panteliselef
__experimental_usePaymentElement__experimental_PaymentElementProvider__experimental_PaymentElement
- Updated dependencies [
f42c4fe,ec207dc,ec207dc,0e0cc1f]:- @clerk/types@4.64.0
- @clerk/clerk-react@5.33.0
- @clerk/shared@3.11.0
- @clerk/backend@2.4.1
- Updated dependencies [
c2f24da,abd8446,8387a39,feba23c,f2a6641,de9c01a,a8638b0,3b4b3cb]:- @clerk/backend@2.4.0
- @clerk/shared@3.10.2
- @clerk/types@4.63.0
- @clerk/clerk-react@5.32.4
- Updated dependencies [
02a1f42,edc0bfd]:- @clerk/shared@3.10.1
- @clerk/clerk-react@5.32.3
- @clerk/types@4.62.1
- @clerk/backend@2.3.1
- Updated dependencies [
f1be1fe,8bfdf94,bffb42a,084e7cc]:- @clerk/types@4.62.0
- @clerk/backend@2.3.0
- @clerk/shared@3.10.0
- @clerk/clerk-react@5.32.2
- Updated dependencies [
b495279,c3fa15d,628583a,52d5e57,15a945c,10f3dda,72629b0,2692124]:- @clerk/types@4.61.0
- @clerk/backend@2.2.0
- @clerk/shared@3.9.8
- @clerk/clerk-react@5.32.1
-
Introduces machine authentication, supporting four token types:
api_key,oauth_token,machine_token, andsession_token. For backwards compatibility,session_tokenremains the default when no token type is specified. This enables machine-to-machine authentication and use cases such as API keys and OAuth integrations. Existing applications continue to work without modification. (#6067) by @wobsorianoYou can specify which token types are allowed by using the
acceptsTokenoption in thegetAuth()function. This option can be set to a specific type, an array of types, or'any'to accept all supported tokens.Example usage:
import { getAuth } from '@clerk/react-router/ssr.server'; import type { Route } from './+types/profile'; export async function loader(args: Route.LoaderArgs) { const authObject = await getAuth(args, { acceptsToken: 'any' }); if (authObject.tokenType === 'session_token') { console.log('this is session token from a user'); } else { console.log('this is some other type of machine token'); console.log('more specifically, a ' + authObject.tokenType); } return {}; }
- Updated dependencies [
19e9e11,18bcb64,2148166,4319257,607d333,138f733,4118ed7,18bcb64,d832d91,6842ff1,48be55b,183e382,2c6f805,97749d5]:- @clerk/types@4.60.1
- @clerk/backend@2.1.0
- @clerk/clerk-react@5.32.0
- @clerk/shared@3.9.7
-
Machine authentication is now supported for advanced use cases via the backend SDK. You can use
clerkClient.authenticateRequestto validate machine tokens (such as API keys, OAuth tokens, and machine-to-machine tokens). No new helpers are included in these packages yet. (#5689) by @wobsorianoExample (Astro):
import { clerkClient } from '@clerk/astro/server'; export const GET: APIRoute = ({ request }) => { const requestState = await clerkClient.authenticateRequest(request, { acceptsToken: 'api_key', }); if (!requestState.isAuthenticated) { return new Response(401, { message: 'Unauthorized' }); } return new Response(JSON.stringify(requestState.toAuth())); };
-
The
svixdependency is no longer needed when using theverifyWebhook()function.verifyWebhook()was refactored to not rely onsvixanymore while keeping the same functionality and behavior. (#6059) by @royangerIf you previously installed
svixto useverifyWebhook()you can uninstall it now:npm uninstall svix
-
In this release the TypeScript types for
rootAuthLoader(),getAuth(), and<ClerkProvider>were adjusted but should still work as before. Previously, these types relied on internal, unstable React Router types that changed in their recent 7.6.1 release. We simplified our TypeScript types and no longer rely on internal exports from React Router. (#6019) by @LekoArts -
Updated dependencies [
ea622ba,d8fa5d9,be2e89c,c656270,5644d94,a3232c7,b578225,918e2e0,795d09a,4f93634,8838120]:- @clerk/backend@2.0.0
- @clerk/types@4.60.0
- @clerk/clerk-react@5.31.9
- @clerk/shared@3.9.6
- Updated dependencies [
5421421,f897773,1c97fd0,2c6a0cc,71e6a1f]:- @clerk/backend@1.34.0
- @clerk/shared@3.9.5
- @clerk/types@4.59.3
- @clerk/clerk-react@5.31.8
- Updated dependencies [
6ed3dfc,22c3363,ac6b231]:- @clerk/types@4.59.2
- @clerk/backend@1.33.1
- @clerk/clerk-react@5.31.7
- @clerk/shared@3.9.4
- Updated dependencies [
ced8912,f237d76,5f1375b]:- @clerk/backend@1.33.0
- @clerk/shared@3.9.3
- @clerk/clerk-react@5.31.6
- Updated dependencies [
c305b31,b813cbe,6bb480e]:- @clerk/types@4.59.1
- @clerk/backend@1.32.3
- @clerk/shared@3.9.2
- @clerk/clerk-react@5.31.5
- Updated dependencies [
b1337df,65f0878,df6fefd,4282bfa,5491491]:- @clerk/types@4.59.0
- @clerk/backend@1.32.2
- @clerk/clerk-react@5.31.4
- @clerk/shared@3.9.1
- Updated dependencies [
1ff6d6e,fbf3cf4]:- @clerk/shared@3.9.0
- @clerk/types@4.58.1
- @clerk/clerk-react@5.31.3
- @clerk/backend@1.32.1
- Updated dependencies [
0769a9b,0f5145e,afdfd18,b7c51ba,437b53b,5217155]:- @clerk/backend@1.32.0
- @clerk/types@4.58.0
- @clerk/clerk-react@5.31.2
- @clerk/shared@3.8.2
- Updated dependencies [
4db96e0,36fb43f,e5ac444,4db96e0,d227805]:- @clerk/types@4.57.1
- @clerk/clerk-react@5.31.1
- @clerk/backend@1.31.4
- @clerk/shared@3.8.1
-
Export a new
<PricingTable />component. This component renders plans for user or organizations and upon selection the end-user is prompted with a checkout form. (#5833) by @nikosdouvlis -
Mark commerce apis as stable (#5833) by @nikosdouvlis
-
Introduce
checkoutContinueUrloption. (#5807) by @alexcarpenter -
Rename __experimental_checkoutContinueUrl to checkoutContinueUrl (#5826) by @nikosdouvlis
-
Replace __experimental_PricingTable with PricingTable (#5828) by @nikosdouvlis
-
Updated dependencies [
db0138f,45e8298,aa97231,c792f37,3bf08a9,74cf3b2,037b113,c15a412,7726a03,ed10566,b846a9a,e66c800,45e8298,9c41091,29462b4,322c43f,17397f9,45e8298]:- @clerk/types@4.57.0
- @clerk/clerk-react@5.31.0
- @clerk/shared@3.8.0
- @clerk/backend@1.31.3
- Updated dependencies [
9ec0a73,d9222fc]:- @clerk/types@4.56.3
- @clerk/backend@1.31.2
- @clerk/clerk-react@5.30.4
- @clerk/shared@3.7.8
- Updated dependencies [
225b9ca]:- @clerk/types@4.56.2
- @clerk/backend@1.31.1
- @clerk/clerk-react@5.30.3
- @clerk/shared@3.7.7
-
Fix handshake redirect loop in applications deployed to Netlify with a Clerk development instance. (#5656) by @wobsoriano
-
Updated dependencies [
387bf62,2716622,294da82,4a8fe40]:- @clerk/types@4.56.1
- @clerk/shared@3.7.6
- @clerk/backend@1.30.2
- @clerk/clerk-react@5.30.2
- Updated dependencies [
b02e766,5d78b28,d7f4438,5866855,0007106,462b5b2,447d7a9,2beea29,115601d]:- @clerk/types@4.56.0
- @clerk/clerk-react@5.30.1
- @clerk/backend@1.30.1
- @clerk/shared@3.7.5
- Export
<__experimental_PricingTable />. (#5691) by @panteliselef
- Updated dependencies [
ba19465,8b25035,f0f1ed7,25c3502]:- @clerk/backend@1.30.0
- @clerk/types@4.55.1
- @clerk/clerk-react@5.30.0
- @clerk/shared@3.7.4
- Updated dependencies [
4334598,33201bf,4334598,0ae0403]:- @clerk/clerk-react@5.29.0
- @clerk/types@4.55.0
- @clerk/backend@1.29.2
- @clerk/shared@3.7.3
- Updated dependencies [
45486ac,837692a,0c00e59,6a5f644]:- @clerk/types@4.54.2
- @clerk/backend@1.29.1
- @clerk/shared@3.7.2
- @clerk/clerk-react@5.28.2
-
Updated dependencies [
ab939fd,03284da,7389ba3,00f16e4,bb35660,efb5d8c,c2712e7,aa93f7f,a7f3ebc,d3fa403,f6ef841,6cba4e2,fb6aa20,e634830,f8887b2]:- @clerk/types@4.54.1
- @clerk/backend@1.29.0
- @clerk/shared@3.7.1
- @clerk/clerk-react@5.28.1
- Updated dependencies [
431a821,950ffed,d3e6c32,e4d04ae,431a821,93068ea,431a821,431a821,103bc03,431a821,a0cc247,85ed003,48438b4,e60e3aa,65712dc,9ee0531,78d22d4,196dcb4]:- @clerk/backend@1.28.0
- @clerk/types@4.54.0
- @clerk/shared@3.7.0
- @clerk/clerk-react@5.28.0
- Updated dependencies [
70c9db9,554242e,cc1f9a0,8186cb5]:- @clerk/backend@1.27.3
- @clerk/shared@3.6.0
- @clerk/clerk-react@5.27.0
- @clerk/types@4.53.0
- Updated dependencies [
3ad3bc8,3ad3bc8,cfa94b8,2033919,1b34bcb,5f3cc46]:- @clerk/shared@3.5.0
- @clerk/types@4.52.0
- @clerk/backend@1.27.2
- @clerk/clerk-react@5.26.2
- Updated dependencies [
f6f275d]:- @clerk/backend@1.27.1
- @clerk/types@4.51.1
- @clerk/clerk-react@5.26.1
- @clerk/shared@3.4.1
- Updated dependencies [
e1ec52b,bebb6d8,a8180ce,d0d5203,6112420,2cceeba,026ad57,9b25e31]:- @clerk/clerk-react@5.26.0
- @clerk/types@4.51.0
- @clerk/backend@1.27.0
- @clerk/shared@3.4.0
-
Introduce a
verifyWebhook()function to verify incoming Clerk webhook requests and process the payload. This function handles webhook signature verification usingSvixand is now available across all backend and fullstack SDKs. (#5468) by @wobsorianoTo get started, install
svix, which Clerk uses to verify its webhooks:npm install svix
Then in your webhook route handler, import
verifyWebhook()from the React Router SDK:import { verifyWebhook } from '@clerk/react-router/webhooks'; export const action = async ({ request }) => { try { const evt = await verifyWebhook(request); // Do something with payload const { id } = evt.data; const eventType = evt.type; console.log(`Received webhook with ID ${id} and event type of ${eventType}`); console.log('Webhook payload:', evt.data); return new Response('Webhook received', { status: 200 }); } catch (err) { console.log('Error: Could not verify webhook:', err); return new Response('Error: Verification error', { status: 400, }); } };
For more information on how to sync Clerk data to your app with webhooks, see our guide.
- Updated dependencies [
60a9a51,e984494,cd6ee92,ec4521b,38828ae,f30fa75,9c68678,fe065a9,619cde8]:- @clerk/backend@1.26.0
- @clerk/shared@3.3.0
- @clerk/clerk-react@5.25.6
- @clerk/types@4.50.2
- Updated dependencies [
e20fb6b,77e6462]:- @clerk/shared@3.2.3
- @clerk/types@4.50.1
- @clerk/clerk-react@5.25.5
- @clerk/backend@1.25.8
- Updated dependencies [
1da28a2,a9b618d,f20dc15,4d9f1ee]:- @clerk/types@4.50.0
- @clerk/shared@3.2.2
- @clerk/backend@1.25.7
- @clerk/clerk-react@5.25.4
- Updated dependencies [
27d66a5,466ed13]:- @clerk/backend@1.25.6
- @clerk/types@4.49.2
- @clerk/clerk-react@5.25.3
- @clerk/shared@3.2.1
- Updated dependencies [
892bc0e,892bc0e]:- @clerk/backend@1.25.5
- @clerk/shared@3.2.0
- @clerk/clerk-react@5.25.2
-
Export
isReverificationCancelledErrorerror helper (#5396) by @octoper -
Updated dependencies [
facefaf,e513333,3910ebe,e513333]:- @clerk/backend@1.25.4
- @clerk/clerk-react@5.25.1
- @clerk/types@4.49.1
- @clerk/shared@3.1.0
- Updated dependencies [
725918d,10247ba,91d0f0b,9572bf5,39bbc51,3dddcda,7524943,150b5c8,23c931e,730262f,5601a15,0b18bb1,021bc5f,1a61390]:- @clerk/types@4.49.0
- @clerk/clerk-react@5.25.0
- @clerk/backend@1.25.3
- @clerk/shared@3.0.2
- Updated dependencies [
8182f6711e25cc4a78baa95b023a4158280b31e8,75879672c5805bfba1caca906ac0729497744164,7ec95a7e59033600958aca4b86f3bcd5da947dec,3c225d90227141dc62d955e76c7f8e0202524bc7,2a66c16af08573000bb619607346ac420cd4ce56]:- @clerk/backend@1.25.2
- @clerk/shared@3.0.1
- @clerk/clerk-react@5.24.2
- @clerk/types@4.48.0
- Updated dependencies [
67f1743aa1e0705d89ee6b532007f2686929240b]:- @clerk/backend@1.25.1
- @clerk/clerk-react@5.24.1
- Updated dependencies [
4fa5e27e33d229492c77e06ca4b26d552ff3d92f,29a44b0e5c551e52915f284545699010a87e1a48,4d7761a24af5390489653923165e55cbf69a8a6d]:- @clerk/backend@1.25.0
- @clerk/clerk-react@5.24.1
- Updated dependencies [
3d436484eb01b42e0008b6675f4be68f15d21079]:- @clerk/clerk-react@5.24.1
-
The
exportsmap insidepackage.jsonhas been slightly adjusted to allow forrequire(esm)to work correctly. The"import"conditions have been changed to"default". (#5188) by @LekoArtsYou shouldn't see any change in behavior/functionality on your end.
-
Updated dependencies [
28179323d9891bd13625e32c5682a3276e73cdae,7ae77b74326e378bf161e29886ee82e1556d9840,c5c246ce91c01db9f1eaccbd354f646bcd24ec0a,b707e942bfd434ff8a3b9a9fadf9d1b694d702c8,bcbe5f6382ebcc70ef4fddb950d052bf6b7d693a,382c30240f563e58bc4d4832557c6825da40ce7f]:- @clerk/types@4.47.0
- @clerk/shared@3.0.0
- @clerk/clerk-react@5.24.0
- @clerk/backend@1.24.3
-
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'
- Updated dependencies [
d76c4699990b8477745c2584b1b98d5c92f9ace6,a9b0087fca3f427f65907b358d9b5bc0c95921d8,92d17d7c087470b262fa5407cb6720fe6b17d333,30f6f3808e9b3778d5a9eb275780f94f9e9c7651]:- @clerk/shared@2.22.0
- @clerk/clerk-react@5.23.0
- @clerk/types@4.46.1
- @clerk/backend@1.24.2
- Updated dependencies [
dd2cbfe9f30358b6b298901bb52fa378b0acdca3,dd2cbfe9f30358b6b298901bb52fa378b0acdca3,570d8386f6aa596bf7bb1659bdddb8dd4d992b1d,570d8386f6aa596bf7bb1659bdddb8dd4d992b1d,128fd8909ae083c0d274dee7c6810e8574e1ce33]:- @clerk/clerk-react@5.22.13
- @clerk/types@4.46.0
- @clerk/backend@1.24.1
- @clerk/shared@2.21.1
-
Adds types for organization domain webhook events (#4819) by @ijxy
-
Internal changes to use new
getEnvVariableutility from@clerk/shared(#4985) by @wobsoriano -
Updated dependencies [
ce44176efd4f2132001c49b815cbee409463bbea,f41081c563ddd2afc05b837358e0de087ae0c895,767ac85fe6ce0ee0594c923e9af701bb05f40a0b,225b38c7187d31fc755155ea99834ca03894d36b,c0f2daebe15642cd0cef16aafa1df1ece8ef771d,429f1bfe5f7a554ab1fdf265475ba6c8b3f78472,5faa60e805ef14d9496a6caf9ff4dd8ec500c7e2]:- @clerk/backend@1.24.0
- @clerk/shared@2.21.0
- @clerk/types@4.45.1
- @clerk/clerk-react@5.22.12
- Updated dependencies [
0fa449cd09c9973297464a14f785895e3ddcab4d]:- @clerk/clerk-react@5.22.11
- Updated dependencies [
d3152be7f01fbb5ca26aeddc2437021f4b7ecc83,f976349243da2b75023e59e802460e6f3592ebbd]:- @clerk/types@4.45.0
- @clerk/backend@1.23.11
- @clerk/clerk-react@5.22.10
- @clerk/shared@2.20.18
- Updated dependencies [
26225f2c31a22560f7ece2e02f1d0080b5b89520,833693a6792b621e72162d70673e7bdfa84a69b6]:- @clerk/shared@2.20.17
- @clerk/clerk-react@5.22.9
- @clerk/types@4.44.3
- @clerk/backend@1.23.10
- Updated dependencies [
a309be354275b91a7b17d5a67e8ef6aa230a9935,4773d0ad4ed27928fa53357906c0f3a349b9f871,1345cb487970a7347351897e80dfb829d85c41ea]:- @clerk/shared@2.20.16
- @clerk/backend@1.23.9
- @clerk/types@4.44.2
- @clerk/clerk-react@5.22.8
- Updated dependencies [
57c983fdc2b8d883623a2294daae0ac6c02c48f6,a26cf0ff10c76244975c454fdf6c615475d4bcd5,dd58c2507f8a7af4ebfc1241e2672a5678a83eaa]:- @clerk/types@4.44.1
- @clerk/shared@2.20.15
- @clerk/backend@1.23.8
- @clerk/clerk-react@5.22.7
- Updated dependencies [
2179690c10a61b117e82fdd566b34939f4d28bc1,bdb537a9902c0f0ae58ca1d4b7590d929f28fedb]:- @clerk/types@4.44.0
- @clerk/backend@1.23.7
- @clerk/clerk-react@5.22.6
- @clerk/shared@2.20.14
-
No changes have been made to the SDK in this update. There are no breaking changes. (#4966) by @LekoArts
This merely bumps the version to a non-zero range and moves the SDK out of beta to a stable release.
- Updated dependencies [
f87ede848265d75ea1e880a3ab80c53a250f42cf,e0cea9a9bf8b90858067154cba9c149d1634dc91,6126cc98281bca96797fd8a55b6ec6aeda397e46,6e096564a459db4eaf953e99e570905b10be6c84]:- @clerk/shared@2.20.13
- @clerk/backend@1.23.6
- @clerk/types@4.43.0
- @clerk/clerk-react@5.22.5
-
Fix incorrect type for
authorizedPartiesoption (#4964) by @LekoArts -
Updated dependencies [
fe3e49f61acefe8d7f1992405f7cb415fea2e5c8,4427c4702f64d4f28f7564ce5889d41e260aa519]:- @clerk/types@4.42.0
- @clerk/backend@1.23.5
- @clerk/clerk-react@5.22.4
- @clerk/shared@2.20.12
- Updated dependencies [
418ec5c62c4eb600566faab07684c068a29007e3]:- @clerk/types@4.41.2
- @clerk/clerk-react@5.22.3
- @clerk/backend@1.23.4
- @clerk/shared@2.20.11
-
Standardizing ambient declaration files for all SDKs (#4919) by @jacekradko
-
Updated dependencies [
9eef7713212378351e8e01628611eaa18de250e8]:- @clerk/shared@2.20.10
- @clerk/clerk-react@5.22.2
- @clerk/backend@1.23.3
- Bump
react-routerpeer dependency to^7.1.2as this version fixes React context mismatches (#4917) by @wobsoriano
- Updated dependencies [
7ffc99b48977b9f6c74c0c71c500b60cb8aba65e]:- @clerk/types@4.41.1
- @clerk/backend@1.23.2
- @clerk/clerk-react@5.22.1
- @clerk/shared@2.20.9
- Updated dependencies [
4af35380f18d1d06c15ad1f5745c2d5a1ab1c37d,aa48b1f9e890b2402e9d05989a4820141076f7bf,53bd34fff38b17498edf66cc4bc2d42d707f28dc]:- @clerk/types@4.41.0
- @clerk/clerk-react@5.22.0
- @clerk/backend@1.23.1
- @clerk/shared@2.20.8
- Updated dependencies [
e9e8834f7bfc953c3ae66fedf65b6952689c49da,fd7a5be73db3acaa7daeb9b15af73c2ce99d03a6,7182b93101518a389cc13859f8a0fe8bd6f37a06]:- @clerk/backend@1.23.0
- @clerk/types@4.40.3
- @clerk/clerk-react@5.21.3
- @clerk/shared@2.20.7
- Updated dependencies [
72d29538f587934309da96fc1c6d454bb9aad21e,84867be0215d7f74d8be7b4f803e2c3a241e2f89,fa967ce79e1b5f2e8216eb09900879cb825fa528]:- @clerk/backend@1.22.0
-
Previously, when the
data()utility was used inside the callback ofrootAuthLoader()type errors were thrown. These issues should be fixed now. (#4853) by @LekoArts -
Updated dependencies [
44cab6038af0a4d23869b3b292ece742fbbc4d85]:- @clerk/backend@1.21.6
- @clerk/types@4.40.2
- @clerk/clerk-react@5.21.2
- @clerk/shared@2.20.6
- Updated dependencies [
80e1117631d35834705119a79cdcf9e0ed423fdd]:- @clerk/types@4.40.1
- @clerk/clerk-react@5.21.1
- @clerk/backend@1.21.5
- @clerk/shared@2.20.5
- Updated dependencies [
b5eb15bf81d94456309d6ca44ad423a4175d50b6,b933a2ba8112aefbabd7fe3313b89e083452d2dd]:- @clerk/clerk-react@5.21.0
- Updated dependencies [
b3300c84a42276bd071a37addbd1ca6888ed9d7c,c9da04636ffe1ba804a1ce5e5b79027d3a2344d2]:- @clerk/backend@1.21.4
- @clerk/types@4.40.0
- @clerk/clerk-react@5.20.4
- @clerk/shared@2.20.4
- Updated dependencies [
84ccb0049041534f111be65f7c7d4d6120069446]:- @clerk/shared@2.20.3
- @clerk/backend@1.21.3
- @clerk/clerk-react@5.20.3
- Updated dependencies [
aeafa7c5efd50c893d088ac99199d7eaecc04025,acd9326ef2d6942b981b3ee59c4b20ddd303323d]:- @clerk/types@4.39.4
- @clerk/clerk-react@5.20.2
- @clerk/backend@1.21.2
- @clerk/shared@2.20.2
-
Using the same peerDependencies semver for react and react-dom (#4758) by @jacekradko
-
Updated dependencies [
66ad299e4b6496ea4a93799de0f1ecfad920ddad,dd3fdc7b2a96ddb90b33c6f1cefb055a60f99a9d,e1748582d0c89462f48a482a7805871b7065fa19,7f7edcaa8228c26d19e9081979100ada7e982095,e1748582d0c89462f48a482a7805871b7065fa19,dd3fdc7b2a96ddb90b33c6f1cefb055a60f99a9d]:- @clerk/shared@2.20.1
- @clerk/clerk-react@5.20.1
- @clerk/types@4.39.3
- @clerk/backend@1.21.1
- Switching to use ^ for semver ranges of internal @clerk/ production dependencies. (#4664) by @jacekradko
-
Improve environment variable loading for certain values (#4747) by @LekoArts
-
Updated dependencies [
9d656c16bc78ac31b59b5edbd25118dfc33c4469,ffa631d2480cfe77bf08c61b1302ace308e5b630,0266f6a73fc34748a86603bc89b6125d6bbb679b]:- @clerk/clerk-react@5.20.0
- @clerk/backend@1.21.0
- @clerk/shared@2.20.0
- Updated dependencies [
cd72a27a75863dfd94b0a00ed5b2d03231556bc0]:- @clerk/types@4.39.2
- @clerk/backend@1.20.3
- @clerk/clerk-react@5.19.3
- @clerk/shared@2.19.4
-
Initial beta release of
@clerk/react-router. (#4621) by @LekoArtsReact Router v7 was released and Clerk's existing
@clerk/remixSDK isn't compatible anymore. Thus the need for a brand new SDK came up.@clerk/react-routerallows you to use React Router v7 + Clerk both in framework/library mode.Read the React Router quickstart and reference documenation to learn more.
-
Updated dependencies [
fe75ced8a7d8b8a28839430444588ee173b5230a,1b86a1da34ce4bc309f69980ac13a691a0a633c2]:- @clerk/backend@1.20.2
- @clerk/types@4.39.1
- @clerk/clerk-react@5.19.2
- @clerk/shared@2.19.3