merge-when's first release body linked to compare/undefined...v1.0.0 because a first release has no previous tag. The same plugin was fixed in merge-when and merge-when-green. This repository carries a copy of the plugin; check whether it breaks on a first release and apply the same fix if it does.
Deferred because it only matters when a first release is cut here. Revisit trigger: the next first release of a new package in this repository, or a quick read of the plugin to confirm.
Triage summary
Checked CHANGELOG.md against the actual first release this repository already cut: ## 1.0.0 (2026-09-03) (CHANGELOG.md:274) renders as a plain version string, not [1.0.0](.../compare/undefined...v1.0.0). This is the repository's own real first release, not a simulation, so it is direct evidence the headerPartial in release.config.ts (lines 49-70) already falls back to the plain-version branch ({{~else}} {{~version}} {{~/if~}}) rather than emitting a broken compare link when there is no previous tag, at least as the trigger condition actually occurred here.
I could not verify the underlying mechanism (whether @root.linkCompare is set by @semantic-release/release-notes-generator/conventional-changelog-writer itself based on previousTag presence, or by something else in this config) because node_modules isn't installed in this environment, so I can't read the installed package source. The repository's own git history is also unavailable here (shallow clone, single commit), so I can't confirm whether this headerPartial was already changed since 1.0.0 was cut.
No action needed unless a future first release (of a genuinely new package/tag sequence in this repo) reproduces the "undefined" link — this run found no evidence that it currently does.
merge-when's first release body linked to compare/undefined...v1.0.0 because a first release has no previous tag. The same plugin was fixed in merge-when and merge-when-green. This repository carries a copy of the plugin; check whether it breaks on a first release and apply the same fix if it does.
Deferred because it only matters when a first release is cut here. Revisit trigger: the next first release of a new package in this repository, or a quick read of the plugin to confirm.
Triage summary
Checked
CHANGELOG.mdagainst the actual first release this repository already cut:## 1.0.0 (2026-09-03)(CHANGELOG.md:274) renders as a plain version string, not[1.0.0](.../compare/undefined...v1.0.0). This is the repository's own real first release, not a simulation, so it is direct evidence theheaderPartialinrelease.config.ts(lines 49-70) already falls back to the plain-version branch ({{~else}} {{~version}} {{~/if~}}) rather than emitting a broken compare link when there is no previous tag, at least as the trigger condition actually occurred here.I could not verify the underlying mechanism (whether
@root.linkCompareis set by@semantic-release/release-notes-generator/conventional-changelog-writeritself based onpreviousTagpresence, or by something else in this config) becausenode_modulesisn't installed in this environment, so I can't read the installed package source. The repository's own git history is also unavailable here (shallow clone, single commit), so I can't confirm whether thisheaderPartialwas already changed since 1.0.0 was cut.No action needed unless a future first release (of a genuinely new package/tag sequence in this repo) reproduces the "undefined" link — this run found no evidence that it currently does.