Clerk Changelog

Changelog Oct 29, 2021

Category
Company
Published

Next.js authentication at the edge and bug fixes for our upcoming magic link launch

Next.js authentication at the edge

Our big launch this week is our new Next.js authentication library that supports sub-millisecond authentication at the edge. This was the culmination of a multi-month project cutting across two teams and we couldn't be happier with the result.

We'll be continuing to improve our Next.js support throughout the end of the year, including first-class support for server-side rendering and React's new Server Components.

This week we also launched many bug fixes to our upcoming magic link functionality. We have updated our own sign-up form to use magic links instead of one-time passwords sent by email, and we expect to make magic links the default for all new applications soon.

Contributor
Colin Sidoti

Changelog Oct 22, 2021

Category
Company
Published

Faster, faster, faster! Sub-millisecond auth in your backend, faster sign-in, and faster loading. Plus, community Ember.js and Next.js support.

Our changes this week are all about performance. This is a really fun part of our job - since we focus so intently on user management, we get to dive deep to provide the best developer and end-user experiences for our customers.

Sub-millisecond authentication

Applications built on Clerk now use "stateless" authentication by default instead of "stateful." Before this release, our SDKs authenticated users just-in-time with a network request to Clerk's servers. Now, requests are pre-authenticated with signed, short-lived JWTs, and our SDKs verify their signatures in under 1 millisecond.

Each JWT only lasts 60 seconds and the refresh is handled automatically by our frontend SDKs. Since each JWT is so short-lived, end-users and administrators still have the ability to quickly revoke malicious or leaked sessions.

More on this next week, when we'll launch new marketing and documentation pages to fully explain the functionality.

Faster sign-in for password manager users

Our standard sign-in flow has two steps. We do this because it's common for users to forget if they signed up with an email address or with a social sign-in vendor like Google. By asking for a password on the second page, we ensure that a user who originally signed up with Google won't get stuck trying to remember a password that doesn't actually exist.

Although the second step has no negative impact on most users, we have heard some complaints from password manager users. For them, opening the password manager twice can be a hassle.

To improve their experience, we've launched a change that detects when a password manager is available and moves the password field to the first step.

Faster Javascript loading

We've heard your concerns about our large Javascript bundle and have started project to reduce its size. So far, we've dropped 15% to 141 kB, and we'll continue to post updates here until the project is finalized.

Community thank you!

This week, two community projects were launched that we'd like to feature:

  1. Miguel Andrade launched a Clerk SDK for Ember.js. Thank you for making Clerk easier to use for Ember.js developers!
  2. Jorge Acero launched NextShield, which makes it easy to add authorization to Next.js pages. Thank you for giving developers even more power on top of Clerk's integration with Next.js!
Contributor
Colin Sidoti

Changelog Oct 15, 2021

Category
Company
Published

Announcing Authentication v2 - from our first company retreat in Greece

This week was particularly special for Clerk: our team finally met in person!

We raised our initial seed funding as just 2 founders in March 2020, right as the pandemic was spreading across the globe. We've grown to 16 since then, but we hadn't met in person until this week's retreat in Greece. It was thrilling for the team to finally meet each other in person.

"Authentication v2"

This week also marked a major milestone for Clerk as we launched the beta for "Authentication v2."

This is a brand new approach to how developers authenticate their end-users in their backend. We set out to resolve the biggest concerns and most frequent challenges raised by our early customers, namely:

  • Authentication now uses short-lived JWTs instead of requiring a network request to Clerk, significantly speeding up the process
  • For cross-origin architectures, the authentication token is now passed through the Authorization header to simplify Cross-Origin Resource Sharing settings
  • Clerk now works with applications that are rendered server-side
  • Clerk now works with backends hosted on the naked domain

Our own website has been running Authentication v2 for the past month and we're excited to open the beta to everyone. To get started, follow the guide here.

Soon, all new applications built on Clerk will default to Authentication v2.

Photo credit: Mark Pitsilos, Clerk engineer and photographer extraordinaire

Contributor
Colin Sidoti

Changelog Oct 8, 2021

Category
Company
Published

Style with the theme prop, set a custom session duration, startup pricing, and beta for "magic links"

Style with the theme prop

Continuing our focus on customization, we have introduced a code-side theme prop to <ClerkProvider/> that can be used instead of CSS overrides.

`theme` prop usage

To see the complete set of options, please check out our new documentation on Customization.

And we're still just scratching the surface – more work on custom styling is underway!

Custom session duration

Session duration can now be customized in the dashboard:

Modify the session duration from your User Management settings

A second setting to automatically extend the session with user activity will be introduced soon.

Startup pricing

Today we're announcing a special pricing partnerships with 8 startup communities:

  • South Park Commons (our own incubator!)
  • YCombinator
  • Techstars
  • OnDeck
  • Heavybit
  • LaunchHouse
  • Haystack Ventures
  • L2 Ventures

If you are a part of one of these communities, please find your pricing through your "Deals" page. If you run a community and would like a Clerk deal, please reach out.

We're opening up the beta for our new "magic link" authentication factor, which emails users a verification link instead of a one-time verification code. If you'd like to be added to the beta, please reach out through any of our support channels.

Here's a short demo of the user experience, which shows how we handle clicking the verification link while the originating tab is still open:

Magic link user experience
Contributor
Colin Sidoti

Changelog Oct 1, 2021

Category
Company
Published

Price drop to 2¢ per MAU, a new guide to customization, a new Google Analytics integration, and a complete API reference.

Price drop!

We listened to your feedback and lowered our pricing to per monthly active user (MAU). No credit card is required to start with our free Developer plan, which includes up to 500 MAUs.

We believe robust user management should be accessible to creators and businesses of all sizes, from tiny side-projects to massive enterprises. With this price reduction, we're excited to be leading the industry with low-cost, transparent, and scalable pricing.

New guide: Build your own UI

Did you know Clerk components can be easily customized with CSS? Or that they are powered by public APIs than can be consumed directly, instead?

We've launched a new guide for customizing Clerk to match your own UI, like our sample Mirage and Transistor applications:

Custom-styled "Mirage" and "Transistor" samples

This is the first of many planned changes to help developers better-leverage our customization capabilities.

New integration: Google Analytics

Clerk's new Google Analytics integration automatically triggers "login" and "sign_up" events, so you don't need to build them yourself. The integration is compatible with both Universal Analytics and Google Analytics 4.

Complete API reference

Our documentation now holds a complete reference for frontend and backend APIs. While our guides detail the most common use-cases, this reference offers a complete listing of all the functionality in Clerk.

Contributor
Colin Sidoti