# 0.38.0 — 2026-07-26 — "Column Control"

## Added

- **Every list column can be switched off**, from `kandown settings` → *Terminal UI*. `Age`, `Status`, `Priority`, `Owner`, `Dependencies` and `Tags` each get a toggle, saved to `tui.columns` in `.kandown/kandown.json` and picked up by an already-open board through the config watcher — no restart. `ID` and `Description` have no toggle on purpose: they are what makes a row identifiable at all. This is a different mechanism from the automatic narrowing behaviour, which only drops columns you *did* ask for and only when the terminal is genuinely too narrow.
- **The settings screen scrolls.** It was already taller than a 24-row terminal and simply got clipped by the fixed-height frame, with nothing on screen to say that more settings existed below. The rendered window now follows the focused row and the footer reports how many settings sit above and below it.
- **`tui.defaultView`, `tui.showDetailPane` and `tui.listSort` are editable in the settings screen**, alongside the column toggles, instead of only being reachable by pressing the matching key in the board.

## Changed

- **The `Tags` column is off by default.** At 14 cells it was the widest optional column and the one most projects leave empty, so having it on by default mostly reserved description width to render blanks. Turn it back on in `kandown settings`.

## Fixed

- **The web update banner kept offering an update that had already been installed.** The daemon answered "what version am I?" with `KANDOWN_VERSION`, a constant baked into its bundle at build time. That is the right answer for a short-lived CLI invocation, but the daemon is long-lived: once the package is updated underneath it, the files on disk become the new version while the running process reports the old one forever — so the check compared the freshly published version against a frozen constant and always found a gap. The check now reads the version installed on disk, and reports "already installed, this server is still running the old build" as its own state with the `kandown daemon refresh-all` command to fix it, instead of nagging you to re-download what you already have.
- **Dismissing the update banner silenced it permanently for the session**, including for versions released later. The dismissal is now remembered against the version it was dismissed for.
- **One row could vanish from the middle of the settings screen.** The root frame has a fixed height and Yoga's default is to *shrink* overflowing children rather than clip them, so an overlong list silently ate a line out of a section — "Skin" disappeared from *Appearance* while later sections rendered fine. Sections now refuse to shrink, which turns silent corruption into honest clipping that the scroll counter reports.
