- Updated dependencies [
892bc0e
]:- @clerk/shared@3.2.0
-
Export
isReverificationCancelledError
error helper (#5396) by @octoper -
Introduce
__experimental_nextTask
method for navigating to next tasks on a after-auth flow (#5377) by @LauraBeatris -
Updated dependencies [
3910ebe
,e513333
]:- @clerk/types@4.49.1
- @clerk/shared@3.1.0
-
Navigate to tasks on after sign-in/sign-up (#5280) by @LauraBeatris
-
Deprecate out of date jwt types in favour of existing that are up-to-date. (#5354) by @panteliselef
-
Introduce experimental billing APIs and components (#5248) by @aeliox
-
Updated dependencies [
725918d
,91d0f0b
,9572bf5
,39bbc51
,3dddcda
,7524943
,150b5c8
,23c931e
,730262f
,0b18bb1
,021bc5f
,1a61390
]:- @clerk/types@4.49.0
- @clerk/shared@3.0.2
-
Updated dependencies [
75879672c5805bfba1caca906ac0729497744164
,7ec95a7e59033600958aca4b86f3bcd5da947dec
,3c225d90227141dc62d955e76c7f8e0202524bc7
,2a66c16af08573000bb619607346ac420cd4ce56
]:- @clerk/shared@3.0.1
- @clerk/types@4.48.0
- Enhance RedirectToSignIn session check for compatibility with older clerk-js versions (#5261) by @nikosdouvlis
- Surface new
pending
session as a signed-in state (#5136) by @LauraBeatris
-
Refactors
IsomorphicClerk
types to reduce unnecessary duplication between it andClerk
. Also relies more on the source types fromClerk
to ensureIsomorphicClerk
types match. (#5197) by @brkalow -
Updated dependencies [
28179323d9891bd13625e32c5682a3276e73cdae
,7ae77b74326e378bf161e29886ee82e1556d9840
,c5c246ce91c01db9f1eaccbd354f646bcd24ec0a
,bcbe5f6382ebcc70ef4fddb950d052bf6b7d693a
,382c30240f563e58bc4d4832557c6825da40ce7f
]:- @clerk/types@4.47.0
- @clerk/shared@3.0.0
-
Introduce
EmailLinkErrorCodeStatus
to support users in custom flows and markEmailLinkErrorCode
as deprecated. (#5142) by @alexcarpenter- import { EmailLinkErrorCode } from '@clerk/nextjs/errors' + import { EmailLinkErrorCodeStatus } from '@clerk/nextjs/errors'
-
Fix an infinity re-render issue in
UserProfileModal
when we passuserProfileProps
in<UserButton />
and we havecustomMenuItems
andcustomPages
(#5145) by @nikospapcom -
Updated dependencies [
d76c4699990b8477745c2584b1b98d5c92f9ace6
,a9b0087fca3f427f65907b358d9b5bc0c95921d8
,92d17d7c087470b262fa5407cb6720fe6b17d333
]:- @clerk/shared@2.22.0
- @clerk/types@4.46.1
-
Exclude
__internal_addNavigationListener
fromIsomorphicClerk
. (#5092) by @panteliselef -
Add the ability to specify an appearance for modal component usages. (#5125) by @alexcarpenter
-
Updated dependencies [
dd2cbfe9f30358b6b298901bb52fa378b0acdca3
,570d8386f6aa596bf7bb1659bdddb8dd4d992b1d
]:- @clerk/types@4.46.0
- @clerk/shared@2.21.1
- Updated dependencies [
f41081c563ddd2afc05b837358e0de087ae0c895
,767ac85fe6ce0ee0594c923e9af701bb05f40a0b
,225b38c7187d31fc755155ea99834ca03894d36b
,429f1bfe5f7a554ab1fdf265475ba6c8b3f78472
]:- @clerk/shared@2.21.0
- @clerk/types@4.45.1
- Fix an issue where
<UserButton />
wouldn't update when custom menu item props changed (#5069) by @nikospapcom
- Updated dependencies [
d3152be7f01fbb5ca26aeddc2437021f4b7ecc83
,f976349243da2b75023e59e802460e6f3592ebbd
]:- @clerk/types@4.45.0
- @clerk/shared@2.20.18
-
Improve JSDoc comments to provide better IntelliSense in your IDE (#5053) by @LekoArts
-
Updated dependencies [
26225f2c31a22560f7ece2e02f1d0080b5b89520
,833693a6792b621e72162d70673e7bdfa84a69b6
]:- @clerk/shared@2.20.17
- @clerk/types@4.44.3
- Updated dependencies [
a309be354275b91a7b17d5a67e8ef6aa230a9935
,1345cb487970a7347351897e80dfb829d85c41ea
]:- @clerk/shared@2.20.16
- @clerk/types@4.44.2
- Updated dependencies [
57c983fdc2b8d883623a2294daae0ac6c02c48f6
,a26cf0ff10c76244975c454fdf6c615475d4bcd5
]:- @clerk/types@4.44.1
- @clerk/shared@2.20.15
- Updated dependencies [
2179690c10a61b117e82fdd566b34939f4d28bc1
,bdb537a9902c0f0ae58ca1d4b7590d929f28fedb
]:- @clerk/types@4.44.0
- @clerk/shared@2.20.14
- Updated dependencies [
f87ede848265d75ea1e880a3ab80c53a250f42cf
,6126cc98281bca96797fd8a55b6ec6aeda397e46
,6e096564a459db4eaf953e99e570905b10be6c84
]:- @clerk/shared@2.20.13
- @clerk/types@4.43.0
- Updated dependencies [
fe3e49f61acefe8d7f1992405f7cb415fea2e5c8
,4427c4702f64d4f28f7564ce5889d41e260aa519
]:- @clerk/types@4.42.0
- @clerk/shared@2.20.12
- Updated dependencies [
418ec5c62c4eb600566faab07684c068a29007e3
]:- @clerk/types@4.41.2
- @clerk/shared@2.20.11
-
Standardizing ambient declaration files for all SDKs (#4919) by @jacekradko
-
Updated dependencies [
9eef7713212378351e8e01628611eaa18de250e8
]:- @clerk/shared@2.20.10
- Updated dependencies [
7ffc99b48977b9f6c74c0c71c500b60cb8aba65e
]:- @clerk/types@4.41.1
- @clerk/shared@2.20.9
- Introduce sign-in-or-up flow. (#4788) by @alexcarpenter
- Updated dependencies [
4af35380f18d1d06c15ad1f5745c2d5a1ab1c37d
,aa48b1f9e890b2402e9d05989a4820141076f7bf
,53bd34fff38b17498edf66cc4bc2d42d707f28dc
]:- @clerk/types@4.41.0
- @clerk/shared@2.20.8
- Updated dependencies [
fd7a5be73db3acaa7daeb9b15af73c2ce99d03a6
]:- @clerk/types@4.40.3
- @clerk/shared@2.20.7
- Updated dependencies [
44cab6038af0a4d23869b3b292ece742fbbc4d85
]:- @clerk/types@4.40.2
- @clerk/shared@2.20.6
- Updated dependencies [
80e1117631d35834705119a79cdcf9e0ed423fdd
]:- @clerk/types@4.40.1
- @clerk/shared@2.20.5
-
Adds support for a
fallback
prop on Clerk's components. This allows rendering of a placeholder element while Clerk's components are mounting. Use this to help mitigate layout shift when using Clerk's components. Example usage: (#4723) by @BRKalow<SignIn fallback={<LoadingSkeleton />} />
-
Allow
<SignInButton />
,<SignUpButton />
,<SignOutButton />
, and<SignInWithMetamaskButton />
to render while clerk-js is still loading. This reduces any layout shift that might be caused by these components not rendering immediately. (#4810) by @BRKalow
- Updated dependencies [
c9da04636ffe1ba804a1ce5e5b79027d3a2344d2
]:- @clerk/types@4.40.0
- @clerk/shared@2.20.4
- Updated dependencies [
84ccb0049041534f111be65f7c7d4d6120069446
]:- @clerk/shared@2.20.3
- Updated dependencies [
aeafa7c5efd50c893d088ac99199d7eaecc04025
,acd9326ef2d6942b981b3ee59c4b20ddd303323d
]:- @clerk/types@4.39.4
- @clerk/shared@2.20.2
-
Using the same peerDependencies semver for react and react-dom (#4758) by @jacekradko
-
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
- Switching to use ^ for semver ranges of internal @clerk/ production dependencies. (#4664) by @jacekradko
-
Return components as
React.JSX.Element
instead ofJSX.Element
(#4740) by @dstaley -
useAuth
now uses derived auth state instead of locally stored state (#4715) by @jacekradko -
Updated dependencies [
ffa631d2480cfe77bf08c61b1302ace308e5b630
]:- @clerk/shared@2.20.0
- Updated dependencies [
cd72a27a75863dfd94b0a00ed5b2d03231556bc0
]:- @clerk/types@4.39.2
- @clerk/shared@2.19.4
- Updated dependencies [
1b86a1da34ce4bc309f69980ac13a691a0a633c2
]:- @clerk/types@4.39.1
- @clerk/shared@2.19.3
- Updated dependencies [
4cb22548da81dd8b186a6ef1cf120aea99c85c62
]:- @clerk/shared@2.19.2
-
Various internal changes have been made to support a new feature called "Keyless mode". You'll be able to use this feature with Next.js and
@clerk/nextjs
initially. Read the@clerk/nextjs
changelog to learn more. (#4602) by @panteliselefList of changes:
- A new internal prop called
__internal_bypassMissingPublishableKey
has been added. Normally an error is thrown when the publishable key is missing, this disables this behavior. - Loading of
clerk-js
won't be attempted when a missing key is present - A new instance of
IsomorphicClerk
(an internal Clerk class) is created for each new publishable key
- A new internal prop called
- Updated dependencies [
550c7e9851329688e37be29b83ea0c3b12482af7
,3f640805d2a4e1616aafa56f6848d6657911bb99
]:- @clerk/types@4.39.0
- @clerk/shared@2.19.1
- Updated dependencies [
0bc3ccc5bd4a93121bb7e7d6a32271af9c31f8c3
,0bc3ccc5bd4a93121bb7e7d6a32271af9c31f8c3
]:- @clerk/shared@2.19.0
- @clerk/types@4.38.0
- Updated dependencies [
4e5e7f463c12893a21cb3b5f9317fc3f2945879b
]:- @clerk/types@4.37.0
- @clerk/shared@2.18.1
- Support OKW Wallet Web3 provider and authentication strategy (#4696) by @chanioxaris
- Updated dependencies [
8ee5d84995fa17532491ff96efac5738c9bcd9ef
,09fedd1df155d30cc055ce701b133aa6470e9b47
,235eaae4c3c9400492fca47d20a47c7081041565
]:- @clerk/types@4.36.0
- @clerk/shared@2.18.0
- Updated dependencies [
8a28d1f403309f692d9332704f07effbf39d056d
]:- @clerk/types@4.35.1
- @clerk/shared@2.17.1
-
Re-export
isClerkRuntimeError
from@clerk/clerk-react/errors
. (#4656) by @panteliselef -
Add deprecation notices for the following components: (#4631) by @alexcarpenter
RedirectToUserProfile
RedirectToOrganizationProfile
RedirectToCreateOrganization
-
Introduce the
useReverification()
hook that handles the session reverification flow: (#4536) by @panteliselef- Replaces
__experimental_useReverification
withuseReverification
- Replaces
-
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
,dce4f7ffca7248c0500f0ec9a978672b1f2fad69
]:- @clerk/shared@2.17.0
- @clerk/types@4.35.0
- Updated dependencies [
c70994b5b6f92a6550dfe37547f01bbfa810c223
,7623a99594e7329200b6b374e483152d7679ce66
]:- @clerk/types@4.34.2
- @clerk/shared@2.16.1
-
Share hook return types (#4583) by @wobsoriano
-
Updated dependencies [
e47eb5882a7fd4a8dee25933c6644790d6ea3407
,273d16cb0665d4d960838cb294dc356f41814745
,6b0961765e1f3d09679be4b163fa13ac7dd97191
]:- @clerk/shared@2.16.0
- @clerk/types@4.34.1
-
Add
initialValues
option to<SignInButton />
component. (#4581) by @alexcarpenter -
Add
initialValues
option to<SignUpButton />
component. (#4567) by @alexcarpenter
- Updated dependencies [
536fa996ff84a545678a3036b28409824d1c00dd
,b28c5e8bc44885bf6b1533df48e872ba90c387da
]:- @clerk/shared@2.15.0
- Updated dependencies [
46faeb6f59b19c963fb137c858347525b1cd9e19
,ea6c52dd751abe38b350ee07f148652c24125e22
]:- @clerk/shared@2.14.0
- @clerk/types@4.34.0
- Updated dependencies [
1c0b5001f7f975a2f3f54ad692526ecf7257847e
,6217a3f7c94311d49f873214bd406961e0b8d6f7
,1783025cdb94c447028704c2121fa0b8af785904
]:- @clerk/types@4.33.0
- @clerk/shared@2.13.0
- Updated dependencies [
7dbad4c5abd226d7b10941a626ead5d85b1a3f24
]:- @clerk/types@4.32.0
- @clerk/shared@2.12.1
- Updated dependencies [
5a21de1f46df3642828dc27e4862263c9858da2b
,f7472e22877f62fc7f3c8d3efe409ff2276fb4a3
,e199037b8f484abdeeb9fc24455a1b4b8c31c8dd
,886e294a8d8c54b39cd5bda88d46b89eace3861e
,0e443ad7c76643420b50e5b169193e03f6ef79f9
,cc24c8145f1eea7fb91550f2c3e0bac3993e4320
]:- @clerk/shared@2.12.0
- @clerk/types@4.31.0
-
Use shared
deriveState
function (#4490) by @wobsoriano -
Updated dependencies [
8a04ae47b8305f994b348301fd8134d5baf02943
]:- @clerk/shared@2.11.5
-
New Feature: Introduce the
<Waitlist />
component and thewaitlist
sign up mode. (#4376) by @nikospapcom- Allow users to request access with an email address via the new
<Waitlist />
component. - Show
Join waitlist
prompt from<SignIn />
component when mode iswaitlist
. - Appropriate the text in the Sign Up component when mode is
waitlist
. - Added
joinWaitlist()
method inClerk
singleton. - Added
redirectToWaitlist()
method inClerk
singleton to allow user to redirect to waitlist page.
- Allow users to request access with an email address via the new
-
Expose internal
__internal_getOption
method from Clerk. (#4456) by @alexcarpenter -
Updated dependencies [
d74a6a7c0f291104c6bba722a8c432814d7b336e
,1a0c8fe665869e732d3c800bde0f5219fce54301
,0800fc3f1f4e1b6a1d13f5c02557001a283af6e8
]:- @clerk/types@4.30.0
- @clerk/shared@2.11.4
- Updated dependencies [
a7726cc12a824b278f6d2a37cb1901c38c5f70dc
]:- @clerk/shared@2.11.3
-
Introduce a new experimental hook called
useReverification
that makes it easy to handle reverification errors. (#4362) by @panteliselefIt returns a high order function (HOF) and allows developers to wrap any function that triggers a fetch request which might fail due to a user's session verification status. When such error is returned, the recommended UX is to offer a way to the user to recover by re-verifying their credentials. This helper will automatically handle this flow in the developer's behalf, by displaying a modal the end-user can interact with. Upon completion, the original request that previously failed, will be retried (only once).
Example with clerk-js methods.
import { __experimental_useReverification as useReverification } from '@clerk/nextjs'; function DeleteAccount() { const { user } = useUser(); const [deleteUserAccount] = useReverification(() => { if (!user) return; return user.delete(); }); return ( <> <button onClick={async () => { await deleteUserAccount(); }} > Delete account </button> </> ); }
-
Fix
signOutOptions
prop usage in<SignOutButton />
component (#4433) by @wobsoriano -
Updates
useDerivedAuth()
to correctly derivehas()
from the available auth data. Fixes an issue whenuseAuth()
is called during server-side rendering. (#4421) by @BRKalow -
Updating peerDependencies for correct ranges (#4436) by @jacekradko
-
Updated dependencies [
f875463da
,5be7ca9fd
,08c5a2add
,434b432f8
]:- @clerk/types@4.29.0
- @clerk/shared@2.11.0
- Updated dependencies [
3fdcdbf88
]:- @clerk/types@4.28.0
- @clerk/shared@2.10.1
- Internal changes to support
<ClerkProvider dynamic>
(#4366) by @jacekradko
-
Introducing experimental
asProvider
,asStandalone
, and<X.Outlet />
for<UserButton />
and<OrganizationSwitcher />
components. (#4042) by @panteliselefasProvider
converts<UserButton />
and<OrganizationSwitcher />
to a provider that defers rendering until<Outlet />
is mounted.<Outlet />
also accepts aasStandalone
prop. It will skip the trigger of these components and display only the UI which was previously inside the popover. This allows developers to create their own triggers.
Example usage:
<UserButton __experimental_asProvider afterSignOutUrl='/' > <UserButton.UserProfilePage label='Custom Page' url='/custom-page' > <h1> This is my page available to all children </h1> </UserButton.UserProfilePage> <UserButton.__experimental_Outlet __experimental_asStandalone /> </UserButton>
<OrganizationSwitcher __experimental_asProvider afterSignOutUrl='/' > <OrganizationSwitcher.OrganizationProfilePage label='Custom Page' url='/custom-page' > <h1> This is my page available to all children </h1> </OrganizationSwitcher.OrganizationProfilePage> <OrganizationSwitcher.__experimental_Outlet __experimental_asStandalone /> </OrganizationSwitcher>
- Updated dependencies [
e81d45b72
,752ce9bfa
,99cdf9b67
,ce40ff6f0
,2102052c0
]:- @clerk/types@4.26.0
- @clerk/shared@2.9.2
-
Rename
__experimental_assurance
to__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_SessionVerificationTypes
that abstracts away the level and maxAge- Allowed values 'veryStrict' | 'strict' | 'moderate' | 'lax'
- Supported levels are now are
- Updated dependencies [
fb932e5cf
]:- @clerk/shared@2.9.0
- @clerk/types@4.25.0
-
Drop the experimental mounted variant of
UserVerification
. (#4266) by @panteliselefRemoves:
<__experimental_UserVerification/>
__experimental_mountUserVerification()
__experimental_unmountUserVerification()
-
Improve JSDoc comments for some public API properties (#4190) by @LekoArts
-
Updated dependencies [
cb32aaf59
,2e5c550e4
,6275c242c
,f9faaf031
]:- @clerk/shared@2.8.2
- @clerk/types@4.21.1
- Updated dependencies [
3743eb911
]:- @clerk/shared@2.8.1
-
Experimental support for
has()
with assurance. (#4118) by @panteliselefExample usage:
has({ __experimental_assurance: { level: 'L2.secondFactor', maxAge: 'A1.10min', }, });
Created a shared utility called
createCheckAuthorization
exported from@clerk/shared
- Updated dependencies [
be3b119f8
]:- @clerk/shared@2.7.2
-
Update type of
__experimental_factorVerificationAge
to be[number, number] | null
. (#4135) by @panteliselef -
Updated dependencies [
8c6909d46
]:- @clerk/types@4.20.1
- @clerk/shared@2.7.1
-
Experimental support: Expect a new sessionClaim called
fva
that tracks the age of verified factor groups. (#4061) by @panteliselefThis can be applied to any helper that returns the auth object
Nextjs example
auth().__experimental_factorVerificationAge;
React example
const { session } = useSession(); session?.__experimental_factorVerificationAge;
-
Improve JSDoc comments coverage on
<ClerkProvider>
properties (#4098) by @LekoArts -
Drop support for deprecated Coinbase Web3 provider (#4092) by @chanioxaris
-
Updated dependencies [
c63a5adf0
,8823c21a2
,95ac67a14
,a0cb062fa
,746b4ed5e
]:- @clerk/types@4.20.0
- @clerk/shared@2.7.0
- 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
- Add
<__experimental_UserVerification />
component. This is an experimental feature and breaking changes can occur until it's marked as stable. (#4016) by @panteliselef
- 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
-
Updated dependencies [
58e6754ad
,13693018f
,3aa63dc5a
,3304dcc0b
]:- @clerk/types@4.17.0
- @clerk/shared@2.6.0
- Updated dependencies [
c1389492d
]:- @clerk/types@4.16.0
- @clerk/shared@2.5.5
-
Fix multiple
addListener
method calls (#4010) by @wobsoriano -
Updated dependencies [
247b3fd75
]:- @clerk/types@4.15.0
- @clerk/shared@2.5.3
- Updated dependencies [
dc0e1c33d
]:- @clerk/types@4.14.0
- @clerk/shared@2.5.2
-
Introduce functions that can be reused across front-end SDKs (#3849) by @wobsoriano
-
Updated dependencies [
7e0ced3da
,b6f0613dc
]:- @clerk/shared@2.5.1
- @clerk/types@4.13.1
-
Add a
nonce
to clerk-js' script loading options. Also adds anonce
prop toClerkProvider
. This can be used to thread a nonce value through to the clerk-js script load to support apps using astrict-dynamic
content security policy. For next.js applications, the nonce will be automatically pulled from the CSP header and threaded through without needing any props so long as the provider is server-rendered. (#3858) by @jescalan -
Introduce
transferable
prop 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 atransferable
option toClerk.handleRedirectCallback()
with the same functionality. (#3845) by @BRKalow
- Updated dependencies [
9b2aeacb3
]:- @clerk/types@4.12.1
- @clerk/shared@2.4.5
- Updated dependencies [
7e94fcf0f
]:- @clerk/types@4.12.0
- @clerk/shared@2.4.4
-
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
manageAccount
andsignOut
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
- Updated dependencies [
b48689705
]:- @clerk/types@4.9.1
- @clerk/shared@2.4.1
- Updated dependencies [
df7d856d5
]:- @clerk/types@4.8.0
- @clerk/shared@2.3.3
- Updated dependencies [
d6b5006c4
]:- @clerk/types@4.7.0
- @clerk/shared@2.3.2
- Updated dependencies [
1273b04ec
]:- @clerk/types@4.6.1
- @clerk/shared@2.3.1
- Updated dependencies [
4ec3f63e2
]:- @clerk/shared@2.3.0
-
Update
SignUpButton
andSignInButton
to respectforceRedirect
andfallbackRedirect
props. Previously, these were getting ignored and successful completions of the flows would fallback to the default redirect URL. (#3508) by @BRKalow -
Updated dependencies [
86a27f693
,02bed2e00
,73e5d61e2
,b8e46328d
]:- @clerk/shared@2.2.2
- @clerk/types@4.6.0
- Updated dependencies [
4beb00672
]:- @clerk/types@4.5.1
-
With the next major release, NextJS@15 will depend on
react
andreact-dom
v19, which is still in beta. We are updating our peer dependencies accordingly in order to acceptreact
andreact-dom
@19.0.0-beta
(#3428) by @nikosdouvlis -
Updated dependencies [
ff31f7255
,0e48fc210
]:- @clerk/shared@2.2.1
-
Add support for GoogleOneTap. New APIs listed: (#3392) by @panteliselef
<GoogleOneTap/>
Customize the UX of the prompt
<GoogleOneTap cancelOnTapOutside={false} itpSupport={false} fedCmSupport={false} />
Clerk.openGoogleOneTap(props: GoogleOneTapProps)
Clerk.closeGoogleOneTap()
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, }); } }, });
- Replace mount with open for GoogleOneTap. New api is
__experimental_openGoogleOneTap
. (#3379) by @panteliselef
- Updated dependencies [
3d790d5ea
]:- @clerk/types@4.4.0
- Updated dependencies [
eae0a32d5
]:- @clerk/types@4.3.1
- Updated dependencies [
ec84d51e7
]:- @clerk/shared@2.1.1
-
Respect the
signInForceRedirectUrl
,signInFallbackRedirectUrl
,signUpForceRedirectUrl
andsignUpFallbackRedirectUrl
props passed toSignInButton
,SignUpButton
and the low-levelwindow.Clerk.buildSignInUrl
&window.Clerk.buildSignUpUrl
methods. These props allow you to control the redirect behavior of theSignIn
andSignUp
components. For more information, refer to the Custom Redirects guide. (#3361) by @nikosdouvlis -
Updated dependencies [
94197710a
,b27ca8366
]:- @clerk/types@4.3.0
- @clerk/shared@2.1.0
-
Rename local
eslint-config-custom
package to@clerk/eslint-config-custom
to avoid conflicts with previously published package. Removeseslint-config-custom
from@clerk/clerk-react
's dependencies, as it should only be a development dependency. (#3307) by @BRKalow -
The following are all internal changes and not relevant to any end-user: (#3341) by @LauraBeatris
Add telemetry events for
useSignIn
,useSignUp
,useOrganizations
anduseOrganizationList
-
Updated dependencies [
1662aaae9
,f70c885f7
,f5804a225
]:- @clerk/shared@2.0.2
- @clerk/types@4.2.1
- Remove type from clerkjs script attributes that prevents the satellite apps from function properly. (#3304) by @panteliselef
-
Remove deprecated
__clerk_frontend_api
fromWindow
interface (#3288) by @LauraBeatris -
Updated dependencies [
a78bc447c
,c7d626292
,19cd42434
]:- @clerk/shared@2.0.1
- @clerk/types@4.2.0
- Updated dependencies [
956d8792f
]:- @clerk/types@4.1.0
-
2a67f729d: Replace the
signOutCallback
prop on the<SignOutButton />
withredirectUrl
. This aligns the API surface with other UI components provided by@clerk/clerk-react
.If you previously used the
signOutCallback
prop to navigate to another page, you can migrate as shown below.Before:
import { SignOutButton } from '@clerk/clerk-react'; export const Signout = () => { return ( <SignOutButton signOutCallback={() => { window.location.href = '/your-path'; }} > <button>Sign Out</button> </SignOutButton> ); };
After:
import { SignOutButton } from '@clerk/clerk-react'; export const Signout = () => { return ( <SignOutButton redirectUrl='/your-path'> <button>Sign Out</button> </SignOutButton> ); };
-
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
-
83e9d0846: Drop deprecations. Migration steps:
- use
EmailLinkError
instead ofMagicLinkError
- use
isEmailLinkError
instead ofisMagicLinkError
- use
EmailLinkErrorCode
instead ofMagicLinkErrorCode
- use
useEmailLink
instead ofuseMagicLink
- use
buildRequestUrl
from@clerk/backend
instead ofgetRequestUrl
from@clerk/shared
- use
OrganizationProvider
instead ofOrganizationContext
- use
userMemberships
instead oforganizationList
fromuseOrganizationList
- use
-
7f833da9e: Drop deprecations. Migration steps:
- use
publishableKey
instead offrontendApi
- use
Clerk.handleEmailLinkVerification()
instead ofClerk.handleMagicLinkVerification()
- use
isEmailLinkError
instead ofisMagicLinkError
- use
EmailLinkErrorCode
instead ofMagicLinkErrorCode
- use
useEmailLink
instead ofuseMagicLink
- drop
orgs
jwt claim from session token - use
ExternalAccount.imageUrl
instead ofExternalAccount.avatarUrl
- use
Organization.imageUrl
instead ofOrganization.logoUrl
- use
User.imageUrl
instead ofUser.profileImageUrl
- use
OrganizationMembershipPublicUserData.imageUrl
instead ofOrganizationMembershipPublicUserData.profileImageUrl
- use
useOrganizationList
instead ofuseOrganizations
- use
userProfileProps
instead ofuserProfile
inAppearance
- use
Clerk.setActive()
instead ofClerk.setSession()
- drop
password
param inUser.update()
- use
afterSelectOrganizationUrl
instead ofafterSwitchOrganizationUrl
inOrganizationSwitcher
- drop
Clerk.experimental_canUseCaptcha
/Clerk.Clerk.experimental_captchaSiteKey
/Clerk.experimental_captchaURL
(were meant for internal use) - use
User.getOrganizationMemberships()
instead ofClerk.getOrganizationMemberships()
- drop
lastOrganizationInvitation
/lastOrganizationMember
from Clerk emitted events - drop
Clerk.__unstable__invitationUpdate
/Clerk.__unstable__membershipUpdate
- drop support for string param in
Organization.create()
- use
Organization.getInvitations()
instead ofOrganization.getPendingInvitations()
- use
pageSize
instead oflimit
inOrganizationMembership.retrieve()
- use
initialPage
instead ofoffset
inOrganizationMembership.retrieve()
- drop
lastOrganizationInvitation
/lastOrganizationMember
from ClerkProvider - use
invitations
instead ofinvitationList
inuseOrganization
- use
memberships
instead ofmembershipList
inuseOrganization
- use
redirectUrl
instead ofredirect_url
inUser.createExternalAccount()
- use
signature
instead ofgeneratedSignature
inSignup.attemptWeb3WalletVerification()
- use
-
cfea3d9c0: Path-based routing is now the default routing strategy if the
path
prop is filled. Additionally, if thepath
androuting
props 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"/>
-
7bffc47cb: Drop
Clerk.isReady(). Use
Clerk.loadedinstead.
-
2a22aade8: Drop deprecations. Migration steps:
- drop
orgs
jwt claim from session token - change type of
auth
param ofwithServerAuth()
callback toAuthObject
fromServerSideAuth
ingatsby-clerk-plugin
- use
auth.sessionClaims
instead ofauth.claims
- use
AuthObject
properties fromauth
- use
- use
publishableKey
instead offrontendApi
- use
ClerkProviderOptionsWrapper
type instead ofIsomorphicClerkOptions
- drop
-
8aea39cd6: - Introduce
@clerk/clerk-react/errors
and@clerk/clerk-react/internal
subpath exports to expose some internal utilities. Eg// Before import { **internal**setErrorThrowerOptions } from '@clerk/clerk-react'; // After import { setErrorThrowerOptions } from '@clerk/clerk-react/internal'; // Before import { isClerkAPIResponseError, isEmailLinkError, isKnownError, isMetamaskError } from '@clerk/clerk-react'; // After import { isClerkAPIResponseError, isEmailLinkError, isKnownError, isMetamaskError } from '@clerk/clerk-react/errors'; // Before import { MultisessionAppSupport } from '@clerk/clerk-react'; // After import { MultisessionAppSupport } from '@clerk/clerk-react/internal'; ``` - Drop from the `@clerk/clerk-react` and all other clerk-react wrapper packages: - `__internal__setErrorThrowerOptions` internal utility (moved to /internal subpath) - `WithClerkProp` type - `MultisessionAppSupport` component (moved to /internal subpath) - `EmailLinkErrorCode` enum - Drop `StructureContext` and related errors to reduce code complexity since it seems that it was not being used. - Drop `withUser`, `WithUser`, `withClerk` HOFs and `WithClerk`, `withSession`, `WithSession` HOCs from the `@clerk/clerk-react` to reduce the export surface since it's trivial to implement if needed.
-
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: -
buildUrlWithAuth
no longer accepts anoptions
argument. -
52ff8fe6b: Upgrade React version to >=18 and add react-dom as peer dependency to fix issues with vite & rollup building.
-
ab4eb56a5: Drop
redirectToHome
redirect method in favour ofredirectToAfterSignUp
orredirectToAfterSignIn
.When the
<SignIn/>
and<SignUp/>
components are rendered while a user is already logged in, they will now redirect to the configuredafterSignIn
andafterSignUp
URLs, 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.0
now. -
f5fb63cf1: Consolidate
afterSignOutOneUrl
&afterSignOutAllUrl
toafterSignOutUrl
and drop usage of Dashboard settings in ClerkJS components. The Dashboard settings should only apply to the Account Portal application. -
477170962: Drop deprecations. Migration steps:
- drop
formFieldLabel__emailAddress_phoneNumber
from localization keys - drop
formFieldLabel__phoneNumber_username
from localization keys - drop
formFieldLabel__emailAddress_phoneNumber_username
from localization keys - drop
formFieldInputPlaceholder__emailAddress_phoneNumber
from localization keys - drop
formFieldInputPlaceholder__phoneNumber_username
from localization keys - drop
formFieldInputPlaceholder__emailAddress_phoneNumber_username
from localization keys - use
title__connectionFailed
instead oftitle__conectionFailed
from localization keys - use
actionLabel__connectionFailed
instead ofactionLabel__conectionFailed
from localization keys - use
headerTitle__members
instead ofheaderTitle__active
from localization keys - use
headerTitle__invitations
instead ofheaderTitle__invited
from localization keys - drop
createOrganization.subtitle
from localization keys - use
deDE
instead ofdeDe
localization from@clerk/localizations
- drop
-
3c4209068: Drop deprecations. Migration steps:
- use
setActive
instead ofsetSession
fromuseSessionList | useSignUp | useSignIn
hooks - use
publishableKey
instead offrontendApi
- use
handleEmailLinkVerification
instead ofhandleMagicLinkVerification
fromIsomorphicClerk
- use
isEmailLinkError
instead ofisMagicLinkError
- use
EmailLinkErrorCode
instead ofMagicLinkErrorCode
- use
useEmailLink
instead ofuseMagicLink
- use
-
844847e0b: Align return types for redirectTo* methods in ClerkJS [SDK-1037]
Breaking Changes:
redirectToUserProfile
now returnsPromise<unknown>
instead ofvoid
redirectToOrganizationProfile
now returnsPromise<unknown>
instead ofvoid
redirectToCreateOrganization
now returnsPromise<unknown>
instead ofvoid
redirectToHome
now returnsPromise<unknown>
instead ofvoid
-
7f6a64f43: - By default, all the components with routing will have the
routing
prop assigned as'path'
by default when thepath
prop is filled.- The
<UserButton />
component will set the default value of theuserProfileMode
prop to'navigation'
if theuserProfileUrl
prop is provided. - The
<OrganizationSwitcher />
component will have theorganizationProfileMode
andcreateOrganizationMode
props assigned with'navigation'
by default if theorganizationProfileUrl
andcreateOrganizationUrl
props are filled accordingly.
- The
-
ff08fe237: Introduce experimental support for Google One Tap
- React Component
<__experimental_GoogleOneTap/>
- JS
clerk.__experimental_mountGoogleOneTap(node,props)
- React Component
-
c9e0f68af: Fix
@clerk/clerk-react
bundle output to resolve issues with vite / rollup ESM module imports. We have also used thebundle
output to export a single index.ts and dropped the unnecessary published files / folders (eg__tests__
). -
fe2607b6f: Remove MembershipRole. The type
MembershipRole
would 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. -
4bb57057e: Breaking Changes:
- Drop
isLegacyFrontendApiKey
from@clerk/shared
- Drop default exports from
@clerk/clerk-js
- on headless Clerk type
- on ui and ui.retheme
Portal
- Use
isProductionFromSecretKey
instead ofisProductionFromApiKey
- Use
isDevelopmentFromSecretKey
instead ofisDevelopmentFromApiKey
Changes:
- Rename
HeadlessBrowserClerkConstrutor
/HeadlessBrowserClerkConstructor
(typo) - Use
isomorphicAtob
/isomorhpicBtoa
to replacebase-64
in@clerk/expo
- Refactor merging build-time and runtime props in
@clerk/backend
clerk client - Drop
node-fetch
dependency from@clerk/backend
- Drop duplicate test in
@clerk/backend
- Drop
-
2e4a43017: Update
@clerk/clerk-js
and@clerk/clerk-react
to 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' })
-
f98e480b1: Speed up loading of clerk-js by using a
<script/>
tag when html is generated. This is supported during SSR, SSG in- Next.js Pages Router
- Next.js App Router
-
46040a2f3: Introduce Protect for authorization. Changes in public APIs:
- Rename Gate to Protect
- Support for permission checks. (Previously only roles could be used)
- Remove the
experimental
tags and prefixes - Drop
some
from thehas
utility and Protect. Protect now accepts acondition
prop where a function is expected with thehas
being exposed as the param. - Protect can now be used without required props. In this case behaves as
<SignedIn>
, if no authorization props are passed. has
will throw an error if neitherpermission
orrole
is passed.auth().protect()
for Nextjs App Router. Allow per page protection in app router. This utility will automatically throw a 404 error if user is not authorized or authenticated.- inside a page or layout file it will render the nearest
not-found
component set by the developer - inside a route handler it will return empty response body with a 404 status code
- inside a page or layout file it will render the nearest
-
18c0d015d: Pass environment into
sdkMetadata
in order to detect if production clerk-js is used by other sdks in dev mode. When it is log dev warning from clerk-js. -
d6a7ea61a: Update the TypeScript types of
<ClerkProvider />
. If you use therouterPush
prop you're now required to also provide therouterReplace
prop (or other way around). You can also not provide them at all since both props are optional. -
db2d82901: Apply the following changes to components with routing props:
- default is
routing="path"
andpath
prop is required to be set via env or context - when
routing="hash"
orrouting="virtual"
is set the implicit (via env or context)path
option is ignored - when
routing="hash"
orrouting="virtual"
thenpath
prop is not allowed to be set
Examples of components with routing props:
<CreateOrganization />
<OrganizationProfile />
<SignIn />
<SignUp />
<UserProfile />
- default is
-
6ac9e717a: Properly fire onLoad event when clerk-js is already loaded.
-
2de442b24: Rename beta-v5 to beta
-
ee57f21ac: Export
EmailLinkErrorCode
from/errors
module -
2e77cd737: Set correct information on required Node.js and React versions in README
-
ae3a6683a: Ignore
.test.ts
files for the build output. Should result in smaller bundle size. -
6e54b1b59: Sync IsomorphicClerk with the clerk singleton and the LoadedClerk interface. IsomorphicClerk now extends from LoadedClerk.
-
8cc45d2af: Allow dynamic values components props, even if these values change after the components are rendered. For example, a
SignIn
component with aredirectUrl
prop passed in will always respect the latest value ofredirectUrl
. -
797e327e0: Replace internal logic of determining package tag & major version with semver in order to have a more robust solution
-
c86f73be3: Introducing stricter types for custom pages for UserProfile and OrganizationProfile.
-
1affbb22a: Replace semver with custom regex in versionSelector
-
75ea300bc: Add
useAssertWrappedByClerkProvider
to internal code. If you use hooks likeuseAuth
outside of the<ClerkProvider />
context an error will be thrown. For example:@clerk/clerk-react: useAuth can only be used within the <ClerkProvider /> component
-
e9841dd91: Fixes error thrown for missing path & routing props when path was passed from context. This change affects components
<SignIn />
,<SignUp />
from@clerk/nextjs
and@clerk/remix
. -
59f9a7296: Fixes error when path is passed from context and a routing strategy other than
path
is passed as a prop. This change affects components<SignIn />
,<SignUp />
from@clerk/nextjs
and@clerk/remix
. -
e0e79b4fe: Use the errorThrower shared utility when throwing errors
-
fb794ce7b: Support older iOS 13.3 and 13.4 mobile devices
-
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.
-
Updated dependencies [743c4d204]
-
Updated dependencies [4b8bedc66]
-
Updated dependencies [1db1f4068]
-
Updated dependencies [c2a090513]
-
Updated dependencies [0d0b1d89a]
-
Updated dependencies [1834a3ee4]
-
Updated dependencies [896cb6104]
-
Updated dependencies [64d3763ec]
-
Updated dependencies [8350109ab]
-
Updated dependencies [1dc28ab46]
-
Updated dependencies [83e9d0846]
-
Updated dependencies [d37d44a68]
-
Updated dependencies [fe356eebd]
-
Updated dependencies [791c49807]
-
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 [fc3ffd880]
-
Updated dependencies [840636a14]
-
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 [9737ef510]
-
Updated dependencies [fafa76fb6]
-
Updated dependencies [1f650f30a]
-
Updated dependencies [97407d8aa]
-
Updated dependencies [2a22aade8]
-
Updated dependencies [69ce3e185]
-
Updated dependencies [78fc5eec0]
-
Updated dependencies [a9fe242be]
-
Updated dependencies [5f58a2274]
-
Updated dependencies [6a33709cc]
-
Updated dependencies [52ff8fe6b]
-
Updated dependencies [f77e8cdbd]
-
Updated dependencies [8b466a9ba]
-
Updated dependencies [fe2607b6f]
-
Updated dependencies [c7e6d00f5]
-
Updated dependencies [8cc45d2af]
-
Updated dependencies [663243220]
-
Updated dependencies [c6a5e0f5d]
-
Updated dependencies [4edb77632]
-
Updated dependencies [ab4eb56a5]
-
Updated dependencies [a9fe242be]
-
Updated dependencies [5c239d973]
-
Updated dependencies [97407d8aa]
-
Updated dependencies [12962bc58]
-
Updated dependencies [4bb57057e]
-
Updated dependencies [d4ff346dd]
-
Updated dependencies [7644b7472]
-
Updated dependencies [2ec9f6b09]
-
Updated dependencies [2e4a43017]
-
Updated dependencies [5aab9f04a]
-
Updated dependencies [46040a2f3]
-
Updated dependencies [f00fd2dfe]
-
Updated dependencies [8daf8451c]
-
Updated dependencies [75ea300bc]
-
Updated dependencies [9a1fe3728]
-
Updated dependencies [7f751c4ef]
-
Updated dependencies [f5d55bb1f]
-
Updated dependencies [18c0d015d]
-
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 [38d8b3e8a]
-
Updated dependencies [be991365e]
-
Updated dependencies [8350f73a6]
-
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/shared@2.0.0
- @clerk/types@4.0.0
- Updated dependencies [
f00fd2dfe
]:- @clerk/types@4.0.0-beta.30
- Updated dependencies [
bab2e7e05
]:- @clerk/shared@2.0.0-beta.23
- @clerk/types@4.0.0-beta.29
-
Introduce experimental support for Google One Tap (#3176) by @panteliselef
- React Component
<__experimental_GoogleOneTap/>
- JS
clerk.__experimental_mountGoogleOneTap(node,props)
- React Component
-
Speed up loading of clerk-js by using a
<script/>
tag when html is generated. (#3156) by @panteliselefThis is supported during SSR, SSG in
- Next.js Pages Router
- Next.js App Router
-
Support older iOS 13.3 and 13.4 mobile devices (#3188) by @nikosdouvlis
-
Updated dependencies [
ff08fe237
,d9f265fcb
,fb794ce7b
]:- @clerk/types@4.0.0-beta.28
- @clerk/shared@2.0.0-beta.22
- Updated dependencies [
94519aa33
]:- @clerk/types@4.0.0-beta.27
- Updated dependencies [
0699fa496
]:- @clerk/types@4.0.0-beta.26
- Updated dependencies [
2352149f6
]:- @clerk/types@4.0.0-beta.25
- Updated dependencies [
fc3ffd880
,840636a14
,1fd2eff38
,f540e9843
]:- @clerk/shared@2.0.0-beta.21
- @clerk/types@4.0.0-beta.23
- Updated dependencies [
8350109ab
]:- @clerk/shared@2.0.0-beta.20
- Updated dependencies [
afec17953
]:- @clerk/types@4.0.0-beta.22
-
Introducing stricter types for custom pages for UserProfile and OrganizationProfile. (#2939) by @panteliselef
-
Updated dependencies [
008ac4217
]:- @clerk/types@4.0.0-beta.20
- Updated dependencies [
8350f73a6
]:- @clerk/shared@2.0.0-beta.19
- Updated dependencies [
fafa76fb6
]:- @clerk/types@4.0.0-beta.19
- Pass environment into
sdkMetadata
in order to detect if production clerk-js is used by other sdks in dev mode. When it is log dev warning from clerk-js. (#2802) by @panteliselef
- Updated dependencies [
18c0d015d
]:- @clerk/types@4.0.0-beta.18
- Updated dependencies [
fe356eebd
]:- @clerk/types@4.0.0-beta.17
- Updated dependencies [
1834a3ee4
]:- @clerk/shared@2.0.0-beta.17
- Updated dependencies [
db18787c4
]:- @clerk/shared@2.0.0-beta.16
- Updated dependencies [
6eab66050
]:- @clerk/shared@2.0.0-beta.15
- Updated dependencies [
12f3c5c55
]:- @clerk/shared@2.0.0-beta.14
- Updated dependencies [
5c239d973
]:- @clerk/types@4.0.0-beta.16
-
Rename beta-v5 to beta by @nikosdouvlis
-
Updated dependencies [
2de442b24
]:- @clerk/shared@2.0.0-beta.13
- @clerk/types@4.0.0-beta.15
-
Properly fire onLoad event when clerk-js is already loaded. (#2757) by @panteliselef
-
Export
EmailLinkErrorCode
from/errors
module (#2732) by @nikosdouvlis -
Replace semver with custom regex in versionSelector (#2760) by @nikosdouvlis
-
Updated dependencies [
244de5ea3
,9737ef510
,8b466a9ba
,8daf8451c
,7f751c4ef
,be991365e
]:- @clerk/types@4.0.0-beta-v5.14
- @clerk/shared@2.0.0-beta-v5.12
- Updated dependencies [
d4ff346dd
,7886ba89d
]:- @clerk/shared@2.0.0-beta-v5.11
- @clerk/types@4.0.0-beta-v5.13
-
Apply the following changes to components with routing props: (#2543) by @dimkl
- default is
routing="path"
andpath
prop is required to be set via env or context - when
routing="hash"
orrouting="virtual"
is set the implicit (via env or context)path
option is ignored - when
routing="hash"
orrouting="virtual"
thenpath
prop is not allowed to be set
Examples of components with routing props:
<CreateOrganization />
<OrganizationProfile />
<SignIn />
<SignUp />
<UserProfile />
- default is
-
Allow dynamic values components props, even if these values change after the components are rendered. For example, a
SignIn
component with aredirectUrl
prop passed in will always respect the latest value ofredirectUrl
. (#2515) by @nikosdouvlis -
Updated dependencies [
8cc45d2af
]:- @clerk/shared@2.0.0-alpha-v5.10
-
Fixes error thrown for missing path & routing props when path was passed from context. (#2514) by @dimkl
This change affects components
<SignIn />
,<SignUp />
from@clerk/nextjs
and@clerk/remix
. -
Fixes error when path is passed from context and a routing strategy other than
path
is passed as a prop. (#2530) by @octoperThis change affects components
<SignIn />
,<SignUp />
from@clerk/nextjs
and@clerk/remix
.
- Updated dependencies [
7ecd6f6ab
]:- @clerk/shared@2.0.0-alpha-v5.8
-
Path-based routing is now the default routing strategy if the
path
prop is filled. Additionally, if thepath
androuting
props 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"/>
-
Consolidate
afterSignOutOneUrl
&afterSignOutAllUrl
toafterSignOutUrl
and drop usage of Dashboard settings in ClerkJS components. The Dashboard settings should only apply to the Account Portal application. (#2414) by @dimkl
-
Remove MemberRole Type
MemberRole
would always include the old role keysadmin
,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 export {}; interface ClerkAuthorization { permission: ''; role: 'admin' | 'basic_member' | 'guest_member'; }
-
Update
@clerk/clerk-js
and@clerk/clerk-react
to 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' })
-
Replace the
signOutCallback
prop on the<SignOutButton />
withredirectUrl
. This aligns the API surface with other UI components provided by@clerk/clerk-react
. (#2348) by @LekoArtsIf you previously used the
signOutCallback
prop to navigate to another page, you can migrate as shown below.Before:
import { SignOutButton } from '@clerk/clerk-react'; export const Signout = () => { return ( <SignOutButton signOutCallback={() => { window.location.href = '/your-path'; }} > <button>Sign Out</button> </SignOutButton> ); };
After:
import { SignOutButton } from '@clerk/clerk-react'; export const Signout = () => { return ( <SignOutButton redirectUrl='/your-path'> <button>Sign Out</button> </SignOutButton> ); };
-
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
-
buildUrlWithAuth
no longer accepts anoptions
argument. (#2367) by @tmilewski
- Updated dependencies [
5f58a2274
,a9fe242be
,5f58a2274
,a9fe242be
]:- @clerk/types@4.0.0-alpha-v5.11
- @clerk/shared@2.0.0-alpha-v5.7
-
-
Introduce
@clerk/clerk-react/errors
and@clerk/clerk-react/internal
subpath exports to expose some internal utilities. Eg (#2328) by @dimkl// Before import { __internal__setErrorThrowerOptions } from '@clerk/clerk-react'; // After import { setErrorThrowerOptions } from '@clerk/clerk-react/internal'; // Before import { isClerkAPIResponseError, isEmailLinkError, isKnownError, isMetamaskError } from '@clerk/clerk-react'; // After import { isClerkAPIResponseError, isEmailLinkError, isKnownError, isMetamaskError, } from '@clerk/clerk-react/errors'; // Before import { MultisessionAppSupport } from '@clerk/clerk-react'; // After import { MultisessionAppSupport } from '@clerk/clerk-react/internal';
-
Drop from the
@clerk/clerk-react
and all other clerk-react wrapper packages:__internal__setErrorThrowerOptions
internal utility (moved to /internal subpath)WithClerkProp
typeMultisessionAppSupport
component (moved to /internal subpath)EmailLinkErrorCode
enum
-
Drop
StructureContext
and related errors to reduce code complexity since it seems that it was not being used. -
Drop
withUser
,WithUser
,withClerk
HOFs andWithClerk
,withSession
,WithSession
HOCs from the@clerk/clerk-react
to reduce the export surface since it's trivial to implement if needed.
-
-
Drop
redirectToHome
redirect method in favour ofredirectToAfterSignUp
orredirectToAfterSignIn
. (#2251) by @octoperWhen the
<SignIn/>
and<SignUp/>
components are rendered while a user is already logged in, they will now redirect to the configuredafterSignIn
andafterSignUp
URLs, respectively. Previously, the redirect URL was set to the home URL configured in the dashboard. -
Align return types for redirectTo* methods in ClerkJS [SDK-1037] (#2316) by @tmilewski
Breaking Changes:
redirectToUserProfile
now returnsPromise<unknown>
instead ofvoid
redirectToOrganizationProfile
now returnsPromise<unknown>
instead ofvoid
redirectToCreateOrganization
now returnsPromise<unknown>
instead ofvoid
redirectToHome
now returnsPromise<unknown>
instead ofvoid
-
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
experimental
tags and prefixes - Drop
some
from thehas
utility and Protect. Protect now accepts acondition
prop where a function is expected with thehas
being exposed as the param. - Protect can now be used without required props. In this case behaves as
<SignedIn>
, if no authorization props are passed. has
will throw an error if neitherpermission
orrole
is passed.auth().protect()
for Nextjs App Router. Allow per page protection in app router. This utility will automatically throw a 404 error if user is not authorized or authenticated.- inside a page or layout file it will render the nearest
not-found
component set by the developer - inside a route handler it will return empty response body with a 404 status code
- inside a page or layout file it will render the nearest
-
Add
useAssertWrappedByClerkProvider
to internal code. If you use hooks likeuseAuth
outside 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
,844847e0b
]:- @clerk/shared@2.0.0-alpha-v5.6
- @clerk/types@4.0.0-alpha-v5.10
-
Set correct information on required Node.js and React versions in README (#2264) by @LekoArts
-
Updated dependencies [
6a33709cc
,d30ea1faa
]:- @clerk/types@4.0.0-alpha-v5.8
- @clerk/shared@2.0.0-alpha-v5.5
-
Fix
@clerk/clerk-react
bundle output to resolve issues with vite / rollup ESM module imports. (#2216) by @dimklWe have also used the
bundle
output to export a single index.ts and dropped the unnecessary published files / folders (eg__tests__
). -
Update the TypeScript types of
<ClerkProvider />
. If you use therouterPush
prop you're now required to also provide therouterReplace
prop (or other way around). You can also not provide them at all since both props are optional. (#2227) by @dimkl
-
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
- Updated dependencies [
12962bc58
]:- @clerk/types@4.0.0-alpha-v5.5
-
-
By default, all the components with routing will have the
routing
prop assigned as'path'
by default when thepath
prop is filled. (#1957) by @octoper -
The
<UserButton />
component will set the default value of theuserProfileMode
prop to'navigation'
if theuserProfileUrl
prop is provided. -
The
<OrganizationSwitcher />
component will have theorganizationProfileMode
andcreateOrganizationMode
props assigned with'navigation'
by default if theorganizationProfileUrl
andcreateOrganizationUrl
props are filled accordingly.
-
- Updated dependencies [
7f6a64f43
]:- @clerk/types@4.0.0-alpha-v5.4
-
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
isLegacyFrontendApiKey
from@clerk/shared
- Drop default exports from
@clerk/clerk-js
- on headless Clerk type
- on ui and ui.retheme
Portal
- Use
isProductionFromSecretKey
instead ofisProductionFromApiKey
- Use
isDevelopmentFromSecretKey
instead ofisDevelopmentFromApiKey
Changes:
- Rename
HeadlessBrowserClerkConstrutor
/HeadlessBrowserClerkConstructor
(typo) - Use
isomorphicAtob
/isomorhpicBtoa
to replacebase-64
in@clerk/expo
- Refactor merging build-time and runtime props in
@clerk/backend
clerk client - Drop
node-fetch
dependency from@clerk/backend
- Drop duplicate test in
@clerk/backend
- Drop
-
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 [
52ff8fe6b
,4bb57057e
,40ac4b645
,429d030f7
]:- @clerk/shared@2.0.0-alpha-v5.3
- @clerk/types@4.0.0-alpha-v5.3
- Updated dependencies [
c2a090513
]:- @clerk/shared@2.0.0-alpha-v5.2
- @clerk/types@4.0.0-alpha-v5.2
-
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: (#2102) by @dimkl
- use
EmailLinkError
instead ofMagicLinkError
- use
isEmailLinkError
instead ofisMagicLinkError
- use
EmailLinkErrorCode
instead ofMagicLinkErrorCode
- use
useEmailLink
instead ofuseMagicLink
- use
buildRequestUrl
from@clerk/backend
instead ofgetRequestUrl
from@clerk/shared
- use
OrganizationProvider
instead ofOrganizationContext
- use
userMemberships
instead oforganizationList
fromuseOrganizationList
- use
-
Drop deprecations. Migration steps: (#2082) by @dimkl
- use
publishableKey
instead offrontendApi
- use
Clerk.handleEmailLinkVerification()
instead ofClerk.handleMagicLinkVerification()
- use
isEmailLinkError
instead ofisMagicLinkError
- use
EmailLinkErrorCode
instead ofMagicLinkErrorCode
- use
useEmailLink
instead ofuseMagicLink
- drop
orgs
jwt claim from session token - use
ExternalAccount.imageUrl
instead ofExternalAccount.avatarUrl
- use
Organization.imageUrl
instead ofOrganization.logoUrl
- use
User.imageUrl
instead ofUser.profileImageUrl
- use
OrganizationMembershipPublicUserData.imageUrl
instead ofOrganizationMembershipPublicUserData.profileImageUrl
- use
useOrganizationList
instead ofuseOrganizations
- use
userProfileProps
instead ofuserProfile
inAppearance
- use
Clerk.setActive()
instead ofClerk.setSession()
- drop
password
param inUser.update()
- use
afterSelectOrganizationUrl
instead ofafterSwitchOrganizationUrl
inOrganizationSwitcher
- drop
Clerk.experimental_canUseCaptcha
/Clerk.Clerk.experimental_captchaSiteKey
/Clerk.experimental_captchaURL
(were meant for internal use) - use
User.getOrganizationMemberships()
instead ofClerk.getOrganizationMemberships()
- drop
lastOrganizationInvitation
/lastOrganizationMember
from Clerk emitted events - drop
Clerk.__unstable__invitationUpdate
/Clerk.__unstable__membershipUpdate
- drop support for string param in
Organization.create()
- use
Organization.getInvitations()
instead ofOrganization.getPendingInvitations()
- use
pageSize
instead oflimit
inOrganizationMembership.retrieve()
- use
initialPage
instead ofoffset
inOrganizationMembership.retrieve()
- drop
lastOrganizationInvitation
/lastOrganizationMember
from ClerkProvider - use
invitations
instead ofinvitationList
inuseOrganization
- use
memberships
instead ofmembershipList
inuseOrganization
- use
redirectUrl
instead ofredirect_url
inUser.createExternalAccount()
- use
signature
instead ofgeneratedSignature
inSignup.attemptWeb3WalletVerification()
- use
-
Drop deprecations. Migration steps: (#2109) by @dimkl
- drop
orgs
jwt claim from session token - change type of
auth
param ofwithServerAuth()
callback toAuthObject
fromServerSideAuth
ingatsby-clerk-plugin
- use
auth.sessionClaims
instead ofauth.claims
- use
AuthObject
properties fromauth
- use
- use
publishableKey
instead offrontendApi
- use
ClerkProviderOptionsWrapper
type instead ofIsomorphicClerkOptions
- drop
-
Drop deprecations. Migration steps: (#2151) by @dimkl
- drop
formFieldLabel__emailAddress_phoneNumber
from localization keys - drop
formFieldLabel__phoneNumber_username
from localization keys - drop
formFieldLabel__emailAddress_phoneNumber_username
from localization keys - drop
formFieldInputPlaceholder__emailAddress_phoneNumber
from localization keys - drop
formFieldInputPlaceholder__phoneNumber_username
from localization keys - drop
formFieldInputPlaceholder__emailAddress_phoneNumber_username
from localization keys - use
title__connectionFailed
instead oftitle__conectionFailed
from localization keys - use
actionLabel__connectionFailed
instead ofactionLabel__conectionFailed
from localization keys - use
headerTitle__members
instead ofheaderTitle__active
from localization keys - use
headerTitle__invitations
instead ofheaderTitle__invited
from localization keys - drop
createOrganization.subtitle
from localization keys - use
deDE
instead ofdeDe
localization from@clerk/localizations
- drop
-
Drop deprecations. Migration steps: (#1993) by @dimkl
- use
setActive
instead ofsetSession
fromuseSessionList | useSignUp | useSignIn
hooks - use
publishableKey
instead offrontendApi
- use
handleEmailLinkVerification
instead ofhandleMagicLinkVerification
fromIsomorphicClerk
- use
isEmailLinkError
instead ofisMagicLinkError
- use
EmailLinkErrorCode
instead ofMagicLinkErrorCode
- use
useEmailLink
instead ofuseMagicLink
- use
-
Use the errorThrower shared utility when throwing errors (#1999) by @anagstef
-
Updated dependencies [
64d3763ec
,83e9d0846
,7f833da9e
,492b8a7b1
,2a22aade8
,f77e8cdbd
,0d1052ac2
,5471c7e8d
,477170962
,e0e79b4fe
]:- @clerk/shared@2.0.0-alpha-v5.1
- @clerk/types@4.0.0-alpha-v5.1
- Dropping support for Node 14 and 16 as they both reached EOL status. The minimal Node.js version required by Clerk is
18.18.0
now. (#1864) by @dimkl
- Experimental support for
<Gate/>
with role checks. (#1942) by @panteliselef
-
Ignore
.test.ts
files for the build output. Should result in smaller bundle size. (#2005) by @LekoArts -
Replace internal logic of determining package tag & major version with semver in order to have a more robust solution (#2011) by @LekoArts
-
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
-
Introduce customization in
UserProfile
andOrganizationProfile
(#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 asAccount
andSecurity
, 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 theUserButton
component.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 asMembers
andSettings
, 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 theOrganizationSwitcher
component.
-
Publish packages with npm provenance enabled (#1891) by @LekoArts
-
Update imports of
@clerk/shared
to granular entrypoints. This addresses warnings during a Next.js build that are the result of unsupported APIs being included in the module graph of builds for the edge runtime. (#1924) by @BRKalow -
Updated dependencies [
3bf64107e
,52f8553d2
,92727eec3
,b09b66eec
,51861addf
,aa4cd7615
]:- @clerk/shared@1.0.0
- @clerk/types@3.57.0
- Updated dependencies [
9ca215702
]:- @clerk/types@3.56.1
-
Fix methods in clerk-js that consumede paginated endpoints in order to retrieve single resources. (#1871) by @panteliselef
-
Updated dependencies [
35be8709d
,e38488c92
,a11f962bc
,9b644d799
,a9894b445
,834dadb36
,70f251007
,a46d6fe99
]:- @clerk/types@3.56.0
- @clerk/shared@0.24.5
-
Warn about MagicLink deprecations: (#1836) by @dimkl
MagicLinkError
isMagicLinkError
MagicLinkErrorCode
handleMagicLinkVerification
createMagicLinkFlow
useMagicLink
-
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 -
Introduce new
*EmailLink*
helpers that will replace the*MagicLink*
helpers. (#1833) by @dimklAlso marked all the
*MagicLink*
as deprecated using JSDocs. -
Updated dependencies [
977336f79
,997b8e256
,91e9a55f4
,91014880d
,7f4d4b942
]:- @clerk/shared@0.24.4
- @clerk/types@3.55.0
-
Make
types
the first key in allexports
maps defined in our packages'package.json
. The TypeScript docs recommends so, as theexports
map is order-based. by @nikosdouvlis -
Apply deprecation warnings for @clerk/types: (#1823) by @dimkl
orgs
jwt claimsapiKey
frontendApi
redirect_url
password
generateSignature
afterSwitchOrganizationUrl
profileImageUrl
-
Updated dependencies [
1136c7c15
,1e212c19d
,1136c7c15
,1136c7c15
]:- @clerk/shared@0.24.3
-
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
-
Fix internal subpath imports by replacing them with top level imports. (#1804) by @dimkl
-
Updated dependencies [
b59b6b75d
,164f3aac7
,68259a2bb
,33e927c59
,0636ff779
,9514618d6
,c7c6912f3
,71bb1c7b5
]:- @clerk/types@3.54.0
- @clerk/shared@0.24.2
-
Refactor our script loading logic to use a
versionSelector
helper function. No change in behavior should occur. This internal change allows versions tagged withsnapshot
andstaging
to use the exact corresponding NPM version of@clerk/clerk-js
. (#1780) by @LekoArts -
Updated dependencies [
cecf74d79
]:- @clerk/shared@0.24.1
<SignIn/>
,<SignUp/>
,<RedirectToSignin/>
,<RedirectToSignUp/>
,clerk.redirectToSignIn()
andclerk.redirectToSignUp()
now accept theinitialValues
option, which will prefill the appropriate form fields with the values provided. (#1701) by @desiprisg
-
Apply deprecation warnings for
@clerk/clerk-react
: (#1788) by @dimklsetSession
-
Updated dependencies [
7ffa6fac3
,5c8754239
,2f6a6ac99
,753f7bbda
,55c8ebd39
]:- @clerk/shared@0.24.0
- @clerk/types@3.53.0
-
Remove nested
package.json
files insidedist/cjs
anddist/esm
and movesideEffects
property to top-levelpackage.json
file. This change won't change behavior. (#1785) by @LekoArts -
Updated dependencies [
07ede0f95
,0eb666118
,3b85311c9
,ffcc78c06
,c61ddf5bf
,0366e0b20
]:- @clerk/shared@0.23.1
- @clerk/types@3.52.1
-
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
useOrganizationList
react hook
-
Change
README
to include updated links to issue templates and update Discord link. (#1750) by @LekoArts -
Updated dependencies [
e99df0a0d
,4327b91f9
,8b9a7a360
,30bb9eccb
,01b024c57
]:- @clerk/types@3.52.0
- @clerk/shared@0.22.1
- Support swapping the Clerk publishableKey at runtime to allow users to toggle the instance being used. (#1655) by @BRKalow
-
Introduces userInvitations from
useOrganizationList
(#1520) by @panteliselefuserInvitations
is a paginated list of data. It can be used to create Paginated tables or Infinite lists.
- Updated dependencies [
96cc1921c
,8d1e7d76d
,435d2cff5
,8873841fc
,0a5f632f8
,34da40a50
,3158752c7
,8538cd0c1
,a412a5014
,4ea30e883
,86de584dd
,e02a1aff2
,09bfb793e
,b2296d630
,52ce79108
,4764e40c7
,1e117beec
,89bc5de04
]:- @clerk/shared@0.22.0
- @clerk/types@3.50.0
- Updated dependencies [
ea95525a4
,24a46ae7e
,d433b83b9
,5e1a09df4
,0a59e122d
]:- @clerk/types@3.49.0
- @clerk/shared@0.21.0
- Updated dependencies [
6fa4768dc
]:- @clerk/types@3.48.1
- Add unsafeMetadata prop to the SignUp component (#1464) by @tmilewski
- Updated dependencies [
2a9d83280
]:- @clerk/types@3.48.0
-
Mark setSession as deprecated when it is re-exported within hooks (#1486) by @panteliselef
-
Updated dependencies [
73c9c1d0e
,ae9fc247a
,1a151e701
,090bab66e
,5ecbb0a37
,592911196
]:- @clerk/types@3.47.0
- @clerk/shared@0.20.0
- Populate
openCreateOrganization
return from theuseClerk()
hook (#1435) by @panteliselef
- Fix
global is not defined
error when using Vite + React by @anagstef
- Updated dependencies [
30f8ad18a
]:- @clerk/types@3.46.1
- Updated dependencies [
bfb3af28
]:- @clerk/types@3.46.0
- Updated dependencies [
17cc14ec
]:- @clerk/types@3.44.0
- Updated dependencies [
59bc649a
]:- @clerk/shared@0.19.1
- Export error helpers from the shared package to the framework specific packages (#1308) by @desiprisg
-
Resolve all reported ESM build issues by @nikosdouvlis
-
Updated dependencies [
7af91bc3
,c42b4ac0
,6f3d4305
]:- @clerk/shared@0.19.0
- @clerk/types@3.42.0
-
ESM/CJS support for
@clerk/clerk-react
by @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/shared
and@clerk/nextjs
are no longer getting bundled as a single-file package. This also improves error logging in nextjs a lot, as nextjs usually logs the line that threw the error - a minified, single-file package, usually consists of a very long single-line module, so logging error in NextJS wasn't ideal. - Headless clerk-js bundle size reduced by ~10kb, normal clerk-ks by ~6kb
- A new
clerkJSVersion
prop has been added on ClerkProvider allowing to fetch a specific clerk-js version.
- Better source map support for
- Updated dependencies [
b66ea0a5
,b66ea0a5
,b66ea0a5
,b66ea0a5
]:- @clerk/types@3.41.1
- @clerk/shared@0.18.0
4.18.0 (2023-06-03)
Note: Version bump only for package @clerk/clerk-react
4.17.0 (2023-05-26)
Note: Version bump only for package @clerk/clerk-react
4.16.3 (2023-05-23)
Note: Version bump only for package @clerk/clerk-react
4.16.2 (2023-05-18)
Note: Version bump only for package @clerk/clerk-react
4.16.1 (2023-05-17)
Note: Version bump only for package @clerk/clerk-react
4.16.0 (2023-05-15)
Note: Version bump only for package @clerk/clerk-react
4.15.4 (2023-05-04)
Note: Version bump only for package @clerk/clerk-react
4.15.4-staging.5 (2023-05-04)
Note: Version bump only for package @clerk/clerk-react
4.15.4-staging.3 (2023-05-02)
Note: Version bump only for package @clerk/clerk-react
4.15.3 (2023-04-19)
Note: Version bump only for package @clerk/clerk-react
4.15.2 (2023-04-19)
Note: Version bump only for package @clerk/clerk-react
4.15.1 (2023-04-12)
Note: Version bump only for package @clerk/clerk-react
4.15.0 (2023-04-11)
Note: Version bump only for package @clerk/clerk-react
4.14.2 (2023-04-06)
Note: Version bump only for package @clerk/clerk-react
4.14.1 (2023-03-31)
Note: Version bump only for package @clerk/clerk-react
4.14.1-staging.3 (2023-03-31)
- clerk-react: Check for window in isomorphicClerk (fe82852)
4.14.0 (2023-03-29)
Note: Version bump only for package @clerk/clerk-react
4.12.4 (2023-03-10)
Note: Version bump only for package @clerk/clerk-react
4.12.3 (2023-03-09)
Note: Version bump only for package @clerk/clerk-react
4.12.2 (2023-03-07)
Note: Version bump only for package @clerk/clerk-react
4.12.1 (2023-03-03)
Note: Version bump only for package @clerk/clerk-react
4.12.0 (2023-03-01)
Note: Version bump only for package @clerk/clerk-react
4.11.6 (2023-02-25)
Note: Version bump only for package @clerk/clerk-react
4.11.5 (2023-02-24)
Note: Version bump only for package @clerk/clerk-react
4.11.5-staging.2 (2023-02-22)
Note: Version bump only for package @clerk/clerk-react
4.11.4 (2023-02-17)
Note: Version bump only for package @clerk/clerk-react
4.11.3 (2023-02-15)
Note: Version bump only for package @clerk/clerk-react
4.11.2 (2023-02-10)
Note: Version bump only for package @clerk/clerk-react
4.11.1 (2023-02-07)
Note: Version bump only for package @clerk/clerk-react
4.11.1-staging.0 (2023-02-07)
Note: Version bump only for package @clerk/clerk-react
4.11.0 (2023-02-07)
Note: Version bump only for package @clerk/clerk-react
4.10.0 (2023-02-01)
Note: Version bump only for package @clerk/clerk-react
4.9.0 (2023-01-27)
Note: Version bump only for package @clerk/clerk-react
4.8.4 (2023-01-24)
Note: Version bump only for package @clerk/clerk-react
4.8.3 (2023-01-20)
- nextjs,types: Make frontendApi or publishableKey mutually exclusive but optional (953c276)
4.8.2 (2023-01-19)
- clerk-react: Do not throw missing key error if a Clerk instance is used (a300016)
- clerk-react: Do not throw missing key error in isomorphicClerk.load (8b3b763)
4.8.1 (2023-01-17)
- clerk-react: Add data-clerk-publishable-key attribute only when PK is available (8d44f54)
4.8.0 (2023-01-17)
Note: Version bump only for package @clerk/clerk-react
4.7.0 (2022-12-19)
Note: Version bump only for package @clerk/clerk-react
4.6.4 (2022-12-13)
Note: Version bump only for package @clerk/clerk-react
4.6.3 (2022-12-12)
Note: Version bump only for package @clerk/clerk-react
4.6.2 (2022-12-09)
Note: Version bump only for package @clerk/clerk-react
4.6.1 (2022-12-08)
4.6.0 (2022-12-08)
Note: Version bump only for package @clerk/clerk-react
4.5.5 (2022-12-02)
Note: Version bump only for package @clerk/clerk-react
4.5.4 (2022-11-30)
Note: Version bump only for package @clerk/clerk-react
4.5.4-staging.5 (2022-11-29)
Note: Version bump only for package @clerk/clerk-react
4.5.3 (2022-11-25)
Note: Version bump only for package @clerk/clerk-react
4.5.2 (2022-11-25)
Note: Version bump only for package @clerk/clerk-react
4.5.1 (2022-11-23)
Note: Version bump only for package @clerk/clerk-react
4.5.0 (2022-11-22)
Note: Version bump only for package @clerk/clerk-react
4.5.0-staging.3 (2022-11-21)
- clerk-react: Add HeadlessBrowserClerk (4236147)
4.5.0-staging.2 (2022-11-21)
- clerk-js: Improve DX for headless import (8d64310)
4.4.3 (2022-11-18)
Note: Version bump only for package @clerk/clerk-react
4.4.2 (2022-11-15)
Note: Version bump only for package @clerk/clerk-react
4.4.1 (2022-11-10)
Note: Version bump only for package @clerk/clerk-react
4.4.0 (2022-11-05)
Note: Version bump only for package @clerk/clerk-react
4.3.3 (2022-11-03)
Note: Version bump only for package @clerk/clerk-react
4.3.3-staging.4 (2022-11-02)
Note: Version bump only for package @clerk/clerk-react
4.3.3-staging.3 (2022-11-02)
Note: Version bump only for package @clerk/clerk-react
4.3.3-staging.2 (2022-11-02)
Note: Version bump only for package @clerk/clerk-react
4.3.3-staging.1 (2022-11-02)
- clerk-react: Add frontendAPI on window as a fallback (06f8b37)
4.3.2 (2022-10-24)
Note: Version bump only for package @clerk/clerk-react
4.3.1 (2022-10-14)
Note: Version bump only for package @clerk/clerk-react
4.3.0 (2022-10-14)
Note: Version bump only for package @clerk/clerk-react
4.3.0-staging.1 (2022-10-13)
- clerk-js,clerk-react,types: Wire up
OrganizationSwitcher
andOrganizationProfile
(1e34e69)
4.2.6 (2022-10-07)
Note: Version bump only for package @clerk/clerk-react
4.2.5 (2022-10-05)
Note: Version bump only for package @clerk/clerk-react
4.2.4 (2022-10-03)
Note: Version bump only for package @clerk/clerk-react
4.2.3 (2022-09-29)
Note: Version bump only for package @clerk/clerk-react
4.2.2 (2022-09-25)
Note: Version bump only for package @clerk/clerk-react
4.2.1 (2022-09-24)
Note: Version bump only for package @clerk/clerk-react
4.2.1-staging.1 (2022-09-24)
Note: Version bump only for package @clerk/clerk-react
4.2.0 (2022-09-22)
Note: Version bump only for package @clerk/clerk-react
4.1.1 (2022-09-19)
Note: Version bump only for package @clerk/clerk-react
4.1.0 (2022-09-16)
Note: Version bump only for package @clerk/clerk-react
4.0.10 (2022-09-07)
Note: Version bump only for package @clerk/clerk-react
4.0.9 (2022-09-07)
Note: Version bump only for package @clerk/clerk-react
4.0.8 (2022-08-29)
Note: Version bump only for package @clerk/clerk-react
4.0.7 (2022-08-29)
Note: Version bump only for package @clerk/clerk-react
4.0.6 (2022-08-24)
Note: Version bump only for package @clerk/clerk-react
4.0.5 (2022-08-18)
Note: Version bump only for package @clerk/clerk-react
4.0.4 (2022-08-18)
Note: Version bump only for package @clerk/clerk-react
4.0.3 (2022-08-16)
Note: Version bump only for package @clerk/clerk-react
4.0.2 (2022-08-09)
Note: Version bump only for package @clerk/clerk-react
4.0.1 (2022-08-07)
Note: Version bump only for package @clerk/clerk-react
4.0.0 (2022-08-05)
Note: Version bump only for package @clerk/clerk-react
3.5.1 (2022-08-04)
Note: Version bump only for package @clerk/clerk-react
3.5.0 (2022-07-13)
- nextjs: Add req.organization access on gssp (d064448)
- types,clerk-react,nextjs: Add loadOrg option for Next.js withServerSideAuth middleware (0889bde)
3.4.5 (2022-07-11)
Note: Version bump only for package @clerk/clerk-react
3.4.4 (2022-07-07)
Note: Version bump only for package @clerk/clerk-react
3.4.3 (2022-07-06)
Note: Version bump only for package @clerk/clerk-react
3.4.2 (2022-07-01)
Note: Version bump only for package @clerk/clerk-react
3.4.1 (2022-06-24)
Note: Version bump only for package @clerk/clerk-react
3.4.0 (2022-06-16)
Note: Version bump only for package @clerk/clerk-react
3.3.0 (2022-06-06)
Note: Version bump only for package @clerk/clerk-react
3.3.0-staging.4 (2022-06-03)
- clerk-react: Correct annotations in isomorphicClerk for setSession (56abc04)
3.3.0-staging.3 (2022-06-03)
Note: Version bump only for package @clerk/clerk-react
3.3.0-staging.2 (2022-06-02)
Note: Version bump only for package @clerk/clerk-react
3.3.0-staging.1 (2022-06-01)
- clerk-js: Emit changes in organization to listeners (798ee62)
3.2.18 (2022-05-20)
Note: Version bump only for package @clerk/clerk-react
3.2.18-staging.1 (2022-05-18)
Note: Version bump only for package @clerk/clerk-react
3.2.18-staging.0 (2022-05-17)
Note: Version bump only for package @clerk/clerk-react
3.2.17 (2022-05-13)
Note: Version bump only for package @clerk/clerk-react
3.2.16 (2022-05-12)
Note: Version bump only for package @clerk/clerk-react
3.2.15 (2022-05-12)
Note: Version bump only for package @clerk/clerk-react
3.2.14 (2022-05-11)
Note: Version bump only for package @clerk/clerk-react
3.2.13 (2022-05-06)
- clerk-react: Make getOrCreateInstance handle both SSR and CSR instantiation (d22b808)
- clerk-react: Make isomorphicClerk loading idempotent (91b6217)
- clerk-react: Pass initialState directly to ClerkContextProvider (9e55b7c)
3.2.13-staging.0 (2022-05-05)
- clerk-react: Make getOrCreateInstance handle both SSR and CSR instantiation (8f9481c)
- clerk-react: Make isomorphicClerk loading idempotent (221919c)
- clerk-react: Pass initialState directly to ClerkContextProvider (cb777d4)
3.2.12 (2022-05-05)
Note: Version bump only for package @clerk/clerk-react
3.2.11 (2022-04-28)
Note: Version bump only for package @clerk/clerk-react
3.2.10 (2022-04-27)
- clerk-react: Define global in window if not defined (48da3ac)
3.2.9 (2022-04-27)
- clerk-react: Type updates for React 18 (6d5c0bf)
3.2.8 (2022-04-19)
Note: Version bump only for package @clerk/clerk-react
3.2.8-staging.1 (2022-04-19)
Note: Version bump only for package @clerk/clerk-react
3.2.7 (2022-04-18)
Note: Version bump only for package @clerk/clerk-react
3.2.7-alpha.0 (2022-04-15)
Note: Version bump only for package @clerk/clerk-react
3.2.6 (2022-04-15)
3.2.5 (2022-04-15)
Note: Version bump only for package @clerk/clerk-react
3.2.4 (2022-04-13)
Note: Version bump only for package @clerk/clerk-react
3.2.3 (2022-04-07)
Note: Version bump only for package @clerk/clerk-react
3.2.2 (2022-04-04)
Note: Version bump only for package @clerk/clerk-react
3.2.1 (2022-03-28)
Note: Version bump only for package @clerk/clerk-react
3.2.0 (2022-03-24)
Note: Version bump only for package @clerk/clerk-react
3.2.0-staging.0 (2022-03-24)
- types,clerk-js,backend-core,clerk-react: Replace thrown error with null return in getToken (d972f93)
3.1.1-alpha.0 (2022-03-23)
Note: Version bump only for package @clerk/clerk-react
3.1.0-alpha.2 (2022-03-23)
Note: Version bump only for package @clerk/clerk-react
3.1.0-alpha.1 (2022-03-23)
- clerk-js,types: Rename UserButton params to afterSignOutUrl, afterMultiSessionSingleSignOutUrl (c4cb76a)
3.1.0-alpha.0 (2022-03-22)
Note: Version bump only for package @clerk/clerk-react
3.0.1-alpha.3 (2022-03-22)
Note: Version bump only for package @clerk/clerk-react
3.0.1-alpha.2 (2022-03-22)
3.0.1-alpha.1 (2022-03-20)
3.0.1-alpha.0 (2022-03-19)
3.0.0-alpha.10 (2022-03-11)
- clerk-react: Add isLoaded to
useOrganizations
hook (#92) (a316c7a) - clerk-remix: Mark clerk-remix as side-effect free to fix Remix bundling (c57a902)
3.0.0-alpha.9 (2022-02-28)
- clerk-remix: Mark clerk-remix as side-effect free to fix Remix bundling (c57a902)
3.0.0-alpha.8 (2022-02-25)
- clerk-remix: Mark clerk-remix as side-effect free to fix Remix bundling (287a438)
3.0.0-alpha.7 (2022-02-18)
- clerk-remix: Mark clerk-remix as side-effect free to fix Remix bundling (0d22857)
2.12.6 (2022-03-17)
Note: Version bump only for package @clerk/clerk-react
2.12.6-staging.1 (2022-03-17)
Note: Version bump only for package @clerk/clerk-react
2.12.4 (2022-03-11)
Note: Version bump only for package @clerk/clerk-react
2.12.3 (2022-03-09)
Note: Version bump only for package @clerk/clerk-react
2.12.1 (2022-03-04)
- clerk-react,clerk-js,types: Crate of API feedback fixes (721ce72)
2.12.0 (2022-03-04)
- clerk-js,clerk-react: GetOrganization/s hook methods, fetching mechanism alignment (fc11087)
- clerk-js: Add useOrganization hook (480c422)
- clerk-react,clerk-js: Add useOrganization hook using __unstable attribute (1635132)
2.11.7 (2022-03-03)
Note: Version bump only for package @clerk/clerk-react
2.11.6 (2022-03-02)
Note: Version bump only for package @clerk/clerk-react
2.11.5 (2022-03-01)
Note: Version bump only for package @clerk/clerk-react
2.11.4 (2022-02-24)
Note: Version bump only for package @clerk/clerk-react
2.11.4-staging.0 (2022-02-24)
Note: Version bump only for package @clerk/clerk-react
2.11.3-staging.0 (2022-02-17)
Note: Version bump only for package @clerk/clerk-react
2.11.2-staging.0 (2022-02-15)
Note: Version bump only for package @clerk/clerk-react
2.11.1 (2022-02-14)
Note: Version bump only for package @clerk/clerk-react
- clerk-sdk-node: Deprecate Session named middleware, introduce withAuth, requireAuth (4e69553)