Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
70 commits
Select commit Hold shift + click to select a range
43bfbd0
chore(repo): Use node@20 in CI (#6848)
jacekradko Oct 6, 2025
67a6d8a
Merge branch 'main' into vincent-and-the-doctor
jacekradko Oct 6, 2025
df16d8d
feat(*): Change name to `@clerk/react` (#6911)
dstaley Oct 6, 2025
36a1dfb
Merge branch 'main' into vincent-and-the-doctor
jacekradko Oct 7, 2025
965e7f1
chore(repo): Use node@20 in CI (#6848) (#6936)
jacekradko Oct 7, 2025
c605f19
feat(expo): Rename package to @clerk/expo (#6941)
dstaley Oct 8, 2025
26254f0
chore(shared): Remove top-level exports (#6940)
jacekradko Oct 9, 2025
8c47111
feat(backend): Update minimum node version to 20 (#6931)
jacekradko Oct 16, 2025
3b31bb0
feat(expo,react): Make Signal hooks the default (#6946)
dstaley Oct 16, 2025
c66e576
Merge branch 'main' into vincent-and-the-doctor
dstaley Oct 16, 2025
bb7e44f
Merge branch 'main' into vincent-and-the-doctor
nikosdouvlis Oct 17, 2025
bf47a06
Merge branch 'main' into vincent-and-the-doctor
nikosdouvlis Oct 30, 2025
dcc3319
Merge branch 'main' into vincent-and-the-doctor
nikosdouvlis Oct 30, 2025
65a236a
fix(expo,shared,clerk-react,localizations): Set minimum expo version …
nikosdouvlis Oct 30, 2025
5e1f028
feat(react): Add telemetry for new hooks (#7102)
dstaley Oct 30, 2025
6688d44
chore(repo): Drop `@clerk/types` (#7110)
nikosdouvlis Oct 31, 2025
62a7567
Merge branch 'main' into vincent-and-the-doctor
nikosdouvlis Oct 31, 2025
c08f08a
fix(clerk-js): Only reload client if session is not present (#7103)
dstaley Nov 3, 2025
1878085
fix(clerk-js,types): Add hasBeenFinalized to prevent null updates (#7…
dstaley Nov 5, 2025
54c1a67
Merge branch 'main' into vincent-and-the-doctor
nikosdouvlis Nov 10, 2025
15e5bf0
chore(*): Use types from `shared` package (#7191)
panteliselef Nov 10, 2025
41f6515
feat(nextjs): Drop support for next v13 and v14 (#7197)
panteliselef Nov 11, 2025
ba99fed
Merge branch 'main' into vincent-and-the-doctor
panteliselef Nov 11, 2025
c224a5c
feat(repo): Introduce @clerk/ui and ui versioning
nikosdouvlis Nov 11, 2025
d105c54
feat(ui,clerk-js): Support passing ClerkUi ctor to Clerk.load (#7205)
nikosdouvlis Nov 12, 2025
7bf9836
chore(clerk-js): Drop support for `forOrganizations` in PricingTable …
panteliselef Nov 13, 2025
6f95429
feat(astro): Support clerk/ui (#7206)
nikosdouvlis Nov 17, 2025
22c2a79
Merge branch 'main' into vincent-and-the-doctor
panteliselef Nov 17, 2025
162ccf1
chore(ui): Cherry pick APIKeys naming changes (#7237)
wobsoriano Nov 17, 2025
a4394a9
Merge branch 'main' into vincent-and-the-doctor
panteliselef Nov 18, 2025
a3e689f
feat(clerk-js,shared): Signal based useCheckout (#7232)
panteliselef Nov 18, 2025
b0664cf
Merge branch 'main' into vincent-and-the-doctor
panteliselef Nov 18, 2025
ac34168
chore(clerk-js,types): Remove deprecated `UserSettings.saml` (#7063)
LauraBeatris Nov 18, 2025
8f3e7a0
Merge branch 'main' into vincent-and-the-doctor
dstaley Nov 19, 2025
8cb5edc
feat(react): Do not hotload clerkUi if clerkUiCtor was passed (#7256)
nikosdouvlis Nov 19, 2025
cc3b220
feat(repo): Ensure all packages require node 20+ (#7262)
jacekradko Nov 19, 2025
d444a25
fix(repo): Do not bail in CI on bundlewatch failure (#7261)
jacekradko Nov 19, 2025
3687063
chore(repo): Drop `@clerk/elements` from core 3 (#7271)
nikosdouvlis Nov 20, 2025
e72f7a8
Merge branch 'main' into vincent-and-the-doctor
dstaley Nov 20, 2025
5b0c4db
feat(upgrade): Add support for @clerk/react (#6939)
dstaley Nov 20, 2025
a888d47
feat(ui): Switch to ESM only builds (#7264)
nikosdouvlis Nov 21, 2025
e70afad
feat(chrome-extension): Support @clerk/ui (#7265)
nikosdouvlis Nov 21, 2025
cf0d0dc
chore(clerk-js,shared,backend): Remove deprecated `samlAccounts` (#7258)
LauraBeatris Nov 21, 2025
a1aaff3
chore(shared,ui): Remove deprecated `hideSlug` prop from organization…
LauraBeatris Nov 21, 2025
f944623
chore(nuxt): Change default routing strategy to path-based (#7260)
wobsoriano Nov 21, 2025
77dd97e
chore(nuxt): Remove deprecated helper and `auth` property access (#7284)
wobsoriano Nov 21, 2025
956563a
Merge branch 'main' into vincent-and-the-doctor
panteliselef Nov 21, 2025
61e73a6
fix(ui): Reference correct config file for build commands (#7287)
panteliselef Nov 21, 2025
82b4ae6
fix(ui): Correct lint:attw command (#7290)
jacekradko Nov 22, 2025
d6fa29a
chore(repo): Enable canary-core3 releases from vincent-and-the-doctor…
nikosdouvlis Nov 24, 2025
8b95393
feat: remove deprecated props (#7243)
jacekradko Nov 24, 2025
5ef929b
fix(repo): Correct minor version package (#7296)
jacekradko Nov 24, 2025
67c38ba
fix(shared): Make ESlint pass (#7291)
jacekradko Nov 24, 2025
b701a9e
fix(shared): Make safeImport accept an import cb instead of string
nikosdouvlis Nov 26, 2025
f9425fb
feat(shared): Introduce ModuleManager interface
nikosdouvlis Nov 26, 2025
f7ad19f
feat(clerk-js): Implement and inject ModuleManager
nikosdouvlis Nov 26, 2025
a5e17d2
feat(ui): Accept and propagate ModuleManager via React Context
nikosdouvlis Nov 26, 2025
9ee9ee3
feat(repo): Move clerk/js and clerk/shared importable deps into catal…
nikosdouvlis Nov 26, 2025
bf86804
feat(shared,ui,js): Refactor web3 module to use ModuleManager instead…
nikosdouvlis Nov 26, 2025
765d6cb
feat(ui): add ModuleManagerProvider into LazyProviders
nikosdouvlis Nov 26, 2025
4589f87
chore: update commitlint config with more sane defaults
nikosdouvlis Nov 26, 2025
35601f1
feat(shared,ui,js): Refactor zxcvbn module to use ModuleManager inste…
nikosdouvlis Nov 26, 2025
3115e66
chore(ui): fix types that broke after disabling hoisted installs
nikosdouvlis Nov 26, 2025
80a01e5
fix(js): drop unused chunk config from rspack
nikosdouvlis Nov 26, 2025
049a898
fix(ui): drop unused chunk config from rspack
nikosdouvlis Nov 26, 2025
dd46cea
feat(ui,js): update bundlewatch configs
nikosdouvlis Nov 26, 2025
4be12dc
chore: update lockfile
nikosdouvlis Nov 26, 2025
4da7668
fix(repo): fix statis analysis checks
nikosdouvlis Nov 26, 2025
3dac245
chore(clerk-js,shared,ui): Remove deprecated `saml` strategy (#7326)
LauraBeatris Nov 27, 2025
92137ee
chore(ui): Hide "create organization" action based on max membership …
LauraBeatris Nov 27, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
5 changes: 5 additions & 0 deletions .changeset/cuddly-shrimps-refuse.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@clerk/backend': major
---

Update engines config to require node@20 or higher
2 changes: 2 additions & 0 deletions .changeset/cyan-dancers-chew.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
---
---
42 changes: 42 additions & 0 deletions .changeset/deprecate-clerk-types.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
---
'@clerk/shared': minor
'@clerk/astro': patch
'@clerk/backend': patch
'@clerk/chrome-extension': patch
'@clerk/clerk-js': patch
'@clerk/themes': patch
'@clerk/vue': patch
---

Deprecate `@clerk/types` in favor of `@clerk/shared/types`

The `@clerk/types` package is now deprecated. All type definitions have been consolidated and moved to `@clerk/shared/types` to improve consistency across the Clerk ecosystem.

**Backward Compatibility:**

The `@clerk/types` package will remain available and will continue to re-export all types from `@clerk/shared/types` to ensure backward compatibility. Existing applications will continue to work without any immediate breaking changes. However, we strongly recommend migrating to `@clerk/shared/types` as new type definitions and updates will only be added to `@clerk/shared/types` starting with the next major release.

**Migration Steps:**

Please update your imports from `@clerk/types` to `@clerk/shared/types`:

```typescript
// Before
import type { ClerkResource, UserResource } from '@clerk/types';

// After
import type { ClerkResource, UserResource } from '@clerk/shared/types';
```

**What Changed:**

All type definitions including:
- Resource types (User, Organization, Session, etc.)
- API response types
- Configuration types
- Authentication types
- Error types
- And all other shared types

Have been moved from `packages/types/src` to `packages/shared/src/types` and are now exported via `@clerk/shared/types`.

12 changes: 12 additions & 0 deletions .changeset/eight-groups-poke.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
'@clerk/upgrade': minor
---

Add support for the latest versions of the following packages:
- `@clerk/react` (replacement for `@clerk/clerk-react`)
- `@clerk/expo` (replacement for `@clerk/clerk-expo`)
- `@clerk/nextjs`
- `@clerk/react-router`
- `@clerk/tanstack-start-react`

During the upgrade, imports of the `useSignIn()` and `useSignUp()` hooks will be updated to import from the `/legacy` subpath.
2 changes: 2 additions & 0 deletions .changeset/fine-symbols-occur.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
---
---
6 changes: 6 additions & 0 deletions .changeset/fix-ui-cicd.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
"@clerk/ui": patch
---

Fix UI package serving in CI/CD integration tests

39 changes: 39 additions & 0 deletions .changeset/fruity-apes-deny.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
---
'@clerk/clerk-js': major
'@clerk/shared': major
'@clerk/react': major
---

Updated returned values of `Clerk.checkout()` and `useCheckout`.

### Vanilla JS
```ts
// Before
const { getState, subscribe, confirm, start, clear, finalize } = Clerk.checkout({ planId: "xxx", planPeriod: "annual" })
getState().isStarting
getState().isConfirming
getState().error
getState().checkout
getState().fetchStatus
getState().status

// After
const { checkout, errors, fetchStatus } = Clerk.checkout({ planId: "xxx", planPeriod: "annual" })
checkout.plan // null or defined based on `checkout.status`
checkout.status
checkout.start
checkout.confirm
```

### React
```ts
// Before
const { id, plan, status, start, confirm, paymentSource } = useCheckout({ planId: "xxx", planPeriod: "annual" })

// After
const { checkout, errors, fetchStatus } = usecCheckout({ planId: "xxx", planPeriod: "annual" })
checkout.plan // null or defined based on `checkout.status`
checkout.status
checkout.start
checkout.confirm
```
7 changes: 7 additions & 0 deletions .changeset/fuzzy-chefs-stand.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
'@clerk/nextjs': major
'@clerk/shared': major
'@clerk/react': major
---

Updating minimum version of Node to v20.9.0
6 changes: 6 additions & 0 deletions .changeset/happy-apes-care.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
'@clerk/clerk-js': major
'@clerk/shared': major
---

Remove deprecated `saml` property from `UserSettings` in favor of `enterpriseSSO`
8 changes: 8 additions & 0 deletions .changeset/happy-breads-begin.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
'@clerk/clerk-js': major
'@clerk/backend': major
'@clerk/shared': major
'@clerk/ui': major
---

Remove deprecated `samlAccount` in favor of `enterpriseAccount`
5 changes: 5 additions & 0 deletions .changeset/hungry-beers-slide.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@clerk/ui': major
---

Hide "Create organization" action when user reaches organization membership limit
18 changes: 18 additions & 0 deletions .changeset/mean-owls-brake.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
---
"@clerk/astro": major
"@clerk/chrome-extension": major
"@clerk/clerk-js": major
"@clerk/dev-cli": major
"@clerk/expo": major
"@clerk/express": major
"@clerk/localizations": major
"@clerk/nuxt": major
"@clerk/tanstack-react-start": major
"@clerk/testing": major
"@clerk/themes": major
"@clerk/upgrade": major
"@clerk/vue": major
---

Require Node.js 20.9.0 in all packages

8 changes: 8 additions & 0 deletions .changeset/ninety-days-dream.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
'@clerk/shared': major
'@clerk/ui': major
---

Remove deprecated `hideSlug` in favor of `organizationSettings.slug.disabled` setting

Slugs can now be enabled directly from the Organization Settings page in the Clerk Dashboard
2 changes: 2 additions & 0 deletions .changeset/orange-hotels-join.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
---
---
11 changes: 11 additions & 0 deletions .changeset/remove-deprecated-props.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---
"@clerk/nextjs": major
"@clerk/react": major
"@clerk/clerk-js": major
"@clerk/shared": major
"@clerk/ui": major
"@clerk/react-router": major
"@clerk/tanstack-react-start": minor
---

Remove all previously deprecated UI props across the Next.js, React and clerk-js SDKs. The legacy `afterSign(In|Up)Url`/`redirectUrl` props, `UserButton` sign-out overrides, organization `hideSlug` flags, `OrganizationSwitcher`'s `afterSwitchOrganizationUrl`, `Client.activeSessions`, `setActive({ beforeEmit })`, and the `ClerkMiddlewareAuthObject` type alias are no longer exported. Components now rely solely on the new redirect options and server-side configuration.
7 changes: 7 additions & 0 deletions .changeset/salty-maps-fry.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
'@clerk/clerk-js': major
'@clerk/shared': major
'@clerk/ui': major
---

Remove deprecated `saml` strategy in favor of `enterprise_sso`
37 changes: 37 additions & 0 deletions .changeset/set-minimum-expo-53.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
---
'@clerk/expo': major
'@clerk/expo-passkeys': major
'@clerk/shared': major
'@clerk/react': major
'@clerk/localizations': major
---

Drop support for Expo 50, 51 and 52. This release includes two breaking changes:

## 1. Updated Expo peer dependency requirements

**@clerk/clerk-expo**
- **Added** new peer dependency: `expo: >=53 <55`
- The core `expo` package is now explicitly required as a peer dependency
- This ensures compatibility with the Expo SDK version range that supports the features used by Clerk

**@clerk/expo-passkeys**
- **Updated** peer dependency: `expo: >=53 <55` (previously `>=50 <55`)
- Minimum Expo version increased from 50 to 53
- This aligns with the main `@clerk/clerk-expo` package requirements

## 2. Removed legacy subpath exports

The following packages have removed their legacy subpath export mappings:
- `@clerk/clerk-expo`
- `@clerk/shared`
- `@clerk/clerk-react`
- `@clerk/localizations`

**What changed:**
Previously, these packages used a workaround to support subpath imports (e.g., `@clerk/shared/react`, `@clerk/clerk-expo/web`). These legacy exports have been removed in favor of modern package.json `exports` field configuration.

All public APIs remain available through the main package entry points.



2 changes: 2 additions & 0 deletions .changeset/shaky-books-occur.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
---
---
15 changes: 15 additions & 0 deletions .changeset/slimy-sheep-kick.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
---
"@clerk/nuxt": major
---

Removed deprecated `getAuth()` helper. Use `event.context.auth()` in your server routes instead.

```ts
export default defineEventHandler((event) => {
const { userId } = event.context.auth()

return {
userId,
}
})
```
2 changes: 2 additions & 0 deletions .changeset/strict-hornets-kneel.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
---
---
9 changes: 9 additions & 0 deletions .changeset/strong-bars-learn.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
'@clerk/chrome-extension': patch
'@clerk/expo': patch
'@clerk/nextjs': patch
'@clerk/react-router': patch
'@clerk/tanstack-react-start': patch
---

Use new `@clerk/react` package.
5 changes: 5 additions & 0 deletions .changeset/tame-suits-try.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@clerk/react': major
---

Change package name to `@clerk/react`.
5 changes: 5 additions & 0 deletions .changeset/ten-wolves-attack.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@clerk/nextjs': major
---

Drop support for `next@13` and `next@14` since they have reached [EOL](https://nextjs.org/support-policy#unsupported-versions). Now `>= [email protected]` is required.
12 changes: 12 additions & 0 deletions .changeset/thirty-cherries-pull.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
"@clerk/nuxt": major
---

Routing strategy for the ff. components now default to `path`:

- `<SignIn />`
- `<SignUp />`
- `<UserProfile />`
- `<OrganizationProfile />`
- `<CreateOrganization />`
- `<OrganizationList />`
5 changes: 5 additions & 0 deletions .changeset/tricky-humans-stand.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@clerk/expo': major
---

Rename package to `@clerk/expo`.
5 changes: 5 additions & 0 deletions .changeset/twenty-rockets-stop.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@clerk/shared': major
---

Removing deprecated top-level exports from @clerk/shared
5 changes: 5 additions & 0 deletions .changeset/wild-bees-explode.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@clerk/vue": minor
---

Introduced internal composable for handling routing configuration for UI components
5 changes: 2 additions & 3 deletions .cursor/rules/monorepo.mdc
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ Core Package Categories
- **Backend**: `@clerk/backend` - Server-side utilities and JWT verification
- **Shared Utilities**: `@clerk/shared`, `@clerk/types` - Common utilities and TypeScript types
- **Developer Tools**: `@clerk/testing`, `@clerk/dev-cli`, `@clerk/upgrade`
- **UI Libraries**: `@clerk/elements` - Unstyled UI primitives, `@clerk/themes` - Pre-built themes
- **UI Libraries**: `@clerk/themes` - Pre-built themes
- **Specialized**: `@clerk/agent-toolkit` - AI agent integration tools

Directory Structure
Expand All @@ -46,11 +46,10 @@ Development Workflow
Framework-Specific Packages

- `@clerk/nextjs` - Next.js App Router and Pages Router support
- `@clerk/clerk-react` - React hooks and components
- `@clerk/react` - React hooks and components
- `@clerk/vue` - Vue.js composables and components
- `@clerk/astro` - Astro integration with SSR support
- `@clerk/nuxt` - Nuxt.js module
- `@clerk/remix` - Remix loader and action utilities
- `@clerk/express` - Express.js middleware
- `@clerk/fastify` - Fastify plugin
- `@clerk/expo` - React Native/Expo SDK
Expand Down
9 changes: 0 additions & 9 deletions .github/labeler.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,6 @@ chrome-extension:
clerk-js:
- packages/clerk-js/**

elements:
- packages/elements/**

expo:
- packages/expo/**

Expand All @@ -39,9 +36,6 @@ react:
react-router:
- packages/react-router/**

remix:
- packages/remix/**

tanstack:
- packages/tanstack-react-start/**

Expand All @@ -51,9 +45,6 @@ testing:
themes:
- packages/themes/**

types:
- packages/types/**

vue:
- packages/vue/**

Expand Down
Loading
Loading