Repository navigation
ci(repo): Version Packages - #597
Open
github-actions[bot] wants to merge 1 commit into
Open
github-actions[bot] wants to merge 1 commit into
github-actions[bot] wants to merge 1 commit into
Conversation
|
Important Review skippedBot user detected. To trigger a single review, invoke the
|
github-actions
Bot
force-pushed
the
changeset-release/main
branch
8 times, most recently
from
November 5, 2026 16:22
060980a to
6c59569
Compare
github-actions
Bot
force-pushed
the
changeset-release/main
branch
7 times, most recently
from
November 12, 2026 19:24
d0b0515 to
580f6f1
Compare
github-actions
Bot
force-pushed
the
changeset-release/main
branch
from
November 12, 2026 20:13
580f6f1 to
7cb0595
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and publish to npm yourself or setup this action to publish automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
clerk@4.2.0
Minor Changes
Add event filters to
clerk logs list:--type(with a trailing*, likesign_in.*),--user,--identifier,--actor,--subject,--session,--client,--ip,--trace,--impersonator,--end-user-only, and--payload-filter <path=value>to match a payload field of a type. Use--fieldsto show chosen payload fields in aPAYLOADcolumn, and--match anyto keep logs that match any filter instead of all of them.clerk logsis still experimental and needsCLERK_EXPERIMENTAL=logs. (#615) by @JibaruAdd
--followtoclerk logsto keep printing new logs as they arrive, oldest first, after the usual backfill. It polls every 2 seconds (change it with--interval, at least1s), honors--since,--fromand every filter, and looks back 10 seconds on each poll so a log that arrives late is still printed once (a log more than 5 minutes late may be missed). It's meant for live debugging; to export or sync logs, use log drains. It retries network errors,5xxand429with a warning, gives up after 5 minutes without a successful request, and exits 130 on Ctrl-C. With--jsonit prints one log per line (NDJSON).clerk logsis still experimental and needsCLERK_EXPERIMENTAL=logs. (#616) by @JibaruAdd an experimental
clerk logsthat lists an instance's Application Logs, newest first, with--limit,--cursorto continue a previous run, and--jsonoutput. It is hidden and refuses to run unlessCLERK_EXPERIMENTAL=logsis set. (#612) by @JibaruAdd
clerk logs schema <event-type>to show the payload fields of a log event type, with their types, whether each is optional, and the accepted values of enum fields. Pass a concrete type likesign_in.completed, a wildcard like'sign_in.*', or a family likesign_into see the fields every matched type shares.clerk logsis still experimental and needsCLERK_EXPERIMENTAL=logs. (#614) by @JibaruAdd
--since,--fromand--totoclerk logsto list logs from a time range, like--since 1hor--from 2026-11-01 --to 2026-11-02.clerk logsis still experimental and needsCLERK_EXPERIMENTAL=logs. (#613) by @JibaruAdd
clerk migrate sources, and letclerk migrate import --sourcetake the path to a source you wrote.clerk migrate sourceslists the built-in sources with the passwords, MFA, and metadata each brings across, andclerk migrate sources <source>shows where each field lands, how to export, and any caveats. A source you wrote is a.tsor.jsfile in your project, checked before use, so a platform with no built-in source can be imported without rebuilding the CLI. (#530) by @royangerAdd
clerk migrate import --reserve-unverified, which creates the emails and phones an auth platform never verified as reserved (usable for sign-in, locked to the user) instead of unverified. At a terminal, the import asks. (#531) by @royangerMake
clerk migrateavailable withoutCLERK_EXPERIMENTAL=migrate: it now shows inclerk --helpand shell completion. (#594) by @royangerclerk migrate exportgets users out of Clerk, Supabase, Firebase, Auth0, WorkOS, Better Auth, or Auth.js into a run, andclerk migrate importchecks every user against your instance, asks before it writes, and continues a run that stopped partway.clerk migrate runsshows what each run did,clerk migrate undodeletes the users an import created, andclerk migrate sourcesshows what each source brings across.--source ./my-source.tsimports with a source you wrote.Patch Changes
Reject a bare number before 2020 in
clerk logs --fromand--to, like the Unix-seconds value1762702200fromdate +%s, instead of reading it as milliseconds in 1970. The error says the flag takes Unix milliseconds or an ISO 8601 date-time.clerk logsis still experimental and needsCLERK_EXPERIMENTAL=logs. (#617) by @JibaruStop calling a claimed application "unclaimed accountless" when
clerk configreaches it with only a secret key. WithCLERK_SECRET_KEY(or a key in.env) and no--appor linked profile, aclerk config patch,put,schemaor--instancerefusal, aclerk enable billing/clerk disable billingrefusal, or aclerk users open <user-id>refusal, now asks Clerk whether the application belongs to an account. If it does, it says a secret key can't change those settings, and to pass--app <id> --instance <dev|prod>(or runclerk link) withclerk auth loginorCLERK_PLATFORM_API_KEY; a login alone isn't enough while the secret key is set. If Clerk can't say, the message covers both cases. A defaultclerk config pullof a claimed application warns what the secret key left out. (#545) by @royangerStop asking for the retired
clerk-expo-patternsskill whenclerk initinstalls agent skills on Expo projects.clerk-exponow covers both setup and patterns, so the install prompt listsexpoalone. (#602) by @manovotnyA continue of
clerk migrate importno longer counts a user it only attached identifiers to as imported. Once every pending identifier has attached, its summary lists those users under "Finished attaching" and--jsonunderresult.attached. The line that opens the continue no longer counts them among the users left alone, and the progress bar counts the continue's users as finished rather than created.clerk migrateis still experimental and needsCLERK_EXPERIMENTAL=migrate. (#609) by @royangerclerk migrate importnow warns about users it created without an email or phone Clerk refused, in the summary,--json, andclerk migrate runs <id>, which also warns about users imported without their first phone. An attach that fails on the key or a429that outlasts the retries stays pending for a re-run, with a note saying why, and one Clerk calls taken counts as attached when the user already holds it. A secret key Clerk rejects gets Clerk's error and says where the key came from. A refused dry run says so and gives the same next steps as the real run. A run undone in full no longer blocks an import when Clerk can't name the instance. A gateway's HTML error page no longer fills the error breakdown. The checks explain how to replaceAPP_IDin fix commands, and--jsoncarries the notes the summary prints. (#604) by @manovotnyclerk migrate importno longer suggests turning on names, usernames, or passwords when only users the checks reject carry them. The import doesn't send those users, so the setting would keep nothing. It also leaves out users no setting would let in, such as one with a bad password hash or one over the user limit. The checks still offer fixes that clear a reject, such as making a required name optional.clerk migrateis still experimental and needsCLERK_EXPERIMENTAL=migrate. (#607) by @royangerclerk migrate importprints the run's ID and folder once, as the import starts. The summary no longer repeats them.clerk migrateis still experimental and needsCLERK_EXPERIMENTAL=migrate. (#608) by @royangerclerk migrate runs <id>no longer lists or counts a user as "Not confirmed", or keeps its error in the breakdown, once an undo of the run deleted it. When undo finds a cut-off create by the run's marker, it deletes the user, soruns <id>and theclerk migrate runslisting count that user as created. Once the run is undone in full,runs <id>and the listing show no user as not confirmed, in the list or the counts, since undo looked for each one by the marker. After any undo, the warnings, the users left to attach, and the left-to-attach count also leave out the users it deleted.clerk migrateis still experimental and needsCLERK_EXPERIMENTAL=migrate. (#610) by @royangerRecord in usage telemetry which platform a
clerk migraterun's users come from, how far the run got, and the Clerk app and instance it acted on. The first-run telemetry notice now names these fields. (#596) by @royangerclerk migrate importno longer counts a user whose create got no answer (a 5xx or a network error) as failed. Clerk may hold that user, so the summary lists it under "Not confirmed" and--jsonunderresult.unconfirmed, matchingclerk migrate runs <id>. The import still exits 1, and a continue checks for the user.clerk migrateis still experimental and needsCLERK_EXPERIMENTAL=migrate. (#606) by @royangerMark
clerk migrate's Backend API requests with amigratesegment in theUser-Agent, so Clerk can count the users each migration creates. Like usage telemetry, the CLI leaves it out when telemetry is off. (#596) by @royangerCheck
clerk migrate importagainst the user limit Clerk reports for the instance, so a development instance Clerk has raised no longer rejects users it has room for.CLERK_MIGRATE_DEV_USER_LIMITis now only a fallback for when Clerk doesn't report a limit, and--jsonsays where the limit came from. (#552) by @royanger