Skip to content

Releases: HenriquesLab/TaskRepo

Release v0.9.12

31 Oct 14:28

Choose a tag to compare

Release v0.9.11

30 Oct 17:53

Choose a tag to compare

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 taskrepo

pip

pip install --upgrade taskrepo

uv

uv pip install --upgrade taskrepo

Full Changelog: https://github.com/HenriquesLab/TaskRepo/blob/main/CHANGELOG.md

Release v0.9.10

30 Oct 15:56

Choose a tag to compare

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 taskrepo

Release v0.9.9

29 Oct 21:38

Choose a tag to compare

Release v0.9.8

29 Oct 11:25

Choose a tag to compare

Release v0.9.7

29 Oct 10:14

Choose a tag to compare

Release v0.9.6

29 Oct 10:08

Choose a tag to compare

Release v0.9.5

29 Oct 10:01

Choose a tag to compare

Release v0.9.4

27 Oct 17:52

Choose a tag to compare

Release v0.9.3

27 Oct 17:48

Choose a tag to compare