Skip to content

Commit 5ca70c4

Browse files
committed
Release v2.5.0
1 parent 55290ea commit 5ca70c4

4 files changed

Lines changed: 48 additions & 6 deletions

File tree

README.md

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

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

26-
- **Apple Silicon (M1/M2/M3/M4):** [Harness-2.4.1-arm64.dmg](https://github.com/frenchie4111/harness/releases/download/v2.4.1/Harness-2.4.1-arm64.dmg)
27-
- **Intel Mac:** [Harness-2.4.1.dmg](https://github.com/frenchie4111/harness/releases/download/v2.4.1/Harness-2.4.1.dmg)
26+
- **Apple Silicon (M1/M2/M3/M4):** [Harness-2.5.0-arm64.dmg](https://github.com/frenchie4111/harness/releases/download/v2.5.0/Harness-2.5.0-arm64.dmg)
27+
- **Intel Mac:** [Harness-2.5.0.dmg](https://github.com/frenchie4111/harness/releases/download/v2.5.0/Harness-2.5.0.dmg)
2828

2929
## Installation
3030

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: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "harness",
3-
"version": "2.4.1",
3+
"version": "2.5.0",
44
"main": "./out/main/index.js",
55
"author": {
66
"name": "Mike Lyons",
@@ -107,7 +107,9 @@
107107
"target": [
108108
{
109109
"target": "AppImage",
110-
"arch": ["x64"]
110+
"arch": [
111+
"x64"
112+
]
111113
}
112114
],
113115
"artifactName": "Harness-${version}.${ext}"

site/public/releases.html

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,46 @@ <h1 class="text-5xl md:text-6xl font-extrabold tracking-tight mb-6 leading-tight
7878
<!-- Releases -->
7979
<div class="max-w-3xl mx-auto px-6 pb-24">
8080

81+
<!-- v2.5.0 -->
82+
<section class="release-section py-10">
83+
<div class="flex flex-col sm:flex-row sm:items-baseline gap-2 sm:gap-4 mb-1">
84+
<h2 class="text-3xl font-bold tracking-tight">v2.5.0</h2>
85+
<span class="text-sm text-neutral-500">April 25, 2026</span>
86+
</div>
87+
<a href="https://github.com/frenchie4111/harness/releases/tag/v2.5.0" class="text-sm text-amber-400/80 hover:text-amber-300 transition-colors">Download &rarr;</a>
88+
<p class="text-neutral-400 mt-4 mb-4 leading-relaxed">Harness goes remote — drive your agents from any browser or phone over a new WebSocket transport, with Browser MCP tools so Claude can click, type, and scroll in a live browser pane alongside your terminals.</p>
89+
<div class="note-body">
90+
<h4>New features</h4>
91+
<ul>
92+
<li><strong>Web client</strong> — control Harness from any browser over a WebSocket connection. Installable as a PWA so it behaves like a native app on desktop or mobile.</li>
93+
<li><strong>Mobile-optimized web client</strong> — the browser UI is fully adapted for phones and tablets, with proper terminal scroll, icon layout, and a full-screen right panel.</li>
94+
<li><strong>Headless backend</strong> — the Harness backend can now run as a pure Node server with no Electron required, making server and CI deployments possible.</li>
95+
<li><strong>Browser panes</strong> — open a live browser tab as a pane directly alongside your terminals, so you can see your running app without leaving the workspace.</li>
96+
<li><strong>Browser MCP tools</strong> — Claude can click, type, and scroll in the browser pane with a visible cursor overlay, so you can watch it navigate your app in real time.</li>
97+
<li><strong>Controller / spectator mode</strong> — terminal tabs now support a tmux-style controller/spectator split: one session drives input while others watch without interfering.</li>
98+
<li><strong>Weekly activity wrap</strong> — a weekly summary of what each agent worked on, delivered automatically so you can review the week at a glance.</li>
99+
<li><strong>New project flow</strong> — a guided flow for starting a brand-new project from within Harness, with branch naming and initial prompt setup.</li>
100+
<li><strong>In-app issue reporting</strong> — report bugs directly from within Harness without switching to a browser.</li>
101+
<li><strong>Dev server tracking</strong> — Harness detects dev servers started in worktree shells and lets you open them in a browser pane with one click.</li>
102+
<li><strong>Hotkey rebinding from the cheat sheet</strong> — click any shortcut in the <code>?</code> cheat sheet to rebind it on the spot.</li>
103+
<li><strong>Claude TUI defaults to fullscreen</strong> — new Claude sessions launch in fullscreen TUI mode by default for a cleaner, distraction-free view.</li>
104+
</ul>
105+
<h4>Improvements</h4>
106+
<ul>
107+
<li><strong>Experimental settings section</strong> — experimental features are now grouped under their own section in Settings so they're easier to find and harder to stumble into.</li>
108+
<li><strong>harness-control tools in system prompt</strong> — Claude is told about the available MCP shell tools from the first message, so it can use them without extra prompting.</li>
109+
<li><strong>MCP scope isolation</strong> — MCP tool calls are now scoped to the correct worktree context, preventing cross-worktree interference.</li>
110+
<li><strong>Browser MCP accuracy</strong> — fixed HiDPI click offsets and reduced screenshot size by ~4× for faster transmission.</li>
111+
<li>Added error boundaries throughout the UI so a crash in one panel no longer takes down the whole app.</li>
112+
</ul>
113+
<h4>Fixes</h4>
114+
<ul>
115+
<li>Fixed take-control state getting stuck after switching between controller and spectator modes.</li>
116+
<li>Web client HTML entry is now gated behind a <code>?token=</code> query parameter, closing an unauthenticated access path.</li>
117+
</ul>
118+
</div>
119+
</section>
120+
81121
<!-- v2.4.1 -->
82122
<section class="release-section py-10">
83123
<div class="flex flex-col sm:flex-row sm:items-baseline gap-2 sm:gap-4 mb-1">

0 commit comments

Comments
 (0)