feat: pass release notes to GitHub/GitLab release body#9581
Merged
mmaietta merged 12 commits intoelectron-userland:masterfrom Mar 10, 2026
Merged
feat: pass release notes to GitHub/GitLab release body#9581mmaietta merged 12 commits intoelectron-userland:masterfrom
mmaietta merged 12 commits intoelectron-userland:masterfrom
Conversation
The existing `releaseInfo` system (releaseNotes, releaseNotesFile, auto-detection from release-notes.md) only wrote to auto-update YAML files. The GitHub/GitLab APIs support release descriptions, but the publishers never passed them. - Add `releaseBody` and `releaseName` fields to `GithubOptions` and `GitlabOptions` - Resolve release notes from `releaseInfo` config in `PublishManager.createPublisher()` and inject into publisher options - Pass `body` and `name` in `GitHubPublisher.createRelease()` - Use `releaseBody` as `description` in `GitlabPublisher.createRelease()` - Truncate release body at 100k characters with a warning - Add unit tests for body, name, and truncation behavior Closes electron-userland#9235 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
🦋 Changeset detectedLatest commit: 1eda489 The changes in this PR will be included in the next version bump. This PR includes changesets to release 12 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
Replace mutable `as any` casts with immutable spread pattern. Resolve releaseBody and releaseName upfront, then spread into the options object — no mutation, no leading semicolons. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
mmaietta
requested changes
Feb 15, 2026
mmaietta
previously approved these changes
Feb 18, 2026
mmaietta
approved these changes
Mar 5, 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.
Closes #9235
Hey! This wires the existing
releaseInfoinfrastructure (which already resolvesreleaseNotes,releaseNotesFile, and auto-detectsrelease-notes.md) through to the GitHub and GitLab publishers. Until now that data only ended up in auto-update YAML files — the actual release drafts were always created with an empty body.What changed
releaseBodyandreleaseNametoGithubOptionsandGitlabOptionsPublishManager.createPublisher()now resolves release info from config and injects it into publisher options (with explicit values taking precedence)GitHubPublisher.createRelease()passesbodyandnameto the GitHub APIGitlabPublisher.createRelease()usesreleaseBodyasdescriptioninstead of the hardcoded"Release vX.Y.Z"Resolution order for release body
releaseBodyon publish config (new, takes precedence)releaseInfo.releaseNotesfrom configreleaseInfo.releaseNotesFileread from diskrelease-notes.mdin project root (auto-detected fallback)Config examples
Also works via CLI dot-notation:
electron-builder --publish always -c.releaseInfo.releaseNotesFile=notes.mdTested