Skip to content

fix(npm): promote stable publishes to the latest dist-tag#6039

Merged
SivanCola merged 1 commit into
esengine:main-v2from
SivanCola:fix/npm-dist-tag-stable-promotion
Jul 6, 2026
Merged

fix(npm): promote stable publishes to the latest dist-tag#6039
SivanCola merged 1 commit into
esengine:main-v2from
SivanCola:fix/npm-dist-tag-stable-promotion

Conversation

@SivanCola

Copy link
Copy Markdown
Collaborator

Problem

latest on npm is still pinned at 0.53.2 while every 1.x release ships under next/canary:

latest  →  0.53.2
canary  →  1.8.0-canary.9
next    →  1.17.1-rc.1

Because npm update -g / pnpm update -g resolve the latest tag, every global update silently downgrades 1.x users to a months-old, different-architecture version (#5822). The documented escape hatch — a manual npm dist-tag add — has never been run; manual steps get forgotten.

Changes

Verified the tag mapping: 1.17.1→latest, 1.18.0-rc.1→next, 1.18.0-canary.5→canary.

Remaining ops

The backlog needs one of: push npm-v1.17.1 to publish the current stable (the final was never published to npm — only rc.1), or a one-off npm dist-tag add reasonix@<current stable> latest. After that, this workflow keeps latest honest on every future stable. Consider also npm deprecate reasonix@"<1.0.0" so remaining 0.x users get a heads-up.

Refs #5822

The "0.x stable owns latest" rule was a migration guard from when the 1.x
Go line was rc-only. Once 1.x went stable the guard inverted into a trap:
latest stayed pinned at 0.53.2, so pnpm update -g / npm update -g silently
downgraded every 1.x user back to the retired line, and the documented
manual promotion (npm dist-tag add) never happened (esengine#5822).

Stable versions now always publish under latest; rc/beta stay on next and
canary stays on canary. A post-publish verify step polls the registry and
fails the release if the tag did not land — the guard esengine#5822 lacked.
@SivanCola SivanCola requested a review from esengine as a code owner July 5, 2026 20:26
@github-actions github-actions Bot added v2 Go rewrite (1.x) — main-v2 branch, active development updater Auto-update / installer / release packaging labels Jul 5, 2026
@SivanCola SivanCola merged commit e155699 into esengine:main-v2 Jul 6, 2026
15 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

updater Auto-update / installer / release packaging v2 Go rewrite (1.x) — main-v2 branch, active development

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant