2024-08-24 - version 7.2.2
[*] Update dependencies. Switch to 'thiserror' v2 from v1. Clippy fixes.
2024-08-24 - version 7.2.1
[*] Remove certain tags from a new task that is cloned from a completed
recurrent one. At this moment, the list of removed tags is short:
"tmr:" and "spent:".
2024-07-16 - version 7.2.0
[*] Add new API to complete tasks. The new API allows setting completion date
regardless of creation date presence. The new is `done_with_config`. The
old API `done` is still available but marked deprecated.
2024-02-14 - version 7.1.0
[*] Introduce new recurrency range: business days. Use 'b' to define the
number of days in the 'rec' tag. Example: 'rec:7b'.
At this moment, it skips only Saturdays and Sundays when calculating
the next day.
2023-08-31 - version 7.0.1
[*] It was not possible to use custom CompletionMode when call `done` and
`undone` in todo.rs
2023-08-30 - version 7.0.0
[!] Improve compatibility with todotxt rules:
Now task `complete` and `uncomplete` require an extra argument `CompletionMode`.
todo_lib::Conf got new field for the completion mode: `completion_mode`.
Details: https://github.com/todotxt/todo.txt#complete-tasks-2-format-rules
2023-08-21 - version 6.1.3
[*] Fix filtering any date field by a range when one end of the range is
'none'. The bug resulted in that, e.g., '--due none' and
'--due today..none' displayed the same output which included only tasks
that do not have due date set
2023-05-07 - version 6.1.2
[+] Remove a few debug println calls
2023-01-31 - version 6.1.1
[+] Fix building using 32-bit compilers
2023-01-29 - version 6.1.0
[+] Empty todos are skipped by default. To show them, use `--all` flag
2022-12-21 - version 6.0.0
[+] Add API to edit any tag in the subject. Standard tags are ignored
by the new API, use the existing specific functions to change due
date, threshold, and recurrence
[+] Add API for hashtags: add, remove, edit, filter
2022-08-30 - version 5.1.1
[*] Set creation date to today for new todo created for a recurrent task if
the original todo has creation date
[*] TodoStatus::All did not show todos with threshold later than today's date
2022-07-24 - version 5.1.0
[*] Fix updating recurrence for a normal todo item
2022-06-12 - version 5.0.0
[*] Replace 'failure' crate with 'thiserror' one
[*] Clippy fixes
2021-10-17 - version 4.0.0
[+] Threshold date also move forward like due dates when a todo is done
[*] Instead of modifying an existing todo with recurrence, "done" marks the
current todo completed and creates a new unfinished one with changed
due and threshold dates.
If a todo contains only recurrence but no due and threshold dates, the
todo is marked comleted and no new todo is created.
2021-10-14 - version 3.0.2
[*] When passing list of task IDs, the first task was always ignored
2021-10-13 - version 3.0.1
[*] Fix regression: filter "due=none..4d" did not show tasks with empty due
dates
2021-09-30 - version 3.0.0
[+] Implement exclude filter for projects, contexts, and tags
Breaking change: filter struct changed
2021-09-25 - version 2.1.1
[*] Ranges with "none" are inclusive now - as it was stated in docs.
2021-09-25 - version 2.1.0
[+] Threshold in filter is range [..today] by default. It makes all tasks with
threshold after today hidden.
2021-02-02 - version 2.0.0
[!] The todotxt low-level library is replaced with a new one
[*] Names of projects and contexts are case-sensitive now
[+] Tag order in todo's subject is preserved
[*] Completing todos with recurrence and threshold date does not change
threshold date
[+] Todo completion now follows strict flag of todo's recurrence. Depending on
the flag, the next due date is either calculated from previous due date or
from the current date
[*] Every tag must have a non-empty value. Changing tag's value to an empty
string removes the tag.
[*] if a todo is incomplete and has two dates in the beginning, only the first
date is parsed as a creation date. The second date becomes part of a subject
2020-12-27 - version 1.0.0
[+] New option to filter by 'tag'
2020-12-25 - version 0.5.2
[*] Make filter rules for threshold the same as for other date fields
2020-08-08 - version 0.5.1
[+] Support for 'none' in ranges: if one end of a range is 'none', the range
becomes an open range that combines two lists: todo with empty data and
todos that are in the open range.
Example: `--due=none..tomorrow` shows all todos that are overdue, due
today and tomorrow, and that does not have due date.
2020-07-25 - version 0.5.0
Breaking changes:
[+] Struct `tfilter::Due` is renamed to `tfilter::DateRange` as now todo_lib
supports filtering not only by due date, but by creation and finish dates
[*] Filter for due date did not support `Greater` condition
[+] Todos can be filtered by their creation and finish dates
2020-07-23 - version 0.4.0
[*] When a recurrent todo is done, its new due date is always set in the
future. If the todo has a treshold, it is corrected accordingly
2019-01-19 - version 0.3.2
[*] Allow to use '=' when setting sort order: '-s=pri' works the same as
'-s pri' and '--sort=pri'
2019-01-19 - version 0.3.0
[+] Timer support: start, stop timer for a todo, and related functions
[*] Marking a todo completed stops todo's timer if it is active
2019-01-04 - version 0.2.3
[+] New range for ID selection: List = list of IDs
2019-01-04 - version 0.2.2
[+] New option in config: `creation_date_auto` - automatically adds creation
date to a new todo if it does not have it in its subject
[+] New command line argument `--done` to load archived todos
2018-12-29 - version 0.2.0
[!] First release