From 9047c1fe34fb58ea8194030597a9a4856f4a0e43 Mon Sep 17 00:00:00 2001 From: Michael Novotny Date: Mon, 31 Aug 2026 15:43:42 -0500 Subject: [PATCH 1/2] docs(nextjs): Add @deprecated tag to removed control-component stubs Co-Authored-By: Claude Fable 5 --- .changeset/deprecated-tag-removed-control-components.md | 5 +++++ packages/nextjs/src/removedControlComponents.ts | 6 ++++++ 2 files changed, 11 insertions(+) create mode 100644 .changeset/deprecated-tag-removed-control-components.md diff --git a/.changeset/deprecated-tag-removed-control-components.md b/.changeset/deprecated-tag-removed-control-components.md new file mode 100644 index 00000000000..4532f1a76c1 --- /dev/null +++ b/.changeset/deprecated-tag-removed-control-components.md @@ -0,0 +1,5 @@ +--- +'@clerk/nextjs': patch +--- + +Add `@deprecated` tags to the removed ``, ``, and `` control-component stubs so editors and lint rules flag them at authoring time (with the `` migration guidance) instead of only failing when rendered. diff --git a/packages/nextjs/src/removedControlComponents.ts b/packages/nextjs/src/removedControlComponents.ts index 2082f3eb0da..955eeefc350 100644 --- a/packages/nextjs/src/removedControlComponents.ts +++ b/packages/nextjs/src/removedControlComponents.ts @@ -30,6 +30,8 @@ function throwRemovedControlComponentError( * - Core 3 changelog: https://clerk.com/changelog/2026-03-03-core-3 * - Core 3 upgrade guide: https://clerk.com/docs/guides/development/upgrading/upgrade-guides/core-3 * - `` component docs: https://clerk.com/docs/reference/components/control/show + * + * @deprecated Removed in Clerk Core 3. Rendering `` throws an error. Use `` instead — see https://clerk.com/docs/guides/development/upgrading/upgrade-guides/core-3. */ export function SignedIn(_props: RemovedControlComponentProps): never { return throwRemovedControlComponentError( @@ -58,6 +60,8 @@ export function SignedIn(_props: RemovedControlComponentProps): never { * - Core 3 changelog: https://clerk.com/changelog/2026-03-03-core-3 * - Core 3 upgrade guide: https://clerk.com/docs/guides/development/upgrading/upgrade-guides/core-3 * - `` component docs: https://clerk.com/docs/reference/components/control/show + * + * @deprecated Removed in Clerk Core 3. Rendering `` throws an error. Use `` instead — see https://clerk.com/docs/guides/development/upgrading/upgrade-guides/core-3. */ export function SignedOut(_props: RemovedControlComponentProps): never { return throwRemovedControlComponentError( @@ -90,6 +94,8 @@ export function SignedOut(_props: RemovedControlComponentProps): never { * - Core 3 changelog: https://clerk.com/changelog/2026-03-03-core-3 * - Core 3 upgrade guide: https://clerk.com/docs/guides/development/upgrading/upgrade-guides/core-3 * - `` component docs: https://clerk.com/docs/reference/components/control/show + * + * @deprecated Removed in Clerk Core 3. Rendering `` throws an error. Use `` instead — see https://clerk.com/docs/guides/development/upgrading/upgrade-guides/core-3. */ export function Protect(_props: RemovedControlComponentProps): never { return throwRemovedControlComponentError('Protect', 'https://clerk.com/err/protect-is-not-available-in-clerk-nextjs'); From 4de35cadaa0d565f768090b593cefef7d5444d0d Mon Sep 17 00:00:00 2001 From: Michael Novotny Date: Mon, 31 Aug 2026 15:48:56 -0500 Subject: [PATCH 2/2] docs(nextjs): Name the removal version in @deprecated tags Co-Authored-By: Claude Fable 5 --- packages/nextjs/src/removedControlComponents.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/nextjs/src/removedControlComponents.ts b/packages/nextjs/src/removedControlComponents.ts index 955eeefc350..528cc750df3 100644 --- a/packages/nextjs/src/removedControlComponents.ts +++ b/packages/nextjs/src/removedControlComponents.ts @@ -31,7 +31,7 @@ function throwRemovedControlComponentError( * - Core 3 upgrade guide: https://clerk.com/docs/guides/development/upgrading/upgrade-guides/core-3 * - `` component docs: https://clerk.com/docs/reference/components/control/show * - * @deprecated Removed in Clerk Core 3. Rendering `` throws an error. Use `` instead — see https://clerk.com/docs/guides/development/upgrading/upgrade-guides/core-3. + * @deprecated Removed in Clerk Core 3 (`@clerk/nextjs@7.0.0`). Rendering `` throws an error. Use `` instead — see https://clerk.com/docs/guides/development/upgrading/upgrade-guides/core-3. */ export function SignedIn(_props: RemovedControlComponentProps): never { return throwRemovedControlComponentError( @@ -61,7 +61,7 @@ export function SignedIn(_props: RemovedControlComponentProps): never { * - Core 3 upgrade guide: https://clerk.com/docs/guides/development/upgrading/upgrade-guides/core-3 * - `` component docs: https://clerk.com/docs/reference/components/control/show * - * @deprecated Removed in Clerk Core 3. Rendering `` throws an error. Use `` instead — see https://clerk.com/docs/guides/development/upgrading/upgrade-guides/core-3. + * @deprecated Removed in Clerk Core 3 (`@clerk/nextjs@7.0.0`). Rendering `` throws an error. Use `` instead — see https://clerk.com/docs/guides/development/upgrading/upgrade-guides/core-3. */ export function SignedOut(_props: RemovedControlComponentProps): never { return throwRemovedControlComponentError( @@ -95,7 +95,7 @@ export function SignedOut(_props: RemovedControlComponentProps): never { * - Core 3 upgrade guide: https://clerk.com/docs/guides/development/upgrading/upgrade-guides/core-3 * - `` component docs: https://clerk.com/docs/reference/components/control/show * - * @deprecated Removed in Clerk Core 3. Rendering `` throws an error. Use `` instead — see https://clerk.com/docs/guides/development/upgrading/upgrade-guides/core-3. + * @deprecated Removed in Clerk Core 3 (`@clerk/nextjs@7.0.0`). Rendering `` throws an error. Use `` instead — see https://clerk.com/docs/guides/development/upgrading/upgrade-guides/core-3. */ export function Protect(_props: RemovedControlComponentProps): never { return throwRemovedControlComponentError('Protect', 'https://clerk.com/err/protect-is-not-available-in-clerk-nextjs');