@clerk/upgrade 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. package/dist/app.js +20 -12
  2. package/dist/cli.js +17 -11
  3. package/dist/scan.js +59 -18
  4. package/dist/util/expandable-list.js +5 -4
  5. package/dist/util/generate-changelog.js +1 -1
  6. package/dist/util/generate-export-change.js +0 -3
  7. package/dist/util/guess-framework.js +47 -11
  8. package/dist/util/load-change.js +1 -1
  9. package/dist/versions/v5/backend/api-url-value-changed.md +1 -0
  10. package/dist/versions/v5/backend/clerk-import.md +2 -2
  11. package/dist/versions/v5/backend/createclerkclient-frontendapi.md +1 -1
  12. package/dist/versions/v5/backend/pkgversion.md +3 -3
  13. package/dist/versions/v5/common/afterswitchorganizationurl.md +3 -6
  14. package/dist/versions/v5/common/getorganizationinvitationlist-return-type-change.md +14 -0
  15. package/dist/versions/v5/common/getorganizationlist-return-type-change.md +14 -0
  16. package/dist/versions/v5/common/getorganizationmembershiplist-return-type-change.md +14 -0
  17. package/dist/versions/v5/common/getroles-pagination.md +15 -0
  18. package/dist/versions/v5/common/handlemagiclinkverification.md +1 -1
  19. package/dist/versions/v5/common/min-react-version.md +6 -0
  20. package/dist/versions/v5/common/navigate-to-routerpush-routerreplace.md +8 -6
  21. package/dist/versions/v5/common/organization-getdomains-arguments-change.md +1 -6
  22. package/dist/versions/v5/common/organization-getinvitations-arguments-changed.md +15 -0
  23. package/dist/versions/v5/common/organization-getmembershiprequests-arguments-changed.md +1 -6
  24. package/dist/versions/v5/common/organization-getmemberships-arguments-changed.md +15 -0
  25. package/dist/versions/v5/common/organization-getroles-arguments-changed.md +1 -6
  26. package/dist/versions/v5/common/setsession.md +1 -0
  27. package/dist/versions/v5/common/usemagiclink.md +1 -1
  28. package/dist/versions/v5/common/user-getorganizationinvitations-arguments-chanaged.md +15 -0
  29. package/dist/versions/v5/common/user-getorganizationmemberships-arguments-chanaged.md +15 -0
  30. package/dist/versions/v5/common/user-getorganizationsuggestions-arguments-chanaged.md +15 -0
  31. package/dist/versions/v5/common/userprofile-prop.md +6 -1
  32. package/dist/versions/v5/expo/clerkprovider-frontendapi.md +4 -7
  33. package/dist/versions/v5/fastify/api-url-value-change.md +3 -1
  34. package/dist/versions/v5/fastify/clerk-import-change.md +12 -0
  35. package/dist/versions/v5/fastify/clerkplugin-frontendapi.md +3 -6
  36. package/dist/versions/v5/fastify/createclerkclient-apikey.md +4 -7
  37. package/dist/versions/v5/fastify/createclerkclient-frontendapi.md +4 -7
  38. package/dist/versions/v5/gatsby/api-url-value-change.md +3 -1
  39. package/dist/versions/v5/gatsby/clerk-import-change.md +12 -0
  40. package/dist/versions/v5/gatsby/createclerkclient-apikey.md +4 -7
  41. package/dist/versions/v5/gatsby/createclerkclient-frontendapi.md +4 -7
  42. package/dist/versions/v5/index.js +8 -8
  43. package/dist/versions/v5/js/organization-create-string.md +3 -6
  44. package/dist/versions/v5/js/organization-getdomains-arguments-change.md +1 -6
  45. package/dist/versions/v5/js/organization-getinvitations-arguments-changed.md +1 -6
  46. package/dist/versions/v5/js/organization-getmembershiprequests-arguments-changed.md +1 -6
  47. package/dist/versions/v5/js/organization-getmemberships-arguments-changed.md +1 -6
  48. package/dist/versions/v5/js/organization-getpendinginvitations.md +3 -6
  49. package/dist/versions/v5/js/organization-getroles-arguments-changed.md +1 -6
  50. package/dist/versions/v5/js/redirecttohome.md +1 -1
  51. package/dist/versions/v5/js/router-navigate-push-replace.md +18 -0
  52. package/dist/versions/v5/js/signup-attemptweb3walletverification-generatedsignature.md +2 -1
  53. package/dist/versions/v5/js/user-createexternalaccount-redirecturl.md +1 -1
  54. package/dist/versions/v5/js/user-getorganizationinvitations-arguments-chanaged.md +1 -6
  55. package/dist/versions/v5/js/user-getorganizationmemberships-arguments-chanaged.md +1 -6
  56. package/dist/versions/v5/js/user-getorganizationsuggestions-arguments-chanaged.md +1 -6
  57. package/dist/versions/v5/js/user-update-password.md +1 -1
  58. package/dist/versions/v5/next/api-url-value-change.md +1 -0
  59. package/dist/versions/v5/next/auth-import-change.md +1 -1
  60. package/dist/versions/v5/next/authmiddleware-frontendapi.md +7 -2
  61. package/dist/versions/v5/next/constants-import-change.md +1 -1
  62. package/dist/versions/v5/next/createclerkclient-apikey.md +3 -6
  63. package/dist/versions/v5/next/createclerkclient-frontendapi.md +3 -6
  64. package/dist/versions/v5/next/getauth-apikey.md +5 -2
  65. package/dist/versions/v5/next/import-nextjs-api.md +0 -2
  66. package/dist/versions/v5/next/min-nextjs-version.md +9 -0
  67. package/dist/versions/v5/next/redirect-import-change.md +1 -1
  68. package/dist/versions/v5/next/redirecttosignin-import-path.md +12 -0
  69. package/dist/versions/v5/next/redirecttosignin-removed.md +6 -0
  70. package/dist/versions/v5/next/redirecttosignup-import-path.md +12 -0
  71. package/dist/versions/v5/next/redirecttosignup-removed.md +6 -0
  72. package/dist/versions/v5/next/with-clerk-middleware-removed.md +2 -2
  73. package/dist/versions/v5/node/api-url-value-change.md +4 -2
  74. package/dist/versions/v5/node/cjs-esm-instance.md +6 -9
  75. package/dist/versions/v5/node/clerk-import-change.md +12 -0
  76. package/dist/versions/v5/node/clerkexpressrequireauth-apikey.md +4 -7
  77. package/dist/versions/v5/node/clerkexpressrequireauth-frontendapi.md +4 -7
  78. package/dist/versions/v5/node/clerkexpresswithauth-apikey.md +4 -7
  79. package/dist/versions/v5/node/clerkexpresswithauth-frontendapi.md +4 -7
  80. package/dist/versions/v5/node/createclerkclient-apikey.md +4 -7
  81. package/dist/versions/v5/node/createclerkclient-frontendapi.md +4 -7
  82. package/dist/versions/v5/node/createclerkexpressrequireauth-apikey.md +4 -7
  83. package/dist/versions/v5/node/createclerkexpressrequireauth-frontendapi.md +4 -7
  84. package/dist/versions/v5/node/createclerkexpresswithauth-apikey.md +4 -7
  85. package/dist/versions/v5/node/createclerkexpresswithauth-frontendapi.md +4 -7
  86. package/dist/versions/v5/node/legacyauthobject-removed.md +6 -6
  87. package/dist/versions/v5/node/setclerkapikey.md +4 -6
  88. package/dist/versions/v5/node/setclerkapiversion.md +4 -6
  89. package/dist/versions/v5/node/setclerkhttpoptions.md +4 -6
  90. package/dist/versions/v5/node/setclerkserverapiurl.md +7 -9
  91. package/dist/versions/v5/react/api-url-value-change.md +3 -1
  92. package/dist/versions/v5/remix/clerk-import-change.md +12 -0
  93. package/dist/versions/v5/remix/clerkerrorboundary-removed.md +1 -0
  94. package/package.json +50 -61
  95. package/dist/test.js +0 -100
  96. package/dist/util/test.js +0 -100
  97. package/dist/versions/v5/backend/return-signature-change.md +0 -14
  98. package/dist/versions/v5/common/aftersigninouturl-behavior-change.md +0 -7
  99. package/dist/versions/v5/common/aftersigninurl-behavior-change +0 -7
  100. package/dist/versions/v5/common/aftersigninurl-behavior-change.md +0 -7
  101. package/dist/versions/v5/common/clerkprovider-frontendapi.md +0 -7
  102. package/dist/versions/v5/common/external-account-avatarurl.md +0 -7
  103. package/dist/versions/v5/common/multi-session-ui-changes.md +0 -0
  104. package/dist/versions/v5/common/organization-getroles-return-type.md +0 -0
  105. package/dist/versions/v5/common/organizationprofile-general.md +0 -0
  106. package/dist/versions/v5/common/userbuttonpopoveractionbuttontext.md +0 -7
  107. package/dist/versions/v5/common/withuser-removed.md +0 -16
  108. package/dist/versions/v5/js/aftersigninout-behavior-change.md +0 -7
  109. package/dist/versions/v5/js/aftersigninouturl-behavior-change.md +0 -7
  110. package/dist/versions/v5/js/aftersigninurl-behavior-change.md +0 -0
  111. package/dist/versions/v5/js/afterswitchorganizationurl.md +0 -15
  112. package/dist/versions/v5/js/appearance-organizationpreview-organizationswitcher.md +0 -8
  113. package/dist/versions/v5/js/useorganization-invitationlist.md +0 -25
  114. package/dist/versions/v5/js/useorganization-membershiplist.md +0 -24
  115. package/dist/versions/v5/js/useorganizations.md +0 -26
  116. package/dist/versions/v5/js/user-getorganizationmemberships-arguments-chanaged +0 -0
  117. package/dist/versions/v5/js/userprofile-prop.md +0 -7
  118. package/dist/versions/v5/next/verify +0 -0
  119. package/dist/versions/v5/next/withclerk-removed.md +0 -15
  120. package/dist/versions/v5/next/withsession-removed.md +0 -15
  121. package/dist/versions/v5/next/withuser-removed.md +0 -0
  122. package/dist/versions/v5/node/package-rename.md +0 -6
  123. package/dist/versions/v5/react/afterswitchorganizationurl.md +0 -15
  124. package/dist/versions/v5/react/appearance-organizationpreview-organizationswitcher.md +0 -8
  125. package/dist/versions/v5/react/signoutcallback-to- +0 -0
  126. package/dist/versions/v5/react/signoutcallback-to-redirecturl.md +0 -22
  127. package/dist/versions/v5/react/useorganization-invitationlist.md +0 -25
  128. package/dist/versions/v5/react/useorganization-membershiplist.md +0 -24
  129. package/dist/versions/v5/react/useorganizations.md +0 -26
  130. package/dist/versions/v5/react/userprofile-prop.md +0 -7
  131. package/dist/versions/v5/remix/clerkprovider-frontendapi.md +0 -0
  132. package/dist/versions/v5/shared/buildrequesturl.md +0 -12
  133. /package/dist/versions/v5/backend/{signjwt-import-path-move → clerkoptions-type.md} +0 -0
  134. /package/dist/versions/v5/backend/{decodeJwt-import-path-move.md → decodejwt-import-path-move.md} +0 -0
