Skip to content

chore(repo): Align method prefixes, remove unused unstable methods#7361

Merged
nikosdouvlis merged 6 commits intovincent-and-the-doctorfrom
brk.chore/align-method-prefixes
Dec 4, 2025
Merged

chore(repo): Align method prefixes, remove unused unstable methods#7361
nikosdouvlis merged 6 commits intovincent-and-the-doctorfrom
brk.chore/align-method-prefixes

Conversation

@brkalow
Copy link
Member

@brkalow brkalow commented Dec 3, 2025

Description

  • fixes USER-3043
  • Adds some docs on internal/experimental method naming
  • Adds an eslint rule to disallow the previous __unstable_ naming pattern

Checklist

  • pnpm test runs as expected.
  • pnpm build runs as expected.
  • (If applicable) JSDoc comments have been added or updated for any package exports
  • (If applicable) Documentation has been updated

Type of change

  • 🐛 Bug fix
  • 🌟 New feature
  • 🔨 Breaking change
  • 📖 Refactoring / dependency upgrade / documentation
  • other:

@changeset-bot
Copy link

changeset-bot bot commented Dec 3, 2025

🦋 Changeset detected

Latest commit: 0f83c0d

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 19 packages
Name Type
@clerk/clerk-js Major
@clerk/react Major
@clerk/nextjs Major
@clerk/vue Major
@clerk/astro Major
@clerk/expo Major
@clerk/chrome-extension Major
@clerk/shared Major
@clerk/ui Major
@clerk/react-router Patch
@clerk/tanstack-react-start Patch
@clerk/nuxt Patch
@clerk/agent-toolkit Patch
@clerk/backend Patch
@clerk/expo-passkeys Patch
@clerk/express Patch
@clerk/fastify Patch
@clerk/localizations Patch
@clerk/testing Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@vercel
Copy link

vercel bot commented Dec 3, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Preview Comments Updated (UTC)
clerk-js-sandbox Ready Ready Preview Comment Dec 4, 2025 8:41am

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Dec 3, 2025

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch brk.chore/align-method-prefixes

Comment @coderabbitai help to get the list of available commands and usage tips.

@brkalow
Copy link
Member Author

brkalow commented Dec 3, 2025

!allow-major

Comment on lines +42 to +44
- `__unstable_manageBillingUrl` (removed)
- `__unstable_manageBillingLabel` (removed)
- `__unstable_manageBillingMembersLimit` (removed)
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As far as I can tell, these are unused and were to support Dashboard's use of our orgs components a few years ago

- `__unstable_manageBillingUrl` (removed)
- `__unstable_manageBillingLabel` (removed)
- `__unstable_manageBillingMembersLimit` (removed)
- `experimental__forceOauthFirst` (removed)
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Underlying properties on the API response object were removed in core 2, so finishing the cleanup here

Comment on lines +35 to +36
- `experimental_createTheme` / `__experimental_createTheme` → `createTheme` (now exported from `@clerk/ui/themes/experimental`)
- `experimental__simple` / `__experimental_simple` → `simple` (now exported from `@clerk/ui/themes/experimental`)
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Moving to the preferred /experimental export pattern

- `experimental__simple` / `__experimental_simple` → `simple` (now exported from `@clerk/ui/themes/experimental`)

### @clerk/chrome-extension
- `__unstable__createClerkClient` → `createClerkClient` (exported from `@clerk/chrome-extension/background`)
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure if this should remain experimental/internal 🤔 @tmilewski do you have context?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@brkalow Yeah, this can be moved to stable at this point.

Comment on lines +198 to +200
### Experimental and internal APIs

In some cases, we might need to add new methods to our publicly exposed APIs that are meant for internal use, or as experimental releases before the APIs are stabilized. For internal methods or properties, use the `__internal_` prefix. For experimental methods or properties that are attached to existing APIs, use the `__experimental_` prefix. For new exports, it is also acceptable to export from an `/experimental` subpath. Exports from `/experimental` are not covered by regular SemVer guarantees.
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Documenting new patterns

},
};

const noUnstableMethods = {
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

New ESLint rule that should hopefully avoid any accidental addition of __unstable_ prefixes

@pkg-pr-new
Copy link

pkg-pr-new bot commented Dec 3, 2025

Open in StackBlitz

@clerk/agent-toolkit

npm i https://pkg.pr.new/@clerk/agent-toolkit@7361

@clerk/astro

npm i https://pkg.pr.new/@clerk/astro@7361

@clerk/backend

npm i https://pkg.pr.new/@clerk/backend@7361

@clerk/chrome-extension

npm i https://pkg.pr.new/@clerk/chrome-extension@7361

@clerk/clerk-js

npm i https://pkg.pr.new/@clerk/clerk-js@7361

@clerk/dev-cli

npm i https://pkg.pr.new/@clerk/dev-cli@7361

@clerk/expo

npm i https://pkg.pr.new/@clerk/expo@7361

@clerk/expo-passkeys

npm i https://pkg.pr.new/@clerk/expo-passkeys@7361

@clerk/express

npm i https://pkg.pr.new/@clerk/express@7361

@clerk/fastify

npm i https://pkg.pr.new/@clerk/fastify@7361

@clerk/localizations

npm i https://pkg.pr.new/@clerk/localizations@7361

@clerk/nextjs

npm i https://pkg.pr.new/@clerk/nextjs@7361

@clerk/nuxt

npm i https://pkg.pr.new/@clerk/nuxt@7361

@clerk/react

npm i https://pkg.pr.new/@clerk/react@7361

@clerk/react-router

npm i https://pkg.pr.new/@clerk/react-router@7361

@clerk/shared

npm i https://pkg.pr.new/@clerk/shared@7361

@clerk/tanstack-react-start

npm i https://pkg.pr.new/@clerk/tanstack-react-start@7361

@clerk/testing

npm i https://pkg.pr.new/@clerk/testing@7361

@clerk/ui

npm i https://pkg.pr.new/@clerk/ui@7361

@clerk/upgrade

npm i https://pkg.pr.new/@clerk/upgrade@7361

@clerk/vue

npm i https://pkg.pr.new/@clerk/vue@7361

commit: 0f83c0d

@brkalow
Copy link
Member Author

brkalow commented Dec 4, 2025

!allow-major

@nikosdouvlis nikosdouvlis merged commit e35960f into vincent-and-the-doctor Dec 4, 2025
32 of 41 checks passed
@nikosdouvlis nikosdouvlis deleted the brk.chore/align-method-prefixes branch December 4, 2025 08:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants