惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
美团技术团队
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
月光博客
月光博客
J
Java Code Geeks
Jina AI
Jina AI
罗磊的独立博客
宝玉的分享
宝玉的分享
S
SegmentFault 最新的问题
D
DataBreaches.Net
博客园 - 叶小钗
腾讯CDC
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Last Week in AI
Last Week in AI
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Google DeepMind News
Google DeepMind News
阮一峰的网络日志
阮一峰的网络日志
B
Blog
V
Visual Studio Blog
雷峰网
雷峰网
博客园 - 【当耐特】
Apple Machine Learning Research
Apple Machine Learning Research
Engineering at Meta
Engineering at Meta
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报

Clerk Changelog

Largest organizations report Flush elevation option for page-mounted components Groups and custom attributes mapping are now generally available Organizations support in OAuth Applications Improved observability with Application Logs Clerk CLI API Keys General Availability Directory Sync (SCIM) is now generally available Theme Expo native components from a JSON file Infinite scrolling in Overview tables Filter test users in Overview analytics Annual-only plans for Clerk Billing Preview Custom Session Claims Restrict end users from changing their identifiers Clerk Billing now supports plans with seat limits Overview for waitlist mode Clerk is now available in Stripe Projects Organization activity report Create and manage enterprise connections through Clerk's API Native React Native components, Google Sign-In, and Core 3 X social connection improvements JWT format support for M2M tokens Chrome Extension JavaScript SDK support Organization retention report Require multi-factor authentication (MFA) on mobile Test enterprise connections with shareable links Clerk Convex integration for Swift and Kotlin Require multi-factor authentication (MFA) Improved visibility into Stripe account status Share Dashboard Analytics
Core 3
Alex Bratsos, Alex Carpenter, Bryce Kalow, Dylan Staley, Fredrik · 2026-03-03 · via Clerk Changelog

We're excited to announce the latest major release of Clerk's SDKs, Core 3. With the release, we're investing in better customization primitives and agent-friendly APIs. Highlights include:

  • Improved customization APIs: New hooks for building custom sign in, sign up, and checkout flows.
  • Theme editor and interactive docs: Customize components visually and preview props live in the docs.
  • Agent-optimized onboarding: Keyless mode for more SDKs: TanStack Start, Astro, and React Router.
  • Modern React support: Improved support for apps that use concurrent rendering features.
  • Performance improvements: Smaller bundles, faster token fetching, better offline handling.

Upgrade today

We've built an upgrade CLI that scans your codebase and applies codemods for most breaking changes. If you've used our upgrade tool before, the process is the same.

Core 3 requires Node.js 20.9.0+. For the full list of changes, upgrade prompts, and step-by-step instructions, see the Core 3 upgrade guide.

Improved customization APIs

We've redesigned the APIs for the useSignIn, useSignUp and useCheckout hooks, and introduced a new useWaitlist hook. These refreshed APIs make building custom auth UIs easier for humans and agents.

Previously, you needed to maintain your own state for attempt status, loading states, and error parsing. Now, it's all exposed from the hooks:

The same structure applies whether you're building a sign up form, a waitlist, or a checkout flow, so you don't need to learn a different API for each one. The hooks are designed to work with any component library, whether you're using shadcn/ui, Radix, or your own components.

We've also rewritten all of our custom flow documentation to use the new hooks.

Theme editor and interactive docs

We've launched a theme editor that lets you visually customize Clerk's prebuilt components and copy the resulting appearance prop configuration into your app. You can adjust colors, spacing, typography, and borders, and see the changes in real time. Give it a whirl and share your custom themes with us!

Our component documentation is now interactive too. You can tweak props, see live previews, and copy working code directly from the docs.

Agent-optimized onboarding for more frameworks

Keyless mode, the ability to try Clerk without creating an account or configuring API keys, now works with TanStack Start, Astro, and React Router. You can go from pnpm install to a working auth setup without leaving your editor. Great for agents!

Modern React support

Clerk now works correctly when your app is using React's concurrent features, including transitions, Suspense, and streaming SSR. Previously, Clerk's auth state synchronization could conflict with concurrent rendering, leading to stale state during useTransition navigations or hydration mismatches with streaming. Core 3 reworks how Clerk manages auth state internally to resolve these issues. No code changes are needed on your end.

Performance improvements

  • Smaller bundles: React is now shared across all framework SDKs instead of being bundled separately with Clerk's components. This saves roughly ~50KB gzipped (the size of react + react-dom) for apps using components and framework-specific packages like @clerk/nextjs or @clerk/tanstack-react-start.
  • Faster satellite domains: Previously, satellite domains triggered a Handshake redirect to the primary domain on every first page load, even for anonymous visitors. Core 3 introduces a satelliteAutoSync option (defaults to false) that skips the redirect when no session cookies exist. The handshake now only fires after an explicit sign in action, eliminating the unnecessary redirect for most satellite traffic.
  • Better offline handling: getToken() previously returned null both when the user was signed out and when the device was offline. The latter was unintentional. It now throws a ClerkOfflineError when the network is unavailable, so you can more reliably handle being offline in your application.
  • Optimized token fetching: getToken() now proactively refreshes session tokens in the background before they expire, so your app never has to wait for a token refresh mid-request. This eliminates intermittent blocking delays in apps that make frequent API calls, like AI chat apps with sequential requests.

Other updates

  • Simplified package names: @clerk/clerk-react is now @clerk/react. @clerk/clerk-expo is now @clerk/expo. The upgrade CLI handles the rename.
  • Unified <Show> component: <Protect>, <SignedIn>, and <SignedOut> are replaced by a single <Show> component. Use when="signed-in", when="signed-out", or pass a condition callback for authorization checks. In certain scenarios, these components still expose the content they are wrapping in your source code. We picked Show as the new name to make it clear that this utility should be only be used to control visibility. Learn more.
  • Automatic light/dark theme: Previously, you had to manually switch Clerk's component theme depending on the theme of your application. Now, Clerk's components automatically match your app's color scheme if it supports light and dark mode. No additional configuration needed. Learn more.
  • Automatic Vite env detection: Clerk detects environment variables in Vite-based projects automatically. No more manually passing VITE_CLERK_PUBLISHABLE_KEY. Learn more.
  • Portal provider: New UNSAFE_PortalProvider component lets you specify a custom container for Clerk's portaled UI elements (popovers, modals, tooltips). This solves a common issue when using Clerk components inside libraries like Radix Dialog or React Aria, where portaled elements would render to document.body and end up behind the dialog. Learn more.
  • Frontend API proxy helper: clerkMiddleware in Next.js and Express now supports proxying requests to Clerk's Frontend API. Previously, you had to implement this yourself following the guide in our docs. Enable it with frontendApiProxy: { enabled: true } in your middleware config. Learn more.
  • Types subpath exports: You can now import Clerk types directly from any SDK package (e.g. import type { UserResource } from '@clerk/react/types') instead of installing the separate @clerk/types package. @clerk/types has been deprecated.
  • Next.js cache components support: Baseline support for Next.js's cache components. If you're using cache components, ClerkProvider should be placed inside <body> rather than wrapping <html>.
  • Component changelog: A new centralized component changelog tracks visual and behavioral updates to prebuilt components, independent of SDK releases.

Deprecations

  • Clerk Elements: Deprecated in favor of the redesigned hooks, which cover the same custom UI use cases with less complexity.
  • @clerk/types: As mentioned above, the dedicated types package has been deprecated in favor of exposing types through existing SDKs.
  • For additional deprecations and breaking changes, see the upgrade guide.

If you run into issues upgrading, reach out on Discord or contact support. We're here to help. Happy building!