Skip to content

docs(release): record that the repository allows only squash merges - #94

Merged
PAMulligan merged 2 commits into
mainfrom
docs/squash-only-merges
Oct 24, 2026
Merged

PAMulligan merged 2 commits into
mainfrom
docs/squash-only-merges

Conversation

@PAMulligan

Copy link
Copy Markdown
Contributor

The repository's merge settings changed on 2026-10-24: squash merges only (merge commits and rebase merges disabled), with the PR title as the commit title and a blank body, the GitHub option "Default to pull request title".

Why

release-please's splitMessages (src/commit.ts) splits a commit message wherever a blank line is followed by a line starting with feat|fix|docs|…(scope): , and turns each part into its own changelog entry. A GitHub merge commit's body is the PR title, so every merged PR produced two entries: one from the merge commit and one from the branch commit. That's why 1.1.3 and 1.2.0 list each change twice. With the PR title as the only text, each PR gives one entry. Earlier changelog entries stay as they are; the rules say not to hand-edit CHANGELOG.md.

What changed in the repo

docs/RELEASING.md (Cautions) and .claude/rules/release.md now record the setting and the reason. CLAUDE.md, the release-manager agent (gh pr merge <n> --squash) and the hook tests already assumed squash, so nothing else needed to change.

Trade-offs of the blank body: a breaking change has to go in the title (feat!:), because a BREAKING CHANGE: footer in the PR description no longer reaches main. Changelog entries also lose the "closes #N" links that commit-body footers used to add. Closes #N in a PR description still closes the issue on merge.

Checks

node scripts/claude-code-conformance.js --root . --strict   0 errors, 0 warnings
node --test scripts/__tests__/*.test.js                       65 passed

🤖 Generated with Claude Code

PAMulligan and others added 2 commits October 24, 2026 09:56
Since 2026-10-24 the GitHub settings allow squash merges only, with the
PR title as the commit title and a blank body. release-please splits any
body paragraph that starts with a Conventional Commit type into a second
changelog entry, so the merge commits behind 1.1.3 and 1.2.0 listed each
change twice. RELEASING.md and the release rule now say so.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
With a blank squash body, Release-As and BREAKING CHANGE footers on
branch commits never reach main. Say how to add them when merging.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@PAMulligan
PAMulligan merged commit 0c92202 into main Oct 24, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant