Skip to content

v1.33.0

Choose a tag to compare

@github-actions github-actions released this 16 Aug 17:56
· 36 commits to main since this release

Added

  • Backlog-review flags on list. --stale=30d keeps only what nothing has
    touched in that long, --sort=seq|due|size|age|idle|pri orders by any of
    them, and --wide adds AGE and IDLE columns. Clearing a backlog used to mean
    exporting to JSON and doing the date arithmetic somewhere else, because the
    CLI could filter on everything except time.
  • list --unblocked-since=14d — tasks that became actionable recently:
    every dependency done, the last one within the window. A task freed weeks ago
    by a blocker you closed looks exactly like one that never had a blocker, so
    nothing surfaced it.
  • taskr reopen <ref>..., the counterpart to done. Closing was a
    one-way door from the CLI: an accidental taskr done could only be undone by
    opening the TUI. Not a toggle — a verb that closes a pending task when you
    meant to reopen a done one is the wrong thing to hand a script.
  • taskr edit takes several refs, like done already did, so one change
    across a cluster is one command. --title still takes exactly one: a title
    is identity, not a shared property.
  • Whole-word and regexp search. list --search-word / search --word
    match on word boundaries, and --search-re / search --re take a regular
    expression. Plain substring search answers "RAM" with "Ramte", which is right
    for recall and wrong for "is anything about RAM still open".

Changed

  • One cursor, everywhere. The marker for "the row you are on" was three
    different glyphs: in the task, tag and project lists and all through the
    detail pane, > on the board's cards, and on the Settings rows, in the
    command palette and in the tag/project/dependency pickers. Three shapes for
    one idea reads as three kinds of selection. Everything draws now — which
    also settles a collision, since is the medium-priority icon and could sit
    in the same row as a that meant something else entirely.

  • The header hint is one ?. It read
    ? shortcuts · ctrl+k commands — two doors advertised where one will do, in
    twenty-eight columns taken from the tab bar, to say what a single universal
    character says. ? is also the door that leads to the other: the help
    overlay lists ctrl+k among its shortcuts. The palette did not return the
    favour, so it now has an entry for the help too, and the two point at each
    other whichever one you find first.

  • The tab bar stays inside its width. Every tab renders with a cell of
    padding either side, which the bar's own measurement left out — so it could
    pick a set of labels that measured within budget and drew fourteen columns
    past it. The header paid for the overrun by truncating what sat to its right,
    which is why the hint used to read ? shortcuts · ctr on a narrow window.
    Counted properly, the tab labels also stay readable further down: at 80
    columns the bar shows 1 Tasks 2 Cal 3 Pro … where it used to be bare
    digits. When the window really is too narrow for both, the hint now goes
    whole rather than leaving a fragment behind.

  • The pre-migration backup says what it is for. Upgrading the schema is
    one-way: once a newer build has opened the store, an older taskr cannot —
    migration 011 dropped a table, so a 1.25 binary fails on every command with
    "no such table". The line announcing the backup named a file and nothing
    else, which is a diagnosis away from being useful when it is a dev build or a
    second machine mid-upgrade that did the upgrading. It now names the schema
    step, says older builds can no longer open the store, and spells out the
    rollback: stop whatever holds the database, copy the backup over it, delete
    the -wal/-shm sidecars.

Fixed

  • Equal-scoring tasks now sort in a stable order. Every sequence sort scored
    each task against its own time.Now(), and Age accrues continuously, so two
    identical tasks differed by ~1e-11 — enough for the comparator to separate
    them on the float and never reach the ID tie-break. The order of equal tasks
    was left to sort.Slice and could change between two runs over the same data.
    One clock per sort now, so the documented "ties break by ID" is true.
  • taskr help no longer claims only auto-sync pauses past the
    deletion-memory window. A manual taskr sync refuses too, and says so.

Full changelog: https://github.com/Iliorn/taskr/blob/v1.33.0/CHANGELOG.md