todo_lib 5.1.1

Collection of utilities for todo.txt format
Documentation
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