diff --git a/CHANGELOG.md b/CHANGELOG.md index f997ac50..dde4cee8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,5 @@ # Changelog + All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) @@ -6,27 +7,53 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. ## [Unreleased] +## [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 + - Added support for `$XDG_CONFIG_HOME` config file/actions location - Created [CODE_OF_CONDUCT.md](.github/CODE_OF_CONDUCT.md) ([#217]) - Created [CHANGELOG.md](/CHANGELOG.md) ([#218]) - ### 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](/README.md) ([#219]) - Update Downloads links to point at the Releases page ([#228]) - Set the executable bit when preparing releases ([#156]) -### Fixes +### 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. @@ -39,37 +66,45 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - 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 `@` 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 -- Fixed various cosmetic issues, bugs, and added developer test library enhancements. +- 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. +- 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 @@ -80,6 +115,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - 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`) @@ -87,24 +123,29 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - 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* +- 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/useage document outputs. - Consolidated `TODOTXT_VERBOSE` tests. @@ -112,6 +153,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - 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. @@ -120,7 +162,9 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - 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 @@ -130,42 +174,49 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - 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 `[ ~-]`. +- 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 ."` +- 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 @@ -174,34 +225,40 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - 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. +- 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](http://tech.groups.yahoo.com/group/todotxt/message/1739)) - 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](http://tech.groups.yahoo.com/group/todotxt/message/1767)) ### Fixed + - Corrected "ambiguous redirect" bug with done file (via [Jeff](http://tech.groups.yahoo.com/group/todotxt/message/1764)) - 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! ) +- 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. @@ -212,76 +269,92 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - 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` +- 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) +- 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! +- 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!) +- 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) +- 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 +- 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 @@ -289,89 +362,107 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - 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) +- 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. +- 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) +- 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!) +- 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 `grep`s and `cat`s (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) +- Todos are now sorted alphabetically when listed by a term. (ie: `todo list flowers) ## [1.2.0] - 2006-05-15 + ### Added + - `list` is case insenstive. 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! +- 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`) +- 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. +- Consolidated into one master script with usage notes and released. -[Unreleased]: https://github.com/todotxt/todo.txt-cli/compare/v2.11.0...HEAD +[Unreleased]: https://github.com/todotxt/todo.txt-cli/compare/v2.12.0...HEAD +[2.12.0]: https://github.com/todotxt/todo.txt-cli/compare/v2.11.0...v2.12.0 [2.11.0]: https://github.com/todotxt/todo.txt-cli/compare/v2.10.0...v2.11.0 [2.10.0]: https://github.com/todotxt/todo.txt-cli/compare/v2.9.0...v2.10.0 [2.9.0]: https://github.com/todotxt/todo.txt-cli/compare/v2.8.0...v2.9.0 @@ -400,11 +491,21 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. [1.3.0]: https://github.com/todotxt/todo.txt-cli/compare/v1.2.0...v1.3.0 [1.2.0]: https://github.com/todotxt/todo.txt-cli/compare/v1.1.0...v1.2.0 [1.1.0]: https://github.com/todotxt/todo.txt-cli/compare/v1.0.0...v1.1.0 - -[#230]: https://github.com/todotxt/todo.txt-cli/pull/230 -[#228]: https://github.com/todotxt/todo.txt-cli/pull/228 -[#219]: https://github.com/todotxt/todo.txt-cli/pull/219 -[#218]: https://github.com/todotxt/todo.txt-cli/pull/218 -[#217]: https://github.com/todotxt/todo.txt-cli/pull/217 -[#156]: https://github.com/todotxt/todo.txt-cli/pull/156 [#8]: https://github.com/todotxt/todo.txt-cli/pull/8 +[#156]: https://github.com/todotxt/todo.txt-cli/pull/156 +[#160]: https://github.com/todotxt/todo.txt-cli/pull/160 +[#169]: https://github.com/todotxt/todo.txt-cli/pull/169 +[#217]: https://github.com/todotxt/todo.txt-cli/pull/217 +[#218]: https://github.com/todotxt/todo.txt-cli/pull/218 +[#219]: https://github.com/todotxt/todo.txt-cli/pull/219 +[#228]: https://github.com/todotxt/todo.txt-cli/pull/228 +[#230]: https://github.com/todotxt/todo.txt-cli/pull/230 +[#246]: https://github.com/todotxt/todo.txt-cli/pull/246 +[#249]: https://github.com/todotxt/todo.txt-cli/pull/249 +[#264]: https://github.com/todotxt/todo.txt-cli/pull/264 +[#270]: https://github.com/todotxt/todo.txt-cli/pull/270 +[#271]: https://github.com/todotxt/todo.txt-cli/pull/271 +[#289]: https://github.com/todotxt/todo.txt-cli/pull/289 +[#295]: https://github.com/todotxt/todo.txt-cli/pull/295 +[#300]: https://github.com/todotxt/todo.txt-cli/pull/300 +[#301]: https://github.com/todotxt/todo.txt-cli/pull/301