You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
finding(release): no GitHub release or git tag has been created since 17.5.0 — Changesets CLI v3 stopped printing the New tag: lines changesets/action@v1 parses, so 17.6.0 and 17.7.0 reached npm with no tag and no release #11596
The GitHub Releases page for this repository stops at the 17.5.0 set, created on 2026-08-14. Both later versions are on npm:
version
npm
git tag @object-ui/core@…
GitHub releases
17.5.0
2026-08-14
✅
✅ one per package
17.6.0
2026-08-24
❌
❌
17.7.0
2026-10-04 03:55Z
❌
❌
The 17.7.0 publish run (37175007951) reports success in every step, including "Verify the release reached npm". All 39 published packages serve 17.7.0.
Why
changeset-release.yml publishes through changesets/action@v1 (publish: pnpm changeset:publish). v1 learns what was published by parsing the publish script's stdout for New tag: <pkg>@<version> lines. Only for the packages it finds does it push the tag (git.pushTag) and create the GitHub release.
objectui#5296 moved the repository to @changesets/cli v3 between the two releases. At the 17.5.0 tag, package.json declares ^2.31.1. At the 17.6.0 release commit 59f61cfb it declares ^3.0.0, and the lockfile resolves 3.0.1.
CLI v3's changeset publish prints through @clack/prompts and reports published packages through an output report (CHANGESETS_OUTPUT). Its dist contains no New tag string: 0 occurrences in @changesets/cli@3.0.1/dist.
v1 therefore sees zero published packages, pushes no tag and creates no release. Nothing fails: the npm verification step checks npm only. The workflow's own header notes this risk for v2 (feat: persist ViewConfigPanel draft to backend via DataSource.updateViewConfig #678: tags and releases "fail QUIETLY"). The CLI v3 bump triggered it under v1.
How objectstack does it (port this)
../objectstack uses the same CLI v3 and still gets releases (17.6.0 has them):
scripts/release-publish.sh runs changeset publish (which creates the tags locally), then ONE atomic git push origin --tags. objectstack#2191 explains why this is atomic: per-tag pushes raced GitHub's ref backend.
.github/workflows/release.yml step "Create GitHub Releases (bodies truncated to the API limit)" runs node scripts/release-github-releases.mjs with RELEASE_VERSION. The script creates one release per public package from its CHANGELOG entry. It is idempotent, and it truncates bodies to the API limit with a self-test battery.
Fix
In the publish lane, after changesets/action@v1 publishes, push the tags changeset publish created on the runner and create one GitHub release per published package for the version the lane published (needs.lane.outputs.manifest_version). Port release-github-releases.mjs and its self-tests, adapted to this workspace's package enumeration, rather than re-deriving it. The step must run only on the publish lane (push with the version not on npm before), never on schedule / workflow_dispatch.
Keep changesets/action@v1. The pin's reasoning in the workflow header is unchanged. Do not set createGithubReleases: false unless the new step fully replaces it.
Backfill, after the fix lands: put each tag on the commit its version was published from, which is not always the version commit, and create releases for both versions with the ported script.
17.6.0: published by run 32739909630 from b65fe911de. Its "Publish to npm" step ran 14:41:58–14:45:08Z on 2026-08-24. The version commit 59f61cfb (chore: release packages #4655) merged on 08-20, but objectui#5442's npm-keyed retry published 17.6.0 four days later from that later head.
What is missing
The GitHub Releases page for this repository stops at the 17.5.0 set, created on 2026-08-14. Both later versions are on npm:
@object-ui/core@…The 17.7.0 publish run (37175007951) reports success in every step, including "Verify the release reached npm". All 39 published packages serve 17.7.0.
Why
changeset-release.ymlpublishes throughchangesets/action@v1(publish: pnpm changeset:publish). v1 learns what was published by parsing the publish script's stdout forNew tag: <pkg>@<version>lines. Only for the packages it finds does it push the tag (git.pushTag) and create the GitHub release.@changesets/cliv3 between the two releases. At the 17.5.0 tag,package.jsondeclares^2.31.1. At the 17.6.0 release commit59f61cfbit declares^3.0.0, and the lockfile resolves3.0.1.changeset publishprints through@clack/promptsand reports published packages through an output report (CHANGESETS_OUTPUT). Its dist contains noNew tagstring: 0 occurrences in@changesets/cli@3.0.1/dist.How objectstack does it (port this)
../objectstackuses the same CLI v3 and still gets releases (17.6.0 has them):scripts/release-publish.shrunschangeset publish(which creates the tags locally), then ONE atomicgit push origin --tags. objectstack#2191 explains why this is atomic: per-tag pushes raced GitHub's ref backend..github/workflows/release.ymlstep "Create GitHub Releases (bodies truncated to the API limit)" runsnode scripts/release-github-releases.mjswithRELEASE_VERSION. The script creates one release per public package from its CHANGELOG entry. It is idempotent, and it truncates bodies to the API limit with a self-test battery.Fix
changesets/action@v1publishes, push the tagschangeset publishcreated on the runner and create one GitHub release per published package for the version the lane published (needs.lane.outputs.manifest_version). Portrelease-github-releases.mjsand its self-tests, adapted to this workspace's package enumeration, rather than re-deriving it. The step must run only on the publish lane (pushwith the version not on npm before), never onschedule/workflow_dispatch.changesets/action@v1. The pin's reasoning in the workflow header is unchanged. Do not setcreateGithubReleases: falseunless the new step fully replaces it.b65fe911de. Its "Publish to npm" step ran 14:41:58–14:45:08Z on 2026-08-24. The version commit59f61cfb(chore: release packages #4655) merged on 08-20, but objectui#5442's npm-keyed retry published 17.6.0 four days later from that later head.b493919c, the chore: release packages #5400 merge.Generated by Claude Code