# 0.41.0 — 2026-07-26 — "Move Picker"

## Added

- **Move action with keyboard-navigable column picker** — every row in the ListView and ArchiveView gains a third hover button (alongside Archive/Restore and Delete). Clicking it opens a centered modal listing every column with a count badge and the current column greyed out. The picker is keyboard-first: ArrowUp / ArrowDown move the highlight (wrapping at the ends), Enter confirms, Esc closes, click-outside or backdrop click also closes. The current column is pre-selected so the most likely next move is one keystroke away. Useful for keyboard-only workflows and for picking a target column without dragging the row across the board.
- **`inline` layout on `ListRow`** — the same row renderer now serves both the wide ListView / ArchiveView and the narrow ~300 px sidebar in `TaskWorkspace`. In inline mode the title uses `truncate` so it claims the full row width with ellipsis on overflow (instead of being squeezed into a thin column that wraps to twelve lines). The right-aligned chip cluster on the title row (tags + subtask counter) collapses into the meta sub-row below, and the subtask counter renders without its progress bar to fit the smaller chip.
- **Same renderer for active and archived lists** — `ArchiveView` now uses `ListRow` with `mode="archive"` instead of its own bespoke row. Drag handle, archive button (already archived → swapped for Restore), and the Move button picker all live in the same hover overlay as the active board. One renderer = one set of badge styles, hover states, and density variants to maintain.
- **New `card.move` / `card.moving` / `column.noColumns` translations** in English and French.

## Changed

- **ListRow hover actions are now an absolute-positioned overlay** — Archive/Restore, Move, and Delete sit at `right-2`, vertically centered on the title row (`top-1/2 -translate-y-1/2`), fading in on hover or focus-within. They no longer live in the meta sub-row, so a bare task (no badges) no longer reserves a wasted line of vertical space for invisible buttons.
- **Archive + Delete buttons are now red** — destructive actions read as destructive before the user commits. Archive / Restore uses `border-red-500/30 bg-red-500/10 text-red-600` (with the existing green accent swapped out), and Delete goes from a subtle grey hover state to a solid `bg-red-500 text-white` hover fill. Move stays neutral (`bg-bg-1/80 text-fg-muted` with accent on hover) because it is not destructive.
- **Subtask counter is fixed-width on the title line** — the `done/total` chip is now `w-[64px]` with `tabular-nums` + `whitespace-nowrap` so columns of subtask counters line up vertically regardless of the digit count (`0/5` and `12/47` share the same column width). The progress bar inside still grows with the percent done.
- **Right-aligned chip cluster is tags first, subtask counter last** — re-ordered on the title row so a horizontal glance across the board reads "categorisation → progress" left to right, instead of the previous "progress → categorisation".
- **Meta sub-row is conditional** — only renders when at least one of (epic, report, deps, assignee, due) is set. In inline mode it always renders because the moved-in tags and subtask chips guarantee content.
- **`ArchiveView` is visually identical to a `ListView` column at the pixel level** — same outer wrapper (`flex-1 min-h-0 overflow-y-auto` + `w-full px-4 py-3 space-y-3`), same section frame (`overflow-hidden rounded-lg border border-border/60`), same header (`border-b border-border/40 bg-bg-1/60 px-3 py-2` with the column-icon + h2 + tasks-count + actions layout), same body (`bg-bg/40` with `divide-y divide-border/30`). The only intentional differences are the icon (`Icon.Archive` instead of a column icon), no drag handle on the column reorder, no `#N` section index badge, and a "Back to board" button on the right where `ColumnHeaderActions` normally sits.

## Fixed

- **Empty line below every task in list mode** — the previous layout always reserved a meta sub-row's height even when there were no badges to show, because the hover action buttons (always rendered with `opacity-0` to fade in) took vertical space. The buttons are now in an absolute overlay, so a bare task gets just the title line — no more "ligne vide".
- **Selected cards in list mode lost their tint in dark mode** — added `dark:bg-primary/[0.12]` alongside the existing `bg-primary/[0.08]` so the selection highlight reads on dark themes as well.