diff --git a/.changeset/eleven-months-swim.md b/.changeset/eleven-months-swim.md
new file mode 100644
index 0000000000..a845151cc8
--- /dev/null
+++ b/.changeset/eleven-months-swim.md
@@ -0,0 +1,2 @@
+---
+---
diff --git a/.changeset/old-dryers-approve.md b/.changeset/old-dryers-approve.md
deleted file mode 100644
index 1a6bb174e5..0000000000
--- a/.changeset/old-dryers-approve.md
+++ /dev/null
@@ -1,12 +0,0 @@
----
-'@clerk/types': minor
----
-
-Adds `oidcLoginHint` & `oidcPrompt` parameters to following types:
-
-- `ReauthorizeExternalAccountParams`
-- `OAuthConfig`
-- `SignInCreateParams`
-- `PrepareVerificationParams`
-- `SignUpCreateParams`
-- `CreateExternalAccountParams`
diff --git a/integration/constants.ts b/integration/constants.ts
index d4b681f3b5..2369077fe8 100644
--- a/integration/constants.ts
+++ b/integration/constants.ts
@@ -56,10 +56,6 @@ export const constants = {
* The version of the dependency to use, controlled programmatically.
*/
E2E_REACT_DOM_VERSION: process.env.E2E_REACT_DOM_VERSION,
- /**
- * The version of the dependency to use, controlled programmatically.
- */
- E2E_REMIX_VERSION: process.env.E2E_REMIX_VERSION,
/**
* The version of the dependency to use, controlled programmatically.
*/
diff --git a/integration/presets/astro.ts b/integration/presets/astro.ts
index 0b7a208887..7995725b97 100644
--- a/integration/presets/astro.ts
+++ b/integration/presets/astro.ts
@@ -1,5 +1,6 @@
import { applicationConfig } from '../models/applicationConfig';
import { templates } from '../templates';
+import { linkPackage } from './utils';
const astroNode = applicationConfig()
.setName('astro-node')
@@ -9,9 +10,9 @@ const astroNode = applicationConfig()
.addScript('dev', 'pnpm dev')
.addScript('build', 'pnpm build')
.addScript('serve', 'pnpm preview')
- .addDependency('@clerk/astro', '*')
- .addDependency('@clerk/types', '*')
- .addDependency('@clerk/localizations', '*');
+ .addDependency('@clerk/astro', linkPackage('astro'))
+ .addDependency('@clerk/types', linkPackage('types'))
+ .addDependency('@clerk/localizations', linkPackage('localizations'));
const astroStatic = astroNode.clone().setName('astro-hybrid').useTemplate(templates['astro-hybrid']);
diff --git a/integration/presets/elements.ts b/integration/presets/elements.ts
index ae06dc5442..91bd21fbb0 100644
--- a/integration/presets/elements.ts
+++ b/integration/presets/elements.ts
@@ -1,6 +1,7 @@
import { constants } from '../constants';
import { applicationConfig } from '../models/applicationConfig.js';
import { templates } from '../templates/index.js';
+import { linkPackage } from './utils';
const nextAppRouter = applicationConfig()
.setName('elements-next')
@@ -13,8 +14,8 @@ const nextAppRouter = applicationConfig()
.addDependency('next', constants.E2E_NEXTJS_VERSION)
.addDependency('react', constants.E2E_REACT_VERSION)
.addDependency('react-dom', constants.E2E_REACT_DOM_VERSION)
- .addDependency('@clerk/nextjs', constants.E2E_CLERK_VERSION || '*')
- .addDependency('@clerk/elements', constants.E2E_CLERK_VERSION || '*');
+ .addDependency('@clerk/nextjs', constants.E2E_CLERK_VERSION || linkPackage('nextjs'))
+ .addDependency('@clerk/elements', constants.E2E_CLERK_VERSION || linkPackage('elements'));
export const elements = {
nextAppRouter,
diff --git a/integration/presets/expo.ts b/integration/presets/expo.ts
index 8380327fd3..bf9806fce2 100644
--- a/integration/presets/expo.ts
+++ b/integration/presets/expo.ts
@@ -1,5 +1,6 @@
import { applicationConfig } from '../models/applicationConfig';
import { templates } from '../templates';
+import { linkPackage } from './utils';
const expoWeb = applicationConfig()
.setName('expo-web')
@@ -9,7 +10,7 @@ const expoWeb = applicationConfig()
.addScript('dev', 'pnpm dev')
.addScript('build', 'pnpm build')
.addScript('serve', 'pnpm start')
- .addDependency('@clerk/clerk-expo', '*');
+ .addDependency('@clerk/clerk-expo', linkPackage('expo'));
export const expo = {
expoWeb,
diff --git a/integration/presets/express.ts b/integration/presets/express.ts
index fdebf5a530..6470469a0b 100644
--- a/integration/presets/express.ts
+++ b/integration/presets/express.ts
@@ -1,6 +1,7 @@
import { constants } from '../constants';
import { applicationConfig } from '../models/applicationConfig';
import { templates } from '../templates';
+import { linkPackage } from './utils';
const vite = applicationConfig()
.setName('express-vite')
@@ -10,7 +11,7 @@ const vite = applicationConfig()
.addScript('dev', 'pnpm dev')
.addScript('build', 'pnpm build')
.addScript('serve', 'pnpm start')
- .addDependency('@clerk/clerk-sdk-node', constants.E2E_CLERK_VERSION || '*');
+ .addDependency('@clerk/clerk-sdk-node', constants.E2E_CLERK_VERSION || linkPackage('sdk-node'));
export const express = {
vite,
diff --git a/integration/presets/index.ts b/integration/presets/index.ts
index 6f58b490f3..24fc2d58cd 100644
--- a/integration/presets/index.ts
+++ b/integration/presets/index.ts
@@ -8,7 +8,6 @@ import { next } from './next';
import { nuxt } from './nuxt';
import { react } from './react';
import { reactRouter } from './react-router';
-import { remix } from './remix';
import { tanstack } from './tanstack';
export const appConfigs = {
@@ -17,7 +16,6 @@ export const appConfigs = {
longRunningApps: createLongRunningApps(),
next,
react,
- remix,
elements,
expo,
astro,
diff --git a/integration/presets/longRunningApps.ts b/integration/presets/longRunningApps.ts
index 010251ab04..cd1f27cc19 100644
--- a/integration/presets/longRunningApps.ts
+++ b/integration/presets/longRunningApps.ts
@@ -9,7 +9,6 @@ import { next } from './next';
import { nuxt } from './nuxt';
import { react } from './react';
import { reactRouter } from './react-router';
-import { remix } from './remix';
import { tanstack } from './tanstack';
import { vue } from './vue';
@@ -24,7 +23,6 @@ export const createLongRunningApps = () => {
{ id: 'react.vite.withEmailCodes', config: react.vite, env: envs.withEmailCodes },
{ id: 'react.vite.withEmailCodes_persist_client', config: react.vite, env: envs.withEmailCodes_destroy_client },
{ id: 'react.vite.withEmailLinks', config: react.vite, env: envs.withEmailLinks },
- { id: 'remix.node.withEmailCodes', config: remix.remixNode, env: envs.withEmailCodes },
{ id: 'next.appRouter.withEmailCodes', config: next.appRouter, env: envs.withEmailCodes },
{
id: 'next.appRouter.withEmailCodes_persist_client',
diff --git a/integration/presets/next.ts b/integration/presets/next.ts
index a16a5a521e..6636af850c 100644
--- a/integration/presets/next.ts
+++ b/integration/presets/next.ts
@@ -1,6 +1,7 @@
import { constants } from '../constants';
import { applicationConfig } from '../models/applicationConfig.js';
import { templates } from '../templates/index.js';
+import { linkPackage } from './utils';
const appRouter = applicationConfig()
.setName('next-app-router')
@@ -13,9 +14,9 @@ const appRouter = applicationConfig()
.addDependency('next', constants.E2E_NEXTJS_VERSION)
.addDependency('react', constants.E2E_REACT_VERSION)
.addDependency('react-dom', constants.E2E_REACT_DOM_VERSION)
- .addDependency('@clerk/nextjs', constants.E2E_CLERK_VERSION || '*')
- .addDependency('@clerk/shared', '*')
- .addDependency('@clerk/types', '*');
+ .addDependency('@clerk/nextjs', constants.E2E_CLERK_VERSION || linkPackage('nextjs'))
+ .addDependency('@clerk/shared', linkPackage('shared'))
+ .addDependency('@clerk/types', linkPackage('types'));
const appRouterTurbo = appRouter.clone().setName('next-app-router-turbopack').addScript('dev', 'pnpm dev');
diff --git a/integration/presets/nuxt.ts b/integration/presets/nuxt.ts
index 8a55270454..8fdc9716c6 100644
--- a/integration/presets/nuxt.ts
+++ b/integration/presets/nuxt.ts
@@ -1,5 +1,6 @@
import { applicationConfig } from '../models/applicationConfig';
import { templates } from '../templates';
+import { linkPackage } from './utils';
const nuxtNode = applicationConfig()
.setName('nuxt-node')
@@ -10,7 +11,7 @@ const nuxtNode = applicationConfig()
.addScript('dev', 'pnpm dev')
.addScript('build', 'pnpm build')
.addScript('serve', 'pnpm preview')
- .addDependency('@clerk/nuxt', '*');
+ .addDependency('@clerk/nuxt', linkPackage('nuxt'));
export const nuxt = {
node: nuxtNode,
diff --git a/integration/presets/react-router.ts b/integration/presets/react-router.ts
index 1ff0470482..4b43c7083b 100644
--- a/integration/presets/react-router.ts
+++ b/integration/presets/react-router.ts
@@ -1,6 +1,7 @@
import { constants } from '../constants';
import { applicationConfig } from '../models/applicationConfig.js';
import { templates } from '../templates/index.js';
+import { linkPackage } from './utils';
const reactRouterNode = applicationConfig()
.setName('react-router-node')
@@ -10,8 +11,19 @@ const reactRouterNode = applicationConfig()
.addScript('dev', 'pnpm dev')
.addScript('build', 'pnpm build')
.addScript('serve', 'pnpm start')
- .addDependency('@clerk/react-router', constants.E2E_CLERK_VERSION || '*');
+ .addDependency('@clerk/react-router', constants.E2E_CLERK_VERSION || linkPackage('react-router'));
+
+const reactRouterLibrary = applicationConfig()
+ .setName('react-router-library')
+ .useTemplate(templates['react-router-library'])
+ .setEnvFormatter('public', key => `VITE_${key}`)
+ .addScript('setup', 'pnpm install')
+ .addScript('dev', 'pnpm dev')
+ .addScript('build', 'pnpm build')
+ .addScript('serve', 'pnpm preview')
+ .addDependency('@clerk/react-router', constants.E2E_CLERK_VERSION || linkPackage('react-router'));
export const reactRouter = {
reactRouterNode,
+ reactRouterLibrary,
} as const;
diff --git a/integration/presets/react.ts b/integration/presets/react.ts
index 0dc674300f..06e1434282 100644
--- a/integration/presets/react.ts
+++ b/integration/presets/react.ts
@@ -1,6 +1,7 @@
import { constants } from '../constants';
import { applicationConfig } from '../models/applicationConfig';
import { templates } from '../templates';
+import { linkPackage } from './utils';
const cra = applicationConfig()
.setName('react-cra')
@@ -10,8 +11,8 @@ const cra = applicationConfig()
.addScript('dev', 'pnpm start')
.addScript('build', 'pnpm build')
.addScript('serve', 'pnpm start')
- .addDependency('@clerk/clerk-react', constants.E2E_CLERK_VERSION || '*')
- .addDependency('@clerk/themes', constants.E2E_CLERK_VERSION || '*');
+ .addDependency('@clerk/clerk-react', constants.E2E_CLERK_VERSION || linkPackage('react'))
+ .addDependency('@clerk/themes', constants.E2E_CLERK_VERSION || linkPackage('themes'));
const vite = cra
.clone()
diff --git a/integration/presets/remix.ts b/integration/presets/remix.ts
deleted file mode 100644
index 41decccff0..0000000000
--- a/integration/presets/remix.ts
+++ /dev/null
@@ -1,17 +0,0 @@
-import { constants } from '../constants';
-import { applicationConfig } from '../models/applicationConfig.js';
-import { templates } from '../templates/index.js';
-
-const remixNode = applicationConfig()
- .setName('remix-node')
- .useTemplate(templates['remix-node'])
- .setEnvFormatter('public', key => `${key}`)
- .addScript('setup', 'pnpm install')
- .addScript('dev', 'pnpm dev')
- .addScript('build', 'pnpm build')
- .addScript('serve', 'pnpm start')
- .addDependency('@clerk/remix', constants.E2E_CLERK_VERSION || '*');
-
-export const remix = {
- remixNode,
-} as const;
diff --git a/integration/presets/tanstack.ts b/integration/presets/tanstack.ts
index 5b9399abe5..03ddd8d190 100644
--- a/integration/presets/tanstack.ts
+++ b/integration/presets/tanstack.ts
@@ -1,5 +1,6 @@
import { applicationConfig } from '../models/applicationConfig.js';
import { templates } from '../templates/index.js';
+import { linkPackage } from './utils';
const router = applicationConfig()
.setName('tanstack-router')
@@ -9,7 +10,7 @@ const router = applicationConfig()
.addScript('dev', 'pnpm dev')
.addScript('build', 'pnpm build')
.addScript('serve', 'pnpm start')
- .addDependency('@clerk/tanstack-start', '*');
+ .addDependency('@clerk/tanstack-start', linkPackage('tanstack-start'));
const start = applicationConfig()
.setName('tanstack-start')
@@ -19,7 +20,7 @@ const start = applicationConfig()
.addScript('dev', 'pnpm dev')
.addScript('build', 'pnpm build')
.addScript('serve', 'pnpm start')
- .addDependency('@clerk/tanstack-start', '*');
+ .addDependency('@clerk/tanstack-start', linkPackage('tanstack-start'));
export const tanstack = {
start,
diff --git a/integration/presets/utils.ts b/integration/presets/utils.ts
new file mode 100644
index 0000000000..4c4f6db45d
--- /dev/null
+++ b/integration/presets/utils.ts
@@ -0,0 +1,8 @@
+import path from 'node:path';
+
+export function linkPackage(pkg: string) {
+ // eslint-disable-next-line turbo/no-undeclared-variables
+ if (process.env.CI === 'true') return '*';
+
+ return `link:${path.resolve(process.cwd(), `packages/${pkg}`)}`;
+}
diff --git a/integration/presets/vue.ts b/integration/presets/vue.ts
index 3d9cc9e280..1003af19f5 100644
--- a/integration/presets/vue.ts
+++ b/integration/presets/vue.ts
@@ -1,5 +1,6 @@
import { applicationConfig } from '../models/applicationConfig';
import { templates } from '../templates';
+import { linkPackage } from './utils';
const vite = applicationConfig()
.setName('vue-vite')
@@ -9,7 +10,7 @@ const vite = applicationConfig()
.addScript('dev', 'pnpm dev')
.addScript('build', 'pnpm build')
.addScript('serve', 'pnpm preview')
- .addDependency('@clerk/vue', '*');
+ .addDependency('@clerk/vue', linkPackage('vue'));
export const vue = {
vite,
diff --git a/integration/templates/index.ts b/integration/templates/index.ts
index 4d745d1db5..26c115fe1b 100644
--- a/integration/templates/index.ts
+++ b/integration/templates/index.ts
@@ -9,7 +9,6 @@ export const templates = {
'react-cra': resolve(__dirname, './react-cra'),
'react-vite': resolve(__dirname, './react-vite'),
'express-vite': resolve(__dirname, './express-vite'),
- 'remix-node': resolve(__dirname, './remix-node'),
'elements-next': resolve(__dirname, './elements-next'),
'astro-node': resolve(__dirname, './astro-node'),
'astro-hybrid': resolve(__dirname, './astro-hybrid'),
@@ -19,6 +18,7 @@ export const templates = {
'vue-vite': resolve(__dirname, './vue-vite'),
'nuxt-node': resolve(__dirname, './nuxt-node'),
'react-router-node': resolve(__dirname, './react-router-node'),
+ 'react-router-library': resolve(__dirname, './react-router-library'),
} as const;
if (new Set([...Object.values(templates)]).size !== Object.values(templates).length) {
diff --git a/integration/templates/react-router-library/README.md b/integration/templates/react-router-library/README.md
new file mode 100644
index 0000000000..1e5a46b4e1
--- /dev/null
+++ b/integration/templates/react-router-library/README.md
@@ -0,0 +1,50 @@
+# React + TypeScript + Vite
+
+This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
+
+Currently, two official plugins are available:
+
+- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh
+- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh
+
+## Expanding the ESLint configuration
+
+If you are developing a production application, we recommend updating the configuration to enable type aware lint rules:
+
+- Configure the top-level `parserOptions` property like this:
+
+```js
+export default tseslint.config({
+ languageOptions: {
+ // other options...
+ parserOptions: {
+ project: ['./tsconfig.node.json', './tsconfig.app.json'],
+ tsconfigRootDir: import.meta.dirname,
+ },
+ },
+});
+```
+
+- Replace `tseslint.configs.recommended` to `tseslint.configs.recommendedTypeChecked` or `tseslint.configs.strictTypeChecked`
+- Optionally add `...tseslint.configs.stylisticTypeChecked`
+- Install [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) and update the config:
+
+```js
+// eslint.config.js
+import react from 'eslint-plugin-react';
+
+export default tseslint.config({
+ // Set the react version
+ settings: { react: { version: '18.3' } },
+ plugins: {
+ // Add the react plugin
+ react,
+ },
+ rules: {
+ // other rules...
+ // Enable its recommended rules
+ ...react.configs.recommended.rules,
+ ...react.configs['jsx-runtime'].rules,
+ },
+});
+```
diff --git a/integration/templates/react-router-library/index.html b/integration/templates/react-router-library/index.html
new file mode 100644
index 0000000000..e4c1f3de22
--- /dev/null
+++ b/integration/templates/react-router-library/index.html
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+ Vite + React + TS
+
+
+
+
+
+
diff --git a/integration/templates/react-router-library/package.json b/integration/templates/react-router-library/package.json
new file mode 100644
index 0000000000..28970a47e3
--- /dev/null
+++ b/integration/templates/react-router-library/package.json
@@ -0,0 +1,25 @@
+{
+ "name": "react-router-library",
+ "version": "0.0.0",
+ "private": true,
+ "type": "module",
+ "scripts": {
+ "build": "tsc -b && vite build",
+ "dev": "vite --port $PORT",
+ "preview": "vite preview --port $PORT"
+ },
+ "dependencies": {
+ "@clerk/react-router": "^0.1.2",
+ "react": "^18.3.1",
+ "react-dom": "^18.3.1",
+ "react-router": "^7.0.2"
+ },
+ "devDependencies": {
+ "@types/react": "^18.3.12",
+ "@types/react-dom": "^18.3.1",
+ "@vitejs/plugin-react": "^4.3.4",
+ "globals": "^15.12.0",
+ "typescript": "~5.6.2",
+ "vite": "^6.0.1"
+ }
+}
diff --git a/integration/templates/react-router-library/public/vite.svg b/integration/templates/react-router-library/public/vite.svg
new file mode 100644
index 0000000000..e7b8dfb1b2
--- /dev/null
+++ b/integration/templates/react-router-library/public/vite.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/integration/templates/react-router-library/src/App.css b/integration/templates/react-router-library/src/App.css
new file mode 100644
index 0000000000..b9d355df2a
--- /dev/null
+++ b/integration/templates/react-router-library/src/App.css
@@ -0,0 +1,42 @@
+#root {
+ max-width: 1280px;
+ margin: 0 auto;
+ padding: 2rem;
+ text-align: center;
+}
+
+.logo {
+ height: 6em;
+ padding: 1.5em;
+ will-change: filter;
+ transition: filter 300ms;
+}
+.logo:hover {
+ filter: drop-shadow(0 0 2em #646cffaa);
+}
+.logo.react:hover {
+ filter: drop-shadow(0 0 2em #61dafbaa);
+}
+
+@keyframes logo-spin {
+ from {
+ transform: rotate(0deg);
+ }
+ to {
+ transform: rotate(360deg);
+ }
+}
+
+@media (prefers-reduced-motion: no-preference) {
+ a:nth-of-type(2) .logo {
+ animation: logo-spin infinite 20s linear;
+ }
+}
+
+.card {
+ padding: 2em;
+}
+
+.read-the-docs {
+ color: #888;
+}
diff --git a/integration/templates/react-router-library/src/App.tsx b/integration/templates/react-router-library/src/App.tsx
new file mode 100644
index 0000000000..93dfdf0438
--- /dev/null
+++ b/integration/templates/react-router-library/src/App.tsx
@@ -0,0 +1,17 @@
+import { SignInButton, SignedIn, SignedOut, UserButton } from '@clerk/react-router';
+import './App.css';
+
+function App() {
+ return (
+
+ );
+}
+
+export default App;
diff --git a/integration/templates/react-router-library/src/assets/react.svg b/integration/templates/react-router-library/src/assets/react.svg
new file mode 100644
index 0000000000..6c87de9bb3
--- /dev/null
+++ b/integration/templates/react-router-library/src/assets/react.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/integration/templates/react-router-library/src/index.css b/integration/templates/react-router-library/src/index.css
new file mode 100644
index 0000000000..6119ad9a8f
--- /dev/null
+++ b/integration/templates/react-router-library/src/index.css
@@ -0,0 +1,68 @@
+:root {
+ font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif;
+ line-height: 1.5;
+ font-weight: 400;
+
+ color-scheme: light dark;
+ color: rgba(255, 255, 255, 0.87);
+ background-color: #242424;
+
+ font-synthesis: none;
+ text-rendering: optimizeLegibility;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+}
+
+a {
+ font-weight: 500;
+ color: #646cff;
+ text-decoration: inherit;
+}
+a:hover {
+ color: #535bf2;
+}
+
+body {
+ margin: 0;
+ display: flex;
+ place-items: center;
+ min-width: 320px;
+ min-height: 100vh;
+}
+
+h1 {
+ font-size: 3.2em;
+ line-height: 1.1;
+}
+
+button {
+ border-radius: 8px;
+ border: 1px solid transparent;
+ padding: 0.6em 1.2em;
+ font-size: 1em;
+ font-weight: 500;
+ font-family: inherit;
+ background-color: #1a1a1a;
+ cursor: pointer;
+ transition: border-color 0.25s;
+}
+button:hover {
+ border-color: #646cff;
+}
+button:focus,
+button:focus-visible {
+ outline: 4px auto -webkit-focus-ring-color;
+}
+
+@media (prefers-color-scheme: light) {
+ :root {
+ color: #213547;
+ background-color: #ffffff;
+ }
+ a:hover {
+ color: #747bff;
+ }
+ button {
+ background-color: #f9f9f9;
+ }
+}
diff --git a/integration/templates/react-router-library/src/main.tsx b/integration/templates/react-router-library/src/main.tsx
new file mode 100644
index 0000000000..46ab36679f
--- /dev/null
+++ b/integration/templates/react-router-library/src/main.tsx
@@ -0,0 +1,23 @@
+import { StrictMode } from 'react';
+import { createRoot } from 'react-dom/client';
+import { BrowserRouter, Routes, Route } from 'react-router';
+import { ClerkProvider } from '@clerk/react-router';
+import './index.css';
+import App from './App.tsx';
+
+const PUBLISHABLE_KEY = import.meta.env.VITE_CLERK_PUBLISHABLE_KEY;
+
+createRoot(document.getElementById('root')!).render(
+
+
+
+
+ }
+ />
+
+
+
+ ,
+);
diff --git a/integration/templates/react-router-library/src/vite-env.d.ts b/integration/templates/react-router-library/src/vite-env.d.ts
new file mode 100644
index 0000000000..11f02fe2a0
--- /dev/null
+++ b/integration/templates/react-router-library/src/vite-env.d.ts
@@ -0,0 +1 @@
+///
diff --git a/integration/templates/react-router-library/tsconfig.app.json b/integration/templates/react-router-library/tsconfig.app.json
new file mode 100644
index 0000000000..358ca9ba93
--- /dev/null
+++ b/integration/templates/react-router-library/tsconfig.app.json
@@ -0,0 +1,26 @@
+{
+ "compilerOptions": {
+ "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo",
+ "target": "ES2020",
+ "useDefineForClassFields": true,
+ "lib": ["ES2020", "DOM", "DOM.Iterable"],
+ "module": "ESNext",
+ "skipLibCheck": true,
+
+ /* Bundler mode */
+ "moduleResolution": "bundler",
+ "allowImportingTsExtensions": true,
+ "isolatedModules": true,
+ "moduleDetection": "force",
+ "noEmit": true,
+ "jsx": "react-jsx",
+
+ /* Linting */
+ "strict": true,
+ "noUnusedLocals": true,
+ "noUnusedParameters": true,
+ "noFallthroughCasesInSwitch": true,
+ "noUncheckedSideEffectImports": true
+ },
+ "include": ["src"]
+}
diff --git a/integration/templates/react-router-library/tsconfig.json b/integration/templates/react-router-library/tsconfig.json
new file mode 100644
index 0000000000..d32ff68200
--- /dev/null
+++ b/integration/templates/react-router-library/tsconfig.json
@@ -0,0 +1,4 @@
+{
+ "files": [],
+ "references": [{ "path": "./tsconfig.app.json" }, { "path": "./tsconfig.node.json" }]
+}
diff --git a/integration/templates/react-router-library/tsconfig.node.json b/integration/templates/react-router-library/tsconfig.node.json
new file mode 100644
index 0000000000..db0becc8b0
--- /dev/null
+++ b/integration/templates/react-router-library/tsconfig.node.json
@@ -0,0 +1,24 @@
+{
+ "compilerOptions": {
+ "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo",
+ "target": "ES2022",
+ "lib": ["ES2023"],
+ "module": "ESNext",
+ "skipLibCheck": true,
+
+ /* Bundler mode */
+ "moduleResolution": "bundler",
+ "allowImportingTsExtensions": true,
+ "isolatedModules": true,
+ "moduleDetection": "force",
+ "noEmit": true,
+
+ /* Linting */
+ "strict": true,
+ "noUnusedLocals": true,
+ "noUnusedParameters": true,
+ "noFallthroughCasesInSwitch": true,
+ "noUncheckedSideEffectImports": true
+ },
+ "include": ["vite.config.ts"]
+}
diff --git a/integration/templates/react-router-library/vite.config.ts b/integration/templates/react-router-library/vite.config.ts
new file mode 100644
index 0000000000..4a5def4c3d
--- /dev/null
+++ b/integration/templates/react-router-library/vite.config.ts
@@ -0,0 +1,7 @@
+import { defineConfig } from 'vite';
+import react from '@vitejs/plugin-react';
+
+// https://vite.dev/config/
+export default defineConfig({
+ plugins: [react()],
+});
diff --git a/integration/templates/remix-node/.eslintrc.js b/integration/templates/remix-node/.eslintrc.js
deleted file mode 100644
index f2faf1470f..0000000000
--- a/integration/templates/remix-node/.eslintrc.js
+++ /dev/null
@@ -1,4 +0,0 @@
-/** @type {import('eslint').Linter.Config} */
-module.exports = {
- extends: ['@remix-run/eslint-config', '@remix-run/eslint-config/node'],
-};
diff --git a/integration/templates/remix-node/.gitignore b/integration/templates/remix-node/.gitignore
deleted file mode 100644
index 5d6a175132..0000000000
--- a/integration/templates/remix-node/.gitignore
+++ /dev/null
@@ -1,11 +0,0 @@
-node_modules
-
-.cache
-.env
-.vercel
-.output
-
-/build/
-/public/build
-/api/index.js
-/api/index.js.map
diff --git a/integration/templates/remix-node/README.md b/integration/templates/remix-node/README.md
deleted file mode 100644
index dc88d77a15..0000000000
--- a/integration/templates/remix-node/README.md
+++ /dev/null
@@ -1,40 +0,0 @@
-> **Warning**
-> The `@remix-run/vercel` runtime adapter has been deprecated in favor of out of
-> the box Vercel functionality and will be removed in Remix v2.
-> This means you don't have to use the Vercel template & can just use the Remix
-> template instead.
-
-# Welcome to Remix!
-
-- [Remix Docs](https://remix.run/docs)
-
-## Deployment
-
-After having run the `create-remix` command and selected "Vercel" as a deployment target, you only need to [import your Git repository](https://vercel.com/new) into Vercel, and it will be deployed.
-
-If you'd like to avoid using a Git repository, you can also deploy the directory by running [Vercel CLI](https://vercel.com/cli):
-
-```sh
-npm i -g vercel
-vercel
-```
-
-It is generally recommended to use a Git repository, because future commits will then automatically be deployed by Vercel, through its [Git Integration](https://vercel.com/docs/concepts/git).
-
-## Development
-
-To run your Remix app locally, make sure your project's local dependencies are installed:
-
-```sh
-npm install
-```
-
-Afterwards, start the Remix development server like so:
-
-```sh
-pnpm dev
-```
-
-Open up [http://localhost:3000](http://localhost:3000) and you should be ready to go!
-
-If you're used to using the `vercel dev` command provided by [Vercel CLI](https://vercel.com/cli) instead, you can also use that, but it's not needed.
diff --git a/integration/templates/remix-node/app/entry.client.tsx b/integration/templates/remix-node/app/entry.client.tsx
deleted file mode 100644
index 3f01ce18b1..0000000000
--- a/integration/templates/remix-node/app/entry.client.tsx
+++ /dev/null
@@ -1,18 +0,0 @@
-/**
- * By default, Remix will handle hydrating your app on the client for you.
- * You are free to delete this file if you'd like to, but if you ever want it revealed again, you can run `npx remix reveal` ✨
- * For more information, see https://remix.run/file-conventions/entry.client
- */
-
-import { RemixBrowser } from '@remix-run/react';
-import { startTransition, StrictMode } from 'react';
-import { hydrateRoot } from 'react-dom/client';
-
-startTransition(() => {
- hydrateRoot(
- document,
-
-
- ,
- );
-});
diff --git a/integration/templates/remix-node/app/entry.server.tsx b/integration/templates/remix-node/app/entry.server.tsx
deleted file mode 100644
index 0791aea535..0000000000
--- a/integration/templates/remix-node/app/entry.server.tsx
+++ /dev/null
@@ -1,125 +0,0 @@
-/**
- * By default, Remix will handle generating the HTTP Response for you.
- * You are free to delete this file if you'd like to, but if you ever want it revealed again, you can run `npx remix reveal` ✨
- * For more information, see https://remix.run/file-conventions/entry.server
- */
-
-import { PassThrough } from 'node:stream';
-
-import type { AppLoadContext, EntryContext } from '@remix-run/node';
-import { Response } from '@remix-run/node';
-import { RemixServer } from '@remix-run/react';
-import isbot from 'isbot';
-import { renderToPipeableStream } from 'react-dom/server';
-
-const ABORT_DELAY = 5_000;
-
-export default function handleRequest(
- request: Request,
- responseStatusCode: number,
- responseHeaders: Headers,
- remixContext: EntryContext,
- loadContext: AppLoadContext,
-) {
- return isbot(request.headers.get('user-agent'))
- ? handleBotRequest(request, responseStatusCode, responseHeaders, remixContext)
- : handleBrowserRequest(request, responseStatusCode, responseHeaders, remixContext);
-}
-
-function handleBotRequest(
- request: Request,
- responseStatusCode: number,
- responseHeaders: Headers,
- remixContext: EntryContext,
-) {
- return new Promise((resolve, reject) => {
- let shellRendered = false;
- const { pipe, abort } = renderToPipeableStream(
- ,
- {
- onAllReady() {
- shellRendered = true;
- const body = new PassThrough();
-
- responseHeaders.set('Content-Type', 'text/html');
-
- resolve(
- new Response(body, {
- headers: responseHeaders,
- status: responseStatusCode,
- }),
- );
-
- pipe(body);
- },
- onShellError(error: unknown) {
- reject(error);
- },
- onError(error: unknown) {
- responseStatusCode = 500;
- // Log streaming rendering errors from inside the shell. Don't log
- // errors encountered during initial shell rendering since they'll
- // reject and get logged in handleDocumentRequest.
- if (shellRendered) {
- console.error(error);
- }
- },
- },
- );
-
- setTimeout(abort, ABORT_DELAY);
- });
-}
-
-function handleBrowserRequest(
- request: Request,
- responseStatusCode: number,
- responseHeaders: Headers,
- remixContext: EntryContext,
-) {
- return new Promise((resolve, reject) => {
- let shellRendered = false;
- const { pipe, abort } = renderToPipeableStream(
- ,
- {
- onShellReady() {
- shellRendered = true;
- const body = new PassThrough();
-
- responseHeaders.set('Content-Type', 'text/html');
-
- resolve(
- new Response(body, {
- headers: responseHeaders,
- status: responseStatusCode,
- }),
- );
-
- pipe(body);
- },
- onShellError(error: unknown) {
- reject(error);
- },
- onError(error: unknown) {
- responseStatusCode = 500;
- // Log streaming rendering errors from inside the shell. Don't log
- // errors encountered during initial shell rendering since they'll
- // reject and get logged in handleDocumentRequest.
- if (shellRendered) {
- console.error(error);
- }
- },
- },
- );
-
- setTimeout(abort, ABORT_DELAY);
- });
-}
diff --git a/integration/templates/remix-node/app/root.tsx b/integration/templates/remix-node/app/root.tsx
deleted file mode 100644
index 4546c7334b..0000000000
--- a/integration/templates/remix-node/app/root.tsx
+++ /dev/null
@@ -1,36 +0,0 @@
-import { cssBundleHref } from '@remix-run/css-bundle';
-import type { LinksFunction } from '@remix-run/node';
-import { LoaderFunction } from '@remix-run/node';
-import { Links, LiveReload, Meta, Outlet, Scripts, ScrollRestoration } from '@remix-run/react';
-import { rootAuthLoader } from '@clerk/remix/ssr.server';
-import { ClerkApp, ClerkCatchBoundary } from '@clerk/remix';
-
-export const loader: LoaderFunction = args => rootAuthLoader(args);
-
-export const links: LinksFunction = () => [...(cssBundleHref ? [{ rel: 'stylesheet', href: cssBundleHref }] : [])];
-
-function App() {
- return (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- );
-}
-
-// TODO: Add clerkJsUrl
-export default ClerkApp(App);
-export const CatchBoundary = ClerkCatchBoundary();
diff --git a/integration/templates/remix-node/app/routes/_index.tsx b/integration/templates/remix-node/app/routes/_index.tsx
deleted file mode 100644
index 2b40fdbdfa..0000000000
--- a/integration/templates/remix-node/app/routes/_index.tsx
+++ /dev/null
@@ -1,16 +0,0 @@
-import type { V2_MetaFunction } from '@remix-run/node';
-import { SignedIn, SignedOut, UserButton } from '@clerk/remix';
-
-export const meta: V2_MetaFunction = () => {
- return [{ title: 'New Remix App' }, { name: 'description', content: 'Welcome to Remix!' }];
-};
-
-export default function Index() {
- return (
-
-
- SignedIn
- SignedOut
-
- );
-}
diff --git a/integration/templates/remix-node/app/routes/protected.tsx b/integration/templates/remix-node/app/routes/protected.tsx
deleted file mode 100644
index 2ec4e18cab..0000000000
--- a/integration/templates/remix-node/app/routes/protected.tsx
+++ /dev/null
@@ -1,19 +0,0 @@
-import { getAuth } from '@clerk/remix/ssr.server';
-import type { LoaderFunction } from '@remix-run/node';
-import { redirect } from '@remix-run/node';
-
-export const loader: LoaderFunction = async args => {
- const { userId } = await getAuth(args);
- if (!userId) {
- return redirect('/sign-in');
- }
- return {};
-};
-
-export default function Protected() {
- return (
-
-
Protected
-
- );
-}
diff --git a/integration/templates/remix-node/app/routes/sign-in.$.tsx b/integration/templates/remix-node/app/routes/sign-in.$.tsx
deleted file mode 100644
index 62f80b0b75..0000000000
--- a/integration/templates/remix-node/app/routes/sign-in.$.tsx
+++ /dev/null
@@ -1,14 +0,0 @@
-import { SignIn } from '@clerk/remix';
-
-export default function SignInPage() {
- return (
-
-
Sign In route
-
-
- );
-}
diff --git a/integration/templates/remix-node/app/routes/sign-up.$.tsx b/integration/templates/remix-node/app/routes/sign-up.$.tsx
deleted file mode 100644
index 1476b9f900..0000000000
--- a/integration/templates/remix-node/app/routes/sign-up.$.tsx
+++ /dev/null
@@ -1,14 +0,0 @@
-import { SignUp } from '@clerk/remix';
-
-export default function SignUpPage() {
- return (
-
-
Sign Up route
-
-
- );
-}
diff --git a/integration/templates/remix-node/package.json b/integration/templates/remix-node/package.json
deleted file mode 100644
index ffe14860e2..0000000000
--- a/integration/templates/remix-node/package.json
+++ /dev/null
@@ -1,33 +0,0 @@
-{
- "private": true,
- "sideEffects": false,
- "scripts": {
- "build": "remix build",
- "dev": "remix dev",
- "typecheck": "tsc"
- },
- "dependencies": {
- "@clerk/remix": "staging",
- "@remix-run/css-bundle": "^1.18.1",
- "@remix-run/node": "^1.18.1",
- "@remix-run/react": "^1.18.1",
- "@remix-run/vercel": "^1.18.1",
- "@vercel/node": "^2.10.3",
- "isbot": "^3.6.8",
- "react": "^18.3.1",
- "react-dom": "^18.3.1"
- },
- "devDependencies": {
- "@remix-run/dev": "^1.19.3",
- "@remix-run/eslint-config": "^1.18.1",
- "@remix-run/serve": "^1.18.1",
- "@types/node": "^18.19.33",
- "@types/react": "18.3.12",
- "@types/react-dom": "18.3.1",
- "eslint": "^8.38.0",
- "typescript": "^5.6.3"
- },
- "engines": {
- "node": ">=18.17.0"
- }
-}
diff --git a/integration/templates/remix-node/public/favicon.ico b/integration/templates/remix-node/public/favicon.ico
deleted file mode 100644
index 8830cf6821..0000000000
Binary files a/integration/templates/remix-node/public/favicon.ico and /dev/null differ
diff --git a/integration/templates/remix-node/remix.config.js b/integration/templates/remix-node/remix.config.js
deleted file mode 100644
index a67401bcd1..0000000000
--- a/integration/templates/remix-node/remix.config.js
+++ /dev/null
@@ -1,21 +0,0 @@
-/** @type {import('@remix-run/dev').AppConfig} */
-module.exports = {
- ignoredRouteFiles: ['**/.*'],
- // When running locally in development mode, we use the built-in remix
- // server. This does not understand the vercel lambda module format,
- // so we default back to the standard build output.
- server: process.env.NODE_ENV === 'development' ? undefined : './server.ts',
- serverBuildPath: 'api/index.js',
- // appDirectory: "app",
- // assetsBuildDirectory: "public/build",
- // publicPath: "/build/",
- serverModuleFormat: 'cjs',
- future: {
- v2_dev: false,
- v2_errorBoundary: false,
- v2_headers: true,
- v2_meta: true,
- v2_normalizeFormMethod: true,
- v2_routeConvention: true,
- },
-};
diff --git a/integration/templates/remix-node/remix.env.d.ts b/integration/templates/remix-node/remix.env.d.ts
deleted file mode 100644
index dcf8c45e1d..0000000000
--- a/integration/templates/remix-node/remix.env.d.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-///
-///
diff --git a/integration/templates/remix-node/server.ts b/integration/templates/remix-node/server.ts
deleted file mode 100644
index 687d7293bc..0000000000
--- a/integration/templates/remix-node/server.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-import * as build from '@remix-run/dev/server-build';
-import { installGlobals } from '@remix-run/node';
-import { createRequestHandler } from '@remix-run/vercel';
-
-installGlobals();
-
-export default createRequestHandler({ build, mode: process.env.NODE_ENV });
diff --git a/integration/templates/remix-node/tsconfig.json b/integration/templates/remix-node/tsconfig.json
deleted file mode 100644
index 20f8a386a6..0000000000
--- a/integration/templates/remix-node/tsconfig.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{
- "include": ["remix.env.d.ts", "**/*.ts", "**/*.tsx"],
- "compilerOptions": {
- "lib": ["DOM", "DOM.Iterable", "ES2019"],
- "isolatedModules": true,
- "esModuleInterop": true,
- "jsx": "react-jsx",
- "moduleResolution": "node",
- "resolveJsonModule": true,
- "target": "ES2019",
- "strict": true,
- "allowJs": true,
- "forceConsistentCasingInFileNames": true,
- "baseUrl": ".",
- "paths": {
- "~/*": ["./app/*"]
- },
-
- // Remix takes care of building everything in `remix build`.
- "noEmit": true
- }
-}
diff --git a/integration/tests/react-router/library-mode.test.ts b/integration/tests/react-router/library-mode.test.ts
new file mode 100644
index 0000000000..6f5af6f63b
--- /dev/null
+++ b/integration/tests/react-router/library-mode.test.ts
@@ -0,0 +1,59 @@
+import { test } from '@playwright/test';
+
+import type { Application } from '../../models/application';
+import { appConfigs } from '../../presets';
+import type { FakeOrganization, FakeUser } from '../../testUtils';
+import { createTestUtils } from '../../testUtils';
+
+test.describe('Library Mode basic tests for @react-router', () => {
+ test.describe.configure({ mode: 'parallel' });
+ let app: Application;
+ let fakeUser: FakeUser;
+ let fakeOrganization: FakeOrganization;
+
+ test.beforeAll(async () => {
+ app = await appConfigs.reactRouter.reactRouterLibrary.commit();
+
+ await app.setup();
+ await app.withEnv(appConfigs.envs.withEmailCodes);
+ await app.dev();
+
+ const u = createTestUtils({ app });
+ fakeUser = u.services.users.createFakeUser();
+ const user = await u.services.users.createBapiUser(fakeUser);
+ fakeOrganization = await u.services.users.createFakeOrganization(user.id);
+ });
+
+ test.afterAll(async () => {
+ await fakeOrganization.delete();
+ await fakeUser.deleteIfExists();
+
+ await app.teardown();
+ });
+
+ test.afterEach(async ({ page, context }) => {
+ const u = createTestUtils({ app, page, context });
+ await u.page.signOut();
+ await u.page.context().clearCookies();
+ });
+
+ test('should log in successfully', async ({ page, context }) => {
+ const u = createTestUtils({ app, page, context });
+
+ await u.page.goToAppHome();
+ await u.po.expect.toBeSignedOut();
+ await u.page.waitForClerkJsLoaded();
+
+ await u.page.getByRole('button', { name: /Sign in/i }).click();
+ await u.po.signIn.waitForMounted();
+ await u.po.signIn.signInWithEmailAndInstantPassword({ email: fakeUser.email, password: fakeUser.password });
+
+ await u.page.waitForAppUrl('/');
+ await u.po.expect.toBeSignedIn();
+ await u.po.userButton.waitForMounted();
+ await u.po.userButton.toggleTrigger();
+ await u.po.userButton.waitForPopover();
+
+ await u.po.userButton.toHaveVisibleMenuItems([/Manage account/i, /Sign out$/i]);
+ });
+});
diff --git a/package.json b/package.json
index bf422c2522..3bfbe08b6d 100644
--- a/package.json
+++ b/package.json
@@ -38,7 +38,7 @@
"test:integration:nextjs": "E2E_APP_ID=next.appRouter.* pnpm test:integration:base --grep @nextjs",
"test:integration:nuxt": "E2E_APP_ID=nuxt.node npm run test:integration:base -- --grep @nuxt",
"test:integration:quickstart": "E2E_APP_ID=quickstart.* pnpm test:integration:base --grep @quickstart",
- "test:integration:react-router": "E2E_APP_ID=react-router.node npm run test:integration:base -- --grep @react-router",
+ "test:integration:react-router": "E2E_APP_ID=react-router.* npm run test:integration:base -- --grep @react-router",
"test:integration:sessions": "pnpm test:integration:base --grep @sessions",
"test:integration:tanstack-router": "E2E_APP_ID=tanstack.router pnpm test:integration:base --grep @tanstack-router",
"test:integration:tanstack-start": "E2E_APP_ID=tanstack.start pnpm test:integration:base --grep @tanstack-start",
diff --git a/packages/astro/CHANGELOG.md b/packages/astro/CHANGELOG.md
index 93584a6b28..b5a577c602 100644
--- a/packages/astro/CHANGELOG.md
+++ b/packages/astro/CHANGELOG.md
@@ -1,5 +1,14 @@
# @clerk/astro
+## 2.1.4
+
+### Patch Changes
+
+- Updated dependencies [[`b3300c84a42276bd071a37addbd1ca6888ed9d7c`](https://github.com/clerk/javascript/commit/b3300c84a42276bd071a37addbd1ca6888ed9d7c), [`c9da04636ffe1ba804a1ce5e5b79027d3a2344d2`](https://github.com/clerk/javascript/commit/c9da04636ffe1ba804a1ce5e5b79027d3a2344d2)]:
+ - @clerk/backend@1.21.4
+ - @clerk/types@4.40.0
+ - @clerk/shared@2.20.4
+
## 2.1.3
### Patch Changes
diff --git a/packages/astro/package.json b/packages/astro/package.json
index 5599e4c27f..d2717b0c2d 100644
--- a/packages/astro/package.json
+++ b/packages/astro/package.json
@@ -1,6 +1,6 @@
{
"name": "@clerk/astro",
- "version": "2.1.3",
+ "version": "2.1.4",
"description": "Clerk SDK for Astro",
"keywords": [
"auth",
diff --git a/packages/backend/CHANGELOG.md b/packages/backend/CHANGELOG.md
index 99ef93e94b..071f83fc04 100644
--- a/packages/backend/CHANGELOG.md
+++ b/packages/backend/CHANGELOG.md
@@ -1,5 +1,17 @@
# Change Log
+## 1.21.4
+
+### Patch Changes
+
+- Allow to create and update SAML connections with organization IDs. ([#4792](https://github.com/clerk/javascript/pull/4792)) by [@LauraBeatris](https://github.com/LauraBeatris)
+
+ When users sign in or up using an organization's SAML connection, they're automatically added as members of that organization. For more information, refer to our docs: https://clerk.com/docs/organizations/manage-sso
+
+- Updated dependencies [[`c9da04636ffe1ba804a1ce5e5b79027d3a2344d2`](https://github.com/clerk/javascript/commit/c9da04636ffe1ba804a1ce5e5b79027d3a2344d2)]:
+ - @clerk/types@4.40.0
+ - @clerk/shared@2.20.4
+
## 1.21.3
### Patch Changes
diff --git a/packages/backend/package.json b/packages/backend/package.json
index a4703975ed..f6917d1ba9 100644
--- a/packages/backend/package.json
+++ b/packages/backend/package.json
@@ -1,6 +1,6 @@
{
"name": "@clerk/backend",
- "version": "1.21.3",
+ "version": "1.21.4",
"description": "Clerk Backend SDK - REST Client for Backend API & JWT verification utilities",
"homepage": "https://clerk.com/",
"bugs": {
diff --git a/packages/backend/src/api/endpoints/SamlConnectionApi.ts b/packages/backend/src/api/endpoints/SamlConnectionApi.ts
index 58671806c6..9ac17c2cf2 100644
--- a/packages/backend/src/api/endpoints/SamlConnectionApi.ts
+++ b/packages/backend/src/api/endpoints/SamlConnectionApi.ts
@@ -14,6 +14,7 @@ type CreateSamlConnectionParams = {
name: string;
provider: SamlIdpSlug;
domain: string;
+ organizationId?: string;
idpEntityId?: string;
idpSsoUrl?: string;
idpCertificate?: string;
@@ -31,6 +32,7 @@ type UpdateSamlConnectionParams = {
name?: string;
provider?: SamlIdpSlug;
domain?: string;
+ organizationId?: string;
idpEntityId?: string;
idpSsoUrl?: string;
idpCertificate?: string;
diff --git a/packages/backend/src/api/resources/JSON.ts b/packages/backend/src/api/resources/JSON.ts
index 5ef4fb5d2a..0c5c544ba6 100644
--- a/packages/backend/src/api/resources/JSON.ts
+++ b/packages/backend/src/api/resources/JSON.ts
@@ -360,6 +360,7 @@ export interface PaginatedResponseJSON {
export interface SamlConnectionJSON extends ClerkResourceJSON {
name: string;
domain: string;
+ organization_id: string | null;
idp_entity_id: string;
idp_sso_url: string;
idp_certificate: string;
diff --git a/packages/backend/src/api/resources/SamlConnection.ts b/packages/backend/src/api/resources/SamlConnection.ts
index d32f0495f4..e42add44c4 100644
--- a/packages/backend/src/api/resources/SamlConnection.ts
+++ b/packages/backend/src/api/resources/SamlConnection.ts
@@ -5,6 +5,7 @@ export class SamlConnection {
readonly id: string,
readonly name: string,
readonly domain: string,
+ readonly organizationId: string | null,
readonly idpEntityId: string | null,
readonly idpSsoUrl: string | null,
readonly idpCertificate: string | null,
@@ -28,6 +29,7 @@ export class SamlConnection {
data.id,
data.name,
data.domain,
+ data.organization_id,
data.idp_entity_id,
data.idp_sso_url,
data.idp_certificate,
diff --git a/packages/chrome-extension/CHANGELOG.md b/packages/chrome-extension/CHANGELOG.md
index eacf9f01c6..e8b5cf2d67 100644
--- a/packages/chrome-extension/CHANGELOG.md
+++ b/packages/chrome-extension/CHANGELOG.md
@@ -1,5 +1,14 @@
# Change Log
+## 2.1.6
+
+### Patch Changes
+
+- Updated dependencies []:
+ - @clerk/clerk-js@5.43.3
+ - @clerk/clerk-react@5.20.4
+ - @clerk/shared@2.20.4
+
## 2.1.5
### Patch Changes
diff --git a/packages/chrome-extension/package.json b/packages/chrome-extension/package.json
index 7c6fdb1f63..84cb43d456 100644
--- a/packages/chrome-extension/package.json
+++ b/packages/chrome-extension/package.json
@@ -1,6 +1,6 @@
{
"name": "@clerk/chrome-extension",
- "version": "2.1.5",
+ "version": "2.1.6",
"description": "Clerk SDK for Chrome extensions",
"keywords": [
"auth",
diff --git a/packages/clerk-js/CHANGELOG.md b/packages/clerk-js/CHANGELOG.md
index e4913b96c6..06857eaca2 100644
--- a/packages/clerk-js/CHANGELOG.md
+++ b/packages/clerk-js/CHANGELOG.md
@@ -1,5 +1,14 @@
# Change Log
+## 5.43.3
+
+### Patch Changes
+
+- Updated dependencies [[`c9da04636ffe1ba804a1ce5e5b79027d3a2344d2`](https://github.com/clerk/javascript/commit/c9da04636ffe1ba804a1ce5e5b79027d3a2344d2)]:
+ - @clerk/types@4.40.0
+ - @clerk/localizations@3.9.4
+ - @clerk/shared@2.20.4
+
## 5.43.2
### Patch Changes
diff --git a/packages/clerk-js/package.json b/packages/clerk-js/package.json
index b44fdf6829..f870ff517c 100644
--- a/packages/clerk-js/package.json
+++ b/packages/clerk-js/package.json
@@ -1,6 +1,6 @@
{
"name": "@clerk/clerk-js",
- "version": "5.43.2",
+ "version": "5.43.3",
"description": "Clerk JS library",
"keywords": [
"clerk",
diff --git a/packages/elements/CHANGELOG.md b/packages/elements/CHANGELOG.md
index 666b3ddef0..26be42b0a5 100644
--- a/packages/elements/CHANGELOG.md
+++ b/packages/elements/CHANGELOG.md
@@ -1,5 +1,14 @@
# @clerk/elements
+## 0.22.4
+
+### Patch Changes
+
+- Updated dependencies [[`c9da04636ffe1ba804a1ce5e5b79027d3a2344d2`](https://github.com/clerk/javascript/commit/c9da04636ffe1ba804a1ce5e5b79027d3a2344d2)]:
+ - @clerk/types@4.40.0
+ - @clerk/clerk-react@5.20.4
+ - @clerk/shared@2.20.4
+
## 0.22.3
### Patch Changes
diff --git a/packages/elements/package.json b/packages/elements/package.json
index 962279049c..00b7a5b823 100644
--- a/packages/elements/package.json
+++ b/packages/elements/package.json
@@ -1,6 +1,6 @@
{
"name": "@clerk/elements",
- "version": "0.22.3",
+ "version": "0.22.4",
"description": "Clerk Elements",
"keywords": [
"clerk",
diff --git a/packages/expo-passkeys/CHANGELOG.md b/packages/expo-passkeys/CHANGELOG.md
index 526295cad8..7d924d25fd 100644
--- a/packages/expo-passkeys/CHANGELOG.md
+++ b/packages/expo-passkeys/CHANGELOG.md
@@ -1,5 +1,13 @@
# @clerk/expo-passkeys
+## 0.1.4
+
+### Patch Changes
+
+- Updated dependencies [[`c9da04636ffe1ba804a1ce5e5b79027d3a2344d2`](https://github.com/clerk/javascript/commit/c9da04636ffe1ba804a1ce5e5b79027d3a2344d2)]:
+ - @clerk/types@4.40.0
+ - @clerk/shared@2.20.4
+
## 0.1.3
### Patch Changes
diff --git a/packages/expo-passkeys/package.json b/packages/expo-passkeys/package.json
index 58d3f0678c..6524ba61c5 100644
--- a/packages/expo-passkeys/package.json
+++ b/packages/expo-passkeys/package.json
@@ -1,6 +1,6 @@
{
"name": "@clerk/expo-passkeys",
- "version": "0.1.3",
+ "version": "0.1.4",
"description": "Passkeys library to be used with Clerk for expo",
"keywords": [
"react-native",
diff --git a/packages/expo/CHANGELOG.md b/packages/expo/CHANGELOG.md
index 9383307126..f3de5a1a87 100644
--- a/packages/expo/CHANGELOG.md
+++ b/packages/expo/CHANGELOG.md
@@ -1,5 +1,15 @@
# Change Log
+## 2.6.5
+
+### Patch Changes
+
+- Updated dependencies [[`c9da04636ffe1ba804a1ce5e5b79027d3a2344d2`](https://github.com/clerk/javascript/commit/c9da04636ffe1ba804a1ce5e5b79027d3a2344d2)]:
+ - @clerk/types@4.40.0
+ - @clerk/clerk-js@5.43.3
+ - @clerk/clerk-react@5.20.4
+ - @clerk/shared@2.20.4
+
## 2.6.4
### Patch Changes
diff --git a/packages/expo/package.json b/packages/expo/package.json
index 598b9e47a5..7bab782d6b 100644
--- a/packages/expo/package.json
+++ b/packages/expo/package.json
@@ -1,6 +1,6 @@
{
"name": "@clerk/clerk-expo",
- "version": "2.6.4",
+ "version": "2.6.5",
"description": "Clerk React Native/Expo library",
"keywords": [
"react",
diff --git a/packages/express/CHANGELOG.md b/packages/express/CHANGELOG.md
index f33eee9091..87fb4d3a05 100644
--- a/packages/express/CHANGELOG.md
+++ b/packages/express/CHANGELOG.md
@@ -1,5 +1,14 @@
# Change Log
+## 1.3.31
+
+### Patch Changes
+
+- Updated dependencies [[`b3300c84a42276bd071a37addbd1ca6888ed9d7c`](https://github.com/clerk/javascript/commit/b3300c84a42276bd071a37addbd1ca6888ed9d7c), [`c9da04636ffe1ba804a1ce5e5b79027d3a2344d2`](https://github.com/clerk/javascript/commit/c9da04636ffe1ba804a1ce5e5b79027d3a2344d2)]:
+ - @clerk/backend@1.21.4
+ - @clerk/types@4.40.0
+ - @clerk/shared@2.20.4
+
## 1.3.30
### Patch Changes
diff --git a/packages/express/package.json b/packages/express/package.json
index c5d3e42e45..9839ec1fd0 100644
--- a/packages/express/package.json
+++ b/packages/express/package.json
@@ -1,6 +1,6 @@
{
"name": "@clerk/express",
- "version": "1.3.30",
+ "version": "1.3.31",
"description": "Clerk server SDK for usage with Express",
"keywords": [
"clerk",
diff --git a/packages/fastify/CHANGELOG.md b/packages/fastify/CHANGELOG.md
index 708671d0df..ee2540469d 100644
--- a/packages/fastify/CHANGELOG.md
+++ b/packages/fastify/CHANGELOG.md
@@ -1,5 +1,14 @@
# Change Log
+## 2.1.4
+
+### Patch Changes
+
+- Updated dependencies [[`b3300c84a42276bd071a37addbd1ca6888ed9d7c`](https://github.com/clerk/javascript/commit/b3300c84a42276bd071a37addbd1ca6888ed9d7c), [`c9da04636ffe1ba804a1ce5e5b79027d3a2344d2`](https://github.com/clerk/javascript/commit/c9da04636ffe1ba804a1ce5e5b79027d3a2344d2)]:
+ - @clerk/backend@1.21.4
+ - @clerk/types@4.40.0
+ - @clerk/shared@2.20.4
+
## 2.1.3
### Patch Changes
diff --git a/packages/fastify/package.json b/packages/fastify/package.json
index 7fc1e5a87d..b5f024c13b 100644
--- a/packages/fastify/package.json
+++ b/packages/fastify/package.json
@@ -1,6 +1,6 @@
{
"name": "@clerk/fastify",
- "version": "2.1.3",
+ "version": "2.1.4",
"description": "Clerk SDK for Fastify",
"keywords": [
"auth",
diff --git a/packages/localizations/CHANGELOG.md b/packages/localizations/CHANGELOG.md
index 2d590c380a..d8e315d481 100644
--- a/packages/localizations/CHANGELOG.md
+++ b/packages/localizations/CHANGELOG.md
@@ -1,5 +1,12 @@
# Change Log
+## 3.9.4
+
+### Patch Changes
+
+- Updated dependencies [[`c9da04636ffe1ba804a1ce5e5b79027d3a2344d2`](https://github.com/clerk/javascript/commit/c9da04636ffe1ba804a1ce5e5b79027d3a2344d2)]:
+ - @clerk/types@4.40.0
+
## 3.9.3
### Patch Changes
diff --git a/packages/localizations/package.json b/packages/localizations/package.json
index c94bdf6e83..756958409b 100644
--- a/packages/localizations/package.json
+++ b/packages/localizations/package.json
@@ -1,6 +1,6 @@
{
"name": "@clerk/localizations",
- "version": "3.9.3",
+ "version": "3.9.4",
"description": "Localizations for the Clerk components",
"keywords": [
"react",
diff --git a/packages/nextjs/CHANGELOG.md b/packages/nextjs/CHANGELOG.md
index f5d79b5d77..771ea54798 100644
--- a/packages/nextjs/CHANGELOG.md
+++ b/packages/nextjs/CHANGELOG.md
@@ -1,5 +1,15 @@
# Change Log
+## 6.9.5
+
+### Patch Changes
+
+- Updated dependencies [[`b3300c84a42276bd071a37addbd1ca6888ed9d7c`](https://github.com/clerk/javascript/commit/b3300c84a42276bd071a37addbd1ca6888ed9d7c), [`c9da04636ffe1ba804a1ce5e5b79027d3a2344d2`](https://github.com/clerk/javascript/commit/c9da04636ffe1ba804a1ce5e5b79027d3a2344d2)]:
+ - @clerk/backend@1.21.4
+ - @clerk/types@4.40.0
+ - @clerk/clerk-react@5.20.4
+ - @clerk/shared@2.20.4
+
## 6.9.4
### Patch Changes
diff --git a/packages/nextjs/package.json b/packages/nextjs/package.json
index 05789e758c..b8d2c2573c 100644
--- a/packages/nextjs/package.json
+++ b/packages/nextjs/package.json
@@ -1,6 +1,6 @@
{
"name": "@clerk/nextjs",
- "version": "6.9.4",
+ "version": "6.9.5",
"description": "Clerk SDK for NextJS",
"keywords": [
"clerk",
diff --git a/packages/nuxt/CHANGELOG.md b/packages/nuxt/CHANGELOG.md
index 8648f9d13e..5c202b3409 100644
--- a/packages/nuxt/CHANGELOG.md
+++ b/packages/nuxt/CHANGELOG.md
@@ -1,5 +1,15 @@
# @clerk/nuxt
+## 0.1.5
+
+### Patch Changes
+
+- Updated dependencies [[`b3300c84a42276bd071a37addbd1ca6888ed9d7c`](https://github.com/clerk/javascript/commit/b3300c84a42276bd071a37addbd1ca6888ed9d7c), [`c9da04636ffe1ba804a1ce5e5b79027d3a2344d2`](https://github.com/clerk/javascript/commit/c9da04636ffe1ba804a1ce5e5b79027d3a2344d2), [`aeb5855853e5e89a03a1d6ce3d421c3e9870c814`](https://github.com/clerk/javascript/commit/aeb5855853e5e89a03a1d6ce3d421c3e9870c814)]:
+ - @clerk/backend@1.21.4
+ - @clerk/types@4.40.0
+ - @clerk/vue@0.1.5
+ - @clerk/shared@2.20.4
+
## 0.1.4
### Patch Changes
diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json
index 039e490073..b9b098761a 100644
--- a/packages/nuxt/package.json
+++ b/packages/nuxt/package.json
@@ -1,6 +1,6 @@
{
"name": "@clerk/nuxt",
- "version": "0.1.4",
+ "version": "0.1.5",
"description": "Clerk SDK for Nuxt",
"keywords": [
"clerk",
diff --git a/packages/react-router/CHANGELOG.md b/packages/react-router/CHANGELOG.md
index 84764dfca4..1efe86f6c4 100644
--- a/packages/react-router/CHANGELOG.md
+++ b/packages/react-router/CHANGELOG.md
@@ -1,5 +1,15 @@
# Change Log
+## 0.1.4
+
+### Patch Changes
+
+- Updated dependencies [[`b3300c84a42276bd071a37addbd1ca6888ed9d7c`](https://github.com/clerk/javascript/commit/b3300c84a42276bd071a37addbd1ca6888ed9d7c), [`c9da04636ffe1ba804a1ce5e5b79027d3a2344d2`](https://github.com/clerk/javascript/commit/c9da04636ffe1ba804a1ce5e5b79027d3a2344d2)]:
+ - @clerk/backend@1.21.4
+ - @clerk/types@4.40.0
+ - @clerk/clerk-react@5.20.4
+ - @clerk/shared@2.20.4
+
## 0.1.3
### Patch Changes
diff --git a/packages/react-router/package.json b/packages/react-router/package.json
index befb2075f5..2b06e010ba 100644
--- a/packages/react-router/package.json
+++ b/packages/react-router/package.json
@@ -1,6 +1,6 @@
{
"name": "@clerk/react-router",
- "version": "0.1.3",
+ "version": "0.1.4",
"description": "Clerk SDK for React Router",
"keywords": [
"clerk",
diff --git a/packages/react/CHANGELOG.md b/packages/react/CHANGELOG.md
index 3150367a3f..d43ad52689 100644
--- a/packages/react/CHANGELOG.md
+++ b/packages/react/CHANGELOG.md
@@ -1,5 +1,13 @@
# Change Log
+## 5.20.4
+
+### Patch Changes
+
+- Updated dependencies [[`c9da04636ffe1ba804a1ce5e5b79027d3a2344d2`](https://github.com/clerk/javascript/commit/c9da04636ffe1ba804a1ce5e5b79027d3a2344d2)]:
+ - @clerk/types@4.40.0
+ - @clerk/shared@2.20.4
+
## 5.20.3
### Patch Changes
diff --git a/packages/react/package.json b/packages/react/package.json
index d0d6b64ff1..29560d8ff0 100644
--- a/packages/react/package.json
+++ b/packages/react/package.json
@@ -1,6 +1,6 @@
{
"name": "@clerk/clerk-react",
- "version": "5.20.3",
+ "version": "5.20.4",
"description": "Clerk React library",
"keywords": [
"clerk",
diff --git a/packages/remix/CHANGELOG.md b/packages/remix/CHANGELOG.md
index 55d92066c4..c0578fbb5e 100644
--- a/packages/remix/CHANGELOG.md
+++ b/packages/remix/CHANGELOG.md
@@ -1,5 +1,15 @@
# Change Log
+## 4.4.5
+
+### Patch Changes
+
+- Updated dependencies [[`b3300c84a42276bd071a37addbd1ca6888ed9d7c`](https://github.com/clerk/javascript/commit/b3300c84a42276bd071a37addbd1ca6888ed9d7c), [`c9da04636ffe1ba804a1ce5e5b79027d3a2344d2`](https://github.com/clerk/javascript/commit/c9da04636ffe1ba804a1ce5e5b79027d3a2344d2)]:
+ - @clerk/backend@1.21.4
+ - @clerk/types@4.40.0
+ - @clerk/clerk-react@5.20.4
+ - @clerk/shared@2.20.4
+
## 4.4.4
### Patch Changes
diff --git a/packages/remix/package.json b/packages/remix/package.json
index baa00dd920..73220e6045 100644
--- a/packages/remix/package.json
+++ b/packages/remix/package.json
@@ -1,6 +1,6 @@
{
"name": "@clerk/remix",
- "version": "4.4.4",
+ "version": "4.4.5",
"description": "Clerk SDK for Remix",
"keywords": [
"clerk",
diff --git a/packages/sdk-node/CHANGELOG.md b/packages/sdk-node/CHANGELOG.md
index c580eac292..7bfb860119 100644
--- a/packages/sdk-node/CHANGELOG.md
+++ b/packages/sdk-node/CHANGELOG.md
@@ -1,5 +1,14 @@
# Change Log
+## 5.1.4
+
+### Patch Changes
+
+- Updated dependencies [[`b3300c84a42276bd071a37addbd1ca6888ed9d7c`](https://github.com/clerk/javascript/commit/b3300c84a42276bd071a37addbd1ca6888ed9d7c), [`c9da04636ffe1ba804a1ce5e5b79027d3a2344d2`](https://github.com/clerk/javascript/commit/c9da04636ffe1ba804a1ce5e5b79027d3a2344d2)]:
+ - @clerk/backend@1.21.4
+ - @clerk/types@4.40.0
+ - @clerk/shared@2.20.4
+
## 5.1.3
### Patch Changes
diff --git a/packages/sdk-node/package.json b/packages/sdk-node/package.json
index 620ac49187..1e32c897d9 100644
--- a/packages/sdk-node/package.json
+++ b/packages/sdk-node/package.json
@@ -1,6 +1,6 @@
{
"name": "@clerk/clerk-sdk-node",
- "version": "5.1.3",
+ "version": "5.1.4",
"description": "Clerk server SDK for usage with node",
"keywords": [
"clerk",
diff --git a/packages/shared/CHANGELOG.md b/packages/shared/CHANGELOG.md
index 6b55cf5a8d..f5a4f4a08f 100644
--- a/packages/shared/CHANGELOG.md
+++ b/packages/shared/CHANGELOG.md
@@ -1,5 +1,12 @@
# Change Log
+## 2.20.4
+
+### Patch Changes
+
+- Updated dependencies [[`c9da04636ffe1ba804a1ce5e5b79027d3a2344d2`](https://github.com/clerk/javascript/commit/c9da04636ffe1ba804a1ce5e5b79027d3a2344d2)]:
+ - @clerk/types@4.40.0
+
## 2.20.3
### Patch Changes
diff --git a/packages/shared/package.json b/packages/shared/package.json
index 1e43251a39..37aa9e2014 100644
--- a/packages/shared/package.json
+++ b/packages/shared/package.json
@@ -1,6 +1,6 @@
{
"name": "@clerk/shared",
- "version": "2.20.3",
+ "version": "2.20.4",
"description": "Internal package utils used by the Clerk SDKs",
"repository": {
"type": "git",
diff --git a/packages/tanstack-start/CHANGELOG.md b/packages/tanstack-start/CHANGELOG.md
index 7605bc49d1..e1ee0bde5c 100644
--- a/packages/tanstack-start/CHANGELOG.md
+++ b/packages/tanstack-start/CHANGELOG.md
@@ -1,5 +1,15 @@
# @clerk/tanstack-start
+## 0.8.4
+
+### Patch Changes
+
+- Updated dependencies [[`b3300c84a42276bd071a37addbd1ca6888ed9d7c`](https://github.com/clerk/javascript/commit/b3300c84a42276bd071a37addbd1ca6888ed9d7c), [`c9da04636ffe1ba804a1ce5e5b79027d3a2344d2`](https://github.com/clerk/javascript/commit/c9da04636ffe1ba804a1ce5e5b79027d3a2344d2)]:
+ - @clerk/backend@1.21.4
+ - @clerk/types@4.40.0
+ - @clerk/clerk-react@5.20.4
+ - @clerk/shared@2.20.4
+
## 0.8.3
### Patch Changes
diff --git a/packages/tanstack-start/package.json b/packages/tanstack-start/package.json
index 81e706f86b..76c69a8687 100644
--- a/packages/tanstack-start/package.json
+++ b/packages/tanstack-start/package.json
@@ -1,6 +1,6 @@
{
"name": "@clerk/tanstack-start",
- "version": "0.8.3",
+ "version": "0.8.4",
"description": "Clerk SDK for TanStack Start",
"keywords": [
"clerk",
diff --git a/packages/testing/CHANGELOG.md b/packages/testing/CHANGELOG.md
index cdcba03206..80cbde183f 100644
--- a/packages/testing/CHANGELOG.md
+++ b/packages/testing/CHANGELOG.md
@@ -1,5 +1,14 @@
# @clerk/testing
+## 1.4.4
+
+### Patch Changes
+
+- Updated dependencies [[`b3300c84a42276bd071a37addbd1ca6888ed9d7c`](https://github.com/clerk/javascript/commit/b3300c84a42276bd071a37addbd1ca6888ed9d7c), [`c9da04636ffe1ba804a1ce5e5b79027d3a2344d2`](https://github.com/clerk/javascript/commit/c9da04636ffe1ba804a1ce5e5b79027d3a2344d2)]:
+ - @clerk/backend@1.21.4
+ - @clerk/types@4.40.0
+ - @clerk/shared@2.20.4
+
## 1.4.3
### Patch Changes
diff --git a/packages/testing/package.json b/packages/testing/package.json
index 00064ef261..2bdda13bb9 100644
--- a/packages/testing/package.json
+++ b/packages/testing/package.json
@@ -1,6 +1,6 @@
{
"name": "@clerk/testing",
- "version": "1.4.3",
+ "version": "1.4.4",
"description": "Utilities to help you create E2E test suites for apps using Clerk",
"keywords": [
"auth",
diff --git a/packages/themes/CHANGELOG.md b/packages/themes/CHANGELOG.md
index 975e17b0ea..c27eb7db5a 100644
--- a/packages/themes/CHANGELOG.md
+++ b/packages/themes/CHANGELOG.md
@@ -1,5 +1,12 @@
# Change Log
+## 2.2.3
+
+### Patch Changes
+
+- Updated dependencies [[`c9da04636ffe1ba804a1ce5e5b79027d3a2344d2`](https://github.com/clerk/javascript/commit/c9da04636ffe1ba804a1ce5e5b79027d3a2344d2)]:
+ - @clerk/types@4.40.0
+
## 2.2.2
### Patch Changes
diff --git a/packages/themes/package.json b/packages/themes/package.json
index 324fa18de6..d22b0a505c 100644
--- a/packages/themes/package.json
+++ b/packages/themes/package.json
@@ -1,6 +1,6 @@
{
"name": "@clerk/themes",
- "version": "2.2.2",
+ "version": "2.2.3",
"description": "Themes for the Clerk auth components",
"keywords": [
"react",
diff --git a/packages/types/CHANGELOG.md b/packages/types/CHANGELOG.md
index 6fa877a977..03ae85fa59 100644
--- a/packages/types/CHANGELOG.md
+++ b/packages/types/CHANGELOG.md
@@ -1,5 +1,18 @@
# Change Log
+## 4.40.0
+
+### Minor Changes
+
+- Adds `oidcLoginHint` & `oidcPrompt` parameters to following types: ([#4789](https://github.com/clerk/javascript/pull/4789)) by [@octoper](https://github.com/octoper)
+
+ - `ReauthorizeExternalAccountParams`
+ - `OAuthConfig`
+ - `SignInCreateParams`
+ - `PrepareVerificationParams`
+ - `SignUpCreateParams`
+ - `CreateExternalAccountParams`
+
## 4.39.4
### Patch Changes
diff --git a/packages/types/package.json b/packages/types/package.json
index 1646e1ca6b..9ae7c6cdca 100644
--- a/packages/types/package.json
+++ b/packages/types/package.json
@@ -1,6 +1,6 @@
{
"name": "@clerk/types",
- "version": "4.39.4",
+ "version": "4.40.0",
"description": "Typings for Clerk libraries.",
"keywords": [
"clerk",
diff --git a/packages/ui/CHANGELOG.md b/packages/ui/CHANGELOG.md
index 3556fbb750..36757e949d 100644
--- a/packages/ui/CHANGELOG.md
+++ b/packages/ui/CHANGELOG.md
@@ -1,5 +1,15 @@
# @clerk/ui
+## 0.3.5
+
+### Patch Changes
+
+- Updated dependencies [[`c9da04636ffe1ba804a1ce5e5b79027d3a2344d2`](https://github.com/clerk/javascript/commit/c9da04636ffe1ba804a1ce5e5b79027d3a2344d2)]:
+ - @clerk/types@4.40.0
+ - @clerk/elements@0.22.4
+ - @clerk/localizations@3.9.4
+ - @clerk/shared@2.20.4
+
## 0.3.4
### Patch Changes
diff --git a/packages/ui/package.json b/packages/ui/package.json
index 6a97cc8d65..ac13ba67a6 100644
--- a/packages/ui/package.json
+++ b/packages/ui/package.json
@@ -1,6 +1,6 @@
{
"name": "@clerk/ui",
- "version": "0.3.4",
+ "version": "0.3.5",
"repository": {
"type": "git",
"url": "git+https://github.com/clerk/javascript.git",
diff --git a/packages/vue/CHANGELOG.md b/packages/vue/CHANGELOG.md
index f919d6d955..7f434b7ea7 100644
--- a/packages/vue/CHANGELOG.md
+++ b/packages/vue/CHANGELOG.md
@@ -1,5 +1,15 @@
# @clerk/vue
+## 0.1.5
+
+### Patch Changes
+
+- Add `initialValues` option to `` and `` components. ([#4801](https://github.com/clerk/javascript/pull/4801)) by [@wobsoriano](https://github.com/wobsoriano)
+
+- Updated dependencies [[`c9da04636ffe1ba804a1ce5e5b79027d3a2344d2`](https://github.com/clerk/javascript/commit/c9da04636ffe1ba804a1ce5e5b79027d3a2344d2)]:
+ - @clerk/types@4.40.0
+ - @clerk/shared@2.20.4
+
## 0.1.4
### Patch Changes
diff --git a/packages/vue/package.json b/packages/vue/package.json
index e323b1ef38..7a6fac893f 100644
--- a/packages/vue/package.json
+++ b/packages/vue/package.json
@@ -1,6 +1,6 @@
{
"name": "@clerk/vue",
- "version": "0.1.4",
+ "version": "0.1.5",
"description": "Clerk SDK for Vue",
"keywords": [
"clerk",
diff --git a/packages/vue/src/components/SignInButton.ts b/packages/vue/src/components/SignInButton.ts
index 37a5536de2..c6f375dd03 100644
--- a/packages/vue/src/components/SignInButton.ts
+++ b/packages/vue/src/components/SignInButton.ts
@@ -6,7 +6,7 @@ import { assertSingleChild, normalizeWithDefaultValue } from '../utils';
type SignInButtonProps = Pick<
SignInProps,
- 'fallbackRedirectUrl' | 'forceRedirectUrl' | 'signUpForceRedirectUrl' | 'signUpFallbackRedirectUrl'
+ 'fallbackRedirectUrl' | 'forceRedirectUrl' | 'signUpForceRedirectUrl' | 'signUpFallbackRedirectUrl' | 'initialValues'
>;
export const SignInButton = defineComponent(
@@ -42,6 +42,13 @@ export const SignInButton = defineComponent(
};
},
{
- props: ['signUpForceRedirectUrl', 'signUpFallbackRedirectUrl', 'fallbackRedirectUrl', 'forceRedirectUrl', 'mode'],
+ props: [
+ 'signUpForceRedirectUrl',
+ 'signUpFallbackRedirectUrl',
+ 'fallbackRedirectUrl',
+ 'forceRedirectUrl',
+ 'mode',
+ 'initialValues',
+ ],
},
);
diff --git a/packages/vue/src/components/SignUpButton.ts b/packages/vue/src/components/SignUpButton.ts
index 29281cac8d..891374ea44 100644
--- a/packages/vue/src/components/SignUpButton.ts
+++ b/packages/vue/src/components/SignUpButton.ts
@@ -8,7 +8,7 @@ type SignUpButtonProps = {
unsafeMetadata?: SignUpUnsafeMetadata;
} & Pick<
SignUpProps,
- 'fallbackRedirectUrl' | 'forceRedirectUrl' | 'signInForceRedirectUrl' | 'signInFallbackRedirectUrl'
+ 'fallbackRedirectUrl' | 'forceRedirectUrl' | 'signInForceRedirectUrl' | 'signInFallbackRedirectUrl' | 'initialValues'
>;
export const SignUpButton = defineComponent(
@@ -51,6 +51,7 @@ export const SignUpButton = defineComponent(
'fallbackRedirectUrl',
'forceRedirectUrl',
'mode',
+ 'initialValues',
],
},
);