Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,8 +48,8 @@

Grab the latest release from the [releases page](https://github.com/ness-dev/ness/releases/latest).

- **Apple Silicon (M1/M2/M3/M4):** [Ness-2.17.0-arm64.dmg](https://github.com/ness-dev/ness/releases/download/v2.17.0/Ness-2.17.0-arm64.dmg)
- **Intel Mac:** [Ness-2.17.0.dmg](https://github.com/ness-dev/ness/releases/download/v2.17.0/Ness-2.17.0.dmg)
- **Apple Silicon (M1/M2/M3/M4):** [Ness-2.18.0-arm64.dmg](https://github.com/ness-dev/ness/releases/download/v2.18.0/Ness-2.18.0-arm64.dmg)
- **Intel Mac:** [Ness-2.18.0.dmg](https://github.com/ness-dev/ness/releases/download/v2.18.0/Ness-2.18.0.dmg)

## Installation

Expand Down
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "harness",
"version": "2.17.0",
"version": "2.18.0",
"main": "./out/main/index.js",
"author": {
"name": "Mike Lyons",
Expand Down
49 changes: 49 additions & 0 deletions release-notes/v2.18.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
## Ness v2.18.0

### Changes
- Resolve Claude's home per worktree from the user's login shell (#326)
- Keep the web client off the host's saved remotes; keep failed remotes visible (#354)
- Label collapsed tool calls with what they're for (#353)
- Declare NSLocalNetworkUsageDescription for Local Network access (#352)
- Reviews view: render GFM and give the timeline more room (#351)
- Don't feed binary or huge files to the review diff (#350)
- Reviews view: history of review rounds in the Review pane (#349)
- Fleet view: every host's worktrees in one sidebar (#344)
- Site: replace the hero demo video with the live mock app (#348)
- Run a Ness remote in Docker with one command (#347)
- Site: rebuild the mock Ness window against current main (#345)
- Show the real agent's mark on a Chat tab, not always Claude's (#346)
- Review MCP tools, submitted reviews, and delivery to a specific tab (#338)
- Make appearance settings belong to the client, not the active backend (#343)
- Task list: a dense, one-line-per-worktree view of the fleet (#342)
- Let agents name their own tab, with a user-set name winning for good (#340)
- Chat mode for Codex, behind a provider layer for any agent (#337)
- Move Review viewer comments into a main-process slice with anchoring (#336)
- Nest worktree tabs in the sidebar, with a preference for when to expand (#334)
- Change subtitle line color so it's readable on selected rows (#335)
- Snoozing a pinned worktree hides it until it wakes (#331)
- Toggle file lists between a path-sorted list and a tree (#330)
- fix(chat): an abandoned approval must not leave a needs-approval dot (#328)
- chore(deps): bump bundled @anthropic-ai/claude-code to 2.1.301 (#327)
- Remove locked worktrees, including ones whose directory is gone (#322)
- fix(chat): entry count is not a change signal for derived panels
- fix(chat): a launch stub is not a finished agent
- feat(chat): make the agent disclosure a tree, keep click for history
- feat(chat): expand/collapse agent rows in place
- fix(chat): stop labelling every sub-agent "background", flatten the agent list
- perf(chat): stop rebuilding settled agents, collapse old ones in the panel
- feat(chat): Agents panel with live peek, plus Tasks tool support
- Teach a table-safe image size syntax, and only to agents that can use it
- feat(command-center): show pinned worktrees in a Pinned section at the top
- Let the embed set a display size, and shrink the default
- Let an agent embed a screenshot in its reply
### Contributors

Huge thanks to @blindpirate, @ljacomet, and @tresat for their contributions to this release.

### Installing

- **Apple Silicon:** `Ness-2.18.0-arm64.dmg`
- **Intel:** `Ness-2.18.0.dmg`

Drag `Ness.app` to Applications, then launch it. Existing installs will auto-update.
51 changes: 50 additions & 1 deletion site/public/releases.html
Original file line number Diff line number Diff line change
Expand Up @@ -102,8 +102,57 @@ <h1 class="text-5xl md:text-6xl font-extrabold tracking-tight mb-6 leading-tight
<!-- Releases -->
<div class="max-w-3xl mx-auto px-6 pb-24">

<!-- v2.18.0 -->
<section id="v2.18.0" class="release-section py-10">
<div class="flex flex-col sm:flex-row sm:items-baseline gap-2 sm:gap-4 mb-1">
<h2 class="text-3xl font-bold tracking-tight"><a href="#v2.18.0" class="release-anchor">v2.18.0<span class="anchor-icon">🔗</span></a></h2>
<span class="text-sm text-neutral-500">November 2, 2026</span>
</div>
<a href="https://github.com/ness-dev/ness/releases/tag/v2.18.0" class="text-sm text-amber-400/80 hover:text-amber-300 transition-colors">Download &rarr;</a>
<p class="text-neutral-400 mt-4 mb-4 leading-relaxed">Chat mode now works with Codex, a new Fleet view puts every host's worktrees in one sidebar, and the Reviews view gets review history, GFM rendering, and MCP tools for agents. Also adds a dense Task list, a one-command Docker remote, and an Agents panel in chat.</p>
<div class="note-body">
<h4>New features</h4>
<ul>
<li><strong>Fleet view</strong> — see every host's worktrees together in a single sidebar.</li>
<li><strong>Task list</strong> — a dense, one-line-per-worktree view of your whole fleet.</li>
<li><strong>Chat mode for Codex</strong> — Chat tabs now work with Codex, built on a provider layer that can support other agents too.</li>
<li><strong>Review history</strong> — the Review pane now shows a history of review rounds.</li>
<li><strong>Review MCP tools</strong> — agents can read your review comments and submitted reviews, and reviews can be delivered to a specific tab.</li>
<li><strong>Agents panel in chat</strong> — watch sub-agents live with a peek view, expand or collapse agent rows in place, and see Tasks tool support. Settled agents are no longer rebuilt, and old ones collapse in the panel.</li>
<li><strong>Agent-named tabs</strong> — agents can name their own tab, and a name you set always wins.</li>
<li><strong>Embedded screenshots</strong> — agents can embed a screenshot in their reply, with a configurable display size and a smaller default.</li>
<li><strong>Run a remote in Docker</strong> — start a Ness remote with a single command.</li>
<li><strong>Pinned section in Command Center</strong> — pinned worktrees now appear at the top.</li>
<li><strong>File list tree view</strong> — toggle file lists between a path-sorted list and a tree. <em class="text-neutral-500">(thanks <a href="https://github.com/tresat" class="text-amber-400/80 hover:text-amber-300">@tresat</a>, <a href="https://github.com/ness-dev/ness/pull/330" class="text-amber-400/80 hover:text-amber-300">#330</a>)</em></li>
</ul>
<h4>Improvements</h4>
<ul>
<li><strong>Per-worktree Claude home</strong> — Claude's config directory is now resolved per worktree from your login shell, so folder-scoped setups like mise work correctly. <em class="text-neutral-500">(thanks <a href="https://github.com/ljacomet" class="text-amber-400/80 hover:text-amber-300">@ljacomet</a>, <a href="https://github.com/ness-dev/ness/pull/326" class="text-amber-400/80 hover:text-amber-300">#326</a>)</em></li>
<li><strong>Nested worktree tabs</strong> — tabs now nest under their worktree in the sidebar, with a preference for when to expand.</li>
<li><strong>Pinned worktrees stay hidden while snoozed</strong> — snoozing a pinned worktree hides it until it wakes. <em class="text-neutral-500">(thanks <a href="https://github.com/tresat" class="text-amber-400/80 hover:text-amber-300">@tresat</a>, <a href="https://github.com/ness-dev/ness/pull/331" class="text-amber-400/80 hover:text-amber-300">#331</a>)</em></li>
<li><strong>Removing locked worktrees</strong> — you can now remove locked worktrees, including ones whose directory is gone. <em class="text-neutral-500">(thanks <a href="https://github.com/blindpirate" class="text-amber-400/80 hover:text-amber-300">@blindpirate</a>, <a href="https://github.com/ness-dev/ness/pull/322" class="text-amber-400/80 hover:text-amber-300">#322</a>)</em></li>
<li><strong>Reviews view</strong> — renders GitHub-flavored Markdown and gives the timeline more room.</li>
<li><strong>Appearance settings follow the client</strong> — appearance settings now belong to your window rather than whichever backend is active.</li>
<li><strong>Accurate agent mark</strong> — Chat tabs show the real agent's mark instead of always showing Claude's.</li>
<li><strong>Clearer collapsed tool calls</strong> — collapsed tool calls are labeled with what they're for.</li>
<li><strong>Readable subtitles</strong> — the worktree subtitle line is now readable on selected rows.</li>
<li><strong>Simpler agent list</strong> — sub-agents are no longer all labeled "background", and the agent list is flattened.</li>
<li><strong>Local Network access</strong> — Ness now declares Local Network usage so macOS can prompt for it properly.</li>
<li>Bundled Claude Code updated to 2.1.301.</li>
</ul>
<h4>Fixes</h4>
<ul>
<li>The web client no longer picks up the host's saved remotes, and failed remotes stay visible.</li>
<li>Binary and very large files are no longer fed to the review diff.</li>
<li>An abandoned approval in chat no longer leaves a stuck needs-approval dot.</li>
<li>Derived chat panels now update correctly when entries change, and a launch stub is no longer shown as a finished agent.</li>
</ul>
<p class="text-neutral-400 text-sm mt-6 leading-relaxed">Huge thanks to <a href="https://github.com/blindpirate" class="text-amber-400/80 hover:text-amber-300">@blindpirate</a>, <a href="https://github.com/ljacomet" class="text-amber-400/80 hover:text-amber-300">@ljacomet</a>, and <a href="https://github.com/tresat" class="text-amber-400/80 hover:text-amber-300">@tresat</a> for their contributions to this release.</p>
</div>
</section>

<!-- v2.17.0 -->
<section id="v2.17.0" class="release-section py-10">
<section id="v2.17.0"class="release-section py-10">
<div class="flex flex-col sm:flex-row sm:items-baseline gap-2 sm:gap-4 mb-1">
<h2 class="text-3xl font-bold tracking-tight"><a href="#v2.17.0" class="release-anchor">v2.17.0<span class="anchor-icon">🔗</span></a></h2>
<span class="text-sm text-neutral-500">October 9, 2026</span>
Expand Down
Loading