Skip to content

Conversation

@kfenner
Copy link
Member

@kfenner kfenner commented Sep 5, 2025

This PR addresses 4 points:

  • v48 releases are marked as pre-release in GitHub and miss the latest tag on npmjs.com
  • v47.x maintenance releases should have the range property set to ensure no accidential releaes of a major version happens form a maintenance branch
  • we're currently releasing our RCs as .next-X versions, which is OK, but RC is more specific and so we should use RC also here.
  • the release pipeline for v48.0.1 failed because it tried to publish dashboards-demo, so removing that here.

AI summary for the first 3 fixes about the branches config:
The issue you're describing—where a release from the main branch unexpectedly gets treated as a prerelease—is most likely caused by the order of branches in your configuration array. Semantic-release processes the branches in the specified order, and this order is critical because versions released from each subsequent branch must be higher than those from the previous one to avoid conflicts (e.g., duplicate versions across branches). Prerelease branches like next are intended for future or experimental versions and should come after stable branches like main (and after maintenance branches). Placing next before main disrupts this versioning logic, which can result in miscalculated release types, including inadvertently applying prerelease identifiers to stable releases or triggering internal errors that manifest as prerelease behavior.

Additionally, your maintenance branch config omits the range property, which is optional but recommended to enforce version boundaries (e.g., only allowing patches/minors within 1.x on release/1.x). Without it, there's no restriction, which could contribute to versioning inconsistencies if combined with the order issue.

Here's the fixed configuration, with the branches reordered correctly (maintenance → stable → prerelease), range added back for maintenance branches, prerelease set to a string identifier ("rc") instead of true (to avoid defaulting to the branch name "next" as the identifier, which is less conventional for RCs), and channel preserved or added where appropriate for npm dist-tags:

This addresses most points in #673


@kfenner kfenner requested a review from a team as a code owner September 5, 2025 15:16
@kfenner
Copy link
Member Author

kfenner commented Sep 5, 2025

Btw, we'll need to backmerge this to the release/47.x branch, I guess 👍

@github-actions
Copy link

github-actions bot commented Sep 5, 2025

Copy link
Member

@chintankavathia chintankavathia left a comment

Choose a reason for hiding this comment

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

LGTM 👍

@kfenner kfenner requested a review from Killusions September 9, 2025 10:44
Copy link
Member

@timowolf timowolf left a comment

Choose a reason for hiding this comment

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

LGTM

@timowolf timowolf force-pushed the chore/semantic-release-branches-config branch from 3da0b76 to 7c23b58 Compare September 9, 2025 11:34
@timowolf timowolf enabled auto-merge (rebase) September 9, 2025 11:36
@timowolf timowolf merged commit 6faeb33 into main Sep 9, 2025
9 checks passed
@timowolf timowolf deleted the chore/semantic-release-branches-config branch September 9, 2025 11:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants