Clerk Changelog

Changelog Apr 8, 2022

Category
Company
Published

OAuth after Sign Up, mergeable custom metadata, improved observability, and optional usernames - plus, try our Clerk x RedwoodJS authentication integration!

OAuth after Sign Up

OAuth connections can now be be added after a user has signed up.

This can be accomplish through the <UserProfile/> component, or through the useUser() hook and the user.createExternalAccount() function.

Thanks to the contributors: Agis Anastasopoulos, Haris Chaniotakis

Mergeable custom metadata

Metadata fields can now be updated via deep-merge in addition to complete replacement. This functionality was added to the Backend API to start.

Thanks to the contributors: Giannis Katsanos

Improved observability

We updated our Next.js and Node SDKs to add a Auth-Result header when the authentication state is unknown or signed out.

This will help us debug situations where your backend thinks the user is signed out, but the frontend knows they are signed in. Usually the reason for this is quite benign, but it can be tricky to debug.

Thanks to the contributors: Peter Perlepes

Optional usernames

Usernames can now be optional, instead of only Required or completely Off.

You can make the change from the "Email, Phone, Username" settings page in your dashboard:

Thanks to the contributors: Alex Ntousias

Community Spotlight: RedwoodJS

We'd like to wish a hearty congratulations to RedwoodJS on their v1 launch.

We've had a shared Slack with the Redwood team for a few months now as we collaborated to build the Clerk integration. The folks there are incredibly kind, patient, and innovative and we can't wait to see how the framework evolves.

Learn more about our RedwoodJS authentication integration.

Contributor
Colin Sidoti

Changelog Apr 1, 2022

Category
Company
Published

Instant Component previews, in-house docs, email deliverability improvements, plus Supabase Launch Week!

Instant Component previews

Sign-up, sign-in, and user profile components can now be previewed instantly after an application is created in Clerk - no code required! Just click the preview buttons on thie sidebar.

Thanks to the contributors: Marcel Cruz

In-house docs

Piece-by-piece, we're moving our documentation in-house! Our previous vendor was great for written documentation, but we constantly found ourselves wanting to add dynamic and interactive elements to our documentation.

With our new solution, built on Sanity and Next.js, we can more easily develop custom elements in our documentation. Stay tuned as our onboarding gets even easier in the months ahead.

The new documentation is available on clerk.dev/docs.

Thanks to the contributors: Charles Wefso, Ian McPhail

Email deliverability improvements

We noticed a small subset of customers we're having a few email deliverability issues. In particular, the customers who launched a brand new application on Clerk and have never sent emails from their domain before. These developers had zero "domain reputation" and gmail was delaying the delivery of magic links and sms codes.

This week, we made three small adjustments that seem to have resolved the issue:

  1. Improved the formatting of the plaintext "part" of our emails
  2. Removed unnecessary query string variables and & with just &
  3. Removed the application name from the email subject

We will continue to monitor deliverability and make adjustments as needed.

Thanks to the contributors: Agis Anastasopoulos, Haris Chaniotakis

Community spotlight: Supabase Launch Week!

Congratulations to Supabase on their tremendous launch week!

Supabase is an incredible product and we share many customers through our Supabase integration.

We're proud to have launched our integration in their new Partner Gallery this week, but also just really excited to try their new functions.

Contributor
Colin Sidoti

Changelog Mar 25, 2022

Category
Company
Published

Bring-your-own IdP with Sign in Tokens, new allowlist for sign ups, Sign in with Apple, and a user.organizations shortcode for custom JWT templates.

Bring-your-own IdP with Sign in Tokens

Clerk now be configured to work with external identity providers (IdPs)!

Sign in Tokens are a low-level abstraction that offers developers complete flexibility when signing in users. It allows you to handle user authentication on your own and then delegate session management to Clerk.

The primary use case for tokens is keeping authentication with a Customer Identity vendor like Auth0, but taking advantage of Clerk's SDKs for easier integration with the Jamstack ecosystem of frameworks, databases, and other tools.

Sign in Tokens can be generated securely with Clerk's backend API.

Thanks to the contributors: Alex Ntousias, Giannis Katsanos

Allowlist for sign ups

We've added a Sign-up restrictions tab to the dashboard where you can restrict sign ups to your application by email domain, email address, or phone number.

The allowlist restrictions can also be enabled by API to produce a programmatic invite-only flow.

Thanks to the contributors: Giannis Katsanos, Nikos Petridis

Sign in with Apple

We've added Sign in with Apple to our growing list of social login providers!

Thanks to the contributors: Agis Anastasopoulos, Haris Chaniotakis

Organization roles in custom JWTs

A new shortcode has been added to JWT templates for developers participating in our Organization Management early access.

The token is called {{user.organizations}} and it returns a dictionary of the user's organization IDs mapped to their role in that organization. This is particularly helpful when performing authorization checks within database vendors like Supabase, Hasura, Firebase, or Fauna.

Thanks to the contributors: Haris Chaniotakis

Contributor
Colin Sidoti

Changelog Mar 18, 2022

Category
Company
Published

Server-side JWTs for Supabase and custom integrations, Firebase Authentication password migrations, toggleable hosted components, and a community spotlight!

Server-side JWTs for Supabase and custom integrations

