Skip to content

Releases: clerk/javascript

@clerk/[email protected]

27 Sep 00:08
5720787

Choose a tag to compare

Minor Changes

  • Add Playwright testing helpers under unstable page-objects: userAvatar.goTo(), userAvatar.waitForMounted(), and userAvatar.toBeVisible() for . (#6808) by @tmilewski

Patch Changes

@clerk/[email protected]

27 Sep 00:08
5720787

Choose a tag to compare

Minor Changes

  • Constrained TanStack dependencies to pre-RC versions. Please ensure you're using @tanstack/* versions below 1.132.0. (#6845) by @wobsoriano

  • Add new component (#6808) by @tmilewski

Patch Changes

@clerk/[email protected]

27 Sep 00:08
5720787

Choose a tag to compare

Minor Changes

Patch Changes

@clerk/[email protected]

27 Sep 00:08
5720787

Choose a tag to compare

Minor Changes

Patch Changes

@clerk/[email protected]

27 Sep 00:08
5720787

Choose a tag to compare

Major Changes

  • Introduce React Router middleware support with clerkMiddleware() for improved performance and streaming capabilities. (#6660) by @wobsoriano

    Usage of rootAuthLoader without the clerkMiddleware() installed is now deprecated and will be removed in the next major version.

    Before (Deprecated - will be removed):

    import { rootAuthLoader } from '@clerk/react-router/ssr.server';
    
    export const loader = (args: Route.LoaderArgs) => rootAuthLoader(args);

    After (Recommended):

    1. Enable the v8_middleware future flag:
    // react-router.config.ts
    export default {
      future: {
        v8_middleware: true,
      },
    } satisfies Config;
    1. Use the middleware in your app:
    import { clerkMiddleware, rootAuthLoader } from '@clerk/react-router/server';
    
    export const middleware: Route.MiddlewareFunction[] = [clerkMiddleware()];
    
    export const loader = (args: Route.LoaderArgs) => rootAuthLoader(args);

    Streaming Support (with middleware):

    export const middleware: Route.MiddlewareFunction[] = [clerkMiddleware()];
    
    export const loader = (args: Route.LoaderArgs) => {
      const nonCriticalData = new Promise(res => setTimeout(() => res('non-critical'), 5000));
    
      return rootAuthLoader(args, () => ({
        nonCriticalData,
      }));
    };

Minor Changes

Patch Changes

@clerk/[email protected]

27 Sep 00:08
5720787

Choose a tag to compare

@clerk/[email protected]

27 Sep 00:08
5720787

Choose a tag to compare

Minor Changes

Patch Changes

@clerk/[email protected]

27 Sep 00:08
5720787

Choose a tag to compare

Patch Changes

@clerk/[email protected]

27 Sep 00:08
5720787

Choose a tag to compare

@clerk/[email protected]

27 Sep 00:08
5720787

Choose a tag to compare