@@ -4,4 +4,4 @@ matcher: 'useMagicLink'
4
4
  replaceWithString: 'useEmailLink'
5
5
  ---
6
6
 
7
- Across Clerk's documentation and codebases the term "magic link" was changed to "email link" as it more accurately reflects the functionality.
7
+ Across Clerk's documentation and codebases the term "magic link" was changed to "email link" as it more accurately reflects functionality.
@@ -0,0 +1,15 @@
1
+ ---
2
+ title: '`User.getOrganizationInvitations` arguments changed'
3
+ matcher: "\\.getOrganizationInvitations\\("
4
+ ---
5
+
6
+ There have been a couple changes to the pagination arguments that can be passed into this function - `limit` has been renamed to `pageSize`, and `offset` has been renamed to `initialPage`. This will help to make it more clear and simple to reason about pagination control. Example of how changes might look below:
7
+
8
+ ```diff
9
+ const { data } = await user.getOrganizationInvitations({
10
+ - limit: 10,
11
+ + pageSize: 10,
12
+ - offset: 10,
13
+ + initialPage: 2,
14
+ })
15
+ ```
@@ -0,0 +1,15 @@
1
+ ---
2
+ title: '`User.getOrganizationMemberships` arguments changed'
3
+ matcher: "\\.getOrganizationMemberships\\("
4
+ ---
5
+
6
+ There have been a couple changes to the pagination arguments that can be passed into this function - `limit` has been renamed to `pageSize`, and `offset` has been renamed to `initialPage`. This will help to make it more clear and simple to reason about pagination control. Example of how changes might look below:
7
+
8
+ ```diff
9
+ const { data } = await user.getOrganizationMemberships({
10
+ - limit: 10,
11
+ + pageSize: 10,
12
+ - offset: 10,
13
+ + initialPage: 2,
14
+ })
15
+ ```
@@ -0,0 +1,15 @@
1
+ ---
2
+ title: '`User.getOrganizationSuggestions` arguments changed'
3
+ matcher: "\\.getOrganizationSuggestions\\("
4
+ ---
5
+
6
+ There have been a couple changes to the pagination arguments that can be passed into this function - `limit` has been renamed to `pageSize`, and `offset` has been renamed to `initialPage`. This will help to make it more clear and simple to reason about pagination control. Example of how changes might look below:
7
+
8
+ ```diff
9
+ const { data } = await user.getOrganizationSuggestions({
10
+ - limit: 10,
11
+ + pageSize: 10,
12
+ - offset: 10,
13
+ + initialPage: 2,
14
+ })
15
+ ```
@@ -5,4 +5,9 @@ matcherFlags: 'm'
5
5
  replaceWithString: 'userProfileProps'
6
6
  ---
7
7
 