Since we launched SSR, a frequent request has been to add support for retrieving Supabase tokens during SSR. Today, we launched the capability for Supabase and more!

Support for every JWT template has been added to our server-side Javascript packages for Next.js, Remix, and Express. Simply call getToken({template: "supabase"}) on the new server-side auth context.

Documentation has been added to our SSR beta documentation. You will need to upgrade to the latest version.

Thanks to the contributors: Nikos Douvlis, Peter Perlepes, Haris Chaniotakis, Agis Anastasopoulos

Firebase Authentication user and password migrations

Developers who currently use Firebase Authentication can now migrate users and their passwords to Clerk!

Our backend Create User endpoint has added support for Firebase's special flavor of scrypt so users can easily be migrated to Clerk.

Thanks to the contributors: Alex Ntousias

Toggleable hosted components

Any developer who wants to disable Clerk-hosted components on the accounts subdomain can now do so by contacting support. This option will be made available in our dashboard soon.

Thanks to the contributors: Sokratis Vidros

Community spotlight: Slapdash plugin

Many thanks to Anish De, who created a Slapdash commands plugin that brings Clerk's documentation right to your fingertips.

Thank you, Anish!

Contributor
Colin Sidoti

Changelog Mar 11, 2022

Category
Company
Published

Try our new and improved Remix integration! Plus, we refactored our authentication settings, and moved JWT templates into general availability.

Remix Relaunch

Today we relaunched our @clerk/remix package. This includes two key improvements since the initial launch:

  1. Applications can now require authentication on a route-by-route basis, instead of requiring authentication for the entire application
  2. In development, environment variables can now be set more easily in the Remix-native .env file.

Our documentation has been updated to reflect the improvements. Thank you to our early beta testers who helped test and ideate!

Thanks to the contributors: Nikos Douvlis

Authentication settings refactor

We rolled out a multi-month refactor of our authentication settings to support a new wave of features. It will enable:

  • Custom fields
  • Profile data collection with web3 auth
  • Guaranteed email collection for Twitter OAuth
  • A universal auth endpoint (sign up OR sign in)

In the past, our "sign up" simply ensured the user will be able to sign in again. Now, we will be able to add app-specific requirements to sign up, so if your application needs an email address and it turns out a Twitter user is missing theirs, we'll be able to collect it during sign up.

These features aren't available yet, but this infrastructure change will enable us to add them much more quickly.

Thanks to the contributors: Giannis Katsanos, Nikos Petridis, Alex Ntousias, Sokratis Vidros

JWT Templates Launch (GA)

After a few months of testing, we pulled the "beta" label off our JWT templates feature and released to general availability.

We've now generated millions of JWTs and are confident our infrastructure is secure, fast, and robust.

You are free to design custom JWTs for your own application, or leverage our prebuilt templates for common integrations.

Thanks to the contributors: Mark Pitsilos, Agis Anastasopoulos, Haris Chaniotakis

Contributor
Colin Sidoti

Changelog Mar 4, 2022

Category
Company
Published

Organization management API, custom OAuth scopes, application/json support, Microsoft and Notion Social Login, FaunaDB JWT template, and more!

Organization management API

Today we launched our API for organization management and began rolling it out to our early access customers.

Want to see how it works? Check out our demo repository on Github.

These API endpoints are production ready - please reach out to support if you would like early access.

Please note that we do not provide UIs for this functionality yet, but hooks and javascript helpers are available. The demo repository is unstyled but filled with essential organization management features:

Thanks to the contributors: Alex Ntousias, Giannis Katsanos, Peter Perlepes

Custom Scopes for OAuth / Social Login

Clerk now supports custom scopes for OAuth / Social Login. Simply navigate to the "Social Login" page in your dashboard and select the Gear icon for any provider.

By default, Clerk requests the scopes necessary to retrieve any basic profile information for your user. Now, you can add any scope your application needs. For example, the "repo" scope from Github

To retrieve the access token for the third party API, you can use Clerk's backend API.

Thanks to the contributors: Agis Anastasopoulos, Mark Pitsilos

application/json support

Clerk's Backend API now supports request bodies encoded with application/json, in addition to form-encoding. This is in response to developer requests and a growing ecosystem of json tooling.

This feature is automatically enabled for all applications.

Thanks to the contributors: Haris Chaniotakis

Social Login with Microsoft & Notion

Microsoft and Notion have been added to our ever-growing list of Social Login providers. If you need support for one that isn't listed, please reach out to support.

Next up is Apple!

Thanks to the contributors: Mark Pitsilos, Haris Chaniotakis

New FaunaDB JWT template

We've added a prebuilt JWT template for Fauna to improve our integration.

Check out our Fauna guide to get started!

Thanks to the contributors: Agis Anastasopoulos

New feedback form in Dashboard

Have feedback while browsing our Dashboard? Now you can easily send it straight to the Clerk team by clicking the "Give feedback" button in the dashboard.

We're tremendously grateful for any feedback that comes through and we're happy to make it easier than ever.

Thanks to the contributors: Marcel Cruz

Testimonial cloud

Since our launch, we've been fortunate to receive some great testimonials from builders all throughout the Javascript community. Today, we launched an update to begin featuring these on our homepage.

Thanks to the contributors: Charles Wefso, Cooper Dawson

Contributor
Colin Sidoti