Repository navigation
fix(version)!: default to conventionalcommits and reject unsupported presets - #694
Merged
Merged
Conversation
Contributor
|
Standing release PR: #614 · v0.42.0 queued (4 packages) · open 82d 20h 11m · ✅ ready to merge Release Preview — v0.41.2 → v0.42.0
These changes will be added to the release PR (#614) when merged: Changelogmonorepo 0.41.2 → 0.42.0
After merge — predicted release
Updated automatically by ReleaseKit |
3 of 20 tasks
…presets
The default version.preset ("conventional") never loaded, and on a tagged
repo the failed preset import rejected unobserved across an await, killing
release / standing-pr update with no JSON envelope.
- version.preset is now an enum of the shipped presets (angular,
conventionalcommits), defaulting to conventionalcommits; anything else is a
ConfigError (CONFIG_ERROR, exit 2) listing the supported names.
- Presets load via static imports and are created eagerly, so they resolve
from releasekit's own dependencies in any install layout (including the
bundled release CLI the Action runs) and no lazy promise can reject
unobserved.
- Drop the conventional-changelog-conventional-commits alias dependency and
the dead preset fallbacks; the e2e, package and examples-smoke harnesses no
longer install or hoist presets at the consumer level.
BREAKING CHANGE: version.preset accepts only "conventionalcommits" (the
default) and "angular". "conventional" and "conventional-commits" now fail
config validation; use "conventionalcommits" or omit the key.
Closes #652
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
goosewobbler
force-pushed
the
fix/652-default-preset
branch
from
October 23, 2026 12:57
1d4679c to
9c82142
Compare
… comments Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Oct 23, 2026
Merged
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.
Description
The default
version.preset(conventional) could never load. On a tagged repo the failed preset import rejected unobserved across anawait, sorelease/standing-pr updatecrashed with exit 1 and no JSON envelope.version.presetis now an enum of the shipped presets,conventionalcommits(default) andangular. Anything else fails config load with aCONFIG_ERROR(exit 2) listing the supported names. The enum shows in the JSON schema and the generated config docs.release/distthe Action runs, and there's no lazy preset promise left to reject unobserved. The preset map is typed by the config enum, so adding a preset to one without the other fails typecheck.conventional-changelog-conventional-commitsalias dependency and the dead preset fallbacks.Related Issue(s)
Closes #652
Type of Change
feat— New featurefix— Bug fixdocs— Documentation changerefactor— Code refactoringtest— Adding or updating testschore— Maintenance, dependencies, toolingScope
@releasekit/version@releasekit/notes@releasekit/publish@releasekit/release@releasekit/config@releasekit/coreChecklist
pnpm lint)pnpm test)pnpm typecheck)Testing Notes
ConfigError(config);releaseandstanding-pr updatewrite aCONFIG_ERRORenvelope to--outputand exit 2 (release);test/e2e/preset.shcovers no preset on a tagged repo (exit 0, conventionalcommits rules:feat!:→ 2.0.0) and"nonsense"tagged/untagged (exit 2,CONFIG_ERRORon stdout /--output, no crash output).scripts/test-packages.ts(strict pnpm, no hoisting),scripts/test-e2e.ts(all 19 shell tests, no consumer presets), the examples-smokeminimalfixture dry-run, and version's integration suite after rebasing onto test(version): run the integration suite in CI and fix its stale sync-tags fixture #685.release, as for every config error today.releasekit-version's config-error exit code is left to feat(cli)!: envelope the version and publish commands, unwrap on the pipe #616.🤖 Generated with Claude Code


Confidence Score: 5/5
The PR appears safe to merge; no actionable issues were established.Summary
Changes
version.presetto default toconventionalcommitsand accept only the two shipped presets.No actionable issues were established. goosewobbler explicitly identifies rejection of the legacy preset names as an intentional breaking change. goosewobbler leaves duplicate config-error stderr unchanged and defers the standalone version-command exit code to #616.
Reviews (1) · Last reviewed commit: "fix(version)!: default to conventionalco..." · Reviewed by Greptile