fix(release): pin compatible changelog preset - #318
Merged
Conversation
conventional-changelog-conventionalcommits 10.4.0 requires changelog-writer 9, but semantic-release 25.0.9 loads writer 8.4.0 while generating release notes. The resolver therefore failed before any publishing work began. Pin the preset to 10.3.0, the last version proven compatible by the preceding successful resolver. The lockfile makes the compatible dependency graph reproducible, and SEMREL-REPORT.md records the incident evidence. Signed-off-by: Tim Nunamaker <tnunamak@gmail.com> Assisted-by: AI
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
conventional-changelog-conventionalcommits 10.4.0 requires writer 9, while semantic-release 25.0.9 plugins declare writer ^8. The resulting 8.4.0 resolution fails release-note generation before publication. Override writer to 9.2.1 at the pnpm workspace layer, retain the latest preset, and regenerate the lockfile. Remove the tracked incident report; the replacement remains local worktree evidence. Signed-off-by: Tim Nunamaker <tnunamak@gmail.com> Assisted-by: AI
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
A release from
main, the branch that triggers publication to GitHub (the repository hosting service) and npm (the package registry), could stop before publishing because semantic-release, the automated release program, could not render its release notes.conventional-changelog-conventionalcommitsis the release-note preset; its current 10.4.0 version needsconventional-changelog-writer, the module that renders changelog text, at version 9 or newer.@semantic-release/release-notes-generator, the semantic-release module that renders notes, and@semantic-release/commit-analyzer, the module that classifies commits, both declareconventional-changelog-writer: ^8.0.0; pnpm, the workspace package manager, therefore resolved writer 8.4.0 and the preset failed with its “requires ... writer@9 or newer” helper error.This replaces the rejected preset downgrade with
conventional-changelog-writer: 9.2.1inpnpm-workspace.yaml, pnpm’s repository-wide dependency-resolution configuration file. The pnpm lockfile, the committed record of exact dependency resolutions, now recordsconventional-changelog-conventionalcommits10.4.0 and one writer 9.2.1 resolution shared by both semantic-release modules. The change also deletesSEMREL-REPORT.md, the obsolete tracked incident record, while leavingSEMREL-318-REPORT.md, a deliberately untracked local evidence record.npm view, the npm registry-metadata command, confirmed semantic-release 25.0.9, release-notes-generator 14.1.1, commit-analyzer 13.0.1, conventional-changelog-conventionalcommits 10.4.0, and conventional-changelog-writer 9.2.1.pnpm why conventional-changelog-writer, pnpm’s installed-dependency-graph command, shows writer 9.2.1 shared by both modules.For an integration proof, an isolated local clone used a local bare Git remote, where Git is the source-control system and “bare” means no working tree, and ran semantic-release’s dry-run command, which skips publishing, against a one-commit fixture, a throwaway repository history, after a local
v99.0.0tag, a release-version label. It classified the commit as a patch release, a backwards-compatible bug-fix version, completed release-notes-generator’sgenerateNotesstep, which constructs changelog text, and generated a 99.0.1 “Bug Fixes” section, the changelog heading for bug-fix commits. This proves the configured commit-analysis and note-generation path works with writer 9.2.1, but it does not exercise the hosted GitHub Actions workflow, the project’s continuous-integration service, that runs after a push tomain.The project commands for repeatable dependency installation, generated-artifact comparison, specification parity, npm publication-label policy tests, and whitespace validation pass;
SEMREL-318-REPORT.mdrecords their exact commands and output. The unchanged reference-contract generation check, which verifies generated reference API artifacts, release-policy check, which validates the release configuration, and Ultracite static-analysis check, which applies the project’s formatter and linter, still fail for existing files outside this dependency change; the untracked report records their exact causes.Assisted-by: AI