Skip to content

fix: pin the changelog preset to a version semantic-release can render - #493

Merged
scottlovegrove merged 1 commit into
mainfrom
fix/changelog-preset
Aug 25, 2026
Merged

fix: pin the changelog preset to a version semantic-release can render#493
scottlovegrove merged 1 commit into
mainfrom
fix/changelog-preset

Conversation

@scottlovegrove

Copy link
Copy Markdown
Collaborator

The 3.3.2 release failed, so the transport fix from #492 is merged but unpublished. This unblocks it.

What happened

The release job died at generateNotes:

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."

conventional-changelog-conventionalcommits@10.4.0 added a hard guard requiring conventional-changelog-writer@9. semantic-release@25.0.9 resolves @semantic-release/release-notes-generator@14.1.1, which pins conventional-changelog-writer@^8.0.0 — and so does its latest release, so there is no version of semantic-release that satisfies the 10.x preset today.

Renovate moved us from 10.3.0 to 10.4.0 in #490 yesterday. 10.3.0 carried no such guard, which is exactly why 3.3.1 released and 3.3.2 did not. Nothing in #492 is involved — its lockfile changes do not touch the changelog tooling.

The fix

Pin the preset to 9.3.1 — the line the preset's own error message points at ("use an older major version of the preset"), and the version both @doist/todoist-sdk and @doist/comms-sdk already release from. A Renovate rule keeps 10.x out until semantic-release moves to writer 9.

Verification

Rendered the actual 3.3.2 notes through @semantic-release/release-notes-generator against the installed writer:

preset 10.4.0 + writer 8.4.0 → FAILED — Missing helper: …
preset 10.3.0 + writer 8.4.0 → OK
preset  9.3.1 + writer 8.4.0 → OK
  ## [3.3.2](https://github.com/Doist/todoist-cli/compare/v3.3.1...v3.3.2) (2026-08-25)

npx semantic-release --dry-run then completes with no failed steps. npm test (1878) and npm run check still pass.

Chose 9.3.1 over reverting to 10.3.0 because the whole 10.x line has declared it needs writer 9 — going back to 10.3.0 just waits for the next patch bump to break the release again.

After merge

The release aborted before tagging or publishing — npm is still on 3.3.1 and there is no v3.3.2 tag — so merging this re-runs the job and publishes 3.3.2 cleanly, including the transport fix.

🤖 Generated with Claude Code

The 3.3.2 release failed at generateNotes with:

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

conventional-changelog-conventionalcommits 10.4.0 added a hard guard
requiring writer 9, but semantic-release still pins writer 8 all the way
up to its latest release-notes-generator, so the preset and the writer
can no longer agree. The 10.3.0 we were on before had no such guard,
which is why 3.3.1 released and 3.3.2 did not.

Pin the preset to 9.3.1, the line the preset's own error points at and
the version both sibling SDKs already release from, and stop Renovate
reintroducing 10.x until semantic-release moves to writer 9.

Verified by rendering the 3.3.2 notes with the installed writer: 10.4.0
throws, 9.3.1 produces the expected changelog entry.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@scottlovegrove scottlovegrove self-assigned this Aug 25, 2026
@doistbot
doistbot requested a review from pedroalves0 August 25, 2026 11:07

@doistbot doistbot left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

This PR updates fix: pin the changelog preset to a version semantic-release can render. No issues were flagged in the reviewed diff.

Share FeedbackReview Logs

@scottlovegrove scottlovegrove added the 👀 Show PR PR must be reviewed before or after merging label Aug 25, 2026
@scottlovegrove
scottlovegrove merged commit 0810ecf into main Aug 25, 2026
7 checks passed
@scottlovegrove
scottlovegrove deleted the fix/changelog-preset branch August 25, 2026 11:33
doist-release-bot Bot added a commit that referenced this pull request Aug 25, 2026
## [3.3.2](v3.3.1...v3.3.2) (2026-08-25)

### Bug Fixes

* pin the changelog preset to a version semantic-release can render ([#493](#493)) ([0810ecf](0810ecf))
* use the fetch the SDK pairs with its dispatcher ([#492](#492)) ([9f31932](9f31932))
@doist-release-bot

Copy link
Copy Markdown
Contributor

🎉 This PR is included in version 3.3.2 🎉

The release is available on:

Your semantic-release bot 📦🚀

@craigcarlyle

Copy link
Copy Markdown
Contributor

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

Labels

released 👀 Show PR PR must be reviewed before or after merging

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants