Repository navigation
fix(release): search the whole cycle for changelog commits, and restore the lines 3.0.0 lost - #596
Merged
Merged
Conversation
…re the lines 3.0.0 lost release-please reads at most commit-search-depth commits of main when it builds a release, 500 by default. The 3.0.0 cycle ran 659 commits, so the oldest 158 were never read and the 25 feat and fix commits among them never reached CHANGELOG.md. Nothing failed: the walk just ended. release-please-config.json now sets commit-search-depth to 5000, about 7.5 times that cycle. The walk still stops at last-release-sha, so the number is a ceiling and a normal run reads no more than its cycle. CHANGELOG.md's 3.0.0 entry gains the 25 lines, 5 under Features and 20 under Bug Fixes, as release-please 17.6.0's own parser and writer produce them from the whole cycle: the same code, fed the newest 500 commits, reproduces the entry as it was committed. None of the 25 is breaking. The published GitHub release notes of v3.0.0 are not changed.
Contributor
File size check0 over a hard cap (fails), 6 warning(s).
Split the file, wrap the line, shorten or exempt the comment, or list the path in 5 managed file(s) skipped; repo-platform owns them. |
Contributor
Member shape check1 finding(s).
Add the blank lines, make the comment one line directly above the item, comment every field or none, or list the path in 4 generated file(s) skipped. |
There was a problem hiding this comment.
🟢 Approval recommended
No active review issues remain for the commit-search depth increase and changelog restoration.
No open issues 🎉
What changed in this PR
This PR expands release-please's commit-history search to cover longer release cycles and restores entries omitted from the 3.0.0 changelog.
Changes:
- Raises the commit-search ceiling from 500 to 5,000, while retaining the last-release boundary.
- Restores 25 changelog entries: 5 features and 20 bug fixes. Published GitHub release notes remain unchanged.
| File | Description |
|---|---|
release-please-config.json |
Sets commit-search-depth to 5,000. |
CHANGELOG.md |
Restores 25 missing entries under the existing 3.0.0 sections. |
Review effort: Balanced
Vivswan
marked this pull request as ready for review
November 12, 2026 02:47
This was referenced Nov 12, 2026
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.
Before
After
How
commit-search-depth: 5000inrelease-please-config.json, where release-please's default is 500.last-release-sha, so the depth is only a ceiling.Proof
CHANGELOG.mdgains 25 lines and loses none.Technical details
schemas/config.jsondefines the root key as"commit-search-depth": { "description": "When considering commit history, only look this many commits deep.", "type": "number" }.docs/manifest-releaser.mdsays "When fetching the list of commits to consider, only consider the last N commits." and "We expect to only need to consider the last 500 commits on a branch."src/manifest.tsat v17.6.0 holdsDEFAULT_COMMIT_SEARCH_DEPTH = 500and hands the option to the commit walk asmaxResults.this.lastReleaseSha === commit.sha, the boundary the release hook keeps inlast-release-sha.6dbc9a96.JSON.stringify(config, null, 2), which reproduces the edited file byte for byte.6dbc9a96, every listed feat, fix, or perf commit sits at position 496 or newer and every absent one at 503 or older.parseConventionalCommitsandDefaultChangelogNotesreturn the 3.0.0 entry as it was committed, byte for byte below its dated heading.localeCompareover scope and subject joined, so a line without a scope sorts by its subject.!or a breaking footer, and the rebuild counts 50 breaking entries at both depths.8a65765,9ae375c,d062cf1,51068cd,83f3c84.44dab3b,73b6b4a,ceb9f46,b9de617,b5db672,7dcc225,65f97a2,9152a91,e41aa99,0181f01,d34d031,f5c4c59,6fb2603,ae278c9,56ca3e4,64aad27,c1fc169,08d5585,8543af8,3fc0f85.release configuration contractandmarker-bearing files equal the release-please extra-files set.typecheck,lint,lint:arch,knip,check:compat, andbuild:checkexit 0.census <ref>readsCHANGELOG.mdat that ref, wherefaf72dabis main's tip under this branch and393e9b2eis this PR's head.f68d78bis a line the entry always had, and9ae375cis one of the 25.