Added

  • Owner console: an Analytics tab (/owner/analytics) with daily, weekly and monthly active users, sign-ups, an activation funnel (signed up, linked a device, uploaded something, came back on a later day), weekly retention cohorts, API traffic and errors by route and client (CLI, MCP server, dashboard), dashboard feature use, public site traffic and funnel (page views, install command copies, sign-in and checkout starts, button clicks, links out, countries, cookie choices) and Web Vitals by page, over 7, 30 or 90 days. Charts have a table view for screen readers.
  • First-party usage measurement on the public site and the dashboard, stored in HarnessLink's own Cloudflare account (Workers Analytics Engine, kept 3 months); no new analytics company is involved. Events carry the page's route pattern (/history/s/:sessionId), never its address, ids, search text or anything you type; the server adds only country, phone or computer, and the plan for signed-in users, and never stores IP addresses. Nothing is sent when your browser has Global Privacy Control on. Signed-in users also get one "active day" record per day they use HarnessLink, deleted with the account.
  • A page for each harness HarnessLink works with, at https://harnesslink.sh/harnesses: Claude Code, Codex, omp, pi, Antigravity and Cursor. Each says what HarnessLink captures there, the commands that set it up, how memory reaches that harness's model (context hooks or MCP memory tools) and what does not work yet; the index compares all six.
  • Release notes at https://harnesslink.sh/releases come straight from this changelog: every release from 17.5.31 on, each with its own link, a page of its own for releases with longer notes, and an Atom feed at https://harnesslink.sh/releases.atom.
  • Shared links to any public page show a preview card with that page's own title and summary.
  • Build checks for the website: every public page is checked for its title, description, canonical address, one main heading, structured data, working links, image text, preview card and sitemap entry; bundle sizes are held to budgets; and CI runs Lighthouse (mobile) on the main pages and fails below 95 for performance, accessibility and best practices, or 100 for SEO.

Changed

  • Public pages load faster. They no longer download the dashboard's code and styles, and every public page except the home page brings its own code in a separate file, fetched alongside the shared code: the JavaScript the home page loads drops from 208 KB to 99 KiB compressed (docs 109 KiB), and its CSS by 48%. The home page picture comes in a size that fits the screen, and the video further down loads only when you scroll to it. Measured on a mid-range phone profile, the home page went from 86 to 98 in Lighthouse and its main picture shows about 1.4 seconds sooner.
  • The MCP server identifies itself to the cloud, so the owner console counts its calls separately from the CLI's.
  • Google Analytics never loads when your browser sends Global Privacy Control, and the cookie banner does not ask in that case.

Fixed

  • Public pages no longer log a 401 error in the browser console when you are signed out.
  • Fonts no longer break the site's Content Security Policy, and guide pages no longer shift when the web font arrives.
  • Text in the home page's tier tabs now has enough contrast, and the pricing page's headings are in order.
  • The guide on what HarnessLink captures from each harness said Antigravity had no transcript files; it is synced since 17.5.70. The usage guide said hnl resume offers Cursor sessions, which it does not, and showed MCP entries without their --harness flag.

Update HarnessLink and every installed harness to its current release:

hnl update

New machine? Install with:

curl -fsSL https://harnesslink.sh/install.sh | bash

Newer: 17.5.76 · Older: 17.5.74 · All releases · Atom feed

Flag notifications