semantic-release / semantic-release/release-notes-generator
generateNotes step failing with conventional-changelog-conventionalcommits error
A pull request for this has already been merged.
- #1026 by @babblebey — merged
- Dominant language
- JavaScript
- Stars
- 368
- Forks
- 55
- Avg merge
- 10m
- Merged PRs (30d)
- 1
Description
I've encountered an issue while running semantic-release where the generateNotes step fails. It looks like it is complaining about some conventional-changelog-writer version being out of date. I've pasted what I think are the relevant log sections from our CI/CD below.
logs
$ npm install --global semantic-release @semantic-release/gitlab @semantic-release/git @semantic-release/changelog @semantic-release/exec conventional-changelog-conventionalcommits
added 448 packages in 15s
115 packages are looking for funding
run `npm fund` for details
$ npm --version
11.17.0
$ semantic-release --version
25.0.9
$ semantic-release
[3:53:24 AM] [semantic-release] › ℹ Running semantic-release version 25.0.9
[3:53:25 AM] [semantic-release] › ✔ Loaded plugin "verifyConditions" from "@semantic-release/changelog"
[3:53:25 AM] [semantic-release] › ✔ Loaded plugin "verifyConditions" from "@semantic-release/exec"
[3:53:25 AM] [semantic-release] › ✔ Loaded plugin "verifyConditions" from "@semantic-release/git"
[3:53:25 AM] [semantic-release] › ✔ Loaded plugin "verifyConditions" from "@semantic-release/gitlab"
[3:53:25 AM] [semantic-release] › ✔ Loaded plugin "analyzeCommits" from "@semantic-release/commit-analyzer"
[3:53:25 AM] [semantic-release] › ✔ Loaded plugin "analyzeCommits" from "@semantic-release/exec"
[3:53:25 AM] [semantic-release] › ✔ Loaded plugin "verifyRelease" from "@semantic-release/exec"
[3:53:25 AM] [semantic-release] › ✔ Loaded plugin "generateNotes" from "@semantic-release/release-notes-generator"
[3:53:25 AM] [semantic-release] › ✔ Loaded plugin "generateNotes" from "@semantic-release/exec"
[3:53:25 AM] [semantic-release] › ✔ Loaded plugin "prepare" from "@semantic-release/changelog"
[3:53:25 AM] [semantic-release] › ✔ Loaded plugin "prepare" from "@semantic-release/exec"
[3:53:25 AM] [semantic-release] › ✔ Loaded plugin "prepare" from "@semantic-release/git"
[3:53:25 AM] [semantic-release] › ✔ Loaded plugin "publish" from "@semantic-release/exec"
[3:53:25 AM] [semantic-release] › ✔ Loaded plugin "publish" from "@semantic-release/gitlab"
[3:53:25 AM] [semantic-release] › ✔ Loaded plugin "addChannel" from "@semantic-release/exec"
[3:53:25 AM] [semantic-release] › ✔ Loaded plugin "success" from "@semantic-release/exec"
[3:53:25 AM] [semantic-release] › ✔ Loaded plugin "success" from "@semantic-release/gitlab"
[3:53:25 AM] [semantic-release] › ✔ Loaded plugin "fail" from "@semantic-release/exec"
[3:53:25 AM] [semantic-release] › ✔ Loaded plugin "fail" from "@semantic-release/gitlab"
[3:53:31 AM] [semantic-release] › ✔ Run automated release from branch master on repository [https://gitlab-ci-token:[secure]@gitlab.com/munipal/alarm-tracking-services/event-hub.git](https://gitlab-ci-token:%5Bsecure%5D@gitlab.com/munipal/alarm-tracking-services/event-hub.git)
[3:53:31 AM] [semantic-release] › ✔ Allowed to push to the Git repository
[3:53:31 AM] [semantic-release] › ℹ Start step "verifyConditions" of plugin "@semantic-release/changelog"
[3:53:31 AM] [semantic-release] › ✔ Completed step "verifyConditions" of plugin "@semantic-release/changelog"
[3:53:31 AM] [semantic-release] › ℹ Start step "verifyConditions" of plugin "@semantic-release/exec"
[3:53:31 AM] [semantic-release] › ✔ Completed step "verifyConditions" of plugin "@semantic-release/exec"
[3:53:31 AM] [semantic-release] › ℹ Start step "verifyConditions" of plugin "@semantic-release/git"
[3:53:31 AM] [semantic-release] › ✔ Completed step "verifyConditions" of plugin "@semantic-release/git"
[3:53:31 AM] [semantic-release] › ℹ Start step "verifyConditions" of plugin "@semantic-release/gitlab"
[3:53:31 AM] [semantic-release] [@semantic-release/gitlab] › ℹ Verify GitLab authentication (https://gitlab.com/api/v4)
[3:53:31 AM] [semantic-release] › ✔ Completed step "verifyConditions" of plugin "@semantic-release/gitlab"
[3:53:31 AM] [semantic-release] › ℹ Found git tag v1.3.92 associated with version 1.3.92 on branch master
[3:53:31 AM] [semantic-release] › ℹ Found 1 commits since last release
[3:53:31 AM] [semantic-release] › ℹ Start step "analyzeCommits" of plugin "@semantic-release/commit-analyzer"
[3:53:31 AM] [semantic-release] [@semantic-release/commit-analyzer] › ℹ Analyzing commit: feat: add address events
This adds the address events to the list to be processed and sent to
the external event bus.
[3:53:31 AM] [semantic-release] [@semantic-release/commit-analyzer] › ℹ The release type for the commit is minor
[3:53:31 AM] [semantic-release] [@semantic-release/commit-analyzer] › ℹ Analysis of 1 commits complete: minor release
[3:53:31 AM] [semantic-release] › ✔ Completed step "analyzeCommits" of plugin "@semantic-release/commit-analyzer"
[3:53:31 AM] [semantic-release] › ℹ Start step "analyzeCommits" of plugin "@semantic-release/exec"
[3:53:31 AM] [semantic-release] › ✔ Completed step "analyzeCommits" of plugin "@semantic-release/exec"
[3:53:31 AM] [semantic-release] › ℹ The next release version is 1.4.0
[3:53:31 AM] [semantic-release] › ℹ Start step "verifyRelease" of plugin "@semantic-release/exec"
[3:53:31 AM] [semantic-release] › ✔ Completed step "verifyRelease" of plugin "@semantic-release/exec"
[3:53:31 AM] [semantic-release] › ℹ Start step "generateNotes" of plugin "@semantic-release/release-notes-generator"
[3:53:31 AM] [semantic-release] › ✘ Failed step "generateNotes" of plugin "@semantic-release/release-notes-generator"
[3:53:31 AM] [semantic-release] › ✘ An error occurred while running semantic-release: Error: Missing helper: "conventional-changelog-conventionalcommits requires conventional-changelog-writer@9 or newer (conventional-changelog@8 or newer). Your changelog tooling loaded an older writer which cannot render this preset. Update the tooling or use an older major version of the preset."
at Object.<anonymous> (/usr/local/lib/node_modules/semantic-release/node_modules/handlebars/dist/cjs/handlebars/helpers/helper-missing.js:19:13)
at Object.wrapper (/usr/local/lib/node_modules/semantic-release/node_modules/handlebars/dist/cjs/handlebars/internal/wrapHelper.js:15:19)
at Object.eval [as main] (eval at createFunctionContext (/usr/local/lib/node_modules/semantic-release/node_modules/handlebars/dist/cjs/handlebars/compiler/javascript-compiler.js:260:23), <anonymous>:10:364)
at main (/usr/local/lib/node_modules/semantic-release/node_modules/handlebars/dist/cjs/handlebars/runtime.js:206:32)
at ret (/usr/local/lib/node_modules/semantic-release/node_modules/handlebars/dist/cjs/handlebars/runtime.js:210:12)
at ret (/usr/local/lib/node_modules/semantic-release/node_modules/handlebars/dist/cjs/handlebars/compiler/compiler.js:519:21)
at file:///usr/local/lib/node_modules/semantic-release/node_modules/conventional-changelog-writer/dist/template.js:64:26
at async write (file:///usr/local/lib/node_modules/semantic-release/node_modules/conventional-changelog-writer/dist/writers.js:75:18)
at async writeChangelogString (file:///usr/local/lib/node_modules/semantic-release/node_modules/conventional-changelog-writer/dist/writers.js:100:16)
at async validator (file:///usr/local/lib/node_modules/semantic-release/lib/plugins/normalize.js:36:24) {
description: undefined,
fileName: undefined,
lineNumber: undefined,
endLineNumber: undefined,
number: undefined,
pluginName: '@semantic-release/release-notes-generator'
}
Error: Missing helper: "conventional-changelog-conventionalcommits requires conventional-changelog-writer@9 or newer (conventional-changelog@8 or newer). Your changelog tooling loaded an older writer which cannot render this preset. Update the tooling or use an older major version of the preset."
at Object.<anonymous> (/usr/local/lib/node_modules/semantic-release/node_modules/handlebars/dist/cjs/handlebars/helpers/helper-missing.js:19:13)
at Object.wrapper (/usr/local/lib/node_modules/semantic-release/node_modules/handlebars/dist/cjs/handlebars/internal/wrapHelper.js:15:19)
at Object.eval [as main] (eval at createFunctionContext (/usr/local/lib/node_modules/semantic-release/node_modules/handlebars/dist/cjs/handlebars/compiler/javascript-compiler.js:260:23), <anonymous>:10:364)
at main (/usr/local/lib/node_modules/semantic-release/node_modules/handlebars/dist/cjs/handlebars/runtime.js:206:32)
at ret (/usr/local/lib/node_modules/semantic-release/node_modules/handlebars/dist/cjs/handlebars/runtime.js:210:12)
at ret (/usr/local/lib/node_modules/semantic-release/node_modules/handlebars/dist/cjs/handlebars/compiler/compiler.js:519:21)
at file:///usr/local/lib/node_modules/semantic-release/node_modules/conventional-changelog-writer/dist/template.js:64:26
at async write (file:///usr/local/lib/node_modules/semantic-release/node_modules/conventional-changelog-writer/dist/writers.js:75:18)
at async writeChangelogString (file:///usr/local/lib/node_modules/semantic-release/node_modules/conventional-changelog-writer/dist/writers.js:100:16)
at async validator (file:///usr/local/lib/node_modules/semantic-release/lib/plugins/normalize.js:36:24) {
description: undefined,
fileName: undefined,
lineNumber: undefined,
endLineNumber: undefined,
number: undefined,
pluginName: '@semantic-release/release-notes-generator'
}
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the failure with the global npm install and semantic-release 25.0.9 command shown in the issue, focusing on the generateNotes entry point in @semantic-release/release-notes-generator. Trace the conventional-changelog-conventionalcommits and conventional-changelog-writer versions involved, then verify that semantic-release completes generateNotes without the missing-helper error.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, node.js
- Domain
- release
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100