Visualize how active each organization is in your application
The organization activity report shows daily member engagement levels for each org, helping you understand how teams are using your product.
Visualize engagement - Each day in the report is color-coded by the percentage of total organization members who were active, making it easy to spot trends and patterns.
Navigate by year - Use the year selector to browse activity across different years.
Hover for details - Tooltips show the percentage of org members who were active on each day.
Note: Activity data is available starting from January 2026.
To view the activity report, open any organization's profile page from the Organizations list in your Clerk Dashboard.
Keep an eye out for continued improvements to the organization profile page.
Create, list, read, update, and delete enterprise connections programmatically.
You can now fully manage both SAML and OIDC enterprise connections via the Clerk Backend API. Previously, you could only manage SAML connections via the API.
What's new
The following endpoints are now available on Clerk's backend API:
Method
Path
Description
POST
/v1/enterprise_connections
Create an enterprise connection. Accepts provider, domains, name and organization_id as params
GET
/v1/enterprise_connections
List enterprise connections. Query: organization_id (optional), pagination.
If you currently use the /saml_connections endpoint, we recommend migrating to the new /enterprise_connections endpoint. This unified API allows you to manage both SAML and OIDC connections, and will serve as the primary interface moving forward. Support for the legacy SAML endpoint may be phased out in the future.
Getting started
Visit the API reference for detailed documentation on request parameters and response formats.
@clerk/expo now ships prebuilt native components (AuthView, UserButton, UserProfileView), native Google Sign-In, and Core-3 Signal APIs.
@clerk/expo 3.1 brings native UI components powered by SwiftUI (iOS) and Jetpack Compose (Android), native Google Sign-In, and the new Core-3 Signal API. This is a major version bump that requires Expo SDK 53+.
Native React Native components
Three prebuilt native components are now available from @clerk/expo/native:
<AuthView /> renders the full sign-in/sign-up UI natively, with support for signIn, signUp, and signInOrUp modes. Session sync to the JS SDK happens automatically.
<UserButton /> displays the user's avatar and opens the native profile modal on tap. It fills its parent container, so the parent controls the size and shape.
<UserProfileView /> renders the profile management UI inline. For modal presentation, use the new useUserProfileModal() hook.
All components use hook-based state management rather than callbacks. React to auth state changes with useAuth() in a useEffect:
These components require the @clerk/expo Expo config plugin, which automatically adds the clerk-ios and clerk-android native SDKs to your project. See the native components overview for setup and usage.
Native Google Sign-In
Google Sign-In now uses platform-native APIs instead of browser-based OAuth:
This is exposed via the NativeClerkGoogleSignIn TurboModule spec and integrated into the @clerk/expo config plugin. No extra packages are needed beyond configuring your Google OAuth credentials in the Clerk Dashboard.
Core-3 Signal APIs
@clerk/expo 3.1 ships with the Core-3 Signal API, which replaces the legacy setActive() pattern with reactive hooks:
We're rolling out improvements to the X social connection.
Users who sign in with X/Twitter now get their email address returned as part of the authentication flow. Previously, they were prompted to enter it manually as an extra step for.'
Additionally, Clerk development instances can now enable the X/Twitter connection with zero additional config for easier testing.
To add X/Twitter v2 as a social connection in your application, see the X/Twitter guide.
Select the machine you want to generate the token for.
Select Generate token
Toggle Generate token as JWT
Select Create
SDK
// Create a JWT token on Machine Aconstm2mToken=awaitclerkClient.m2m.createToken({ tokenFormat:'jwt',})// Send authenticated request to Machine Bawaitfetch('<machine-b-url>', { headers: { Authorization:`Bearer ${m2mToken.token}`, },})// Verify the token on Machine B — no network request neededconstverified=awaitclerkClient.m2m.verify({ token })
Pricing
We will begin charging for M2M token usage starting March 16, 2026. The pricing will be:
$0.001 per token creation
$0.00001 per token verification (opaque tokens only)
The Chrome Extension SDK now supports vanilla JavaScript with createClerkClient(), and deprecates the /background import path.
The @clerk/chrome-extension SDK now fully supports vanilla JavaScript (non-React) usage through createClerkClient() imported from @clerk/chrome-extension/client. A new Chrome Extension JS Quickstart guide is available to help you get started.
createClerkClient() for vanilla JS
Use createClerkClient() from @clerk/chrome-extension/client to initialize Clerk in a popup or side panel without React:
Whether you're using React or vanilla JS, createClerkClient() from @clerk/chrome-extension/client now accepts a background: true option for use in background service workers. This replaces the separate @clerk/chrome-extension/background import.
Importing createClerkClient from @clerk/chrome-extension/background is now deprecated. Both React and vanilla JS extensions should update to import from @clerk/chrome-extension/client with the background: true option instead.