From 1fa707cce4882504e45333a25df6fb7da38ed67d Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 21 Aug 2026 20:27:19 +0000 Subject: [PATCH] ci(repo): version packages --- .changeset/api-endpoint-discoverability.md | 9 ----- .changeset/interrupt-report-gaps.md | 8 ---- .changeset/oauth-revoke-hardening.md | 7 ---- .changeset/oauth-revoke-on-logout.md | 5 --- .changeset/promise-lint.md | 7 ---- .changeset/remove-completion-telemetry.md | 5 --- .changeset/sigint-exit-code-130.md | 5 --- .../slack-thread-fix-issue-bun-1-4-define.md | 7 ---- .changeset/slack-thread-fix-issue.md | 7 ---- packages/cli/CHANGELOG.md | 37 +++++++++++++++++++ packages/cli/package.json | 2 +- 11 files changed, 38 insertions(+), 61 deletions(-) delete mode 100644 .changeset/api-endpoint-discoverability.md delete mode 100644 .changeset/interrupt-report-gaps.md delete mode 100644 .changeset/oauth-revoke-hardening.md delete mode 100644 .changeset/oauth-revoke-on-logout.md delete mode 100644 .changeset/promise-lint.md delete mode 100644 .changeset/remove-completion-telemetry.md delete mode 100644 .changeset/sigint-exit-code-130.md delete mode 100644 .changeset/slack-thread-fix-issue-bun-1-4-define.md delete mode 100644 .changeset/slack-thread-fix-issue.md diff --git a/.changeset/api-endpoint-discoverability.md b/.changeset/api-endpoint-discoverability.md deleted file mode 100644 index a0049aa3d..000000000 --- a/.changeset/api-endpoint-discoverability.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -"clerk": patch ---- - -Make the `clerk api` endpoint catalog discoverable from help output and 404 responses. - -- Root help now describes `api` as "Call any Clerk API endpoint (200+; `clerk api ls` to browse)" instead of "Make authenticated requests to the Clerk API", and `clerk api --help` explains that this command covers what the dedicated commands do not. -- `--platform` now explains that the Platform API has its own endpoint list, `clerk api ls` examples say which API they list (they cover the Backend API, not every endpoint), and `clerk api ls --platform` is shown as an example. -- A 404 with no parsed Clerk error code now suggests `clerk api ls ` on stderr, leaving stdout as the pipeable response body. The suggestion is scoped per surface: `--platform` appends that flag, and `--fapi` gets none since it has no endpoint catalog. diff --git a/.changeset/interrupt-report-gaps.md b/.changeset/interrupt-report-gaps.md deleted file mode 100644 index 0f16fa333..000000000 --- a/.changeset/interrupt-report-gaps.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -"clerk": patch ---- - -Report what was established when Ctrl-C interrupts `clerk deploy status`, and record interrupted runs in usage telemetry. - -- `clerk deploy status` no longer exits silently when the interrupt arrives before the deploy state is read. Agent mode emits a report with `state: "interrupted"`, which asserts nothing about the deploy. -- An interrupted command now sends its `abort` outcome instead of no event at all. diff --git a/.changeset/oauth-revoke-hardening.md b/.changeset/oauth-revoke-hardening.md deleted file mode 100644 index bb7bef702..000000000 --- a/.changeset/oauth-revoke-hardening.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"clerk": patch ---- - -Report when signing out cannot revoke the session with Clerk, instead of always printing a clean sign-out. Local credentials are still removed either way, and `clerk auth logout` now also warns when `CLERK_PLATFORM_API_KEY` is set, since that key keeps authenticating requests. - -Revoke the superseded session more reliably when re-authenticating: a transient error while checking the existing session no longer leaves the old session un-revoked, and a malformed `CLERK_OAUTH_BASE_URL` no longer aborts sign-out partway through. diff --git a/.changeset/oauth-revoke-on-logout.md b/.changeset/oauth-revoke-on-logout.md deleted file mode 100644 index 863c09d55..000000000 --- a/.changeset/oauth-revoke-on-logout.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"clerk": patch ---- - -Revoke the OAuth session with Clerk when signing out, so `clerk auth logout` ends the session everywhere instead of only deleting the local credentials. Re-authenticating over an existing session now revokes the previous one as well. diff --git a/.changeset/promise-lint.md b/.changeset/promise-lint.md deleted file mode 100644 index 9ea35ff88..000000000 --- a/.changeset/promise-lint.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"clerk": patch ---- - -Stop a failing interrupt sequence from printing an unhandled rejection on Ctrl-C. - -The SIGINT handler is async so it can await the telemetry flush that reports the interrupted run, but it was registered directly with `process.on`, which discards a listener's return value. If anything in that sequence rejected — the lazy telemetry import, the flush itself — the failure surfaced as an unhandled rejection stack trace at the exact moment the user was trying to get their shell back, and the process never reached the signal death that a wrapping script reads. The registered listener is now a synchronous wrapper that exits by the route the interrupt calls for even when the sequence fails. diff --git a/.changeset/remove-completion-telemetry.md b/.changeset/remove-completion-telemetry.md deleted file mode 100644 index eeefe256d..000000000 --- a/.changeset/remove-completion-telemetry.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"clerk": patch ---- - -Stop sending telemetry for `clerk completion`. Shells re-run it on every startup when it is wired into an rc file, so its events measured shell startups rather than CLI usage. diff --git a/.changeset/sigint-exit-code-130.md b/.changeset/sigint-exit-code-130.md deleted file mode 100644 index a931bc9ad..000000000 --- a/.changeset/sigint-exit-code-130.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"clerk": patch ---- - -Fix the exit code when a command is interrupted with Ctrl-C. Interrupting a command now exits 130 by terminating on SIGINT rather than calling `process.exit(130)`, so a wrapping shell script sees a real signal death and stops as expected, and the interrupted run is reported to telemetry instead of going unrecorded. This covers in-flight requests, poll intervals and retry backoffs, project generators run by `clerk init`, and `clerk webhooks listen` once it has drained. Ctrl-C while the CLI is only waiting on you — at a prompt, during browser sign-in, or in `$EDITOR` — still exits 0. diff --git a/.changeset/slack-thread-fix-issue-bun-1-4-define.md b/.changeset/slack-thread-fix-issue-bun-1-4-define.md deleted file mode 100644 index 22281a1b8..000000000 --- a/.changeset/slack-thread-fix-issue-bun-1-4-define.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"clerk": patch ---- - -Keep `--define CLI_VERSION` working when building with Bun 1.4. - -Bun 1.4 runs macros in a sealed transpiler context that `--define` globals no longer reach, so the version macro silently fell back to the checkout-derived dev version even when a release version was injected. The define check and dev classification now live in `version.ts` module scope, where define substitution still applies; the macro only derives the Git checkout fallback. diff --git a/.changeset/slack-thread-fix-issue.md b/.changeset/slack-thread-fix-issue.md deleted file mode 100644 index 40b0653a9..000000000 --- a/.changeset/slack-thread-fix-issue.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"clerk": patch ---- - -Stop the "Update available" notice from garbling the "Next steps" block. - -The next-steps outro animation moves the cursor back onto the header line for ~450ms, but several commands (`switch-env`, `auth logout`, `unlink`, `users create`, `apps create`, and others) did not await it. The command's promise resolved mid-animation, so the post-command update check printed its notice at the parked cursor position — overwriting the step lines and leaving a stray duplicate "Next steps" header. Every `outro(...)` call is now awaited, so output printed after a command lands below the finished block. diff --git a/packages/cli/CHANGELOG.md b/packages/cli/CHANGELOG.md index 7610adeda..57d90dff9 100644 --- a/packages/cli/CHANGELOG.md +++ b/packages/cli/CHANGELOG.md @@ -1,5 +1,42 @@ # clerk +## 3.1.1 + +### Patch Changes + +- Make the `clerk api` endpoint catalog discoverable from help output and 404 responses. ([#430](https://github.com/clerk/cli/pull/430)) by [@shane-kercheval](https://github.com/shane-kercheval) + + - Root help now describes `api` as "Call any Clerk API endpoint (200+; `clerk api ls` to browse)" instead of "Make authenticated requests to the Clerk API", and `clerk api --help` explains that this command covers what the dedicated commands do not. + - `--platform` now explains that the Platform API has its own endpoint list, `clerk api ls` examples say which API they list (they cover the Backend API, not every endpoint), and `clerk api ls --platform` is shown as an example. + - A 404 with no parsed Clerk error code now suggests `clerk api ls ` on stderr, leaving stdout as the pipeable response body. The suggestion is scoped per surface: `--platform` appends that flag, and `--fapi` gets none since it has no endpoint catalog. + +- Report what was established when Ctrl-C interrupts `clerk deploy status`, and record interrupted runs in usage telemetry. ([#425](https://github.com/clerk/cli/pull/425)) by [@wyattjoh](https://github.com/wyattjoh) + + - `clerk deploy status` no longer exits silently when the interrupt arrives before the deploy state is read. Agent mode emits a report with `state: "interrupted"`, which asserts nothing about the deploy. + - An interrupted command now sends its `abort` outcome instead of no event at all. + +- Report when signing out cannot revoke the session with Clerk, instead of always printing a clean sign-out. Local credentials are still removed either way, and `clerk auth logout` now also warns when `CLERK_PLATFORM_API_KEY` is set, since that key keeps authenticating requests. ([#422](https://github.com/clerk/cli/pull/422)) by [@wyattjoh](https://github.com/wyattjoh) + + Revoke the superseded session more reliably when re-authenticating: a transient error while checking the existing session no longer leaves the old session un-revoked, and a malformed `CLERK_OAUTH_BASE_URL` no longer aborts sign-out partway through. + +- Revoke the OAuth session with Clerk when signing out, so `clerk auth logout` ends the session everywhere instead of only deleting the local credentials. Re-authenticating over an existing session now revokes the previous one as well. ([#418](https://github.com/clerk/cli/pull/418)) by [@wyattjoh](https://github.com/wyattjoh) + +- Stop a failing interrupt sequence from printing an unhandled rejection on Ctrl-C. ([#436](https://github.com/clerk/cli/pull/436)) by [@wyattjoh](https://github.com/wyattjoh) + + The SIGINT handler is async so it can await the telemetry flush that reports the interrupted run, but it was registered directly with `process.on`, which discards a listener's return value. If anything in that sequence rejected — the lazy telemetry import, the flush itself — the failure surfaced as an unhandled rejection stack trace at the exact moment the user was trying to get their shell back, and the process never reached the signal death that a wrapping script reads. The registered listener is now a synchronous wrapper that exits by the route the interrupt calls for even when the sequence fails. + +- Stop sending telemetry for `clerk completion`. Shells re-run it on every startup when it is wired into an rc file, so its events measured shell startups rather than CLI usage. ([#417](https://github.com/clerk/cli/pull/417)) by [@djgould](https://github.com/djgould) + +- Fix the exit code when a command is interrupted with Ctrl-C. Interrupting a command now exits 130 by terminating on SIGINT rather than calling `process.exit(130)`, so a wrapping shell script sees a real signal death and stops as expected, and the interrupted run is reported to telemetry instead of going unrecorded. This covers in-flight requests, poll intervals and retry backoffs, project generators run by `clerk init`, and `clerk webhooks listen` once it has drained. Ctrl-C while the CLI is only waiting on you — at a prompt, during browser sign-in, or in `$EDITOR` — still exits 0. ([#420](https://github.com/clerk/cli/pull/420)) by [@wyattjoh](https://github.com/wyattjoh) + +- Keep `--define CLI_VERSION` working when building with Bun 1.4. ([#435](https://github.com/clerk/cli/pull/435)) by [@rafa-thayto](https://github.com/rafa-thayto) + + Bun 1.4 runs macros in a sealed transpiler context that `--define` globals no longer reach, so the version macro silently fell back to the checkout-derived dev version even when a release version was injected. The define check and dev classification now live in `version.ts` module scope, where define substitution still applies; the macro only derives the Git checkout fallback. + +- Stop the "Update available" notice from garbling the "Next steps" block. ([#435](https://github.com/clerk/cli/pull/435)) by [@rafa-thayto](https://github.com/rafa-thayto) + + The next-steps outro animation moves the cursor back onto the header line for ~450ms, but several commands (`switch-env`, `auth logout`, `unlink`, `users create`, `apps create`, and others) did not await it. The command's promise resolved mid-animation, so the post-command update check printed its notice at the parked cursor position — overwriting the step lines and leaving a stray duplicate "Next steps" header. Every `outro(...)` call is now awaited, so output printed after a command lands below the finished block. + ## 3.1.0 ### Minor Changes diff --git a/packages/cli/package.json b/packages/cli/package.json index f720aec8e..500868d61 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "clerk", - "version": "3.1.0", + "version": "3.1.1", "private": true, "description": "Clerk CLI", "keywords": [