Skip to content

Commit d7f5e85

Browse files
committed
Release v2.9.3
1 parent defc446 commit d7f5e85

4 files changed

Lines changed: 41 additions & 5 deletions

File tree

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,8 @@
4444

4545
Grab the latest release from the [releases page](https://github.com/frenchie4111/harness/releases/latest).
4646

47-
- **Apple Silicon (M1/M2/M3/M4):** [Harness-2.9.1-arm64.dmg](https://github.com/frenchie4111/harness/releases/download/v2.9.1/Harness-2.9.1-arm64.dmg)
48-
- **Intel Mac:** [Harness-2.9.1.dmg](https://github.com/frenchie4111/harness/releases/download/v2.9.1/Harness-2.9.1.dmg)
47+
- **Apple Silicon (M1/M2/M3/M4):** [Harness-2.9.3-arm64.dmg](https://github.com/frenchie4111/harness/releases/download/v2.9.3/Harness-2.9.3-arm64.dmg)
48+
- **Intel Mac:** [Harness-2.9.3.dmg](https://github.com/frenchie4111/harness/releases/download/v2.9.3/Harness-2.9.3.dmg)
4949

5050
## Installation
5151

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "harness",
3-
"version": "2.9.1",
3+
"version": "2.9.3",
44
"main": "./out/main/index.js",
55
"author": {
66
"name": "Mike Lyons",

site/public/releases.html

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,42 @@ <h1 class="text-5xl md:text-6xl font-extrabold tracking-tight mb-6 leading-tight
8282
<!-- Releases -->
8383
<div class="max-w-3xl mx-auto px-6 pb-24">
8484

85+
<!-- v2.9.3 -->
86+
<section id="v2.9.3" class="release-section py-10">
87+
<div class="flex flex-col sm:flex-row sm:items-baseline gap-2 sm:gap-4 mb-1">
88+
<h2 class="text-3xl font-bold tracking-tight"><a href="#v2.9.3" class="release-anchor">v2.9.3<span class="anchor-icon">🔗</span></a></h2>
89+
<span class="text-sm text-neutral-500">May 21, 2026</span>
90+
</div>
91+
<a href="https://github.com/frenchie4111/harness/releases/tag/v2.9.3" class="text-sm text-amber-400/80 hover:text-amber-300 transition-colors">Download &rarr;</a>
92+
<p class="text-neutral-400 mt-4 mb-4 leading-relaxed">A major feature release — snooze worktrees, open any GitHub PR directly as a worktree, connect to multiple backends from a single window, and merge PRs without leaving the app. Includes API cost tracking per activity, reliable PR status for upstream forks, and deep links from the in-app updater to the relevant changelog section.</p>
93+
<div class="note-body">
94+
<h4>New features</h4>
95+
<ul>
96+
<li><strong>Snooze</strong> — snooze a worktree to keep it out of the way until you're ready to return to it.</li>
97+
<li><strong>Open PR as worktree</strong> — open any existing GitHub pull request directly as a new worktree, so you can pick up where another session left off without manual branch setup.</li>
98+
<li><strong>Multi-backend support</strong> — connect a single Harness window to multiple backends — your local instance plus any number of remote Harness servers — and switch between them using the chip strip at the bottom of the sidebar.</li>
99+
<li><strong>Merge button in the PR panel</strong> — merge your pull request directly from the Harness PR panel without switching to GitHub.</li>
100+
<li><strong>Activity costs tab</strong> — view accumulated API costs broken down by activity directly in the activity panel.</li>
101+
<li><strong>PR status for upstream forks</strong> — Harness now correctly tracks PR status when the pull request originates from an upstream fork, not just same-repo branches.</li>
102+
<li><strong>Release notes deep links in the updater</strong> — the in-app update notification now links directly to the relevant changelog section for each release.</li>
103+
</ul>
104+
<h4>Improvements</h4>
105+
<ul>
106+
<li><strong>Middle-click to close tabs</strong> — middle-clicking a terminal tab now closes it, matching familiar browser behavior.</li>
107+
<li><strong>Improved repository selection</strong> — the repository picker flow is smoother and easier to navigate.</li>
108+
<li><strong>Hotkey badge readability</strong> — hotkey badges in tooltips and the onboarding quest card are easier to read.</li>
109+
</ul>
110+
<h4>Fixes</h4>
111+
<ul>
112+
<li>Duplicate Claude and Codex hook entries are no longer created when hooks are re-installed — existing entries are now matched by command substring before adding a new one.</li>
113+
<li>Fixed the MCP worktree setup script failing in certain configurations.</li>
114+
<li>PR status is now preserved from cache when a GitHub API fetch fails, preventing status flickers.</li>
115+
<li>Harness no longer errors when a remote snapshot contains state slices it doesn't recognise, making mixed-version setups more resilient during rolling updates.</li>
116+
<li>Fixed snooze not routing correctly to the backend in multi-backend setups.</li>
117+
</ul>
118+
</div>
119+
</section>
120+
85121
<!-- v2.9.1 -->
86122
<section id="v2.9.1" class="release-section py-10">
87123
<div class="flex flex-col sm:flex-row sm:items-baseline gap-2 sm:gap-4 mb-1">

0 commit comments

Comments
 (0)