8
- The `userProfile` prop on [the `UserButton` component](https://clerk.com/docs/references/javascript/clerk/user-button#user-button-component) has been changed to `userProfileProps`. This is purely a name change, none of the values need to be updated
8
+ The `userProfile` prop on [the `UserButton` component](https://clerk.com/docs/references/javascript/clerk/user-button#user-button-component) has been changed to `userProfileProps`. This is purely a name change, none of the values need to be updated.
9
+
10
+ ```diff
11
+ - <UserButton userProfile={} />
12
+ + <UserButton userProfileProps={} />
13
+ ```
@@ -4,14 +4,11 @@ matcher: "<ClerkProvider[\\s\\S]*?frontendApi=[\\s\\S]*?>"
4
4
  matcherFlags: 'm'
5
5
  ---
6
6
 
7
- The `frontendApi` prop passed to `ClerkProvider` must be changed to `publishableKey`. The value also must be updated to be a publishable key rather than a frontend API key, [here’s more information on how to do this](TODO)
7
+ The `frontendApi` prop passed to `ClerkProvider` must be changed to `publishableKey`. The value also must be updated to be a publishable key rather than a frontend API key. Publishable keys can be found in your Clerk dashboard.
8
8
 
9
- ```js
9
+ ```diff
10
10
  import { ClerkProvider } from '@clerk/clerk-expo';
11
11
 
12
- // before
13
- <ClerkProvider frontendApi='...' />
14
-
15
- // after
16
- <ClerkProvider publishableKey='...' />
12
+ - <ClerkProvider frontendApi='...' />
13
+ + <ClerkProvider publishableKey='...' />
17
14
  ```
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  title: '`API_URL` value has changed'
3
- matcher: "API_URL.*?from\\s['\"]@clerk\\/fastify\\/constants['\"]"
3
+ matcher: "API_URL[\\s\\S]*?from\\s*['\"]@clerk\\/fastify\\/constants['\"]"
4
+ matcherFlags: 'm'
5
+ warning: true
4
6
  ---
5
7
 
6
8
  The value of this export has changed from `https://api.clerk.dev` to `https://api.clerk.com`. If you were relying on the text content of this value not changing, you may need to make adjustments.
@@ -0,0 +1,12 @@
1
+ ---
2
+ title: '`Clerk` -> `{ createClerkClient }`'
3
+ matcher: "import\\s+{[\\s\\S]*?[,\\s]Clerk[,\\s][\\s\\S]*?from\\s+['\"]@clerk\\/fastify[\\s\\S]*?['\"]"
4
+ matcherFlags: 'm'
5
+ ---
6
+
7
+ The `Clerk` default import has changed to `createClerkClient` and been moved to a named import rather than default. You must update your import path in order for it to work correctly. Example below of the fix that needs to be made:
8
+
9
+ ```diff
10
+ - import Clerk from "@clerk/fastify"
11
+ + import { createClerkClient } from "@clerk/fastify"
12
+ ```
@@ -6,12 +6,9 @@ matcherFlags: 'm'
6
6
 
7
7
  The `frontendApi` argument passed to `clerkPlugin` must be changed to `publishableKey`. Note that the values of the two keys are different, so both keys and values need to be changed. You can find your application's publishable key in the Clerk dashboard.
8
8
 
9
- ```js
9
+ ```diff
10
10
  import { clerkPlugin } from '@clerk/fastify';
11
11
 
12
- // before
13
- fastify.register(clerkPlugin, { frontendApi: '...' });
14
-
15
- // after
16
- fastify.register(clerkPlugin, { publishableKey: '...' });
12
+ - fastify.register(clerkPlugin, { frontendApi: '...' });
13
+ + fastify.register(clerkPlugin, { publishableKey: '...' });
17
14
  ```
@@ -1,17 +1,14 @@
1
1
  ---
2
2
  title: '`apiKey` -> `secretKey` as param to createClerkClient'
3
- matcher: "createClerkClient\\({.*?apiKey:.*?}\\)"
3
+ matcher: "createClerkClient\\([\\s\\S]*?apiKey:[\\s\\S]*?\\)"
4
4
  matcherFlags: 'm'
5
5
  ---
6
6
 
7
7
  The `apiKey` argument passed to `createClerkClient` must be changed to `secretKey`.
8
8
 
9
- ```js
9
+ ```diff
10
10
  import { createClerkClient } from '@clerk/fastify';
11
11
 
12
- // before
13
- createClerkClient({ apiKey: '...' });
14
-
15
- // after
16
- createClerkClient({ secretKey: '...' });
12
+ - createClerkClient({ apiKey: '...' });
13
+ + createClerkClient({ secretKey: '...' });
17
14
  ```
@@ -1,17 +1,14 @@
1
1
  ---
2
2
  title: '`frontendApi` -> `publishableKey` as param to createClerkClient'
3
- matcher: "createClerkClient\\({.*?frontendApi:.*?}\\)"
3
+ matcher: "createClerkClient\\([\\s\\S]*?frontendApi:[\\s\\S]*?\\)"
4
4
  matcherFlags: 'm'
5
5
  ---
6
6
 
7
7
  The `frontendApi` argument passed to `createClerkClient` must be changed to `publishableKey`. Note that the values of the two keys are different, so both keys and values need to be changed. You can find your application's publishable key in the Clerk dashboard.
8
8
 
9
- ```js
9
+ ```diff
10
10
  import { createClerkClient } from '@clerk/fastify';
11
11
 
12
- // before
13
- createClerkClient({ frontendApi: '...' });
14
-
15
- // after
16
- createClerkClient({ publishableKey: '...' });
12
+ - createClerkClient({ frontendApi: '...' });
13
+ + createClerkClient({ publishableKey: '...' });
17
14
  ```
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  title: '`API_URL` value has changed'
3
- matcher: "API_URL.*?from\\s['\"]gatsby-plugin-clerk\\/constants['\"]"
3
+ matcher: "import\\s+{[\\s\\S]*?[,\\s]API_URL[,\\s][\\s\\S]*?from\\s+['\"]gatsby-plugin-clerk\\/constants[\\s\\S]*?['\"]"
4
+ matcherFlags: 'm'
5
+ warning: true
4
6
  ---
5
7
 
6
8
  - The value of this export has changed from `https://api.clerk.dev` to `https://api.clerk.com`. If you were relying on the text content of this value not changing, you may need to make adjustments.
@@ -0,0 +1,12 @@
1
+ ---
2
+ title: '`Clerk` -> `{ createClerkClient }`'
3
+ matcher: "import\\s+{[\\s\\S]*?[,\\s]Clerk[,\\s][\\s\\S]*?from\\s+['\"]gatsby-plugin-clerk[\\s\\S]*?['\"]"
4
+ matcherFlags: 'm'
5
+ ---
6
+
7
+ The `Clerk` default import has changed to `createClerkClient` and been moved to a named import rather than default. You must update your import path in order for it to work correctly. Example below of the fix that needs to be made:
8
+
9
+ ```diff
10
+ - import Clerk from "gatsby-plugin-clerk"
11
+ + import { createClerkClient } from "gatsby-plugin-clerk"
12
+ ```
@@ -1,17 +1,14 @@
1
1
  ---
2
2
  title: '`apiKey` -> `secretKey` as param to createClerkClient'
3
- matcher: "createClerkClient\\({.*?apiKey:.*?}\\)"
3
+ matcher: "createClerkClient\\([\\s\\S]*?apiKey:[\\s\\S]*?\\)"
4
4
  matcherFlags: 'm'
5
5
  ---
6
6
 
7
7
  The `apiKey` argument passed to `createClerkClient` must be changed to `secretKey`.
8
8
 
9
- ```js
9
+ ```diff
10
10
  import { createClerkClient } from 'gatsby-plugin-clerk/api';
11
11
 
12
- // before
13
- createClerkClient({ apiKey: '...' });
14
-
15
- // after
16
- createClerkClient({ secretKey: '...' });
12
+ - createClerkClient({ apiKey: '...' });
13
+ + createClerkClient({ secretKey: '...' });
17
14
  ```
@@ -1,17 +1,14 @@
1
1
  ---
2
2
  title: '`frontendApi` -> `publishableKey` as param to createClerkClient'
3
- matcher: "createClerkClient\\({.*?frontendApi:.*?}\\)"
3
+ matcher: "createClerkClient\\([\\s\\S]*?frontendApi:[\\s\\S]*?\\)"
4
4
  matcherFlags: 'm'
5
5
  ---
6
6
 
7
7
  The `frontendApi` argument passed to `createClerkClient` must be changed to `publishableKey`. Note that the values of the two keys are different, so both keys and values need to be changed. You can find your application's publishable key in the Clerk dashboard.
8
8
 
9
- ```js
9
+ ```diff
10
10
  import { createClerkClient } from 'gatsby-plugin-clerk/api';
11
11
 
12
- // before
13
- createClerkClient({ frontendApi: '...' });
14
-
15
- // after
16
- createClerkClient({ publishableKey: '...' });
12
+ - createClerkClient({ frontendApi: '...' });
13
+ + createClerkClient({ publishableKey: '...' });
17
14
  ```
@@ -3,16 +3,16 @@ const load = createLoader({
3
3
  version: '5',
4
4
  baseUrl: 'https://clerk.com/docs/upgrade-guides/v5'
5
5
  });
6
- const reactChangesList = ['magiclinkerrorcode', 'usemagiclink', 'ismagiclinkerror', 'magiclinkerror', 'handlemagiclinkverification', 'clerkprovider-frontendapi-2', 'setsession', 'navigate-to-routerpush-routerreplace', 'afterswitchorganizationurl', 'appearance-organizationpreview-organizationswitcher', 'useorganization-invitationlist', 'useorganization-membershiplist', 'useorganizations', 'userprofile-prop', 'organizationprofile-settings', 'userprofile-security', 'mfa-dropdown', 'connected-accounts-dropdown', 'userbuttonpopoveractionbuttontext-removed', 'userbuttontrigger-userbuttonbox-invert', 'organizationswitcherpopoveractionbuttontext-removed', 'card-changes', 'alternativemethods-backlink', 'button-to-organizationlistcreateorganizationactionbutton', 'remove-socialbuttonsblockbuttonarrow', 'remove-identitypreview-avatar', 'withsession-removed', 'withclerk-removed', 'withuser-removed-2', 'withclerk-hof-removed', 'withsession-hof-removed', 'withuser-hof-removed', 'multisessionappsupport-import-change', 'clerkprovideroptionswrapper-dropped', 'aftersignouturl-behavior-change', 'aftersigninurl-behavior-change-2', 'aftersignupurl-behavior-change', 'new-localization-keys', 'removed-localization-keys', 'changed-localization-keys', 'signoutcallback-to-redirecturl'];
6
+ const reactChangesList = ['magiclinkerrorcode', 'usemagiclink', 'ismagiclinkerror', 'magiclinkerror', 'handlemagiclinkverification', 'clerkprovider-frontendapi-2', 'setsession', 'navigate-to-routerpush-routerreplace', 'afterswitchorganizationurl', 'appearance-organizationpreview-organizationswitcher', 'useorganization-invitationlist', 'useorganization-membershiplist', 'useorganizations', 'userprofile-prop', 'organizationprofile-settings', 'userprofile-security', 'mfa-dropdown', 'connected-accounts-dropdown', 'userbuttonpopoveractionbuttontext-removed', 'userbuttontrigger-userbuttonbox-invert', 'organizationswitcherpopoveractionbuttontext-removed', 'card-changes', 'alternativemethods-backlink', 'button-to-organizationlistcreateorganizationactionbutton', 'remove-socialbuttonsblockbuttonarrow', 'remove-identitypreview-avatar', 'withsession-removed', 'withclerk-removed', 'withuser-removed-2', 'withclerk-hof-removed', 'withsession-hof-removed', 'withuser-hof-removed', 'multisessionappsupport-import-change', 'clerkprovideroptionswrapper-dropped', 'aftersignouturl-behavior-change', 'aftersigninurl-behavior-change-2', 'aftersignupurl-behavior-change', 'new-localization-keys', 'removed-localization-keys', 'changed-localization-keys', 'signoutcallback-to-redirecturl', 'min-react-version', 'getorganizationlist-return-type-change', 'getorganizationinvitationlist-return-type-change', 'getorganizationmembershiplist-return-type-change', 'organization-getroles-arguments-changed', 'organization-getmemberships-arguments-changed', 'organization-getdomains-arguments-change', 'organization-getinvitations-arguments-changed', 'organization-getmembershiprequests-arguments-changed', 'user-getorganizationinvitations-arguments-chanaged', 'user-getorganizationsuggestions-arguments-chanaged', 'user-getorganizationmemberships-arguments-chanaged'];
7
7
  export default {
8
- nextjs: load('next', ['api-key-to-secret-key', 'frontend-api-to-publishable-key', 'with-clerk-middleware-removed', 'auth-middleware-deprecated', 'clerk-js-version-next-public', 'authmiddleware-apikey', 'authmiddleware-frontendapi', 'createclerkclient-apikey', 'createclerkclient-frontendapi', 'getauth-apikey', 'clerkprovider-frontendapi-2', 'import-nextjs-app-beta', 'import-nextjs-ssr', 'import-nextjs-edge-middleware', 'import-nextjs-edge-middlewarefiles', 'import-api-url', 'import-api-version', 'import-clerk-js-url', 'import-clerk-js-version', 'import-domain', 'import-is-satellite', 'import-proxy-url', 'import-publishable-key', 'import-secret-key', 'import-sign-in-url', 'import-sign-up-url', 'import-nextjs-api', 'api-url-value-change', 'ismagiclinkerror', 'usemagiclink', 'magiclinkerrorcode', 'setsession', 'organizationprofile-settings', 'userprofile-security', 'mfa-dropdown', 'connected-accounts-dropdown', 'userbuttonpopoveractionbuttontext-removed', 'userbuttontrigger-userbuttonbox-invert', 'organizationswitcherpopoveractionbuttontext-removed', 'card-changes', 'alternativemethods-backlink', 'button-to-organizationlistcreateorganizationactionbutton', 'remove-socialbuttonsblockbuttonarrow', 'remove-identitypreview-avatar', 'multisessionappsupport-import-change', 'auth-import-change', 'currentuser-import-change', 'authmiddleware-import-change', 'buildclerkprops-import-change', 'verifytoken-import-change', 'verifyjwt-import-change', 'decodejwt-import-change', 'signjwt-import-change', 'constants-import-change', 'createauthenticaterequest-import-change', 'createisomorphicrequest-import-change', 'clerk-import-change', 'isclerkapiresponserror-import-change', 'isemaillinkerror-import-change', 'isknownerror-import-change', 'ismetamaskerror-import-change', 'withsession-removed', 'withclerk-removed', 'withuser-removed-2', 'withclerk-hof-removed', 'withsession-hof-removed', 'withuser-hof-removed', 'next-public-clerk-js-url', 'aftersignouturl-behavior-change', 'aftersigninurl-behavior-change-2', 'aftersignupurl-behavior-change', 'new-localization-keys', 'removed-localization-keys', 'changed-localization-keys', 'signoutcallback-to-redirecturl']),
8
+ nextjs: load('next', ['api-key-to-secret-key', 'frontend-api-to-publishable-key', 'with-clerk-middleware-removed', 'auth-middleware-deprecated', 'clerk-js-version-next-public', 'authmiddleware-apikey', 'authmiddleware-frontendapi', 'createclerkclient-apikey', 'createclerkclient-frontendapi', 'getauth-apikey', 'clerkprovider-frontendapi-2', 'import-nextjs-app-beta', 'import-nextjs-ssr', 'import-nextjs-edge-middleware', 'import-nextjs-edge-middlewarefiles', 'import-api-url', 'import-api-version', 'import-clerk-js-url', 'import-clerk-js-version', 'import-domain', 'import-is-satellite', 'import-proxy-url', 'import-publishable-key', 'import-secret-key', 'import-sign-in-url', 'import-sign-up-url', 'import-nextjs-api', 'api-url-value-change', 'ismagiclinkerror', 'usemagiclink', 'magiclinkerrorcode', 'setsession', 'organizationprofile-settings', 'userprofile-security', 'mfa-dropdown', 'connected-accounts-dropdown', 'userbuttonpopoveractionbuttontext-removed', 'userbuttontrigger-userbuttonbox-invert', 'organizationswitcherpopoveractionbuttontext-removed', 'card-changes', 'alternativemethods-backlink', 'button-to-organizationlistcreateorganizationactionbutton', 'remove-socialbuttonsblockbuttonarrow', 'remove-identitypreview-avatar', 'multisessionappsupport-import-change', 'auth-import-change', 'currentuser-import-change', 'authmiddleware-import-change', 'buildclerkprops-import-change', 'verifytoken-import-change', 'verifyjwt-import-change', 'decodejwt-import-change', 'signjwt-import-change', 'constants-import-change', 'createauthenticaterequest-import-change', 'createisomorphicrequest-import-change', 'clerk-import-change', 'isclerkapiresponserror-import-change', 'isemaillinkerror-import-change', 'isknownerror-import-change', 'ismetamaskerror-import-change', 'withsession-removed', 'withclerk-removed', 'withuser-removed-2', 'withclerk-hof-removed', 'withsession-hof-removed', 'withuser-hof-removed', 'next-public-clerk-js-url', 'aftersignouturl-behavior-change', 'aftersigninurl-behavior-change-2', 'aftersignupurl-behavior-change', 'new-localization-keys', 'removed-localization-keys', 'changed-localization-keys', 'signoutcallback-to-redirecturl', 'min-nextjs-version', 'redirecttosignin-import-path', 'redirecttosignup-import-path', 'getorganizationlist-return-type-change', 'getorganizationinvitationlist-return-type-change', 'getorganizationmembershiplist-return-type-change', 'organization-getroles-arguments-changed', 'organization-getmemberships-arguments-changed', 'organization-getdomains-arguments-change', 'organization-getinvitations-arguments-changed', 'organization-getmembershiprequests-arguments-changed', 'user-getorganizationinvitations-arguments-chanaged', 'user-getorganizationsuggestions-arguments-chanaged', 'user-getorganizationmemberships-arguments-chanaged']),
9
9
  // since we export clerk-react at the top level from the gatsby plugin
10
10
  // if you're using gatsby, we also need to scan for the react changes
11
- gatsby: load('gatsby', dedupeMerge(reactChangesList, ['api-key-to-secret-key', 'createclerkclient-apikey', 'apikey-to-publishable-key', 'createclerkclient-frontendapi', 'ismagiclinkerror', 'usemagiclink', 'magiclinkerrorcode', 'setsession', 'api-url-value-change', 'withserverauth-return-type'])),
12
- remix: load('remix', ['clerkerrorboundary-removed', 'createclerkclient-apikey', 'rootauthloader-apikey', 'getauth-apikey', 'clerkprovider-frontendapi-2', 'rootauthloader-frontendapi', 'frontend-api-to-publishable-key', 'api-key-to-secret-key', 'ismagiclinkerror', 'magiclinkerrorcode', 'usemagiclink', 'setsession', 'aftersignouturl-behavior-change', 'aftersigninurl-behavior-change-2', 'aftersignupurl-behavior-change', 'new-localization-keys', 'removed-localization-keys', 'changed-localization-keys', 'signoutcallback-to-redirecturl']),
13
- expo: load('expo', ['apikey-to-publishable-key', 'ismagiclinkerror', 'usemagiclink', 'magiclinkerrorcode', 'setsession', 'organizationprofile-settings', 'userprofile-security', 'mfa-dropdown', 'connected-accounts-dropdown', 'userbuttonpopoveractionbuttontext-removed', 'userbuttontrigger-userbuttonbox-invert', 'organizationswitcherpopoveractionbuttontext-removed', 'card-changes', 'alternativemethods-backlink', 'button-to-organizationlistcreateorganizationactionbutton', 'remove-socialbuttonsblockbuttonarrow', 'remove-identitypreview-avatar', 'aftersignouturl-behavior-change', 'aftersigninurl-behavior-change-2', 'aftersignupurl-behavior-change', 'new-localization-keys', 'removed-localization-keys', 'changed-localization-keys', 'signoutcallback-to-redirecturl']),
14
- fastify: load('fastify', ['api-key-to-secret-key', 'api-url-value-change', 'frontend-api-to-publishable-key', 'createclerkclient-apikey', 'createclerkclient-frontendapi', 'clerkplugin-frontendapi']),
15
- node: load('node', ['package-rename', 'api-key-to-secret-key', 'api-url-value-change', 'frontend-api-to-publishable-key', 'clerkexpressrequireauth-apikey', 'clerkexpresswithauth-apikey', 'createclerkclient-apikey', 'createclerkexpressrequireauth-apikey', 'createclerkexpresswithauth-apikey', 'createclerkclient-frontendapi', 'createclerkexpressrequireauth-frontendapi', 'clerkexpressrequireauth-frontendapi', 'createclerkexpresswithauth-frontendapi', 'clerkexpresswithauth-frontendapi', 'setclerkapikey', 'setclerkapiversion', 'setclerkhttpoptions', 'setclerkserverapiurl', 'cjs-esm-instance', 'legacyauthobject-removed']),
11
+ gatsby: load('gatsby', dedupeMerge(reactChangesList, ['api-key-to-secret-key', 'createclerkclient-apikey', 'apikey-to-publishable-key', 'createclerkclient-frontendapi', 'ismagiclinkerror', 'usemagiclink', 'magiclinkerrorcode', 'setsession', 'api-url-value-change', 'withserverauth-return-type', 'clerk-import-change'])),
12
+ remix: load('remix', ['clerkerrorboundary-removed', 'createclerkclient-apikey', 'rootauthloader-apikey', 'getauth-apikey', 'clerkprovider-frontendapi-2', 'rootauthloader-frontendapi', 'frontend-api-to-publishable-key', 'api-key-to-secret-key', 'ismagiclinkerror', 'magiclinkerrorcode', 'usemagiclink', 'setsession', 'aftersignouturl-behavior-change', 'aftersigninurl-behavior-change-2', 'aftersignupurl-behavior-change', 'new-localization-keys', 'removed-localization-keys', 'changed-localization-keys', 'signoutcallback-to-redirecturl', 'clerk-import-change', 'getorganizationlist-return-type-change', 'getorganizationinvitationlist-return-type-change', 'getorganizationmembershiplist-return-type-change', 'organization-getroles-arguments-changed', 'organization-getmemberships-arguments-changed', 'organization-getdomains-arguments-change', 'organization-getinvitations-arguments-changed', 'organization-getmembershiprequests-arguments-changed', 'user-getorganizationinvitations-arguments-chanaged', 'user-getorganizationsuggestions-arguments-chanaged', 'user-getorganizationmemberships-arguments-chanaged']),
13
+ expo: load('expo', ['apikey-to-publishable-key', 'ismagiclinkerror', 'usemagiclink', 'magiclinkerrorcode', 'setsession', 'organizationprofile-settings', 'userprofile-security', 'mfa-dropdown', 'connected-accounts-dropdown', 'userbuttonpopoveractionbuttontext-removed', 'userbuttontrigger-userbuttonbox-invert', 'organizationswitcherpopoveractionbuttontext-removed', 'card-changes', 'alternativemethods-backlink', 'button-to-organizationlistcreateorganizationactionbutton', 'remove-socialbuttonsblockbuttonarrow', 'remove-identitypreview-avatar', 'aftersignouturl-behavior-change', 'aftersigninurl-behavior-change-2', 'aftersignupurl-behavior-change', 'new-localization-keys', 'removed-localization-keys', 'changed-localization-keys', 'signoutcallback-to-redirecturl', 'getorganizationlist-return-type-change', 'getorganizationinvitationlist-return-type-change', 'getorganizationmembershiplist-return-type-change']),
14
+ fastify: load('fastify', ['api-key-to-secret-key', 'api-url-value-change', 'frontend-api-to-publishable-key', 'createclerkclient-apikey', 'createclerkclient-frontendapi', 'clerkplugin-frontendapi', 'clerk-import-change']),
15
+ node: load('node', ['api-key-to-secret-key', 'api-url-value-change', 'frontend-api-to-publishable-key', 'clerkexpressrequireauth-apikey', 'clerkexpresswithauth-apikey', 'createclerkclient-apikey', 'createclerkexpressrequireauth-apikey', 'createclerkexpresswithauth-apikey', 'createclerkclient-frontendapi', 'createclerkexpressrequireauth-frontendapi', 'clerkexpressrequireauth-frontendapi', 'createclerkexpresswithauth-frontendapi', 'clerkexpresswithauth-frontendapi', 'setclerkapikey', 'setclerkapiversion', 'setclerkhttpoptions', 'setclerkserverapiurl', 'cjs-esm-instance', 'legacyauthobject-removed', 'clerk-import-change']),
16
16
  react: load('react', reactChangesList),
17
17
  js: load('js', ['magiclinkerror', 'ismagiclinkerror', 'magiclinkerrorcode', 'usemagiclink', 'handlemagiclinkverification', 'external-account-avatarurl',
18
18
  // shared w/ all
@@ -34,7 +34,7 @@ export default {
34
34
 
35
35
  chromeExtension: load('chromeExtension', ['clerkprovider-tokencache']),
36
36
  localizations: load('localization', ['new-localization-keys', 'removed-localization-keys', 'changed-localization-keys']),
37
- backend: load('backend', ['api-url-value-changed', 'verifyjwt-import-path-move', 'decodejwt-import-path-move', 'signjwt-import-path-move', 'constants-import-path-move', 'redirect-import-path-move', 'createauthenticaterequest-import-path-move', 'createisomorphicrequest-import-path-move', 'createclerkclient-frontendapi', 'authenticaterequest-params-change', 'clerk-import', 'externalaccount-picture', 'externalaccountjson-avatarurl', 'organization-logourl', 'organizationjson-logourl', 'user-profileimageurl', 'userjson-profileimageurl', 'organizationmembershippublicuserdata-profileimageurl', 'organizationmembershippublicuserdatajson-profileimageurl', 'clockskewinseconds', 'pkgversion', 'client-unstableoptions-removed', 'httpoptions-removed', 'createisomorphicrequest-removed', 'createemail-removed', 'signjwterror-import-move', 'tokenverificationerror-import-move', 'tokenverificationerroraction-import-move', 'tokenverificationerrorreason-import-move', 'membershiprole', 'getorganizationmembershiplist-return-signature', 'getorganizationlist-return-signature', 'getorganizationinvitationlist-return-signature']),
37
+ backend: load('backend', ['api-url-value-changed', 'verifyjwt-import-path-move', 'decodejwt-import-path-move', 'signjwt-import-path-move', 'constants-import-path-move', 'redirect-import-path-move', 'createauthenticaterequest-import-path-move', 'createisomorphicrequest-import-path-move', 'createclerkclient-frontendapi', 'authenticaterequest-params-change', 'clerk-import', 'externalaccount-picture', 'externalaccountjson-avatarurl', 'organization-logourl', 'organizationjson-logourl', 'user-profileimageurl', 'userjson-profileimageurl', 'organizationmembershippublicuserdata-profileimageurl', 'organizationmembershippublicuserdatajson-profileimageurl', 'clockskewinseconds', 'pkgversion', 'client-unstableoptions-removed', 'httpoptions-removed', 'createisomorphicrequest-removed', 'createemail-removed', 'signjwterror-import-move', 'tokenverificationerror-import-move', 'tokenverificationerroraction-import-move', 'tokenverificationerrorreason-import-move', 'membershiprole', 'getorganizationmembershiplist-return-signature', 'getorganizationlist-return-signature', 'getorganizationinvitationlist-return-signature', 'buildrequesturl-removed']),
38
38
  types: [],
39
39
  redwood: [],
40
40
  express: []
@@ -6,10 +6,7 @@ matcherFlags: 'm'
6
6
 
7
7
  Passing a string as an argument to `Organization.create` is no longer possible - instead, pass an object with the `name` property.
8
8
 
9
- ```js
10
- // before
11
- Organization.create('...');
12
-
13
- // after
14
- Organization.create({ name: '...' });
9
+ ```diff
10
+ - Organization.create('...');
11
+ + Organization.create({ name: '...' });
15
12
  ```
@@ -6,12 +6,7 @@ matcher: "\\.getDomains\\("
6
6
  There have been a couple changes to the pagination arguments that can be passed into this function - `limit` has been renamed to `pageSize`, and `offset` has been renamed to `initialPage`. This will help to make it more clear and simple to reason about pagination control. Example of how changes might look below:
7
7
 
8
8
  ```diff
9
- import Clerk from "@clerk/clerk-js"
10
-
11
- const clerk = new Clerk()
12
- await clerk.load()
13
-
14
- const { data: orgs } = await clerk.organization.getDomains({
9
+ const { data } = await organization.getDomains({
15
10
  - limit: 10,
16
11
  + pageSize: 10,
17
12
  - offset: 10,
@@ -6,12 +6,7 @@ matcher: "\\.getInvitations\\("
6
6
  There have been a couple changes to the pagination arguments that can be passed into this function - `limit` has been renamed to `pageSize`, and `offset` has been renamed to `initialPage`. This will help to make it more clear and simple to reason about pagination control. Example of how changes might look below:
7
7
 
8
8
  ```diff
9
- import Clerk from "@clerk/clerk-js"
10
-
11
- const clerk = new Clerk()
12
- await clerk.load()
13
-
14
- const { data: orgs } = await clerk.organization.getInvitations({
9
+ const { data } = await organization.getInvitations({
15
10
  - limit: 10,
16
11
  + pageSize: 10,
17
12
  - offset: 10,
@@ -6,12 +6,7 @@ matcher: "\\.getMembershipRequests\\("
6
6
  There have been a couple changes to the pagination arguments that can be passed into this function - `limit` has been renamed to `pageSize`, and `offset` has been renamed to `initialPage`. This will help to make it more clear and simple to reason about pagination control. Example of how changes might look below:
7
7
 
8
8
  ```diff
9
- import Clerk from "@clerk/clerk-js"
10
-
11
- const clerk = new Clerk()
12
- await clerk.load()
13
-
14
- const { data: orgs } = await clerk.organization.getMembershipRequests({
9
+ const { data } = await organization.getMembershipRequests({
15
10
  - limit: 10,
16
11
  + pageSize: 10,
17
12
  - offset: 10,
@@ -6,12 +6,7 @@ matcher: "\\.getMemberships\\("
6
6
  There have been a couple changes to the pagination arguments that can be passed into this function - `limit` has been renamed to `pageSize`, and `offset` has been renamed to `initialPage`. This will help to make it more clear and simple to reason about pagination control. Example of how changes might look below:
7
7
 
8
8
  ```diff
9
- import Clerk from "@clerk/clerk-js"
10
-
11
- const clerk = new Clerk()
12
- await clerk.load()
13
-
14
- const { data: orgs } = await clerk.organization.getMemberships({
9
+ const { data } = await organization.getMemberships({
15
10
  - limit: 10,
16
11
  + pageSize: 10,
17
12
  - offset: 10,
@@ -5,10 +5,7 @@ matcher: "\\.getPendingInvitations\\("
5
5
 
6
6
  The `Organization.getPendingInvitations()` method has been removed. You can use `Organization.getInvitations` instead.
7
7
 
8
- ```js
9
- // before
10
- Organization.getPendingInvitations();
11
-
12
- // after
13
- Organization.getInvitations({ status: 'pending' });
8
+ ```diff
9
+ - Organization.getPendingInvitations();
10
+ + Organization.getInvitations({ status: 'pending' });
14
11
  ```
@@ -6,12 +6,7 @@ matcher: "\\.getRoles\\("
6
6
  There have been a couple changes to the pagination arguments that can be passed into this function - `limit` has been renamed to `pageSize`, and `offset` has been renamed to `initialPage`. This will help to make it more clear and simple to reason about pagination control. Example of how changes might look below:
7
7
 
8
8
  ```diff
9
- import Clerk from "@clerk/clerk-js"
10
-
11
- const clerk = new Clerk()
12
- await clerk.load()
13
-
14
- const { data: orgs } = await clerk.organization.getRoles({
9
+ const { data } = await organization.getRoles({
15
10
  - limit: 10,
16
11
  + pageSize: 10,
17
12
  - offset: 10,
@@ -10,4 +10,4 @@ To set the `afterSignUpUrl` or `afterSignInUrl`, you can:
10
10
  - [pass the desired values into ClerkProvider](https://clerk.com/docs/components/clerk-provider#properties)
11
11
  - if using nextjs SDK, set with `NEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL` or `NEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL`
12
12
  - if using remix SDK, set with `CLERK_AFTER_SIGN_IN_URL` or `CLERK_AFTER_SIGN_UP_URL`
13
- - If not using a react-based SDK, they can be passed into `Clerk.load` as such: `Clerk.load({ afterSignUpUrl: x’, afterSignInUrl: y })`
13
+ - If not using a react-based SDK, they can be passed into `Clerk.load` as such: `Clerk.load({ afterSignUpUrl: 'x', afterSignInUrl: 'y' })`
@@ -0,0 +1,18 @@
1
+ ---
2
+ title: '`navigate` argument to `Clerk.load` replaced by `routerPush` and `routerReplace`'
3
+ matcher: "Clerk\\.load\\([\\s\\S]*?navigate:[\\s\\S]*?\\)"
4
+ matcherFlags: 'm'
5
+ ---
6
+
7
+ The `navigate` option allowed developers to override the default navigation behavior with a custom function. However, navigate was only able to push, not replace routes. We have now added the capability for the router to push or replace, and as such, updated `Clerk.load` so that it can handle either depending on the circumstance.
8
+
9
+ Two new arguments have been added to options that can be passed to `Clerk.load` that replace the single `navigate` argument, and can be used to override the default navigation behavior for either a push or replace navigation. For more information on what push and replace mean in relation to the browser history api, [check out these wonderful MDN docs](https://developer.mozilla.org/en-US/docs/Web/API/History_API/Working_with_the_History_API).
10
+
11
+ If you’d like to keep the same behavior as you had with the single `navigate` argument, pass the exact same function to as both the `routerPush` and `routerReplace` arguments and the behavior will be identical. For example:
12
+
13
+ ```diff
14
+ - Clerk.load({ navigate: x => x })
15
+ + Clerk.load({ routerPush: x => x, routerReplace: x => x })
16
+ ```
17
+
18
+ However, you now have the option to differentiate behavior based on whether the navigation will be a push or replace.
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  title: '`generatedSignature` -> `signature` as param of Signup.attemptWeb3WalletVerification()'
3
- matcher: "attemptWeb3WalletVerification\\(\\s*{\\.*?generatedSignature:"
3
+ matcher: "attemptWeb3WalletVerification\\([\\s\\S]*?generatedSignature:[\\s\\S]*?\\)"
4
+ matcherFlags: 'm'
4
5
  ---
5
6
 
6
7
  The `generatedSignature` param to [`Signup.attemptWeb3WalletVerification()`](https://clerk.com/docs/references/javascript/sign-up/web3-verification#attempt-web3-wallet-verification) has been removed. Instead, use the `signature` param. Note that this param takes a string, where the `generatedSignature` param took a function, so both key and value will need to change.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  title: '`redirect_url` -> `redirectUrl` as param of `User.createExternalAccount`'
3
- matcher: "createExternalAccount\\(\\s*{\\.*?(redirect_url):"
3
+ matcher: "createExternalAccount\\(\\s*{[\\s\\S]*?(redirect_url):[\\s\\S]*?\\)"
4
4
  replaceWithString: 'redirectUrl'
5
5
  ---
6
6
 
@@ -6,12 +6,7 @@ matcher: "\\.getOrganizationInvitations\\("
6
6
  There have been a couple changes to the pagination arguments that can be passed into this function - `limit` has been renamed to `pageSize`, and `offset` has been renamed to `initialPage`. This will help to make it more clear and simple to reason about pagination control. Example of how changes might look below:
7
7
 
8
8
  ```diff
9
- import Clerk from "@clerk/clerk-js"
10
-
11
- const clerk = new Clerk()
12
- await clerk.load()
13
-
14
- const { data: orgs } = await clerk.user.getOrganizationInvitations({
9
+ const { data } = await user.getOrganizationInvitations({
15
10
  - limit: 10,
16
11
  + pageSize: 10,
17
12
  - offset: 10,
@@ -6,12 +6,7 @@ matcher: "\\.getOrganizationMemberships\\("
6
6
  There have been a couple changes to the pagination arguments that can be passed into this function - `limit` has been renamed to `pageSize`, and `offset` has been renamed to `initialPage`. This will help to make it more clear and simple to reason about pagination control. Example of how changes might look below:
7
7
 
8
8
  ```diff
9
- import Clerk from "@clerk/clerk-js"
10
-
11
- const clerk = new Clerk()
12
- await clerk.load()
13
-
14
- const { data: orgs } = await clerk.user.getOrganizationMemberships({
9
+ const { data } = await user.getOrganizationMemberships({
15
10
  - limit: 10,
16
11
  + pageSize: 10,
17
12
  - offset: 10,
@@ -6,12 +6,7 @@ matcher: "\\.getOrganizationSuggestions\\("
6
6
  There have been a couple changes to the pagination arguments that can be passed into this function - `limit` has been renamed to `pageSize`, and `offset` has been renamed to `initialPage`. This will help to make it more clear and simple to reason about pagination control. Example of how changes might look below:
7
7
 
8
8
  ```diff
9
- import Clerk from "@clerk/clerk-js"
10
-
11
- const clerk = new Clerk()
12
- await clerk.load()
13
-
14
- const { data: orgs } = await clerk.user.getOrganizationSuggestions({
9
+ const { data } = await user.getOrganizationSuggestions({
15
10
  - limit: 10,
16
11
  + pageSize: 10,
17
12
  - offset: 10,
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  title: "`User.update({ password: 'x' })` -> `User.updatePassword('x')`"
3
- matcher: "\\.update\\(\\s*{.*?password:"
3
+ matcher: "\\.update\\([\\s\\S]*?password:[\\s\\S]*?\\)"
4
4
  matcherFlags: 'm'
5
5
  ---
6
6
 
@@ -2,6 +2,7 @@
2
2
  title: '`API_URL` value has changed'
3
3
  matcher: "API_URL[\\s\\S]+?from\\s+['\"]@clerk\\/nextjs\\/server['\"]"
4
4
  matcherFlags: 'm'
5
+ warning: true
5
6
  ---
6
7
 
7
8
  The value of this export has changed from `https://api.clerk.dev` to `https://api.clerk.com`. If you were relying on the text content of this value not changing, you may need to make adjustments.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  title: '`auth` import moved under `/server`'
3
- matcher: "import\\s+{[\\s\\S]*?auth[\\s\\S]*?from\\s+['\"]@clerk\\/(nextjs)[\\s\\S]*?['\"]"
3
+ matcher: "import\\s+{[\\s\\S]*?[,\\s]auth[,\\s][\\s\\S]*?from\\s+['\"]@clerk\\/(nextjs)[\\s\\S]*?['\"]"
4
4
  matcherFlags: 'm'
5
5
  replaceWithString: 'nextjs/server'
6
6
  ---
@@ -4,6 +4,11 @@ matcher: "authMiddleware\\({[\\s\\S]*?frontendApi:[\\s\\S]*?}\\)"
4
4
  matcherFlags: 'm'
5
5
  ---
6
6
 
7
- <!-- TODO: is there a possible issue with import matching? this from `@clerk/nextjs` -->
8
-
9
7
  The `frontendApi` argument passed to `authMiddleware` must be changed to `publishableKey`
8
+
9
+ ```diff
10
+ import { authMiddleware } from "@clerk/nextjs/server"
11
+
12
+ - authMiddleware({ frontendApi: '...' })
13
+ + authMiddleware({ publishableKey: '...' })
14
+ ```
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  title: '`constants` import moved under `/server`'
3
- matcher: "import\\s+{[\\s\\S]*?constants[\\s\\S]*?from\\s+['\"]@clerk\\/(nextjs)[\\s\\S]*?['\"]"
3
+ matcher: "import\\s+{[\\s\\S]*?[,\\s]constants[,\\s][\\s\\S]*?from\\s+['\"]@clerk\\/(nextjs)[\\s\\S]*?['\"]"
4
4
  matcherFlags: 'm'
5
5
  replaceWithString: 'nextjs/server'
6
6
  ---
@@ -6,12 +6,9 @@ matcherFlags: 'm'
6
6
 
7
7
  The `apiKey` argument passed to `createClerkClient` must be changed to `secretKey`.
8
8
 
9
- ```js
9
+ ```diff
10
10
  import { createClerkClient } from '@clerk/nextjs/server';
11
11
 
12
- // before
13
- createClerkClient({ apiKey: '...' });
14
-
15
- // after
16
- createClerkClient({ secretKey: '...' });
12
+ - createClerkClient({ apiKey: '...' });
13
+ + createClerkClient({ secretKey: '...' });
17
14
  ```
@@ -6,12 +6,9 @@ matcherFlags: 'm'
6
6
 
7
7
  The `frontendApi` argument passed to `createClerkClient` must be changed to `publishableKey`. Note that the values of the two keys are different, so both keys and values need to be changed. You can find your application's publishable key in the Clerk dashboard.
8
8
 
9
- ```js
9
+ ```diff
10
10
  import { createClerkClient } from '@clerk/nextjs/server';
11
11
 
12
- // before
13
- createClerkClient({ frontendApi: '...' });
14
-
15
- // after
16
- createClerkClient({ publishableKey: '...' });
12
+ - createClerkClient({ frontendApi: '...' });
13
+ + createClerkClient({ publishableKey: '...' });
17
14
  ```
@@ -4,6 +4,9 @@ matcher: "getAuth\\({[\\s\\S]*?apiKey:[\\s\\S]*?}\\)"
4
4
  matcherFlags: 'm'
5
5
  ---
6
6
 
7
- <!-- TODO: is there a possible issue with import matching? this from `@clerk/nextjs/server` -->
7
+ The `apiKey` argument passed to `getAuth` must be changed to `secretKey`.
8
8
 
9
- The `apiKey` argument passed to `getAuth` must be changed to `secretKey`
9
+ ```diff
10
+ - getAuth({ apiKey: '...' })
11
+ + getAuth({ secretKey: '...' })
12
+ ```