# HarnessLink 17.10.0 release notes

5 changes, released Nov 7, 2026.

### Breaking Changes

- **Leaner storage, and it never stops syncing (ADR-84).** Per member: Free keeps 100 sessions, 100 MiB of transcripts, 1,000 prompts and 5 MiB of memory; Pro 1,000 sessions, 2 GiB, 25,000 prompts and 64 MiB; Team 2,500, 5 GiB, 50,000 and 256 MiB; Enterprise defaults to 10,000, 25 GiB, 250,000 and 1 GiB, and a contract can set its own (owner console, `POST /v1/admin/orgs/:id/limits`). Sessions and prompts now roll: past a cap the oldest are deleted to make room instead of uploads failing with 429 `quota_exceeded`, so existing accounts over a new cap lose their oldest sessions and prompts on their next uploads. Memory still refuses at its cap. Setup snapshots are capped at 10 MiB (Free), 100 MiB (Pro, Team) and 250 MiB (Enterprise). `GET /v1/quota` replaces `max_rows_per_store` with `max_history_rows`, `max_usage_rows` and `max_sessions`, and adds `usage.sessions`; the self-hosting env overrides are `QUOTA_MAX_HISTORY_ROWS`, `QUOTA_MAX_USAGE_ROWS` and `QUOTA_MAX_SESSIONS` (`QUOTA_MAX_ROWS_PER_STORE` is no longer read).

### Added

- **The dashboard moves, settles and celebrates like one product (ADR-85).** Built Benji Taylor's way (gradual revelation, no static transitions, delight only where it's rare). Dialogs, the command palette and tooltips now leave as smoothly as they arrive; tab indicators slide; a new page opens at the top and fades in; side panels slide; records expand in place; changed figures roll; Save turns into Saved in the button itself instead of a toast; row confirmations open next to the button you pressed. Loading no longer shoves the page around (Overview's cold-load layout shift 0.118 → 0.003). Rare moments get one quiet check: a device linked, setup complete, your first prompts arriving, a new token copied, an upgrade confirmed after checkout, your first gateway saving. Pages show less until you need it: Policies offers the Team upgrade before you fill in a rule, Settings › Devices and Machines merged into Devices, token creation shows two default permissions with "Change permissions", the plan comparison lists three features per plan with "Show all", and plans are cards on phones. Reduced motion shows every end state at once.
- **Dashboard sidebar modes.** From 1024px the side nav is Expanded, Collapsed (stays shut; no hover peek) or Expand on hover (hidden until the pointer reaches the left edge or the toggle), picked in the account menu's Sidebar group or the command palette and remembered per browser. The toggle and Ctrl+[ flip between Expanded and the last hidden mode. A nav collapsed by an earlier release opens as Expand on hover, so nothing changes until you pick.

### Fixed

- A machine signed in with `hnl cloud login --token` (a token made in the dashboard) never showed in Devices or "Devices seen", and every such machine shared one sync position. Its first sync now registers it as a device named after the token, once, while you are under your plan's device limit; at the limit it keeps syncing without a device, as before.
- The weekly retrospective's "Where your time went" could add up to more than 100%: an hour spent in two repositories counted fully for both. Each workspace's share is now its share of the week's prompts, so the shares add up to 100%, and the card and email say "% of prompts".

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.10.1](https://harnesslink.sh/releases#v17.10.1) · [Older: 17.9.0](https://harnesslink.sh/releases/17.9.0) · [All releases](https://harnesslink.sh/releases) · [Atom feed](https://harnesslink.sh/releases.atom)
