diff --git a/.changeset/README.md b/.changeset/README.md index 3eccc0bd1..7c9773cf4 100644 --- a/.changeset/README.md +++ b/.changeset/README.md @@ -6,7 +6,14 @@ This repo uses Changesets to drive releases for the published `executor` CLI. Only `executor` is managed directly by Changesets. -Release PRs should only version the published CLI package instead of the rest of the workspace. +Release PRs should only mention the published CLI package directly. Changesets +will still version the fixed release group and dependent public packages as +needed, and will update each affected package's `CHANGELOG.md`. + +Write the changeset body as the package changelog entry you want to appear in +the Version Packages PR and in the affected package changelogs. Keep broader +user-facing launch notes in `apps/cli/release-notes/next.md`; those are used for +the GitHub Release body. ## Beta releases diff --git a/.changeset/config.json b/.changeset/config.json index 97c479baa..e8ca15673 100644 --- a/.changeset/config.json +++ b/.changeset/config.json @@ -1,6 +1,6 @@ { "$schema": "https://unpkg.com/@changesets/config@3.1.3/schema.json", - "changelog": false, + "changelog": "@changesets/cli/changelog", "commit": false, "fixed": [ [ diff --git a/apps/cli/CHANGELOG.md b/apps/cli/CHANGELOG.md index 975c533bf..cef2a56d3 100644 --- a/apps/cli/CHANGELOG.md +++ b/apps/cli/CHANGELOG.md @@ -1,5 +1 @@ -# executor changelog - -This file exists so Changesets' release PR workflow can update package release metadata. - -Canonical user-facing release notes are published on GitHub Releases. +# executor diff --git a/apps/desktop/CHANGELOG.md b/apps/desktop/CHANGELOG.md index de10ea312..76d69c2fb 100644 --- a/apps/desktop/CHANGELOG.md +++ b/apps/desktop/CHANGELOG.md @@ -1,6 +1 @@ -# @executor-js/desktop changelog - -This file exists for `changesets/action@v1` compatibility (it reads every -workspace package's `CHANGELOG.md` to build the Version Packages PR). -Canonical user-facing release notes are at `apps/cli/release-notes/next.md` -and on the GitHub Releases page. +# @executor-js/desktop diff --git a/apps/host-cloudflare/CHANGELOG.md b/apps/host-cloudflare/CHANGELOG.md index 8f5f5c719..918a0ebd6 100644 --- a/apps/host-cloudflare/CHANGELOG.md +++ b/apps/host-cloudflare/CHANGELOG.md @@ -1,6 +1 @@ -# @executor-js/host-cloudflare changelog - -This file exists for `changesets/action@v1` compatibility (it reads every -workspace package's `CHANGELOG.md` to build the Version Packages PR). -Canonical user-facing release notes are at `apps/cli/release-notes/next.md` -and on the GitHub Releases page. +# @executor-js/host-cloudflare diff --git a/apps/host-selfhost/CHANGELOG.md b/apps/host-selfhost/CHANGELOG.md index 208ebc58c..79ea813ba 100644 --- a/apps/host-selfhost/CHANGELOG.md +++ b/apps/host-selfhost/CHANGELOG.md @@ -1,6 +1 @@ -# @executor-js/host-selfhost changelog - -This file exists for `changesets/action@v1` compatibility (it reads every -workspace package's `CHANGELOG.md` to build the Version Packages PR). -Canonical user-facing release notes are at `apps/cli/release-notes/next.md` -and on the GitHub Releases page. +# @executor-js/host-selfhost diff --git a/examples/all-plugins/CHANGELOG.md b/examples/all-plugins/CHANGELOG.md index 6792a00c2..f78cb7b0b 100644 --- a/examples/all-plugins/CHANGELOG.md +++ b/examples/all-plugins/CHANGELOG.md @@ -1,4 +1 @@ -# @executor-js/example-all-plugins changelog - -This file exists for Changesets release workflow compatibility. -Canonical user-facing release notes are published on GitHub Releases. +# @executor-js/example-all-plugins diff --git a/examples/docs-sdk-quickstart/CHANGELOG.md b/examples/docs-sdk-quickstart/CHANGELOG.md index 8b69ab6b6..8de4a8123 100644 --- a/examples/docs-sdk-quickstart/CHANGELOG.md +++ b/examples/docs-sdk-quickstart/CHANGELOG.md @@ -1,6 +1 @@ -# @executor-js/example-docs-sdk-quickstart changelog - -This file exists for `changesets/action@v1` compatibility (it reads every -workspace package's `CHANGELOG.md` to build the Version Packages PR). -Canonical user-facing release notes are at `apps/cli/release-notes/next.md` -and on the GitHub Releases page. +# @executor-js/example-docs-sdk-quickstart diff --git a/packages/app/CHANGELOG.md b/packages/app/CHANGELOG.md index 41837c6dc..af304ac8a 100644 --- a/packages/app/CHANGELOG.md +++ b/packages/app/CHANGELOG.md @@ -1,6 +1 @@ -# @executor-js/app changelog - -This file exists for `changesets/action@v1` compatibility (it reads every -workspace package's `CHANGELOG.md` to build the Version Packages PR). -Canonical user-facing release notes are at `apps/cli/release-notes/next.md` -and on the GitHub Releases page. +# @executor-js/app diff --git a/packages/core/api/CHANGELOG.md b/packages/core/api/CHANGELOG.md index bff41a602..884667335 100644 --- a/packages/core/api/CHANGELOG.md +++ b/packages/core/api/CHANGELOG.md @@ -1,4 +1 @@ -# @executor-js/api changelog - -This file exists for Changesets release workflow compatibility. -Canonical user-facing release notes are published on GitHub Releases. +# @executor-js/api diff --git a/packages/core/cli/CHANGELOG.md b/packages/core/cli/CHANGELOG.md index 28f48d909..f1e7eaa7b 100644 --- a/packages/core/cli/CHANGELOG.md +++ b/packages/core/cli/CHANGELOG.md @@ -1,4 +1 @@ -# @executor-js/cli changelog - -This file exists for Changesets release workflow compatibility. -Canonical user-facing release notes are published on GitHub Releases. +# @executor-js/cli diff --git a/packages/core/config/CHANGELOG.md b/packages/core/config/CHANGELOG.md index e9220d135..69baaad80 100644 --- a/packages/core/config/CHANGELOG.md +++ b/packages/core/config/CHANGELOG.md @@ -1,4 +1 @@ -# @executor-js/config changelog - -This file exists for Changesets release workflow compatibility. -Canonical user-facing release notes are published on GitHub Releases. +# @executor-js/config diff --git a/packages/core/execution/CHANGELOG.md b/packages/core/execution/CHANGELOG.md index b6e17ae43..a81f4807c 100644 --- a/packages/core/execution/CHANGELOG.md +++ b/packages/core/execution/CHANGELOG.md @@ -1,4 +1 @@ -# @executor-js/execution changelog - -This file exists for Changesets release workflow compatibility. -Canonical user-facing release notes are published on GitHub Releases. +# @executor-js/execution diff --git a/packages/core/integrations-registry/CHANGELOG.md b/packages/core/integrations-registry/CHANGELOG.md index a7da5e4d3..7c6662121 100644 --- a/packages/core/integrations-registry/CHANGELOG.md +++ b/packages/core/integrations-registry/CHANGELOG.md @@ -1,6 +1 @@ -# @executor-js/integrations-registry changelog - -This file exists for `changesets/action@v1` compatibility (it reads every -workspace package's `CHANGELOG.md` to build the Version Packages PR). -Canonical user-facing release notes are at `apps/cli/release-notes/next.md` -and on the GitHub Releases page. +# @executor-js/integrations-registry diff --git a/packages/core/sdk/CHANGELOG.md b/packages/core/sdk/CHANGELOG.md index 548ecf4ce..1067d7408 100644 --- a/packages/core/sdk/CHANGELOG.md +++ b/packages/core/sdk/CHANGELOG.md @@ -1,4 +1 @@ -# @executor-js/core changelog - -This file exists for Changesets release workflow compatibility. -Canonical user-facing release notes are published on GitHub Releases. +# @executor-js/sdk diff --git a/packages/core/test-servers/CHANGELOG.md b/packages/core/test-servers/CHANGELOG.md index 3f3bb2d31..33c741f68 100644 --- a/packages/core/test-servers/CHANGELOG.md +++ b/packages/core/test-servers/CHANGELOG.md @@ -1,4 +1 @@ -# @executor-js/test-servers changelog - -This file exists for Changesets release workflow compatibility. -Canonical user-facing release notes are published on GitHub Releases. +# @executor-js/test-servers diff --git a/packages/core/vite-plugin/CHANGELOG.md b/packages/core/vite-plugin/CHANGELOG.md index 1d1c52b96..b33f991a4 100644 --- a/packages/core/vite-plugin/CHANGELOG.md +++ b/packages/core/vite-plugin/CHANGELOG.md @@ -1,6 +1 @@ -# @executor-js/vite-plugin changelog - -This file exists for `changesets/action@v1` compatibility (it reads every -workspace package's `CHANGELOG.md` to build the Version Packages PR). -Canonical user-facing release notes are at `apps/cli/release-notes/next.md` -and on the GitHub Releases page. +# @executor-js/vite-plugin diff --git a/packages/hosts/cloudflare/CHANGELOG.md b/packages/hosts/cloudflare/CHANGELOG.md index f849bc011..9c1a84b23 100644 --- a/packages/hosts/cloudflare/CHANGELOG.md +++ b/packages/hosts/cloudflare/CHANGELOG.md @@ -1,6 +1 @@ -# @executor-js/cloudflare changelog - -This file exists for `changesets/action@v1` compatibility (it reads every -workspace package's `CHANGELOG.md` to build the Version Packages PR). -Canonical user-facing release notes are at `apps/cli/release-notes/next.md` -and on the GitHub Releases page. +# @executor-js/cloudflare diff --git a/packages/hosts/mcp/CHANGELOG.md b/packages/hosts/mcp/CHANGELOG.md index c0bf45f47..5b08128ac 100644 --- a/packages/hosts/mcp/CHANGELOG.md +++ b/packages/hosts/mcp/CHANGELOG.md @@ -1,4 +1 @@ -# @executor-js/host-mcp changelog - -This file exists for Changesets release workflow compatibility. -Canonical user-facing release notes are published on GitHub Releases. +# @executor-js/host-mcp diff --git a/packages/kernel/core/CHANGELOG.md b/packages/kernel/core/CHANGELOG.md index e81997c62..65c414f79 100644 --- a/packages/kernel/core/CHANGELOG.md +++ b/packages/kernel/core/CHANGELOG.md @@ -1,4 +1 @@ -# @executor-js/codemode-core changelog - -This file exists for Changesets release workflow compatibility. -Canonical user-facing release notes are published on GitHub Releases. +# @executor-js/codemode-core diff --git a/packages/kernel/ir/CHANGELOG.md b/packages/kernel/ir/CHANGELOG.md index df1455a40..35b99f4db 100644 --- a/packages/kernel/ir/CHANGELOG.md +++ b/packages/kernel/ir/CHANGELOG.md @@ -1,4 +1 @@ -# @executor-js/ir changelog - -This file exists for Changesets release workflow compatibility. -Canonical user-facing release notes are published on GitHub Releases. +# @executor-js/ir diff --git a/packages/kernel/runtime-deno-subprocess/CHANGELOG.md b/packages/kernel/runtime-deno-subprocess/CHANGELOG.md index d589ca4d1..a738df507 100644 --- a/packages/kernel/runtime-deno-subprocess/CHANGELOG.md +++ b/packages/kernel/runtime-deno-subprocess/CHANGELOG.md @@ -1,4 +1 @@ -# @executor-js/runtime-deno-subprocess changelog - -This file exists for Changesets release workflow compatibility. -Canonical user-facing release notes are published on GitHub Releases. +# @executor-js/runtime-deno-subprocess diff --git a/packages/kernel/runtime-quickjs/CHANGELOG.md b/packages/kernel/runtime-quickjs/CHANGELOG.md index f7ecb240d..b40d03d2e 100644 --- a/packages/kernel/runtime-quickjs/CHANGELOG.md +++ b/packages/kernel/runtime-quickjs/CHANGELOG.md @@ -1,4 +1 @@ -# @executor-js/runtime-quickjs changelog - -This file exists for Changesets release workflow compatibility. -Canonical user-facing release notes are published on GitHub Releases. +# @executor-js/runtime-quickjs diff --git a/packages/plugins/desktop-settings/CHANGELOG.md b/packages/plugins/desktop-settings/CHANGELOG.md index 03e885f5f..12d0998ac 100644 --- a/packages/plugins/desktop-settings/CHANGELOG.md +++ b/packages/plugins/desktop-settings/CHANGELOG.md @@ -1,6 +1 @@ -# @executor-js/plugin-desktop-settings changelog - -This file exists for `changesets/action@v1` compatibility (it reads every -workspace package's `CHANGELOG.md` to build the Version Packages PR). -Canonical user-facing release notes are at `apps/cli/release-notes/next.md` -and on the GitHub Releases page. +# @executor-js/plugin-desktop-settings diff --git a/packages/plugins/encrypted-secrets/CHANGELOG.md b/packages/plugins/encrypted-secrets/CHANGELOG.md index 850a61fb1..e9abb8333 100644 --- a/packages/plugins/encrypted-secrets/CHANGELOG.md +++ b/packages/plugins/encrypted-secrets/CHANGELOG.md @@ -1,6 +1 @@ -# @executor-js/plugin-encrypted-secrets changelog - -This file exists for `changesets/action@v1` compatibility (it reads every -workspace package's `CHANGELOG.md` to build the Version Packages PR). -Canonical user-facing release notes are at `apps/cli/release-notes/next.md` -and on the GitHub Releases page. +# @executor-js/plugin-encrypted-secrets diff --git a/packages/plugins/example/CHANGELOG.md b/packages/plugins/example/CHANGELOG.md index 99cf0faf5..9343f9d46 100644 --- a/packages/plugins/example/CHANGELOG.md +++ b/packages/plugins/example/CHANGELOG.md @@ -1,6 +1 @@ -# @executor-js/plugin-example changelog - -This file exists for `changesets/action@v1` compatibility (it reads every -workspace package's `CHANGELOG.md` to build the Version Packages PR). -Canonical user-facing release notes are at `apps/cli/release-notes/next.md` -and on the GitHub Releases page. +# @executor-js/plugin-example diff --git a/packages/plugins/file-secrets/CHANGELOG.md b/packages/plugins/file-secrets/CHANGELOG.md index a9fa7ce78..cde33ce7a 100644 --- a/packages/plugins/file-secrets/CHANGELOG.md +++ b/packages/plugins/file-secrets/CHANGELOG.md @@ -1,4 +1 @@ -# @executor-js/plugin-file-secrets changelog - -This file exists for Changesets release workflow compatibility. -Canonical user-facing release notes are published on GitHub Releases. +# @executor-js/plugin-file-secrets diff --git a/packages/plugins/graphql-greenfield/CHANGELOG.md b/packages/plugins/graphql-greenfield/CHANGELOG.md index 2bb6ddc43..f06edf4ee 100644 --- a/packages/plugins/graphql-greenfield/CHANGELOG.md +++ b/packages/plugins/graphql-greenfield/CHANGELOG.md @@ -1,6 +1 @@ -# @executor-js/plugin-graphql-greenfield changelog - -This file exists for `changesets/action@v1` compatibility (it reads every -workspace package's `CHANGELOG.md` to build the Version Packages PR). -Canonical user-facing release notes are at `apps/cli/release-notes/next.md` -and on the GitHub Releases page. +# @executor-js/plugin-graphql-greenfield diff --git a/packages/plugins/graphql/CHANGELOG.md b/packages/plugins/graphql/CHANGELOG.md index 641a6d9f3..f1d6b9385 100644 --- a/packages/plugins/graphql/CHANGELOG.md +++ b/packages/plugins/graphql/CHANGELOG.md @@ -1,4 +1 @@ -# @executor-js/plugin-graphql changelog - -This file exists for Changesets release workflow compatibility. -Canonical user-facing release notes are published on GitHub Releases. +# @executor-js/plugin-graphql diff --git a/packages/plugins/http-source/CHANGELOG.md b/packages/plugins/http-source/CHANGELOG.md index 1b7e0764a..c8b3129c5 100644 --- a/packages/plugins/http-source/CHANGELOG.md +++ b/packages/plugins/http-source/CHANGELOG.md @@ -1,6 +1 @@ -# @executor-js/plugin-http-source changelog - -This file exists for `changesets/action@v1` compatibility (it reads every -workspace package's `CHANGELOG.md` to build the Version Packages PR). -Canonical user-facing release notes are at `apps/cli/release-notes/next.md` -and on the GitHub Releases page. +# @executor-js/plugin-http-source diff --git a/packages/plugins/keychain/CHANGELOG.md b/packages/plugins/keychain/CHANGELOG.md index 9c169faca..41de2303c 100644 --- a/packages/plugins/keychain/CHANGELOG.md +++ b/packages/plugins/keychain/CHANGELOG.md @@ -1,4 +1 @@ -# @executor-js/plugin-keychain changelog - -This file exists for Changesets release workflow compatibility. -Canonical user-facing release notes are published on GitHub Releases. +# @executor-js/plugin-keychain diff --git a/packages/plugins/mcp/CHANGELOG.md b/packages/plugins/mcp/CHANGELOG.md index 8b45244fd..44b5e4ce0 100644 --- a/packages/plugins/mcp/CHANGELOG.md +++ b/packages/plugins/mcp/CHANGELOG.md @@ -1,4 +1 @@ -# @executor-js/plugin-mcp changelog - -This file exists for Changesets release workflow compatibility. -Canonical user-facing release notes are published on GitHub Releases. +# @executor-js/plugin-mcp diff --git a/packages/plugins/onepassword/CHANGELOG.md b/packages/plugins/onepassword/CHANGELOG.md index 3892f4565..20ab69aa7 100644 --- a/packages/plugins/onepassword/CHANGELOG.md +++ b/packages/plugins/onepassword/CHANGELOG.md @@ -1,4 +1 @@ -# @executor-js/plugin-onepassword changelog - -This file exists for Changesets release workflow compatibility. -Canonical user-facing release notes are published on GitHub Releases. +# @executor-js/plugin-onepassword diff --git a/packages/plugins/openapi/CHANGELOG.md b/packages/plugins/openapi/CHANGELOG.md index a1bb1db99..f508bb07f 100644 --- a/packages/plugins/openapi/CHANGELOG.md +++ b/packages/plugins/openapi/CHANGELOG.md @@ -1,4 +1 @@ -# @executor-js/plugin-openapi changelog - -This file exists for Changesets release workflow compatibility. -Canonical user-facing release notes are published on GitHub Releases. +# @executor-js/plugin-openapi diff --git a/scripts/check-changelog-stubs.ts b/scripts/check-changelog-stubs.ts index eb6d3a412..98dbee22f 100644 --- a/scripts/check-changelog-stubs.ts +++ b/scripts/check-changelog-stubs.ts @@ -3,15 +3,16 @@ * Verifies every workspace package directory has a `CHANGELOG.md` file. * * `changesets/action@v1` (the GitHub Action wrapping the Changesets CLI in - * `release.yml`) reads every workspace package's `CHANGELOG.md` to build - * the Version Packages PR description. If any is missing, the action - * crashes with `ENOENT` at release time and blocks the release. + * `release.yml`) creates the Version Packages PR after `changeset version` + * updates package versions and changelogs. Every workspace package should have + * a `CHANGELOG.md` seed so Changesets has a stable file to update and the + * action never falls back to missing-file behavior. Keep seed files H1-only: + * Changesets inserts generated version sections immediately after the H1, so + * any placeholder prose would become part of the first generated release notes. * - * The CLI alone (with `changelog: false` in `.changeset/config.json`) - * doesn't need them — but we run via the Action, which does. - * - * The stubs themselves are not user-facing. Canonical release notes are - * at `apps/cli/release-notes/next.md` and on the GitHub Releases page. + * GitHub Release notes are still authored separately at + * `apps/cli/release-notes/next.md`; package changelogs are generated from + * `.changeset/*.md`. * * Usage: * bun run scripts/check-changelog-stubs.ts # fail on missing @@ -39,12 +40,7 @@ const findWorkspacePackages = (): string[] => { return [...dirs].sort(); }; -const STUB_TEMPLATE = (name: string) => - `# ${name} changelog\n\n` + - "This file exists for `changesets/action@v1` compatibility (it reads every\n" + - "workspace package's `CHANGELOG.md` to build the Version Packages PR).\n" + - "Canonical user-facing release notes are at `apps/cli/release-notes/next.md`\n" + - "and on the GitHub Releases page.\n"; +const STUB_TEMPLATE = (name: string) => `# ${name}\n`; const fix = process.argv.includes("--fix"); const missing: string[] = []; @@ -67,9 +63,8 @@ for (const pkgDir of findWorkspacePackages()) { if (!fix && missing.length > 0) { console.error( `\nMissing CHANGELOG.md in ${missing.length} workspace package(s):\n - ${missing.join("\n - ")}\n\n` + - "These are required by `changesets/action@v1` (the GitHub Action wrapping\n" + - "Changesets in release.yml). Without them, release.yml crashes with ENOENT\n" + - "and the Version Packages PR can't open.\n\n" + + "These seed files are required so Changesets can update every affected\n" + + "workspace changelog during the Version Packages PR.\n\n" + "Run `bun run scripts/check-changelog-stubs.ts --fix` to create stubs.\n", ); process.exit(1);