Releases: HenriquesLab/TaskRepo
Release v0.10.0
Full Changelog: v0.9.15...v0.10.0
Release v0.9.15
Full Changelog: v0.9.14...v0.9.15
Release v0.9.14
Fixed
- TUI sync conflict resolution: Fixed incorrect parameter type passed to conflict resolution
- TUI sync was passing
clickmodule instead of RichConsoleobject to_resolve_conflict_markers() - Caused "Error: print" message and left conflict markers unresolved in task files
- Resulted in YAML parsing errors when loading tasks with unresolved conflict markers
- Now properly creates Console instance before calling conflict resolution
- TUI sync was passing
Installation
Homebrew (macOS)
brew update
brew upgrade taskrepopip
pip install --upgrade taskrepouv
uv pip install --upgrade taskrepoRelease v0.9.13
Fixed
-
TUI display errors: Fixed XML/HTML parsing errors in task detail display
- Added HTML escaping for all user-generated content (titles, descriptions, etc.)
- Prevents crashes when task content contains special characters like
<,>,&
-
Conflict resolution display errors: Fixed Rich markup parsing errors
- Removed task ID from conflict display to prevent bracket interpretation issues
- Fixed empty style markup creating invalid patterns
-
Interactive conflict resolution: Fixed command hanging after user input
- Progress bars now stop during interactive prompts
- Prevents terminal I/O conflicts that caused hung state
-
Input validation: Added validation for conflict resolution choices
- Users can now only submit valid choices (L/R/N/M/E)
- Invalid input shows error message without submitting
-
Unfinished git merge handling: Sync now detects and resolves incomplete merges
- Automatically detects MERGE_HEAD file indicating unfinished merge
- Resolves remaining conflict markers before completing merge
- Prevents "You have not concluded your merge" errors
Release v0.9.12
Full Changelog: v0.9.11...v0.9.12
Release v0.9.11
Release Highlights
New Features
🎹 TUI Keybindings for Subtask and Extend
- Press to create a subtask under selected task with inherited defaults
- Press to extend/set due dates for single or multiple tasks
- Supports both absolute dates (tomorrow, 2025-11-15) and relative durations (1w, 2d)
- Instant return to TUI without "Press Enter" prompts
🤖 Automatic Conflict Resolution
- Sync now automatically resolves git conflict markers after pull
- Smart merge using "keep newer" strategy based on modified timestamp
- Eliminates need for manual conflict marker cleanup
- Works in both CLI sync and TUI sync
Bug Fixes
🛡️ Rich Markup Escaping
- Fixed crashes when task content or error messages contain special characters like
[/],[+] - Conflict resolver now properly escapes all user content
- Sync errors no longer cause crashes due to markup interpretation
🎨 TUI Improvements
- Removed redundant "Press Enter" prompt after sync completes
- Status bar now wraps on narrow terminals (supports up to 3 lines)
- Reorganized keybindings for better mnemonics:
[a]dd- Add new task (was[n]ew)[d]one- Mark as done (was[w])de[l]- Delete task (was[x])ar[v]hive- Archive task (was[a])ex[t]end- Extend/set due date (new)s[u]btask- Create subtask (new)t[r]ee- Toggle tree view (was[t])
Installation
macOS (Homebrew)
brew update
brew upgrade taskrepopip
pip install --upgrade taskrepouv
uv pip install --upgrade taskrepoFull Changelog: https://github.com/HenriquesLab/TaskRepo/blob/main/CHANGELOG.md
Release v0.9.10
Highlights
- Unexpected file detection in sync: Protect against accidentally committing non-task files with interactive prompt and .gitignore management
- TUI improvements: Better text contrast, smarter context-aware sync, streamlined archive workflow
- Default .gitignore: New repositories automatically include sensible .gitignore patterns
Added
- Unexpected file detection in sync: Protect against accidentally committing non-task files
- Detects and groups unexpected files by pattern (*.log, .vscode/*, etc.)
- Interactive prompt with 4 options: add to .gitignore, delete, commit anyway, or skip
- Default .gitignore automatically created for new repositories
- Covers common patterns: editor files, Python cache, OS files, temporary files
- Works in both CLI sync and TUI sync commands
- New utility module:
src/taskrepo/utils/file_validation.py
Fixed
-
TUI selected row contrast: Improved text readability on light backgrounds
- Changed selected row text from white to black for better contrast
- Fixes visibility issue where selected text was nearly invisible on light/white backgrounds
-
TUI archive prompt: Removed redundant "Press Enter" after confirming archive
- Archive operation now returns immediately after y/n confirmation
- Consistent with other quick operations like done and in-progress
-
TUI sync in project/assignee views: Fixed context-aware repository syncing
- Project view: Now syncs only repositories containing tasks in that project
- Assignee view: Now syncs only repositories with tasks for that assignee
- Shows count of repositories being synced (e.g., "Syncing 3 repos with project 'X'")
- More efficient - doesn't sync unrelated repositories
Improved
- Default repository setup: New repositories include sensible defaults
- Automatic .gitignore with common patterns
- Protects against committing .DS_Store, .vscode/, pycache/, etc.
Installation
# macOS (Homebrew)
brew update
brew upgrade taskrepo
# pip/pipx
pipx upgrade taskrepo
# OR
pip install --upgrade taskrepoRelease v0.9.9
Full Changelog: v0.9.8...v0.9.9
Release v0.9.8
Full Changelog: v0.9.7...v0.9.8
Release v0.9.7
Full Changelog: v0.9.6...v0.9.7