512 lines
18 KiB
Markdown
512 lines
18 KiB
Markdown
# 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/)
|
||
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
|
||
|
||
## [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
|
||
|
||
- 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/useage 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](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! )
|
||
|
||
## [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 `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)
|
||
|
||
## [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!
|
||
|
||
## [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.
|
||
|
||
[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
|
||
[2.8.0]: https://github.com/todotxt/todo.txt-cli/compare/v2.7.0...v2.8.0
|
||
[2.7.0]: https://github.com/todotxt/todo.txt-cli/compare/v2.6.0...v2.7.0
|
||
[2.6.0]: https://github.com/todotxt/todo.txt-cli/compare/v2.5.0...v2.6.0
|
||
[2.5.0]: https://github.com/todotxt/todo.txt-cli/compare/v2.4.0...v2.5.0
|
||
[2.4.0]: https://github.com/todotxt/todo.txt-cli/compare/v2.3.0...v2.4.0
|
||
[2.3.0]: https://github.com/todotxt/todo.txt-cli/compare/v2.2.0...v2.3.0
|
||
[2.2.0]: https://github.com/todotxt/todo.txt-cli/compare/v2.1.0...v2.2.0
|
||
[2.1.0]: https://github.com/todotxt/todo.txt-cli/compare/v2.0.1...v2.1.0
|
||
[2.0.1]: https://github.com/todotxt/todo.txt-cli/compare/v2.0.0...v2.0.1
|
||
[2.0.0]: https://github.com/todotxt/todo.txt-cli/compare/v1.7.3...v2.0.0
|
||
[1.7.3]: https://github.com/todotxt/todo.txt-cli/compare/v1.7.2...v1.7.3
|
||
[1.7.2]: https://github.com/todotxt/todo.txt-cli/compare/v1.7.1...v1.7.2
|
||
[1.7.1]: https://github.com/todotxt/todo.txt-cli/compare/v1.7.0...v1.7.1
|
||
[1.7.0]: https://github.com/todotxt/todo.txt-cli/compare/v1.6.3...v1.7.0
|
||
[1.6.3]: https://github.com/todotxt/todo.txt-cli/compare/v1.6.2...v1.6.3
|
||
[1.6.2]: https://github.com/todotxt/todo.txt-cli/compare/v1.6.1...v1.6.2
|
||
[1.6.1]: https://github.com/todotxt/todo.txt-cli/compare/v1.6.0...v1.6.1
|
||
[1.6.0]: https://github.com/todotxt/todo.txt-cli/compare/v1.5.2...v1.6.0
|
||
[1.5.2]: https://github.com/todotxt/todo.txt-cli/compare/v1.5.1...v1.5.2
|
||
[1.5.1]: https://github.com/todotxt/todo.txt-cli/compare/v1.5.0...v1.5.1
|
||
[1.5.0]: https://github.com/todotxt/todo.txt-cli/compare/v1.4.0...v1.5.0
|
||
[1.4.0]: https://github.com/todotxt/todo.txt-cli/compare/v1.3.0...v1.4.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
|
||
[#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
|