| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| latest.json | 2026-08-17 | 17.9 kB | |
| GitDesktop_0.9.2_universal.app.tar.gz.sig | 2026-08-17 | 408 Bytes | |
| GitDesktop_0.9.2_universal.app.tar.gz | 2026-08-17 | 36.5 MB | |
| GitDesktop_0.9.2_universal.dmg | 2026-08-17 | 35.7 MB | |
| GitDesktop_0.9.2_x64-setup.exe.sig | 2026-08-17 | 420 Bytes | |
| GitDesktop_0.9.2_x64-setup.exe | 2026-08-17 | 13.2 MB | |
| GitDesktop_0.9.2_x64_en-US.msi.sig | 2026-08-17 | 420 Bytes | |
| GitDesktop_0.9.2_x64_en-US.msi | 2026-08-17 | 18.9 MB | |
| GitDesktop_0.9.2_amd64.AppImage.sig | 2026-08-17 | 424 Bytes | |
| GitDesktop-0.9.2-1.x86_64.rpm.sig | 2026-08-17 | 420 Bytes | |
| GitDesktop_0.9.2_amd64.AppImage | 2026-08-17 | 93.2 MB | |
| GitDesktop-0.9.2-1.x86_64.rpm | 2026-08-17 | 20.5 MB | |
| GitDesktop_0.9.2_amd64.deb.sig | 2026-08-17 | 416 Bytes | |
| GitDesktop_0.9.2_amd64.deb | 2026-08-17 | 20.5 MB | |
| GitDesktop v0.9.2 source code.tar.gz | 2026-08-17 | 6.3 MB | |
| GitDesktop v0.9.2 source code.zip | 2026-08-17 | 7.1 MB | |
| README.md | 2026-08-17 | 10.4 kB | |
| Totals: 17 Items | 252.0 MB | 0 | |
Changed
- Conversation controls now explain themselves when they're unavailable. Reaction chips, a discussion's upvote chip, the add-reaction picker and a comment box's Comment / Clear buttons name the hold ("Loading this issue…", "Posting your comment…") as a tooltip and to screen readers, and stay reachable by keyboard while they say it, so you can always find out what a control is waiting on.
- Linux builds now target the Ubuntu 24.04 toolchain, so the packages track a current system baseline. This raises the minimum glibc generation they need: distributions older than the 24.04 era can no longer run them.
- Submit review always shows all three verdicts. Approve and Request changes stay on screen and say what they're waiting on (a note that they become available once GitDesktop connects to that repository's host), so it's clear the option exists and what makes it usable.
Fixed
- The Welcome, Settings, Help, and Explore screens no longer grow a stray window scrollbar while the activity strip is showing along the bottom.
- A plan, research run, or agent-session turn that fails keeps what the agent had written (including agents that deliver their text only at the end), so the transcript shows the partial work instead of nothing.
- Clean up branches now sees the work that landed on the default branch through
a pull request, not only the merges your local history records, so squash- and
rebase-merged branches turn up in the list with a
merged #123badge naming the pull request that took them. The match goes by branch name, so it only ever badges a row: what comes pre-checked is still what your own history shows — merged into the default branch, or idle past the window you picked. - A comment you've typed now goes out with Close or Reopen. On issues, pull requests, discussions and local PRs/issues the control says so while a draft is waiting (Close with comment on the buttons, posts your draft on a discussion's menu items); the comment posts first, then the state changes, and your text stays put if the comment can't be posted.
- Revert, cherry-pick and rebase conflicts now list the conflicted files in the error details, and a Continue that still has unresolved paths names them.
- Conflicted reverts and merges now name themselves the way a cherry-pick or rebase already did ("Revert paused — resolve the conflicts, then continue"), with git's own output kept under Details and the conflict bar in Changes ready to finish or abort it.
- Conflict resolution now belongs to the repository it started in. Switching repositories ends any resolution in progress, so a Resolve all walk always works through the conflicts of the repository you're looking at.
- A small change deep in a very large file now shows its diff immediately. Diffs past the highlighter's line ceiling render as plain text either way, and the pane no longer sits blank waiting on highlighting it wasn't going to use.
- Context you expanded in a large diff now stays expanded when its background-thread syntax highlighting arrives. Highlighting for big TextMate-rendered files (Rust, TSX, Astro, Svelte, and the rest) paints into the diff already on screen, so the view keeps your expanded context and your place instead of snapping back to the collapsed layout.
- Every action on a conversation now waits, and says it's waiting, until the entity on screen is the one you selected. On a discussion that covers Lock, Unlock, Close, Reopen, Delete, the Labels picker and the per-comment Edit, Delete, Hide, Unhide and Mark as answer; on issues and pull requests it covers comment Hide / Unhide. Arrowing quickly through a list used to leave a window where any of them acted on the entity you'd just left, so a label toggle or a hide could land on the wrong one.
- Switching between pull requests no longer flashes the wrong footer action: Ready for review and Convert to draft now wait for the incoming pull request's own draft state instead of borrowing the previous one's for a beat. Their keyboard shortcuts wait on the same state, so neither can act on the pull request you just left.
- A line selection in the staging diff can now cover added and removed lines at once. Hold the platform modifier (Ctrl, Cmd on macOS) while dragging the line numbers and the new run joins the selection instead of replacing it, so a single Stage, Unstage, or Discard can carry a whole edit — both halves of a rewritten line, across as many hunks as you like. A plain drag still starts a fresh selection, and the hint above the diff names the key for your platform.
- Completing a local pull-request merge now leaves the base branch's own history alone. If the branch moved at all while the merge was being prepared (a commit landing from another window or worktree, or a reset winding it back during a long conflict-resolution session), the merge stops and says so, with your resolution still waiting where you left it, ready to re-run from where the branch now stands.
- On macOS, the menu bar's New repository, Add local repository, Clone repository, and Settings entries now wait while one of the dialogs they would collide with is open (the app's repo dialogs, and Explore's own clone dialog), so what you're filling in stays in front instead of a second dialog landing on top of it.
- Merging a branch into the one you're on while you have uncommitted changes now offers to set them aside, merge, and put them back — the same stash-and-reapply recovery pulling and updating a branch already offer, and Automatically stash and reapply on pull, merge, rebase, and branch updates (Settings → General) covers merges along with the rest. Squash, no-fast-forward, and strategy merges still report the refusal, since the recovery would have to redo them as a plain merge.
- A pull request whose mergeability can't be read now says which forge it couldn't reach and offers Retry, where the strip used to stay blank. It also falls back to the local conflict prediction, so a clash visible from your last fetch is still named, and still resolvable, while the forge answer is out of reach.
- When a provider's model list arrives in a shape GitDesktop can't read, the model picker says so in its own words — "The provider's response didn't match the expected format." A genuine provider or network failure still quotes the provider's own explanation, so the two cases stay tellable apart.
- Clicking a pull-request notification now opens that PR on the tab the event happened on — a new comment, approval, or merge lands on Conversation, and a finished AI review lands on Review. Checks notifications leave your current tab alone, since the checks rollup sits in the PR header either way.
- A pull request that won't load now opens with a plain explanation: which host it couldn't be loaded from, with the underlying error kept beneath it. Starting up offline reads as a connection problem rather than a pull request that has gone missing, and Retry shows that it's working while the read is in flight.
- A pull that runs into merge conflicts now reports git's own verdict and the conflicted files it stopped on.
- Rebasing with uncommitted changes now offers to stash and reapply them, the way pull and merge already do. Change base… no longer refuses to run on a dirty working tree either.
- A revert that hits a conflict now gets the same treatment as a merge or rebase: the conflict bar names it and offers Continue revert and Abort, and the guards that protect an operation in flight (stashing, editing history, promoting a worktree) hold while it is open. The same guards now also cover the window a multi-commit squash or fixup leaves behind when it stops on a conflict.
- When discarding a pending review fails, GitDesktop now says so, even if you moved to another tab while it was clearing: pending comments can never quietly survive a discard you believed had worked.
- An expanded review under Previous reviews now scrolls inside its own box, so the pull request's Close and Merge controls stay reachable however long the findings run. Any stored review, and any kept partial output, can now be copied in one click.
- An AI review that hits its time limit now keeps what the reviewer already wrote. The findings stay on screen (including for Codex, which delivers its answer in one piece at the end) and are saved with the pull request, labelled Timed out — partial output kept, so they're still there after a restart. Kept output also gets its own row under Previous reviews, where it can be read, copied or cleared like any other record, and an automated review that runs out of time keeps its output the same way. Kept output is never treated as a finished review: it doesn't feed the next run's context and doesn't count as coverage for automated reviews.
- Stack suggestions now explain themselves when they stay quiet: a full page of open pull requests to scan, a stack state it couldn't read, or fork pull requests that can't be chained each get a one-line note where the suggestion would otherwise sit.
- Update branch on a GitHub pull request now shows the update running and confirms it only once it has landed. The strip holds on GitHub is updating this branch… (controls disabled, with the reason on hover) until the branch is confirmed caught up, so the confirmation you get matches the state of the branch.
- The welcome screen scrolls within its own pane, keeping the header and the activity strip in place. A long list of repositories or a short window stays fully reachable, and the content is still centered whenever it fits.
- Removing a worktree now stays on screen until it finishes. A big folder can take minutes, so the removal shows at the top of the repository the whole time, even after the confirmation closes; its row in Worktrees says "Removing…" and holds every action except copying its path, and a second attempt on the same worktree is turned away instead of queueing behind the first.