Skip to content

fix(deps): pin the conventionalcommits preset to the line semantic-release supports - #616

Merged
therealbrad merged 1 commit into
mainfrom
fix/semantic-release-preset
Sep 8, 2026
Merged

fix(deps): pin the conventionalcommits preset to the line semantic-release supports#616
therealbrad merged 1 commit into
mainfrom
fix/semantic-release-preset

Conversation

@therealbrad

Copy link
Copy Markdown
Contributor

Description

The first app release attempt after the 1.0 graduation (run 34182722798) computed 1.0.1 correctly and then died in generateNotes:

Missing helper: "conventional-changelog-conventionalcommits requires
conventional-changelog-writer@9 or newer"

semantic-release@25.0.9 bundles @semantic-release/release-notes-generator@14.1.1, which depends on conventional-changelog-writer: ^8.0.0. The preset was pinned at ^10.4.0, and the 10.x line pulls @conventional-changelog/template and requires writer 9. The two could never agree, so no app release could be cut at all.

The 9.x line declares no writer constraint (compare-func is its only dependency) and is the line that pairs with release-notes-generator@14. Pinned to ^9.3.1.

Related Issue

Blocks all app releases after v1.0.0.

Type of Change

  • Bug fix (non-breaking change that fixes an issue)

How Has This Been Tested?

  • Manual testing

semantic-release --dry-run --no-ci now runs to completion:

✔  Completed step "generateNotes" of plugin "@semantic-release/release-notes-generator"
exit=0, 0 error lines

Previously the same command aborted at that step with the handlebars error above.

The lockfile delta is limited to the preset swap and dropping the @conventional-changelog/template transitive that carried the writer-9 requirement. The package is a devDependency used only by the release pipeline, so no application code path is affected.

Checklist

  • My code follows the project's style guidelines
  • I have performed a self-review of my code
  • My changes generate no new warnings

Additional Notes

Merging this will cut v1.0.1. fix(deps) is configured release: false, but the fix(helm) commit from #615 is already sitting on main unreleased and is a patch-level change — so once the pipeline works, semantic-release will publish v1.0.1 containing the chart version bump. That is the intended outcome and doubles as end-to-end proof the fix holds.

This mismatch arrived with the beta tree: the semantic-release plugin majors were taken on beta (beta.10) and flagged at the time as unproven until the next main release. This was that release.

…lease supports

The first app release attempt after the 1.0 graduation died in
generateNotes:

  Missing helper: "conventional-changelog-conventionalcommits requires
  conventional-changelog-writer@9 or newer"

semantic-release 25 bundles @semantic-release/release-notes-generator
14.1.1, which depends on conventional-changelog-writer ^8. The preset was
at ^10.4.0, and the 10.x line pulls @conventional-changelog/template and
requires writer 9 — so the preset and the generator could never agree. The
9.x line has no writer constraint at all and is the one that pairs with
release-notes-generator 14.

Verified with `semantic-release --dry-run`: generateNotes now completes
and the run exits 0, where it previously aborted.
@therealbrad
therealbrad merged commit ab158e3 into main Sep 8, 2026
5 checks passed
@therealbrad
therealbrad deleted the fix/semantic-release-preset branch September 8, 2026 04:30
@therealbrad

Copy link
Copy Markdown
Contributor Author

🎉 This PR is included in version 1.0.1 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

therealbrad added a commit that referenced this pull request Sep 8, 2026
#616 pinned conventional-changelog-conventionalcommits to ^9.3.1 to unbreak
the release pipeline, and Dependabot immediately proposed ^10.4.0 again in
the next dev-dependencies group (#620). Merging that would restore the
exact failure #616 fixed: the 10.x line requires
conventional-changelog-writer@9, semantic-release 25 bundles a generator
depending on writer ^8, and generateNotes dies before any release is cut.

The hold was missing from the batch added in #617 — an oversight, since
#616 had pinned it minutes earlier.
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.

1 participant