v1.48.0
Added
- Task types — new
typefield on tasks, supported end-to-end: core model & persistence (#720), CLI (#747), MCPtask_create/task_edit(#728), type filtering (#748), TUI board & detail views (#750), and web UI display/editing (#751) - Task deep links —
/tasks/:idURLs in board and list views, with hardening for task identity, focus, and legacy ID routes (#755 by @u-ichi) - Duplicate task ID detection and recovery — warns about duplicate IDs (#632 by @brooksc, #740) with a human-first
backlog doctorrepair flow (#749); the warning now also appears persistently in the interactive TUI task list (#781) - User-defined priority values beyond high/medium/low via config (#743)
- Deterministic checklist editing — repeatable
--acceptance-criteriareplaces the whole checklist (commas preserved as content),--acstays additive, new--clear-acfor atomic clears, ambiguous flag combinations rejected, malformed AC/DoD markers fail closed with repair guidance (#779) --exclude-statusfiltering for task list and search (#745)- Creation-date sorting in the board column menu (#744) and ordinal sorting in task list views (#645 by @raincrossgazette)
- Unassigned-task filtering in CLI and MCP (#725)
--plainsupport fordoc view(#729 by @dleopold)- Folder grouping for docs in the web UI (#674 by @zhuohoudeputao)
- Config option to hide empty board status columns (#660 by @napter)
- Port-congestion handling for
backlog browser— offers the next free port instead of failing (#651 by @lenucksi) - Version metadata embedded in shipped agent instruction files (#726)
Changed
dateFormatconfig is honored consistently in displays (#722); task dates display consistently as UTC in TUI, plain output, and MCP (#672)- Browser UI bundling modernized to a Bun-native full-stack build; the compiled binary embeds the React app and assets directly from source (#737)
- Browser label filters sorted alphabetically (#742); web milestone cards sorted in creation order (#644 by @raincrossgazette)
- Acceptance criteria numbers shown in browser task detail (#714)
Fixed
- Port availability probe was a no-op on macOS, so port-congestion handling never triggered and two
backlog browserinstances could silently share a port (#780) - Duplicate task ID warnings were invisible in the default interactive TUI task-list view (#781)
- Block-style YAML lists for
statuses/labels/types/prioritieswere silently ignored inconfig.yml;config setguidance for list keys referenced a nonexistent command (#782) - Subtask ordering in "All Tasks" ID sort (#741)
- TUI completion status not updating (#708, #724)
- Stale ContentStore refreshes overwriting newer state (#757)
updated_dateno longer bumped by ordinal-only reorders (#715)- In-document markdown hash links (#713)
- Unsaved web drafts preserved across file refreshes (#705)
- Task ID allocation across git worktrees (#710); cross-branch task hydration commit pinning (#696 by @rvdbreemen); committed worktree branch cache refresh (#706)
- Binary resolution on Apple Silicon under Rosetta/arch mismatch (#721)
EEXISTerrors inensureBacklogStructureon Windows OneDrive (#656 by @GregoryFerraz)- Repeated
task editlabel flags (#693)
Docs & agent guidance
- Added the Backlog.md manifesto; README reworked into a landing page centered on the review-surface value proposition
- Agent workflow guidance: just-in-time implementation planning (#776), stronger emphasis on reading detailed guides (#718), better experience for weaker local models (#735),
npx backlog.mdusage (#717), shell quoting for literal backticks (#704), issue-first PR process (#703)