From d6d77c4cf501ab1222934983cdfe85220b90ac39 Mon Sep 17 00:00:00 2001 From: "guys-inc-ops[bot]" <321481384+guys-inc-ops[bot]@users.noreply.github.com> Date: Fri, 28 Aug 2026 00:31:03 +0000 Subject: [PATCH] Release 3.5.1 Ships the sign-in fix from #39. 3.5.0 could not be signed into from inside the application: the device code was fetched and never rendered by the re-authentication dialog, so the browser opened asking for a code that was nowhere on screen. Also stops the notes generator publishing "TODO". Empty sections rendered a placeholder that existed as a prompt for whoever edited the draft release by hand; we publish without that pass, so a patch release fixing one thing would have shipped a literal "## Improved / TODO" to users. Empty sections are now omitted. Verified that 3.4.9-linux1 still renders its ten upstream issue links with no placeholders. --- app/package.json | 2 +- changelog.json | 3 +++ script/generate-release-notes.ts | 12 ++++++++++-- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/app/package.json b/app/package.json index 5003c45649..f86c23aaa7 100644 --- a/app/package.json +++ b/app/package.json @@ -3,7 +3,7 @@ "productName": "GitHub Desktop", "bundleID": "com.github.GitHubClient", "companyName": "GitHub, Inc.", - "version": "3.5.0", + "version": "3.5.1", "main": "./main.js", "repository": { "type": "git", diff --git a/changelog.json b/changelog.json index 8df950fe3b..7a3a60914b 100644 --- a/changelog.json +++ b/changelog.json @@ -1,5 +1,8 @@ { "releases": { + "3.5.1": [ + "[Fixed] The sign-in code is now shown when signing in from inside the app. Only the first-run welcome flow displayed it, so re-authenticating opened a browser asking for a code that was never on screen" + ], "3.5.0": [ "[Added] Sign in to GitHub.com using the OAuth device flow: Desktop shows a one-time code to enter in your browser, instead of handing off through a redirect", "[Fixed] The published packages no longer contain an OAuth client secret. Desktop authenticates as a public client, so no secret is built into the application", diff --git a/script/generate-release-notes.ts b/script/generate-release-notes.ts index 6e515bde0b..37036173be 100644 --- a/script/generate-release-notes.ts +++ b/script/generate-release-notes.ts @@ -213,6 +213,14 @@ function formatReleaseNote(note: ReleaseNoteEntry): string { return template.trim() } +/** + * Empty sections are omitted rather than rendered with a "TODO" placeholder. + * + * The placeholder was a prompt for whoever edited the draft release by hand. + * These notes are published without that pass, so an empty section reached + * users as a literal "## Improved / TODO" - a patch release that fixes one + * thing genuinely has nothing under the other headings. + */ function renderSection( name: string, items: Array, @@ -241,7 +249,7 @@ function generateDraftReleaseNotes( return ` ${renderSection('New', releaseNotesGroups.new)} ${renderSection('Added', releaseNotesGroups.added)} -${renderSection('Fixed', releaseNotesGroups.fixed, false)} -${renderSection('Improved', releaseNotesGroups.improved, false)} +${renderSection('Fixed', releaseNotesGroups.fixed)} +${renderSection('Improved', releaseNotesGroups.improved)} ${renderSection('Removed', releaseNotesGroups.removed)}` }