# 0.44.0 — 2026-07-28 — "Assign and Launch"

## Added

- **Pressing `a` in the terminal UI now assigns the task and launches the agent
  in one action.** Previously it only started an agent; the task file said
  nothing about who was working on it, so the board, the web view and the
  markdown disagreed with reality. The chosen agent is written to `assignee:`
  before the task moves to In Progress, which also means the next `a` on that
  task relaunches the same agent without reopening the picker.
- **Seven more coding agents can be assigned and launched:** GitHub Copilot CLI,
  Amazon Q Developer, Auggie (Augment Code), Amp, Factory Droid, Cline and Agy.
  Each uses the flag its CLI actually documents for "start a session on this
  prompt", and the ones that only offer a one-shot mode are marked as such
  instead of being forced into a terminal session that never opens.
- **The agent picker shows where each binary lives.** Every entry is now the
  agent name plus the absolute path it resolved to, with `$HOME` shortened to
  `~`. When several installs of the same tool are on `PATH` — a global npm one
  and an nvm one, say — the path is the only line that tells them apart.
- **Sortable columns in the terminal list view.** Click any column header to sort
  by it and click it again to reverse; the active column carries a `↑`/`↓`
  arrow. `s` still cycles the four common sorts from the keyboard, and `S`
  reverses the current one. Owner, dependencies, tags, title and assignee are
  sortable for the first time.
- **A priority lens on the `Pr` header.** Clicking it (or pressing `p`) cycles
  through all → P1 → P2 → P3 → P4 → untriaged, and the header shows the active
  priority in its own colour. It composes with the `f` filter rather than
  replacing it, so "AI-owned P1s" is two keystrokes.
- **An `Assignee` column, pinned to the far right of the list**, naming the
  coding agent or person on the job. Toggle it in `kandown settings` → Terminal
  UI, like every other optional column.
- **`/api/agents` reports the resolved binary path** for every detected agent, so
  the web UI and the terminal UI answer "which install would actually run?" from
  the same detection pass instead of each keeping their own idea of it.

## Fixed

- **The daemon finishes its own upgrades.** After a global update the daemon kept
  serving the web bundle it was compiled with, and the web UI could only show a
  modal asking the user to go and run `kandown daemon refresh-all`. The daemon
  now notices that the package on disk has moved ahead of it and restarts itself
  onto the new build, on the same port, without anyone being told to do anything.
  A restart is tagged with the version it targets so a development checkout with
  a stale build cannot send it into a respawn loop.
- **The stale-daemon modal is gone.** While a self-upgrade finishes, the web UI
  shows a thin line in the corner with no buttons and reloads by itself the
  moment the daemon comes back current. The full update modal is now reserved
  for a genuine new release you may want to install.
- **Local extension state stays out of git.** `.kandown/extensions/enabled.json`
  and `trust.json` are per-machine decisions that the loader deliberately ignores
  when committed, so they are now ignored by git as well, and `kandown init`
  writes a `.kandown/.gitignore` covering them for new projects.

## Changed

- **The list view's owner column is now `Who`, showing 🤖 or 👤** instead of the
  `A` / `H` letters, which meant nothing without a legend.
- **Task titles in the list are capped at 60 characters.** Past that the eye
  stops reading and starts hunting, and on a wide terminal an uncapped title
  pushed the assignee off to where it no longer read as part of the same row.
  Every row now has the same shape at any width; the selected row still expands
  in place and the detail pane always holds the full title.
- **Agent detection caches the resolved path rather than a yes/no**, so a single
  `which` per binary per session now answers both "is it installed?" and "where?"
  for the terminal UI, the daemon and the web UI alike.
- **`Esc` in the terminal UI clears the priority lens** along with the search and
  the filter, before it quits.
