github MrLesk/Backlog.md v1.50.1

6 hours ago

v1.50.1

Hotfix for the v1.50.0 performance regression: on repositories with many branches, common CLI task commands could take minutes or hang on remote fetches.

Highlights

  • Common CLI task commands are fast again: task view, the task shorthand, task edit, and task list resolve from the local working copy without loading the cross-branch corpus or fetching remotes. Measured on this repository: task view 4.4s → 0.4s, task list 4.2s → 0.2s, no-op task edit 12.2s → 0.4s — and minutes-long worst cases on slow networks are gone entirely (#898)
  • Cross-branch loading is now incremental and cached for the long-lived surfaces that keep it (web UI, board, MCP): one immutable tip snapshot with shared commit/blob caches brings warm reads from ~394 git operations down to 3 or fewer, with a correctness-gated benchmark guarding the numbers (#899)
  • Remote work is bounded: fetches are coalesced, capped at 10 seconds, and degrade gracefully offline instead of hanging (#899)

Behavior changes

  • CLI task reads are local-only by design. A task that exists only on another branch is no longer resolvable from task view, task edit, task list --parent, task create --parent, or --dep; misses print a hint that other-branch tasks are visible in backlog browser. The web UI, board, and MCP keep the cross-branch view (#898)
  • Parent and dependency validation is local and consistent. task create --parent, task list --parent, and task view now agree about the same ID (completed parents are accepted everywhere), dependency validation no longer fetches inside the edit lock, and ambiguous local IDs still fail closed (#898)

Fixes

  • Task-ID allocation always takes a fresh bounded remote snapshot before choosing a number, closing a duplicate-ID window in long-lived web/MCP processes (#899)
  • Task creation no longer freezes cross-branch freshness in long-lived web/MCP processes; reads self-heal after missed watcher events (#899)
  • Cancelled TUI loads no longer wait out an in-flight remote fetch (#899)
  • Default web /api/tasks requests are served from the in-memory store again instead of re-reading all task files per request (#898)

Full Changelog: v1.50.0...v1.50.1

Don't miss a new Backlog.md release

NewReleases is sending notifications on new releases.