12/6/2013 v 2.10
- Enable term filtering for listcon.
- Add make install command.
- Enable use of global config file in /etc/todo/config. make install installs a global config file.
- Allow use of post_filter_command for listall and listpri.
- Print usage help for custom action and all passed actions.
- Allow configuring null data files (done.txt and report.txt) and don’t create them.
- Color contexts and projects without an add-on, just by setting vars in the config file.
- Place add-ons in subfolders (for easier git clone).
- Handle -h, shorthelp and help when a Fatal Error happens.
- Properly replace date when replacing task with priority and date.
- Fix todo_completion problem with Bash 3.1.
- Improve code commenting/documentation.
- Refactor code for speed/better organization.
- Improve test coverage and test library.
- Remove add date from line completion, ie, todo.sh ls 10[tab].
4/8/2012 v 2.9
- Added tab auto-completion of projects and contexts from todo.txt and done.txt. Type @ or + while entering a task.
- Added new listaddons command displays installed addons.
- List priorities within a range using listpri. For example, to see tasks prioritized A-B, use todo.sh listpri A-B
- Fixed various cosmetic issues, bugs, and added developer test library enhancements.
9/13/2011 v 2.8
- User Enhancements
- listpri/lsp now filters by term. For example,
$ todo.sh lsp A book will only return tasks prioritized A with the word book in them.
- Improved portability for Dropbox or USB key users: If not specified, todo.sh checks for a config file in its own directory; default todo.txt location is todo.sh’s directory
- Tasks with priority included and auto prepend date on (-t) get the date where expected.
- Smarter action completion messaging: do, pri, and depri all let you know if a task is already done, prioritized, or deprioritized.
- Improved script performance thanks to optimized code
- Developer Enhancements
- Made more parameters available to offer more control to c?ustom actions (-c, -A, -N, -T)
- Exposed cleaninput() for use in addons
- Custom action output no longer prefaced by TODO: so it’s easier to see when the core script vs. addon is performing an action
- Improved testing framework:
- Better escaped input handling
- Abstracted make_action function to test custom action behavior
- Added tests for source code compliance
- Cleaner, simpler, modernized, optimized code
- listpri complains if specified priority is invalid
- Don’t abort task listing when items contain certain escape sequences (\c \033)
- Condense whitespace ONLY whe task is quoted; automatically convert CRLF to space
- Added support for todo directory paths with spaces in them
- Don’t delete | (pipe) from task input
- -+ and -@ no longer break task coloring if context or project appears at the end of the line
8/3/2010 v 2.7
- Cleanup: help messages, consistent output messages
- Added generalization of the PRI_X color support to all priorities
- Added highlighting of done, but not yet archived tasks via COLOR_DONE
- Exporting die() function for use in custom commands
- ‘prepend’ and ‘replace’ actions keep prepended date, ‘append’ considers sentence delimiters
- Color map (BLACK, …) now supports spaces in the color definitions, making it possible to override the default ANSI escape codes with e.g. Conky tags (
- Tests: several regression tests added
5/11/2010 v 2.6
5/5/2010 v 2.5
5/11/2009 v 2.4
- Cleanup: removing annoying trailing space on pri tasks
- Cleanup: Don’t set colors in default todo.cfg.
- Cleanup: Don’t set sort command in default todo.cfg.
- Added support for TODOTXT_FINAL_FILTER to provide a final custom list filter (a67d0de6254bed5f066e21f1cdcef5bbd8c34ec4)
- Added support for custom sorting (can set in todo.cfg)
- Added parameterize for .todo.actions.d directory
- Bugfix: listcon and listproj now work correctly on Mac OS X 10.5
- Bugfix: pri accepted priorities of more than a single letter
- Bugfix: support commands combination for TODOTXT_SORT_COMMAND; e.g. piped commands can be used: export TODOTXT_SORT_COMMAND=" env LC_COLLATE=C sort -f -k2 – | grep -m 10 .")
- Bugfix: Replace now echoes old item AND new item, like it used to
- Bugfix: Depri no longer wipes out tasks with more than just the priority in parentheses
- Bugfix: Now throws an error if you try to prioritize with more than one letter, ie, todo.sh pri AA doesn’t work any more.
- Tests: Several regression tests added.
4/2/2009 v 2.3
- Separated _list function for reuse by various versions of list command to reduce duplicate code
- Added Hide priority, context, and projects options now enabled -P, -@ and -+
- Exported variables for use in add-ons
- Enabled recursive call of todo.sh from add-ons
- Set ls as the default action
- Added -vv option for debugging output
- Various cleanup
- Added short usage statement (that fits on one screen) with -h
- Added Makefile dist infrastructure for versioned releases in Downloads area on GitHub
VERSION LISTED IN SCRIPT
3/2009 v 2.2 — NO
- For awhile here during the GitHub transition, we stripped the version # from todo.sh and updated it kind of willy-nilly, so we’re back-versioning all unversioned copies v 2.2.
2/23/2009 v 2.1
NEW FEATURE: Added “pluggability” with ~/.todo.actions.d/ support (tx Tammy http://tech.groups.yahoo.com/group/todotxt/message/1739 and Ed for pointing it out)
NEW FEATURE: Added -t param, off by default. When specified, it automatically prepends the current date to new todo’s on add
NEW FEATURE: Searches for more Unix-y ~/.todo.cfg if ~/todo.cfg doesn’t exist (tx Ed http://tech.groups.yahoo.com/group/todotxt/message/1767)
BUG FIX: Corrected “ambiguous redirect” bug with done file (tx Jeff http://tech.groups.yahoo.com/group/todotxt/message/1764)
BUG FIX: Corrected usage and help message with new params
BUG FIX: Corrected config file miscomment about colors
2/17/2009, v 2.0.1
BUG FIX: Restored -d parameter functionality broken in 2.0 (d’oh, thanks Jason, you made the changelog! )
2/17/2009, v 2.0
NEW COMMAND addto [DEST] “Text to add” will append text to any file in the todo directory, like ideas.txt or maybelater.txt.
NEW COMMAND mv # [DEST] will move a task from todo.txt to another file [DEST] in the todo directory, like if you decide your “Learn French” task should go into your maybelater.txt file.
NEW COMMAND depri # removes priority from a task.
NEW COMMAND rm/del # [TERM] will delete just the [TERM] from the task on line # in todo.txt.
NEW COMMAND: listfile | lf [SRC] [TERM] will list the contents of any text file in the todo directory, and filter by keyword [TERM].
NEW COMMAND: listcon | lsc and listproj | lsprj lists contexts and projects, respectively, that appear in todo.txt. (Requires gawk.)
NEW OPTION: On task deletion, line number preservation is on by default (known issue, leaves blank lines). Optional, can be turned off with -n option.
NEW OPTION: Autoarchive on task completion is now on by default; can be turned off with -a parameter.
FIX: Better error handling throughout for all commands.
FIX: Archive now defrags the file (removes blank lines; see line preservation option.)
FIX: using /bin/bash instead of /bin/sh
EASE OF USE CHANGE: Separated config file into a non hidden dot file.
7/29/2006, v 1.7.3
- Update: Added short action aliases – add/a, list/ls, listpri/lsp, listall/lsa, prepend/prep, append/app, del/rm
7/28/2006, v 1.7.2
- Update: do action removes priority from task automatically
- Update: actions are now case-insensitive (ie, todo.sh Add will work)
- Update: listpri automatically capitalizes lowercase priorities
- Update: listpri now displays friendly error message, and the # of tasks returned in verbose mode
7/21/2006, v 1.7.1
- I’m a big dummy and didn’t keep track of what I fixed here. Sorry!
7/19/2006, v 1.7
- New Feature: Interactive add, append, prepend and replace (tx, Ben!)
- New Feature: Option -f forces delete action and disables interactive input (for todobot.pl)
- New Feature: Action listall displays tasks from both todo.txt and done.txt
- New Feature: Option -h displays full help message.
- Update: A very short version of usage message displays by default instead of the long version.
- Update: -q option deprecated; Use -v to turn on verbose mode
- Bug fix: No colors display for done tasks (tx, Tanja!)
- Bug fix: Sort is now case-insensitive (tx, Lonnie!)
- Style: Comment in info about .todo file being required
7/6/2006, v 1.6.3
- New feature: Line numbers now padded (up to 100) (thanks, Tanja!)
7/5/2006, v 1.6.2
- Bug fix: Windows config files with spaces now work (tx Ron)
7/5/2006, v 1.6.1
- Bug fix: No colors mode (-p) now works as expected
- Change: The default location of your .todo file is now $HOME/.todo
7/4/2006, v 1.6
- New feature: New action prepend adds text to an item at the beginning of the line
- New feature: Configuration file is now separated from script into .todo file
- New feature: Specify a config file other than .todo using the -d option
- New feature: New option -q quiets todo.sh’s chattiness.
- New feature: New option -V shows version and license information.
- Change: The option to turn off colors is now -p (no longer -nc as in 1.5.2)
6/26/2006, v 1.5.2
- Bug fix: Items that start with "x " (no quotes, notice space after x) are archived now to avoid lines that start with a word like ‘xander’ from being archived. (tx, Tannie!)
- Bug fix: report now only archives items that start with "x " as well.
6/26/2006, v 1.5.1
- Bug fix: Items with an x in them at all were being deleted on archive with 1.5; all fixed now.
6/24/2006, v 1.5
- Bug fix: Colors show in OS/X 10.4 (tx SETH & misha)
- New feature: Option to turn off colors (to avoid characters in piped text files or IM bot), ie todo -nc listpri
- New feature: A date is added to a completed todo, ie x 2006-06-24 (tx SETH)
- New feature: remdup action added which removes exact duplicate lines from todo.txt (tx Tannie)
- New feature: del action now removes any blank lines from todo.txt (tx Tannie)
- Style: Using sed -i instead of copying tmp file (tx Tannie)
6/17/2006, v 1.4
- New feature: Tasks are color-coded by priority in Cygwin (Thanks, Abraham, Manuel and Luis!)
- Bug fix: If you replace/do/append to a non-existent task, your todo.txt is no longer overwritten and the error is handled gracefully. (Thanks, Scott!)
- Style: Switched endless if-then’s to a case statement, and tightened up wc -l regex. (Thanks, Sash!)
5/29/2006, v 1.3
- Bug fix: Todo’s are now sorted alphabetically when listed by a term, ie, todo list flowers
- New feature: Displays the number of newly added todo (Thanks, Amy!)
- New feature: Confirms whether or not you really want to delete a todo
- New feature: Displays success messages and confirmations on append, replace, do, etc.
- Style: Alphabetized command workflow in if/then construction
- Style: Tightened up sed commands, removed unnecessary grep’s and cat’s (Thanks, Sash!)
- Style: Added licensing information in comments – (GPL, baby!)
- Style: Stripped whitespace around number lines from wc results
- Change: Removed filenames from report.txt format (for easier graphing or Excel imports)
5/15/2006, v 1.2
- todo list matches multiple TERMs, ie, todo list mac offline will match all lines that contain the words “mac” and “offline”
- list is case insenstive, ie, todo list Mac will match lines with “mac” and “Mac” in them
- repri and pri actions combined into pri action (Thanks Mike!)
- quotes no longer required with add and replace (Thanks Karl!)
- any priority added to a todo must be uppercase to preserve sort order, enforced now, ie todo pri 1 a will return a usage error.
- file “sanity checks” and cleanup function, test script and various fantastic stylistic improvements added. Extra big thanks to Karl!
5/12/2006, v 1.1.
- Supports file paths with spaces (ie “C:\Documents and Settings\gina\todo.txt”
5/11/2006, v 1.0.
- Consolidated into one master script with usage notes and released.