Skip to content

ci: publish prereleases from main on the alpha channel - #23

Merged
dogmar merged 1 commit into
mainfrom
claude/gallant-yalow-5766c1
Jun 16, 2026
Merged

ci: publish prereleases from main on the alpha channel#23
dogmar merged 1 commit into
mainfrom
claude/gallant-yalow-5766c1

Conversation

@dogmar

@dogmar dogmar commented Jun 15, 2026

Copy link
Copy Markdown
Collaborator

What

Switches the publish strategy so this pre-stable package stops shipping to the npm latest channel and instead publishes alpha prereleases by default, building up to a real first stable release of 3.0.0.

Changes

  • release.config.mjsbranches: ["release/stable", { name: "main", prerelease: "alpha" }].
    • main now publishes X.Y.Z-alpha.N to the npm alpha dist-tag.
    • release/stable is an inert placeholder branch: semantic-release rejects a prerelease-only config (ERELEASEBRANCHES), so a stable release branch must exist. It's folder-prefixed to satisfy the Enforce branch folders repo ruleset and is created at v2.0.3. No release commits go to it until the 3.0.0 cutover.
  • CLAUDE.md (new) — durable marker documenting the alpha-by-default policy and the 3.0.0 cutover procedure for agents/contributors.

Versioning

  • v2.0.3 is at HEAD with no new commits, so no release fires from merging this PR (it's a ci: commit). The first alpha publishes on the next version-bumping commit on main.
  • To land on 3.0.0-alpha.1 (and ultimately 3.0.0), that range must include a breaking change (feat!: / BREAKING CHANGE:). A plain feat: would produce a 2.x alpha line instead.

Out of band (manual, needs npm auth)

  • Deprecate 0.0.0 and 2.0.02.0.3 on npm. No unpublish; latest stays on the (deprecated) 2.0.3 until the 3.0.0 cutover.

🤖 Generated with Claude Code

Switch semantic-release so `main` publishes prereleases (X.Y.Z-alpha.N) to the
npm `alpha` dist-tag instead of stable releases to `latest`. The first stable
release will be 3.0.0 — the next major above the prematurely published,
now-deprecated 2.x.

- release.config.mjs: branches = ["stable", { name: "main", prerelease:
  "alpha" }]. `stable` is an inert placeholder required by semantic-release
  (it rejects a prerelease-only config); no release commits go to it until the
  3.0.0 cutover.
- CLAUDE.md: document the alpha-by-default policy and the 3.0.0 cutover steps.

The 0.0.0 and 2.0.x versions are deprecated on npm separately (manual, requires
npm auth). `latest` stays on 2.0.3 until the 3.0.0 cutover.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@dogmar
dogmar force-pushed the claude/gallant-yalow-5766c1 branch from 30de647 to 3b36d6f Compare June 15, 2026 20:19
@netlify

netlify Bot commented Jun 15, 2026

Copy link
Copy Markdown

Deploy Preview for colander-cal canceled.

Name Link
🔨 Latest commit 3b36d6f
🔍 Latest deploy log https://app.netlify.com/projects/colander-cal/deploys/6a305e5d4398d1000805d812

@dogmar
dogmar merged commit 6b3fb3e into main Jun 16, 2026
7 checks passed
@dogmar
dogmar deleted the claude/gallant-yalow-5766c1 branch June 16, 2026 00:04
@github-actions

Copy link
Copy Markdown
Contributor

🎉 This PR is included in version 3.0.1-alpha.1 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant