Skip to content

ci(repo): Version packages #6525

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 0 additions & 7 deletions .changeset/bright-parks-search.md

This file was deleted.

2 changes: 0 additions & 2 deletions .changeset/eighty-plums-listen.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/nasty-colts-travel.md

This file was deleted.

6 changes: 0 additions & 6 deletions .changeset/rich-drinks-ring.md

This file was deleted.

6 changes: 0 additions & 6 deletions .changeset/sour-lemons-talk.md

This file was deleted.

7 changes: 0 additions & 7 deletions .changeset/tender-planets-win.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/thin-wolves-study.md

This file was deleted.

6 changes: 0 additions & 6 deletions .changeset/wise-hornets-sneeze.md

This file was deleted.

9 changes: 9 additions & 0 deletions packages/agent-toolkit/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
# @clerk/agent-toolkit

## 0.1.20

### Patch Changes

- Updated dependencies [[`df63e76`](https://github.com/clerk/javascript/commit/df63e76f2382c601d9a3b52a3a6dfaba26c4f36f), [`173837c`](https://github.com/clerk/javascript/commit/173837c2526aa826b7981ee8d6d4f52c00675da5), [`ae2e2d6`](https://github.com/clerk/javascript/commit/ae2e2d6b336be6b596cc855e549843beb5bfd2a1), [`037f25a`](https://github.com/clerk/javascript/commit/037f25a8171888168913b186b7edf871e0aaf197), [`f8b38b7`](https://github.com/clerk/javascript/commit/f8b38b7059e498fef3ac1271346be0710aa31c76)]:
- @clerk/[email protected]
- @clerk/[email protected]
- @clerk/[email protected]

## 0.1.19

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/agent-toolkit/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@clerk/agent-toolkit",
"version": "0.1.19",
"version": "0.1.20",
"description": "Clerk Toolkit for AI Agents",
"homepage": "https://clerk.com/",
"bugs": {
Expand Down
9 changes: 9 additions & 0 deletions packages/astro/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
# @clerk/astro

## 2.11.1

### Patch Changes

- Updated dependencies [[`df63e76`](https://github.com/clerk/javascript/commit/df63e76f2382c601d9a3b52a3a6dfaba26c4f36f), [`173837c`](https://github.com/clerk/javascript/commit/173837c2526aa826b7981ee8d6d4f52c00675da5), [`ae2e2d6`](https://github.com/clerk/javascript/commit/ae2e2d6b336be6b596cc855e549843beb5bfd2a1), [`037f25a`](https://github.com/clerk/javascript/commit/037f25a8171888168913b186b7edf871e0aaf197), [`f8b38b7`](https://github.com/clerk/javascript/commit/f8b38b7059e498fef3ac1271346be0710aa31c76)]:
- @clerk/[email protected]
- @clerk/[email protected]
- @clerk/[email protected]

## 2.11.0

### Minor Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/astro/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@clerk/astro",
"version": "2.11.0",
"version": "2.11.1",
"description": "Clerk SDK for Astro",
"keywords": [
"auth",
Expand Down
12 changes: 12 additions & 0 deletions packages/backend/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,17 @@
# Change Log

## 2.8.0

### Minor Changes

- Exports `Machine` and `M2MToken` resource classes ([#6500](https://github.com/clerk/javascript/pull/6500)) by [@wobsoriano](https://github.com/wobsoriano)

### Patch Changes

- Updated dependencies [[`173837c`](https://github.com/clerk/javascript/commit/173837c2526aa826b7981ee8d6d4f52c00675da5), [`ae2e2d6`](https://github.com/clerk/javascript/commit/ae2e2d6b336be6b596cc855e549843beb5bfd2a1), [`037f25a`](https://github.com/clerk/javascript/commit/037f25a8171888168913b186b7edf871e0aaf197), [`f8b38b7`](https://github.com/clerk/javascript/commit/f8b38b7059e498fef3ac1271346be0710aa31c76)]:
- @clerk/[email protected]
- @clerk/[email protected]

## 2.7.1

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/backend/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@clerk/backend",
"version": "2.7.1",
"version": "2.8.0",
"description": "Clerk Backend SDK - REST Client for Backend API & JWT verification utilities",
"homepage": "https://clerk.com/",
"bugs": {
Expand Down
9 changes: 9 additions & 0 deletions packages/chrome-extension/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
# Change Log

## 2.5.19

### Patch Changes

- Updated dependencies [[`173837c`](https://github.com/clerk/javascript/commit/173837c2526aa826b7981ee8d6d4f52c00675da5), [`ae2e2d6`](https://github.com/clerk/javascript/commit/ae2e2d6b336be6b596cc855e549843beb5bfd2a1), [`037f25a`](https://github.com/clerk/javascript/commit/037f25a8171888168913b186b7edf871e0aaf197), [`f8b38b7`](https://github.com/clerk/javascript/commit/f8b38b7059e498fef3ac1271346be0710aa31c76)]:
- @clerk/[email protected]
- @clerk/[email protected]
- @clerk/[email protected]

## 2.5.18

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/chrome-extension/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@clerk/chrome-extension",
"version": "2.5.18",
"version": "2.5.19",
"description": "Clerk SDK for Chrome extensions",
"keywords": [
"auth",
Expand Down
19 changes: 19 additions & 0 deletions packages/clerk-js/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,24 @@
# Change Log

## 5.83.0

### Minor Changes

- [Billing Beta] Replace usage of top level amounts in plan with fees for displaying prices. ([#6490](https://github.com/clerk/javascript/pull/6490)) by [@panteliselef](https://github.com/panteliselef)

- Update billing resources with trial properties. ([#6492](https://github.com/clerk/javascript/pull/6492)) by [@panteliselef](https://github.com/panteliselef)

- Update PricingTable with trial info. ([#6493](https://github.com/clerk/javascript/pull/6493)) by [@panteliselef](https://github.com/panteliselef)

- [Experimental] Signals reset password flow ([#6520](https://github.com/clerk/javascript/pull/6520)) by [@dstaley](https://github.com/dstaley)

### Patch Changes

- Updated dependencies [[`173837c`](https://github.com/clerk/javascript/commit/173837c2526aa826b7981ee8d6d4f52c00675da5), [`ae2e2d6`](https://github.com/clerk/javascript/commit/ae2e2d6b336be6b596cc855e549843beb5bfd2a1), [`037f25a`](https://github.com/clerk/javascript/commit/037f25a8171888168913b186b7edf871e0aaf197), [`6f73222`](https://github.com/clerk/javascript/commit/6f732223ad248cd8d5203b0354144c8ce4ee871c), [`f8b38b7`](https://github.com/clerk/javascript/commit/f8b38b7059e498fef3ac1271346be0710aa31c76)]:
- @clerk/[email protected]
- @clerk/[email protected]
- @clerk/[email protected]

## 5.82.0

### Minor Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/clerk-js/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@clerk/clerk-js",
"version": "5.82.0",
"version": "5.83.0",
Copy link
Contributor

Choose a reason for hiding this comment

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

💡 Verification agent

🧩 Analysis chain

Minor bump to 5.83.0 aligns with noted feature (billing trial properties) and dependency updates.

  • Namespace, semver, and publish location all good.
  • Given the minor change, ensure related tests/docs landed in the feature PR(s) and CHANGELOG is present.

Also confirm there are corresponding or prior tests covering the new billing trial props in:

  • packages/types (type surface)
  • packages/clerk-js (runtime behavior)

If missing, do you want me to open a follow-up to add targeted tests?


🏁 Script executed:

#!/bin/bash
set -e

# Verify CHANGELOG entries exist for all bumped packages in this PR.
rg -n '^##\s+5\.83\.0\b' packages/clerk-js/CHANGELOG.md
rg -n '^##\s+3\.19\.1\b' packages/shared/CHANGELOG.md
rg -n '^##\s+0\.23\.52\b' packages/elements/CHANGELOG.md
rg -n '^##\s+1\.10\.13\b' packages/testing/CHANGELOG.md
rg -n '^##\s+2\.4\.8\b' packages/themes/CHANGELOG.md

Length of output: 355


I’d like to verify that there are actually tests covering the new “trial” properties in both the type definitions and runtime code. Running a quick grep across each package should reveal any existing coverage:

This will confirm whether we already have test cases and type definitions for the billing-trial properties, or if a follow-up PR is needed to add them.


🏁 Script executed:

#!/bin/bash
set -e

echo "🔍 Searching for any mention of 'trial' in tests under packages/clerk-js..."
rg -n --color never 'trial' -g '*.{test,spec}.{ts,js,tsx,jsx}' packages/clerk-js || echo "⚠️ No 'trial' references found in clerk-js tests."

echo
echo "🔍 Searching for any mention of 'trial' in packages/clerk-js source..."
rg -n --color never 'trial' -C2 packages/clerk-js

echo
echo "🔍 Searching for any mention of 'trial' in packages/types..."
rg -n --color never 'trial' -C2 packages/types

Length of output: 3084


Missing Tests for Billing Trial Properties

The version bump to 5.83.0 and all CHANGELOG entries look good, but I didn’t find any test coverage for the new trial fields:

• packages/clerk-js – no trial references in any *.test.* or *.spec.* files
• packages/types – no tests validating the JSON-to-type mapping for is_free_trial / eligible_for_free_trial

Please add targeted unit tests for:

  • Runtime behavior in packages/clerk-js/src/core/resources/CommerceSubscription.ts
  • Type surface in packages/types/src/json.ts

Let me know if you’d like a follow-up PR drafted for these tests.

🤖 Prompt for AI Agents
In packages/clerk-js/package.json around line 3, the change introduced new trial
fields but there are no tests covering them; add unit tests that (1) in
packages/clerk-js create a new spec under
src/core/resources/CommerceSubscription.test.* that exercises runtime behavior:
build subscription fixtures including is_free_trial and eligible_for_free_trial,
call the CommerceSubscription constructor/mapper, and assert the resulting
object exposes the trial fields (boolean values and any derived properties) and
preserves expected behavior when fields are missing or null; and (2) in
packages/types add a test in src/json.test.* that validates the JSON-to-type
mapping for is_free_trial and eligible_for_free_trial by converting
representative JSON payloads to the TypeScript types and asserting the
types/values match (true/false/undefined) and that any naming/transformation is
correct.

"description": "Clerk JS library",
"keywords": [
"clerk",
Expand Down
9 changes: 9 additions & 0 deletions packages/elements/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
# @clerk/elements

## 0.23.52

### Patch Changes

- Updated dependencies [[`173837c`](https://github.com/clerk/javascript/commit/173837c2526aa826b7981ee8d6d4f52c00675da5), [`ae2e2d6`](https://github.com/clerk/javascript/commit/ae2e2d6b336be6b596cc855e549843beb5bfd2a1), [`037f25a`](https://github.com/clerk/javascript/commit/037f25a8171888168913b186b7edf871e0aaf197), [`f8b38b7`](https://github.com/clerk/javascript/commit/f8b38b7059e498fef3ac1271346be0710aa31c76)]:
- @clerk/[email protected]
- @clerk/[email protected]
- @clerk/[email protected]

## 0.23.51

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/elements/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@clerk/elements",
"version": "0.23.51",
"version": "0.23.52",
"description": "Clerk Elements",
"keywords": [
"clerk",
Expand Down
8 changes: 8 additions & 0 deletions packages/expo-passkeys/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# @clerk/expo-passkeys

## 0.3.29

### Patch Changes

- Updated dependencies [[`173837c`](https://github.com/clerk/javascript/commit/173837c2526aa826b7981ee8d6d4f52c00675da5), [`ae2e2d6`](https://github.com/clerk/javascript/commit/ae2e2d6b336be6b596cc855e549843beb5bfd2a1), [`037f25a`](https://github.com/clerk/javascript/commit/037f25a8171888168913b186b7edf871e0aaf197), [`f8b38b7`](https://github.com/clerk/javascript/commit/f8b38b7059e498fef3ac1271346be0710aa31c76)]:
- @clerk/[email protected]
- @clerk/[email protected]

## 0.3.28

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/expo-passkeys/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@clerk/expo-passkeys",
"version": "0.3.28",
"version": "0.3.29",
"description": "Passkeys library to be used with Clerk for expo",
"keywords": [
"react-native",
Expand Down
10 changes: 10 additions & 0 deletions packages/expo/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,15 @@
# Change Log

## 2.14.18

### Patch Changes

- Updated dependencies [[`173837c`](https://github.com/clerk/javascript/commit/173837c2526aa826b7981ee8d6d4f52c00675da5), [`ae2e2d6`](https://github.com/clerk/javascript/commit/ae2e2d6b336be6b596cc855e549843beb5bfd2a1), [`037f25a`](https://github.com/clerk/javascript/commit/037f25a8171888168913b186b7edf871e0aaf197), [`f8b38b7`](https://github.com/clerk/javascript/commit/f8b38b7059e498fef3ac1271346be0710aa31c76)]:
- @clerk/[email protected]
- @clerk/[email protected]
- @clerk/[email protected]
- @clerk/[email protected]

## 2.14.17

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/expo/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@clerk/clerk-expo",
"version": "2.14.17",
"version": "2.14.18",
Copy link
Contributor

Choose a reason for hiding this comment

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

💡 Verification agent

🧩 Analysis chain

Optional: Verify release hygiene across packages (name scope, publish config, changelog alignment).

Run this script to check:

  • All packages/*/package.json have @clerk/ scope
  • publishConfig.access is public
  • Package version matches the topmost entry in corresponding CHANGELOG.md

🏁 Script executed:

#!/bin/bash
set -euo pipefail

errors=0

# Find all publishable package.json files under packages/
mapfile -t PKGS < <(fd -a -t f '^package\.json$' packages)

for pkg in "${PKGS[@]}"; do
  dir="$(dirname "$pkg")"
  name="$(jq -r '.name' "$pkg")"
  version="$(jq -r '.version' "$pkg")"
  publish_access="$(jq -r '.publishConfig.access // empty' "$pkg")"

  # 1) Scope check
  if [[ "$name" != @clerk/* ]]; then
    echo "ERROR: $pkg => package name '$name' is not under @clerk scope"
    ((errors++)) || true
  fi

  # 2) publishConfig.access check
  if [[ "$publish_access" != "public" ]]; then
    echo "ERROR: $pkg => publishConfig.access is not 'public' (got '${publish_access:-<missing>}')"
    ((errors++)) || true
  fi

  # 3) Changelog version alignment (if changelog exists)
  changelog="$dir/CHANGELOG.md"
  if [[ -f "$changelog" ]]; then
    top_ch_ver="$(awk '/^## [0-9]+\.[0-9]+\.[0-9]+/ {print $2; exit}' "$changelog" | tr -d '[:space:]')"
    if [[ -n "$top_ch_ver" && "$top_ch_ver" != "$version" ]]; then
      echo "ERROR: $pkg => version '$version' does not match top CHANGELOG entry '$top_ch_ver'"
      ((errors++)) || true
    fi
  fi
done

if [[ $errors -gt 0 ]]; then
  echo "Found $errors issue(s)."
  exit 1
else
  echo "All checks passed."
fi

Length of output: 198


To work around the sandbox’s lack of /dev/fd support, here’s an updated check using command-substitution instead of process substitution:


🏁 Script executed:

#!/usr/bin/env bash
set -euo pipefail

errors=0

# Gather all package.json files under packages/
PKGS=( $(fd -a -t f '^package\.json$' packages) )

for pkg in "${PKGS[@]}"; do
  dir=$(dirname "$pkg")
  name=$(jq -r '.name' "$pkg")
  version=$(jq -r '.version' "$pkg")
  publish_access=$(jq -r '.publishConfig.access // empty' "$pkg")

  # 1) Scope check
  if [[ $name != @clerk/* ]]; then
    echo "ERROR: $pkg => package name '$name' is not under @clerk scope"
    errors=$((errors + 1))
  fi

  # 2) publishConfig.access check
  if [[ $publish_access != public ]]; then
    echo "ERROR: $pkg => publishConfig.access is not 'public' (got '${publish_access:-<missing>}')"
    errors=$((errors + 1))
  fi

  # 3) Changelog version alignment (if CHANGELOG.md exists)
  changelog="$dir/CHANGELOG.md"
  if [[ -f $changelog ]]; then
    top_ch_ver=$(awk '/^## [0-9]+\.[0-9]+\.[0-9]+/ {print $2; exit}' "$changelog" | tr -d '[:space:]')
    if [[ -n $top_ch_ver && $top_ch_ver != $version ]]; then
      echo "ERROR: $pkg => version '$version' does not match top CHANGELOG entry '$top_ch_ver'"
      errors=$((errors + 1))
    fi
  fi
done

if (( errors > 0 )); then
  echo "Found $errors issue(s)."
  exit 1
else
  echo "All checks passed."
  exit 0
fi

Length of output: 59290


Release hygiene checks detected 69 package.json issues – action required

The automated script flagged numerous nested packages (examples, client, internal, webhooks, etc.) with missing or mis-configured fields. Please address the following:

• Missing name/version (reported as null) in non-publishable packages under:
– packages/astro/{client,hotload,internal,react,server,webhooks}
– packages/backend/{errors,internal,jwt,webhooks}
– packages/chrome-extension/{background,internal,react}
– packages/expo/{local-credentials,passkeys,resource-cache,secure-store,token-cache,web}
– packages/express/webhooks, fastify/webhooks, nextjs/{errors,internal,server,webhooks}, remix/{api.server,errors,ssr.server}
– packages/tanstack-react-start/{errors,server,webhooks}, testing/{cypress,playwright}

• Missing publishConfig.access: "public" on several packages (e.g. examples and expo-passkeys).
• Public packages not scoped under @clerk/ (e.g. elements-nextjs).
• Private/internal bundles are being treated as publishable—either mark them "private": true or relocate them.

Recommended fixes:

  1. Mark any non-publishable packages as "private": true" to exclude them from release scripts.
  2. Ensure every public package.json has:
    • "name": "@clerk/<pkg>"
    • "publishConfig": { "access": "public" }
    • Version matching the top entry in its CHANGELOG.md.
  3. Remove or relocate example and internal folders from the publishable workspace if they’re not meant for npm.

"description": "Clerk React Native/Expo library",
"keywords": [
"react",
Expand Down
9 changes: 9 additions & 0 deletions packages/express/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
# Change Log

## 1.7.19

### Patch Changes

- Updated dependencies [[`df63e76`](https://github.com/clerk/javascript/commit/df63e76f2382c601d9a3b52a3a6dfaba26c4f36f), [`173837c`](https://github.com/clerk/javascript/commit/173837c2526aa826b7981ee8d6d4f52c00675da5), [`ae2e2d6`](https://github.com/clerk/javascript/commit/ae2e2d6b336be6b596cc855e549843beb5bfd2a1), [`037f25a`](https://github.com/clerk/javascript/commit/037f25a8171888168913b186b7edf871e0aaf197), [`f8b38b7`](https://github.com/clerk/javascript/commit/f8b38b7059e498fef3ac1271346be0710aa31c76)]:
- @clerk/[email protected]
- @clerk/[email protected]
- @clerk/[email protected]

## 1.7.18

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/express/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@clerk/express",
"version": "1.7.18",
"version": "1.7.19",
Copy link
Contributor

Choose a reason for hiding this comment

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

💡 Verification agent

🧩 Analysis chain

Patch version bump to 1.7.19 looks correct and aligned with the changelog.

Semver is respected; package remains under packages/ with @clerk scope; publishConfig is public. No issues spotted.

Run this repo-wide check to validate version/changelog alignment, @clerk workspace pins, and publishConfig:


🏁 Script executed:

#!/bin/bash
set -euo pipefail

fail=0

# Iterate all package.json files under packages/
while IFS= read -r f; do
  pkgdir="$(dirname "$f")"
  name="$(jq -r '.name' "$f")"
  version="$(jq -r '.version' "$f")"
  private="$(jq -r '.private // false' "$f")"

  # Ensure all publishable packages are scoped and under packages/
  if [[ "$name" == @clerk/* ]]; then
    if [[ "$f" != packages/*/package.json ]]; then
      echo "Package $name not under packages/: $f"
      fail=1
    fi
    # Require publishConfig.access=public unless private:true
    if [[ "$private" != "true" ]]; then
      access="$(jq -r '.publishConfig.access // empty' "$f")"
      if [[ "$access" != "public" ]]; then
        echo "Package $name missing publishConfig.access=public"
        fail=1
      fi
    fi
  fi

  # Verify internal @clerk/* deps use workspace:^
  while IFS= read -r line; do
    dep="${line%% *}"
    val="${line#* }"
    if [[ ! "$val" =~ ^workspace: ]]; then
      echo "$name depends on $dep with non-workspace version: $val"
      fail=1
    fi
  done < <(jq -r '.dependencies // {} | to_entries[] | select(.key | test("^@clerk/")) | "\(.key) \(.value)"' "$f")

  # Verify CHANGELOG.md has an entry for the current version
  cl="$pkgdir/CHANGELOG.md"
  if [[ -f "$cl" ]]; then
    if ! rg -n --pcre2 "^##\s+${version//./\.}\b" "$cl" >/dev/null; then
      echo "Missing CHANGELOG entry for $name@$version in $cl"
      fail=1
    fi
  else
    echo "Missing CHANGELOG.md for $name in $pkgdir"
    fail=1
  fi
done < <(fd -t f -a 'package.json' packages)

if [[ $fail -ne 0 ]]; then
  echo "One or more checks failed"
  exit 1
else
  echo "All package metadata checks passed"
fi

Length of output: 174


🏁 Script executed:

#!/bin/bash
set -euo pipefail

fail=0

# Find all package.json files under packages/
for f in $(find packages -type f -name 'package.json'); do
  pkgdir="$(dirname "$f")"
  name="$(jq -r '.name' "$f")"
  version="$(jq -r '.version' "$f")"
  private="$(jq -r '.private // false' "$f")"

  # Ensure scoped packages live under packages/ and have publishConfig.access=public if not private
  if [[ "$name" == "@clerk/"* ]]; then
    if [[ "$f" != packages/*/package.json ]]; then
      echo "Package $name not under packages/: $f"
      fail=1
    fi
    if [[ "$private" != "true" ]]; then
      access="$(jq -r '.publishConfig.access // empty' "$f")"
      if [[ "$access" != "public" ]]; then
        echo "Package $name missing publishConfig.access=public"
        fail=1
      fi
    fi
  fi

  # Verify internal @clerk/* dependencies use workspace:^
  deps=$(jq -r '.dependencies // {} | to_entries[] | select(.key | test("^@clerk/")) | "\(.key) \(.value)"' "$f")
  if [[ -n "$deps" ]]; then
    while IFS= read -r line; do
      dep="${line%% *}"
      val="${line#* }"
      if [[ ! "$val" =~ ^workspace: ]]; then
        echo "$name depends on $dep with non-workspace version: $val"
        fail=1
      fi
    done <<< "$deps"
  fi

  # Verify CHANGELOG.md has an entry for the current version
  cl="$pkgdir/CHANGELOG.md"
  if [[ -f "$cl" ]]; then
    if ! grep -E "^##[[:space:]]+${version//./\\.}\b" "$cl" >/dev/null; then
      echo "Missing CHANGELOG entry for $name@$version in $cl"
      fail=1
    fi
  else
    echo "Missing CHANGELOG.md for $name in $pkgdir"
    fail=1
  fi
done

if [[ $fail -ne 0 ]]; then
  echo "One or more checks failed"
  exit 1
else
  echo "All package metadata checks passed"
fi

Length of output: 59174


Confirm version bump and refine metadata check

  • ✅ Version “1.7.19” in packages/express/package.json matches the CHANGELOG entry.
  • ⚠️ The provided repo-wide check script is flagging many package.json files with a null name (e.g. packages/astro/*, examples, internal folders), leading to spurious “Missing CHANGELOG.md for null” errors.

Action items:

  • Update the verification script to only target valid, scoped packages (i.e., skip package.json where .name is null or only run on @clerk/* packages).
  • Ensure that after filtering, all @clerk/* packages:
    • Live under packages/*
    • Use workspace:^ for internal deps
    • Have publishConfig.access = public (unless private: true)
    • Include a matching ## <version> entry in their CHANGELOG.md

Once the script is refined, rerun it to confirm all checks pass.

🤖 Prompt for AI Agents
In packages/express/package.json around line 3, the repo-wide verification
script is producing false “Missing CHANGELOG.md for null” errors because it
scans package.json files with a null or non-scoped name; update the verification
script to filter out package.json entries where .name is null or not starting
with "@clerk/" (or explicitly restrict the scan to packages/*/@clerk/*), then
validate only the remaining packages and enforce: they live under packages/*,
internal dependencies use workspace:^, publishConfig.access === "public" unless
package.json has "private": true, and each has a matching "## <version>" entry
in its CHANGELOG.md; after applying these filters and checks, rerun the script
to confirm all @clerk/* packages pass.

"description": "Clerk server SDK for usage with Express",
"keywords": [
"clerk",
Expand Down
9 changes: 9 additions & 0 deletions packages/fastify/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
# Change Log

## 2.4.19

### Patch Changes

- Updated dependencies [[`df63e76`](https://github.com/clerk/javascript/commit/df63e76f2382c601d9a3b52a3a6dfaba26c4f36f), [`173837c`](https://github.com/clerk/javascript/commit/173837c2526aa826b7981ee8d6d4f52c00675da5), [`ae2e2d6`](https://github.com/clerk/javascript/commit/ae2e2d6b336be6b596cc855e549843beb5bfd2a1), [`037f25a`](https://github.com/clerk/javascript/commit/037f25a8171888168913b186b7edf871e0aaf197), [`f8b38b7`](https://github.com/clerk/javascript/commit/f8b38b7059e498fef3ac1271346be0710aa31c76)]:
- @clerk/[email protected]
- @clerk/[email protected]
- @clerk/[email protected]

## 2.4.18

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/fastify/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@clerk/fastify",
"version": "2.4.18",
"version": "2.4.19",
"description": "Clerk SDK for Fastify",
"keywords": [
"auth",
Expand Down
13 changes: 13 additions & 0 deletions packages/localizations/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,18 @@
# Change Log

## 3.21.0

### Minor Changes

- Update PricingTable with trial info. ([#6493](https://github.com/clerk/javascript/pull/6493)) by [@panteliselef](https://github.com/panteliselef)

### Patch Changes

- Add `taskChooseOrganization` to all locales. ([#6527](https://github.com/clerk/javascript/pull/6527)) by [@panteliselef](https://github.com/panteliselef)

- Updated dependencies [[`173837c`](https://github.com/clerk/javascript/commit/173837c2526aa826b7981ee8d6d4f52c00675da5), [`ae2e2d6`](https://github.com/clerk/javascript/commit/ae2e2d6b336be6b596cc855e549843beb5bfd2a1), [`037f25a`](https://github.com/clerk/javascript/commit/037f25a8171888168913b186b7edf871e0aaf197), [`f8b38b7`](https://github.com/clerk/javascript/commit/f8b38b7059e498fef3ac1271346be0710aa31c76)]:
- @clerk/[email protected]

## 3.20.9

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/localizations/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@clerk/localizations",
"version": "3.20.9",
"version": "3.21.0",
"description": "Localizations for the Clerk components",
"keywords": [
"react",
Expand Down
14 changes: 14 additions & 0 deletions packages/nextjs/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,19 @@
# Change Log

## 6.30.2

### Patch Changes

- Add new telemetry event KEYLESS_ENV_DRIFT_DETECTED to detect drift between publishable and secret keys in keyless apps and values in the .env file. ([#6522](https://github.com/clerk/javascript/pull/6522)) by [@heatlikeheatwave](https://github.com/heatlikeheatwave)

This event only fires once as controlled with the .clerk/.tmp/telemetry.json file to prevent telemetry event noise

- Updated dependencies [[`df63e76`](https://github.com/clerk/javascript/commit/df63e76f2382c601d9a3b52a3a6dfaba26c4f36f), [`173837c`](https://github.com/clerk/javascript/commit/173837c2526aa826b7981ee8d6d4f52c00675da5), [`ae2e2d6`](https://github.com/clerk/javascript/commit/ae2e2d6b336be6b596cc855e549843beb5bfd2a1), [`037f25a`](https://github.com/clerk/javascript/commit/037f25a8171888168913b186b7edf871e0aaf197), [`f8b38b7`](https://github.com/clerk/javascript/commit/f8b38b7059e498fef3ac1271346be0710aa31c76)]:
- @clerk/[email protected]
- @clerk/[email protected]
- @clerk/[email protected]
- @clerk/[email protected]

## 6.30.1

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/nextjs/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@clerk/nextjs",
"version": "6.30.1",
"version": "6.30.2",
"description": "Clerk SDK for NextJS",
"keywords": [
"clerk",
Expand Down
10 changes: 10 additions & 0 deletions packages/nuxt/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,15 @@
# @clerk/nuxt

## 1.8.5

### Patch Changes

- Updated dependencies [[`df63e76`](https://github.com/clerk/javascript/commit/df63e76f2382c601d9a3b52a3a6dfaba26c4f36f), [`173837c`](https://github.com/clerk/javascript/commit/173837c2526aa826b7981ee8d6d4f52c00675da5), [`ae2e2d6`](https://github.com/clerk/javascript/commit/ae2e2d6b336be6b596cc855e549843beb5bfd2a1), [`037f25a`](https://github.com/clerk/javascript/commit/037f25a8171888168913b186b7edf871e0aaf197), [`f8b38b7`](https://github.com/clerk/javascript/commit/f8b38b7059e498fef3ac1271346be0710aa31c76)]:
- @clerk/[email protected]
- @clerk/[email protected]
- @clerk/[email protected]
- @clerk/[email protected]

## 1.8.4

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/nuxt/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@clerk/nuxt",
"version": "1.8.4",
"version": "1.8.5",
"description": "Clerk SDK for Nuxt",
"keywords": [
"clerk",
Expand Down
10 changes: 10 additions & 0 deletions packages/react-router/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,15 @@
# Change Log

## 1.8.13

### Patch Changes

- Updated dependencies [[`df63e76`](https://github.com/clerk/javascript/commit/df63e76f2382c601d9a3b52a3a6dfaba26c4f36f), [`173837c`](https://github.com/clerk/javascript/commit/173837c2526aa826b7981ee8d6d4f52c00675da5), [`ae2e2d6`](https://github.com/clerk/javascript/commit/ae2e2d6b336be6b596cc855e549843beb5bfd2a1), [`037f25a`](https://github.com/clerk/javascript/commit/037f25a8171888168913b186b7edf871e0aaf197), [`f8b38b7`](https://github.com/clerk/javascript/commit/f8b38b7059e498fef3ac1271346be0710aa31c76)]:
- @clerk/[email protected]
- @clerk/[email protected]
- @clerk/[email protected]
- @clerk/[email protected]

## 1.8.12

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/react-router/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@clerk/react-router",
"version": "1.8.12",
"version": "1.8.13",
Copy link
Contributor

Choose a reason for hiding this comment

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

💡 Verification agent

🧩 Analysis chain

Check CHANGELOG entry exists for 1.8.13 and lists updated dependencies.


🏁 Script executed:

#!/usr/bin/env bash
set -euo pipefail

pkg="packages/react-router/package.json"
changelog="packages/react-router/CHANGELOG.md"
ver=$(jq -r '.version' "$pkg")

rg -n "^## $ver$" "$changelog" || { echo "ERROR: Missing CHANGELOG entry for $ver"; exit 1; }

section=$(awk "/^## $ver\$/,/^## /{ if (!/^## /) print }" "$changelog")
printf '%s\n' "$section" | rg -n "(@clerk/backend|@clerk/types|@clerk/clerk-react|@clerk/shared)" \
  || { echo "ERROR: $changelog: Section for $ver lacks expected dependency bump notes"; exit 1; }

echo "OK: @clerk/react-router $ver CHANGELOG entry references dependency updates."

Length of output: 648


Add missing dependency bump notes to CHANGELOG for v1.8.13

The ## 1.8.13 entry exists in packages/react-router/CHANGELOG.md but is empty—please update it to list all dependency version bumps introduced in this release. For example:

• File: packages/react-router/CHANGELOG.md
• Section: under the ## 1.8.13 heading

Suggested snippet:

 ## 1.8.13

+- deps: bump @clerk/backend to v<new-version>
+- deps: bump @clerk/types to v<new-version>
+- deps: bump @clerk/clerk-react to v<new-version>
+- deps: bump @clerk/shared to v<new-version>

Ensure each updated package and its new version are accurately reflected.

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
"version": "1.8.13",
## 1.8.13
+ deps: bump @clerk/backend to v<new-version>
+ deps: bump @clerk/types to v<new-version>
+ deps: bump @clerk/clerk-react to v<new-version>
+ deps: bump @clerk/shared to v<new-version>
🤖 Prompt for AI Agents
In packages/react-router/package.json around line 3, the release version 1.8.13
was bumped but the corresponding CHANGELOG entry is empty; open
packages/react-router/CHANGELOG.md and under the "## 1.8.13" heading add a
bullet list of all dependency version bumps introduced in this release (each
line: package path/name and new version), verify each package and version
against the actual package.json or lockfile changes, format consistently with
existing changelog entries, save and commit the updated CHANGELOG.md.

"description": "Clerk SDK for React Router",
"keywords": [
"clerk",
Expand Down
Loading