tdx v0.14.0
Organize projects through Markdown sections, integrate tdx with scripts using JSON, and edit with stronger preservation and conflict handling. This is a pre-1.0 release; there is no Rust rewrite.
What's new
- Sections and projects: press
sto browse, focus, fold, rename and create headings, including empty sections. PressSto show all tasks again. - Scripting:
tdx --file TASKS list --json --status open --tag backendreturns structured tasks. Filters also work with text output;--filesupports paths without a.mdextension. Use--for task text beginning with a dash. - International input: enter and paste Unicode in task, search, command and recent-file inputs, with correct cursor movement and deletion.
- Terminal updates: Bubble Tea and Lip Gloss v2, refreshed dependencies and reproducible development tools through mise.
Safer editing
- Checkbox-only edits to a freshly loaded file preserve surrounding Markdown bytes, frontmatter and line endings. Structural edits still normalize formatting and are not a general lossless Markdown round trip.
- Structural saves retain HTML blocks, table syntax and ordinary paragraph line breaks.
- Cancelling add, edit or move no longer discards an older entry at the 100-edit undo limit. Unsaved reorder snapshots remain intact.
- Tag and priority pickers refresh after edits, undo and reload.
- File watching defers reload during unfinished input, so another editor's changes still trigger a save conflict. Automatic history and guarded restore continue to protect previous contents, including when using file aliases.
- Fast search and command submissions use the current query even before the debounce timer fires.
Developer validation
A deterministic harness passed 36,000 actions representing 100 simulated hours, including 1,726 conflicting saves and 1,681 external reloads. Separate CLI and real-terminal contracts cover Unicode, read-only mode, resizing and history. Simulated time is accelerated workload accounting, not 100 wall-clock hours of endurance testing.
Loaded checkbox edits avoid repeated task/metadata extraction. The measured report separates this optimization from complete session latency and documents limitations for future Rust comparisons.
Install or upgrade
brew update
brew upgrade niklas-heer/tap/tdxFor a first Homebrew installation, use brew install niklas-heer/tap/tdx. Or install the current release directly:
curl -fsSL https://niklas-heer.github.io/tdx/install.sh | bashThe installer now defaults to ~/.local/bin; ensure it is on PATH. Use TDX_INSTALL_DIR for another directory, or TDX_VERSION=0.14.0 to pin this release. Users with an older /usr/local/bin/tdx should check command -v tdx so their shell runs the intended installation. On Windows, download tdx-windows-amd64.exe from this release.
Existing todo files and global configuration remain compatible. JSON indexes are positions rather than persistent IDs: re-query after structural or external edits before issuing a write. The JSON schema can still evolve during pre-1.0 development.
Contributors should use mise trust, mise run setup, and mise run check; mise replaces the previous task runner. The application uses Go 1.27.1. See development instructions and release procedures.