Skip to content

Latest commit

 

History

History
543 lines (369 loc) · 19.6 KB

CHANGELOG.md

File metadata and controls

543 lines (369 loc) · 19.6 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog and this project adheres to Semantic Versioning.

Added

  • TODOTXT_DEFAULT_ACTION now also allows action parameters (#159, #407)

2.13.0 - 2024-12-25

Added

  • listpri action allows concatenation of multiple priorities [-ranges]
  • replace action completely merges any combination of priority / date with existing (#386)
  • Check for broken symlinks to custom actions and complain (#359)

Changed

  • Add .sh extension to completion script
  • Reuse the todo.sh alias for completion
  • Return from user prompt without requiring Enter (#354)
  • Default to user writable directory in config (#148)

Fixed

  • Fix problem with spaces in directory path (#276)
  • pri action takes multiple items + priorities on single run (#346)

2.12.0 - 2020-08-11

Added

  • Added default priority variable TODOTXT_PRIORITY_ON_ADD (#246)
  • Added done option as alias of do (#169)
  • Added macOS 10.15.x support (#300)
  • Highlighting of dates, metadata and item numbers (#264)
  • Minimal config file / default filenames (todo.txt, done.txt, report.txt) (#289)
  • Enable file completion for add-on actions via _todo_file{1,2,3}_actions (#270)
  • Allow to customize what can be before / inside / after +project and @context (#271)

Changed

  • Read the task's name and uses as default (#249)
  • Updated interpreter reference to use environment variable (#160)
  • Allow setting of bash completion path (#301)

Fixes

  • Fixed no end-of-line bug. Supports todos with no end-of-line. (#295)

2.11.0 - 2018-03-26

Added

Changed

  • Updated add command to accept lowercase priority (#230)
  • Clean tests and version file in Makefile. Don't ignore errors in tests.
  • Updated README.md (#219)
  • Update Downloads links to point at the Releases page (#228)
  • Set the executable bit when preparing releases (#156)

Fixes

  • Update links to use https
  • Suppress todo.sh error messages when invoked during completion (#8)

2.10.0 - 2013-12-06

Added

  • 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).

Changed

  • Improve code commenting/documentation.
  • Refactor code for speed/better organization.
  • Improve test coverage and test library.

Removed

  • Removed add date from line completion, ie, todo.sh ls 10[tab].

Fixed

  • Properly replace date when replacing task with priority and date.
  • Handle -h, shorthelp, and help when a Fatal Error happens.
  • Fix todo_completion problem with Bash 3.1.

2.9.0 - 2012-04-08

Added

  • Added tab auto-completion of projects and contexts from todo.txt and done.txt. Type @<Tab> or +<Tab> 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

  • Fixed various cosmetic issues, bugs, and added developer test library enhancements.

2.8.0 - 2011-09-13

Added

  • 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.
  • Added support for todo directory paths with spaces in them.
  • 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.
  • Made more parameters available to offer more control to custom actions (-c, -A, -N, -T)

Changed

  • 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.
  • Improved script performance thanks to optimized code
  • Exposed cleaninput() for use in addons
  • 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

Fixed

  • Custom action output no longer prefaced by TODO: so it's easier to see when the core script vs. addon is performing an action
  • 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
  • Don't delete | (pipe) from task input
  • -+ and -@ no longer break task coloring if context or project appears at the end of the line

2.7.0 - 2010-08-03

Added

  • Added generalization of the PRI_X color support to all priorities
  • Added highlighting of done, but not yet archived tasks via COLOR_DONE
  • 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 (${color black})

Changed

  • Cleanup: help messages, consistent output messages
  • Exporting die() function for use in custom commands
  • prepend and replace actions keep prepended date, append considers sentence delimiters
  • Tests: several regression tests added

2.6.0 - 2010-05-11

Added

  • Added a case for the fixed replace command.

Changed

  • Changed odd tabs to spaces.
  • Faster help/usage document outputs.
  • Consolidated TODOTXT_VERBOSE tests.
  • Refactored various add functionality to one function.
  • Updated _list() output to match updated addto.

Fixed

  • Quoting regexp to parse properly.
  • Fixed erroneous hide/show comments.
  • Correctly fixed regexp quoting issue for bash v3.1.x and v3.2.x.
  • Old versions of bash do not have =~
  • Fix line endings.
  • Fixed bug for replace command.

2.5.0 - 2010-05-05

Added

  • Support use of $HOME/.todo/ for all todo.sh configuration
  • Added new multiple do capability to help message
  • Added option to disable final filter
  • Added a new variable $TODO_FULL_SH
  • Added new action addm
  • Added support PAGER pipe for help output
  • Added some additional mappings, plus a project context

Changed

  • Added 'silent' to a bunch of calls

Fixed

  • Fixing prepend and priority issue.
  • Replace with priority set
  • Multiple do items
  • prepend not correct on prioritized tasks
  • Invalid date range. Changed regex [ -~] to [ ~-].
  • do: no safeguard to do twice. Tests item is not marked done before attempting to mark item as "done".
  • Fixed add does not escape line breaks
  • append and replace unexpected behavior if there's an & in task (even in quotes)
  • Tasks whose ID begins with 0 ought to be ignored.
  • Fixed auto-complete function name for contexts

2.4.0 - 2009-05-11

Added

  • Added support for TODOTXT_FINAL_FILTER to provide a final custom list filter.
  • Added support for custom sorting (can set in todo.cfg)
  • Added parameterize for .todo.actions.d directory

Removed

  • Removed annoying trailing space on pri tasks
  • Don't set colors in default todo.cfg.
  • Don't set sort command in default todo.cfg.

Fixed

  • listcon and listproj now work correctly on Mac OS X 10.5
  • pri accepted priorities of more than a single letter
  • 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 ."
  • Replace now echoes old item AND new item, like it used to.
  • depri no longer wipes out tasks with more than just the priority in parentheses
  • Now throws an error if you try to prioritize with more than one letter, ie, todo.sh pri AA doesn't work any more.

2.3.0 - 2009-04-02

Added

  • Added hide priority, context, and projects options now enabled -P, -@ and -+
  • Enabled recursive call of todo.sh from add-ons
  • Exported variables for use in add-ons
  • Added -vv option for debugging output
  • Added short usage statement (that fits on one screen) with -h
  • Added Makefile dist infrastructure for versioned releases in Downloads area on GitHub

Changed

  • Separated _list function for reuse by various versions of list command to reduce duplicate code
  • Set ls as the default action

2.2.0 - 2009-03-??

Fixed

  • For awhile here during the GitHub transition, we stripped the version number from todo.sh and updated it kind of willy-nilly, so we're back-versioning all unversioned copies v 2.2.

2.1.0 - 2009-02-23

Added

  • Added "pluggability" with ~/.todo.actions.d/ support (via Tammy and Ed)
  • Added -t param, off by default. When specified, it automatically prepends the current date to new todo's on add
  • Searches for more Unix-y ~/.todo.cfg if ~/todo.cfg doesn't exist (via Ed)

Fixed

  • Corrected "ambiguous redirect" bug with done file (via Jeff)
  • Corrected usage and help message with new params
  • Corrected config file miscomment about colors

2.0.1 - 2009-02-17

Fixed

  • Restored -d parameter functionality broken in 2.0 (d'oh, thanks Jason, you made the changelog! )

2.0.0 - 2009-02-17

Added

  • Added addto [DEST] "Text to add" will append text to any file in the todo directory, like ideas.txt or maybelater.txt.
  • Added 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.
  • depri # removes priority from a task.
  • rm # [TERM] or del # [TERM] will delete just the [TERM] from the task on line # in todo.txt.
  • listfile [SRC] [TERM] or lf [SRC] [TERM] will list the contents of any text file in the todo directory, and filter by keyword [TERM].
  • listcon (lsc) and listproj (lsprj) lists contexts and projects, respectively, that appear in todo.txt. (Requires gawk)
  • On task deletion, line number preservation is on by default (known issue, leaves blank lines). Optional, can be turned off with -n option.
  • Auto-archive on task completion is now on by default; can be turned off with -a parameter.

Changed

  • Separated config file into a non hidden dot file.

Fixed

  • Better error handling throughout for all commands.
  • Archive now defrags the file (removes blank lines; see line preservation option.)
  • Using /bin/bash instead of /bin/sh

1.7.3 - 2006-07-29

Added

  • Added short action aliases – add/a, list/ls, listpri/lsp, listall/lsa, prepend/prep, append/app, del/rm

1.7.2 - 2006-07-28

Added

  • listpri automatically capitalizes lowercase priorities
  • listpri now displays friendly error message, and the # of tasks returned in verbose mode

Changed

  • do action removes priority from task automatically Update:

Fixed

  • Actions are now case-insensitive (ie, todo.sh Add will work)

1.7.1 - 2006-07-21

Changed

  • I'm a big dummy and didn't keep track of what I fixed here. Sorry!

1.7.0 - 2006-07-19

Added

  • Interactive add, append, prepend, and replace (tx, Ben!)
  • Action listall displays tasks from both todo.txt and done.txt
  • Option -f forces delete action and disables interactive input (for todobot.pl)
  • Option -h displays full help message.

Deprecated

  • Option -q deprecated; Use -v to turn on verbose mode

Changed

  • A very short version of usage message displays by default instead of the long version.
  • Comment in info about .todo file being required

Fixed

  • No colors display for done tasks (tx, Tanja!)
  • Sort is now case-insensitive (tx, Lonnie!)

1.6.3 - 2006-07-06

Added

  • Line numbers now padded, up to 100 characters. (tx, Tanja!)

1.6.2 - 2006-07-05

Fixed

  • Windows config files with spaces now work (tx Ron)

1.6.1 - 2006-07-05

Changed

  • The default location of your .todo file is now $HOME/.todo

Fixed

  • No colors mode (-p) now works as expected

1.6.0 - 2006-07-04

Added

  • Action prepend adds text to an item at the beginning of the line.
  • Configuration file is now separated from script into .todo file
  • Specify a config file other than .todo using the -d option
  • Option -q quiets todo.sh's chattiness.
  • Option -V shows version and license information.

Changed

  • The option to turn off colors is now -p (no longer -nc as in 1.5.2)

1.5.2 - 2006-06-26

Fixed

  • Items that start with x (an x with a space after) are archived now to avoid lines that start with a word like xander from being archived. (tx, Tannie!)
  • Report now only archives items that start with x as well.

1.5.1 - 2006-06-26

Fixed

  • Items with an x in them at all were being deleted on archive with 1.5; all fixed now.

1.5.0 - 2006-06-24

Added

  • Option to turn off colors (to avoid characters in piped text files or IM bot), ie todo.sh -nc [COMMAND]
  • A date is added to a completed todo, ie x 2006-06-24 (tx SETH)
  • Action remdup removes exact duplicate lines from todo.txt (tx Tannie)
  • Action del removes any blank lines from todo.txt (tx Tannie)

Changed

  • Using sed -i instead of copying tmp file (tx Tannie)

Fixed

  • Colors show in OS/X 10.4 (tx SETH & misha)

1.4.0 - 2006-06-17

Added

  • Tasks are color-coded by priority in Cygwin (Thanks, Abraham, Manuel and Luis!)

Changed

  • Switched endless if-then to a case statement, and tightened up wc -l regex. (Thanks, Sash!)

Fixed

  • 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!)

1.3.0 - 2006-05-29

Added

  • Displays the number of newly added todo (Thanks, Amy!)
  • Confirms whether or not you really want to delete a todo
  • Displays success messages and confirmations on append, replace, do, etc.
  • Added licensing information in comments. GPL, baby!

Changed

  • Alphabetized command workflow in if/then construction
  • Tightened up sed commands, removed unnecessary greps and cats (Thanks, Sash!)
  • Stripped whitespace around number lines from wc results

Removed

  • Removed filenames from report.txt format, for easier graphing or Excel imports.

Fixed

  • Todos are now sorted alphabetically when listed by a term. (ie: `todo list flowers)

1.2.0 - 2006-05-15

Added

  • list is case insensitive. ie, todo list Mac will match lines with "mac" and "Mac"

Changed

  • todo list matches multiple [TERM]s. ie, todo list mac offline will match all lines that contain the words "mac" and "offline"
  • 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.

Fixed

  • File "sanity checks" and cleanup function, test script and various fantastic stylistic improvements added. Extra big thanks to Karl!

1.1.0 - 2006-05-12

Added

  • Supports file paths with spaces (ie C:\Documents and Settings\gina\todo.txt)

1.0.0 - 2006-05-11

Added

  • Consolidated into one master script with usage notes and released.