Releases: marcus/td
Releases · marcus/td
v0.44.0
Changelog
- d452eda Add pre-commit hook and make install-hooks target (#52)
- 7902b29 Fix closed_at timestamp to use current time on approve/close (#55)
- 14ecf26 Implement balanced review policy
- 22d2cae Merge pull request #88 from marcus/dispatch/td-377aae-0004
- e0b7c2d Merge pull request #89 from marcus/dispatch/td-79fac9-0004
- ee04010 Merge pull request #91 from marcus/dispatch/td-527bd4-0006
- c908faf Merge remote-tracking branch 'origin/main'
- f238e66 Merge sqlite/fk-audit
- 6d4abf7 Merge sqlite/monitor-pool-diagnostics
- 6d68f92 Merge sqlite/opener-checkpoint
- 286ab4d Merge td-0001eb: remove redundant manual cascade in events.go
- f312299 Merge td-4846e6: enable foreign_keys=ON + migration 30 FK cleanup
- 057b350 [td-377aae] Review commands: clarify stale concurrent transitions
- ea3961d [td-527bd4] Clean up Dispatch worktrees page search, filters, and row density
- bb8a928 [td-79fac9] Show colored status line at top of td issue detail modal
- 9913594 feat(db): add foreign-key orphan audit (td-b8dd0d)
- 4c083c6 feat(db): enable foreign_keys=ON + cleanup migration (td-4846e6)
- 54b122e feat(monitor): add dbpool ref-count diagnostics (td-ef482d)
- 7f4f57e feat(monitor): add scroll support to form modal
- d91e007 feat: add issue detail status line (td-79fac9)
- b9717f9 feat: add rich text file input for issues (td-a7ff5e)
- ed3d818 feat: add search/filter to help modal (press / to filter) (#25)
- 868a7ea feat: increase default title max length from 100 to 200 characters (td-9fa24f)
- 5f8a5e1 feat: support repeated flags for multi-value fields in create/update commands (td-9e72f1)
- c4882eb fix(monitor): correct formatIssueShort overhead calculation (#53)
- 17b8afb fix(review): address three review policy quality gaps
- baa9b23 fix(sync): clear child parent links on hard delete (td-4846e6)
- 581073e fix: 12 verified bug fixes across CLI, sync, DB, API, and security
- f6db15c fix: 12 verified bug fixes across CLI, sync, DB, API, and security (#69)
- d5183ea fix: 12 verified bug fixes across DB, API, TUI, and timezone handling (#70)
- bbd5b5f fix: 14 verified bug fixes across sync, DB, monitor, and CLI (#68)
- d67361c fix: add missing -l shorthand for multivalue flags (td-9e72f1)
- 14b9f3e fix: add rows.Err() checks after all query scan loops
- ba427ea fix: add work_session_issues to baseSyncableEntities
- 01faf53 fix: align review loop epic resolution and guidance (td-90f95e)
- 5deb4b5 fix: allow td close on throwaway issues (td-0dba2d)
- 93ea77c fix: apply auto lint fixes across codebase
- 1507bbd fix: atomic lossless import with full data preservation (#65)
- 2d5e8ee fix: copy board struct before goroutine mutation in board editor save
- 98e247b fix: deep copy StatusFilter map to prevent data race in fetchBoardIssues
- 3770cff fix: expose td list filters in HTTP API (td-e24ae7)
- f4c24fe fix: flush copyFile output with Sync() before closing
- f0794e9 fix: handle all timestamp formats in parseTimestamp and GetRecentConflicts
- 08d4a91 fix: handle non-UTC and monotonic timestamps in parseTimestamp
- 2a5eddf fix: handle stale review transitions safely (td-377aae)
- e73c752 fix: make EPIC_IDS=. review loop consistent (td-2b41b2)
- f0d3f93 fix: mobile navbar sidebar hidden behind secondary panel (#54)
- 0d11d63 fix: pass allow-all validator to ApplyRemoteEvents in SSE path
- 8d6e75b fix: prevent snapshot serve race when cache rename fails
- 6f24525 fix: recognize reasoned review transitions (td-377aae)
- 53f499a fix: reduce noisy review auto-handoff warning (td-db1f2a)
- bc4d80f fix: reload syncState after push in autoSyncOnce
- d2f3b6b fix: resolve td list epic filters (td-bbae8f)
- 7749230 fix: restore all fields and associated data on import (fixes #64)
- 1aeee8a fix: restrict CLI reject to in_review status only
- 0fdfddd fix: show "5+" instead of capped count in board editor query preview
- 2213436 fix: stabilize EPIC_IDS dot review flow (td-852eba)
- f5e9841 fix: use atomic RestoreIssueLogged for undo delete
- 2fd8f4d fix: use newest stale transition context (td-377aae)
- 60d8c67 fix: use rune-aware slicing for HelpFilter backspace
- 6549720 fix: wrap migrateFilePathsToRelative in transaction
- 4da81ac refactor(db): centralize SQLite opener, switch shutdown checkpoints to PASSIVE, document withWriteLock scope
- b08f491 refactor(sync): remove manual cascade emulation now that schema enforces FK (td-0001eb)
v0.43.0
Changelog
- 581073e fix: 12 verified bug fixes across CLI, sync, DB, API, and security
- f6db15c fix: 12 verified bug fixes across CLI, sync, DB, API, and security (#69)
- d5183ea fix: 12 verified bug fixes across DB, API, TUI, and timezone handling (#70)
- 1507bbd fix: atomic lossless import with full data preservation (#65)
v0.42.2
Changelog
- bbd5b5f fix: 14 verified bug fixes across sync, DB, monitor, and CLI (#68)
- 14b9f3e fix: add rows.Err() checks after all query scan loops
- ba427ea fix: add work_session_issues to baseSyncableEntities
- 2d5e8ee fix: copy board struct before goroutine mutation in board editor save
- 98e247b fix: deep copy StatusFilter map to prevent data race in fetchBoardIssues
- f4c24fe fix: flush copyFile output with Sync() before closing
- f0794e9 fix: handle all timestamp formats in parseTimestamp and GetRecentConflicts
- 08d4a91 fix: handle non-UTC and monotonic timestamps in parseTimestamp
- 0d11d63 fix: pass allow-all validator to ApplyRemoteEvents in SSE path
- 8d6e75b fix: prevent snapshot serve race when cache rename fails
- bc4d80f fix: reload syncState after push in autoSyncOnce
- 1aeee8a fix: restrict CLI reject to in_review status only
- 0fdfddd fix: show "5+" instead of capped count in board editor query preview
- f5e9841 fix: use atomic RestoreIssueLogged for undo delete
- 60d8c67 fix: use rune-aware slicing for HelpFilter backspace
- 6549720 fix: wrap migrateFilePathsToRelative in transaction
v0.42.1
v0.42.0
v0.41.0
v0.40.0
v0.39.0
Changelog
- fa58037 Changes from code review
- 15f3cfb Docs
- d4f3459 Merge branch 'td-serve' into main
- d13c707 Merge fix/issue-34: exclude tasks with open dependencies from ready/next (#34)
- 713066b Merge pull request #50 from marcus/fix/issue-49
- fe23727 feat(serve): add port file management and session bootstrap (td-7b42b0)
- ae164f7 feat(serve): add response envelope, DTOs, and validation helpers (td-43e8c6)
- ed60079 feat(serve): add server skeleton, middleware, and cobra command (td-90bad6)
- f7747e0 feat(serve): implement SSE events and post-write broadcast (td-c90c31)
- 48e3069 feat(serve): implement board CRUD and position endpoints (td-0322d8)
- 37bf680 feat(serve): implement comments, dependencies, and focus endpoints (td-9cd917)
- e56b841 feat(serve): implement issue CRUD endpoints (td-b18549)
- 484cb13 feat(serve): implement read endpoints (td-be4d38)
- fd3523f feat(serve): implement status transition endpoints (td-a7854c)
- 4eff475 fix(db): normalize action_log timestamp writes to RFC3339Nano UTC (#43)
- c395a97 fix(sync): prevent dependency divergence from phantom deletes and double normalization
- 054a024 fix: exclude tasks with open dependencies from ready/next (#34)
- cbc50e7 fix: support full agent file family (GEMINI.md, CLAUDE.local.md, etc) #49
- e9813af fix: td reject resets issues to open instead of in_progress (#45) (#47)
- 611ac8a test(serve): add core integration tests for health, issues, transitions (td-b2e9f0)
- abed820 test(serve): add integration tests for comments, deps, boards, focus, SSE (td-917183)
v0.38.0
Changelog
- 54ed1bb Merge pull request #26 from FredLackey/main
- 1bb794f Merge pull request #35 from yashas-salankimatt/approve-in-review-fix
- be155ad feat: add adaptive activity detail modal for td monitor
- 1496dd8 fix: activity detail modal button hit areas, conditional open issue button, esc to close (td-a02950)
- d8eab8f fix: activity detail modal keyboard routing and button hit areas
- bf3f76f fix: approveIssue() uses wrong data source in board/swimlanes view
- caaaf2a fix: modal hit area offset — title blank line missing from rendered output (td-a02950)
v0.37.0
Changelog
- 10a2235 Merge branch 'board-view-scroll-fix'
- 9ceac6b Merge branch 'extended-category-view' into td-tasks-kanban-view
- 47f14f1 Merge branch 'fix/board-refresh'
- a73d5e9 Merge branch 'main' into td-tasks-kanban-view
- 5f6ff62 Merge branch 'task-modal-autofill-edit-status'
- 68a3ae0 Merge fix/board-refresh into main
- b904ab8 Merge remote-tracking branch 'fork/main'
- 4dbb54d Merge task-modal-autofill-edit-status into main
- 43c6a34 feat: add --work-dir flag and TD_WORK_DIR env var with .td-root integration (td-fa7e6f)
- 15b03e8 feat: add IN_PROGRESS and PENDING_REVIEW categories to board view
- d58fe16 feat: add InProgress and PendingReview columns to kanban view
- 13cc831 feat: add defer_until/due_date/defer_count to Issue model and all DB operations
- 2dadd1b feat: add directory associations for automatic project resolution
- 7ffcdb9 feat: add event taxonomy normalizer with backward-compatibility validation
- 38eb473 feat: add kanban board view for tasks
- 1b3a3ea feat: add migration 29 (defer_until, due_date, defer_count) and date parser
- ff0f3fb feat: add per-column scrolling and fullscreen mode to kanban view
- eab38fd feat: add td defer, td due commands and --defer/--due flags on create/update
- fdbe132 feat: add td list temporal filters, defer fields in JSON/display, sync roundtrip tests
- 77611e3 feat: autofill dropdowns for parent epic and dependencies fields (td-bdee5b)
- 0640db1 feat: display defer_until, due_date, defer_count in monitor task modal
- 2a082eb fix: account for down indicator in swimlane scroll walk-back
- b696faa fix: board view not refreshing after task creation
- ac45e62 fix: board view not refreshing after task creation and actions
- 29579fd fix: board view scroll height calculation mismatch (td-39946d)
- a37b377 fix: correct swimlane separator logic and add edge case tests
- ef26b50 fix: remove accidentally committed .td-root file
- 1653f43 fix: remove accidentally committed .td-root file
- a476307 fix: use display lines for swimlane needsScroll calculation