Change8

@clerk/clerk-js@5.123.0

📦 clerkView on GitHub →
2 features🐛 4 fixes1 deprecations🔧 5 symbols

Summary

This release introduces the `username` field to `PublicUserData` and promotes `providerUserId` as the standard for external account IDs. Several bugs related to sign-in flows and performance have also been addressed.

Migration Steps

  1. Consider using `providerUserId` instead of `externalId` on the `ExternalAccount` resource.

✨ New Features

  • Added `username` field into `PublicUserData` object.
  • Added `providerUserId` field to `ExternalAccount` resource as the preferred way to access the unique user ID from the OAuth provider.

🐛 Bug Fixes

  • Fixed an issue where primary identifier shows undefined when signing in with phone number only.
  • Fix infinite loading spinner when navigating to factor-two sign-in route without an active 2FA session.
  • Display message for `user_deactivated` error code on `SignIn` and `SignUp`.
  • Removed redundant `beforeunload` event listener from SafeLock that was disabling the browser's back-forward cache (bfcache), degrading navigation performance.

Affected Symbols

⚡ Deprecations

  • The existing `externalId` field on the `ExternalAccount` resource is deprecated in favor of `providerUserId` for better clarity and consistency across the API.