ttdl 5.1.2

TTDL - Terminal ToDo List manager
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
ttdl (5.1.2) unstable; urgency=medium

  *  Added optional highlight for markdown format. The feature was implemented
     by @83noit (Benoit Brard).

 -- Vladimir Markelov <vmatroskin@gmail.com>  Sun, 15 Mar 2026 19:51:10 -0700

ttdl (5.0.0) unstable; urgency=medium

  *  Move toml crate from 0.x up to 1.x version
  *  Bump all other crates including todo_lib
  *  Major code cleanup: removed all custom-related code as todo_lib already
     provides the same features
  *  Instead of manual filtering tasks with custom filter, just pass the
     filter value directly to thenew todo_lib
  *  There were no new features or any changes, but due to huge code
     refactoring I changed the major version 5.0.0

 -- Vladimir Markelov <vmatroskin@gmail.com>  Thu, 12 Mar 2026 20:59:47 -0700

ttdl (4.25.1) unstable; urgency=medium

  *  Two new special case for the agenda output added: a special mark when a
     task starts after its time slot starts and when a task ends before its
     last time slot ends

 -- Vladimir Markelov <vmatroskin@gmail.com>  Sun, 08 Mar 2026 13:34:47 -0700

ttdl (4.25.0) unstable; urgency=medium

  *  New command-line option `--resolution` for the command `done`. If it
     passsed in the command line, its value appended to completed tasks

 -- Vladimir Markelov <vmatroskin@gmail.com>  Fri, 06 Mar 2026 20:33:51 -0800

ttdl (4.24.4) unstable; urgency=medium

  *  Agenda output supports option `--syntax`

 -- Vladimir Markelov <vmatroskin@gmail.com>  Wed, 04 Mar 2026 19:47:06 -0800

ttdl (4.24.3) unstable; urgency=medium

  *  Agenda output supports option `--hide-fields`

 -- Vladimir Markelov <vmatroskin@gmail.com>  Wed, 04 Mar 2026 19:23:34 -0800

ttdl (4.24.2) unstable; urgency=medium

  *  Agenda configuration did not work (except 'marks' option)
  *  New option `--no-hide-all-day` for case when it is `true` in the config

 -- Vladimir Markelov <vmatroskin@gmail.com>  Wed, 04 Mar 2026 18:53:52 -0800

ttdl (4.24.0) unstable; urgency=medium

  *  New top-level command `agenda` to show a selected day as an organizer
     with all day's task at a time line

 -- Vladimir Markelov <vmatroskin@gmail.com>  Mon, 02 Mar 2026 21:33:40 -0800

ttdl (4.23.0) unstable; urgency=medium

  *  Added short option `-f` for `--filter`
  *  Now a free argument in the list mode is treated as the filter. It means
     that it supports negation. E.g, `ttdl l -value` means the same as
     `ttdl l --filter subj=-value` or `ttdl l -f -subj=value`
  *  Filter now supports regular expressions for all string-like fields. Pass
     the command-line option `-e` (`--use-regex`) to enable regular
     expressions. Though, there are some incompatibilies: as regex uses `|`
     internally, you cannot use the same character for list of fiters. Use the
     character `~` instead. But in regular mode, the character `|` works as
     before. Example: in regular mode you can write `-f subj=val1|subj=val2`
     but in regex it must be `-e -f subj=val1~subj=val2`.
     Regex search is case-insensitive like a regular one.

 -- Vladimir Markelov <vmatroskin@gmail.com>  Mon, 16 Feb 2026 16:19:38 -0800

ttdl (4.22.0) unstable; urgency=medium

  *  New command-line option to set the display format for dates:
     `--date-format`. It supports `default`, `short`, `human`, and
     custom format string.
  *  Display format for dates can be defined in the configuration file.
     Section `global`, option `date_format`.

 -- Vladimir Markelov <vmatroskin@gmail.com>  Thu, 05 Feb 2026 20:28:16 -0800

ttdl (4.21.0) unstable; urgency=medium

  *  Fixed bug when printing a task when custom columns are defined in the
     configuration file. The width of the colum affected the task but never
     affected the header. It resulted in that column titles in the header and
     task column values did not match
  *  Improved custom columns output: in case of a custom string column's width
     is set to zero in the config, the width is calculated as the maximum
     width of all values of the tag and column title. Before the fix, the
     width defaulted to 15.

 -- Vladimir Markelov <vmatroskin@gmail.com>  Mon, 22 Dec 2025 19:05:45 -0800

ttdl (4.20.0) unstable; urgency=medium

  *  Option `--filter-tag` is renamed to `--filter` due to the latest changes.
     Both options are still available, `filter-tag` is marked deprecated.
  *  Filtering is vastly improved: `--filter`(`--filter-tag`) now supports
     all fields in conditions. You can use tags, hashtags, and special fields.
     For string tags you can use basic pattern matching: add `*` to the end,
     beginning or to both ends.

 -- Vladimir Markelov <vmatroskin@gmail.com>  Sun, 14 Dec 2025 15:20:42 -0800

ttdl (4.19.1) unstable; urgency=medium

  *  Remove debug output when filtering a task list

 -- Vladimir Markelov <vmatroskin@gmail.com>  Fri, 12 Dec 2025 13:30:23 -0800

ttdl (4.19.0) unstable; urgency=medium

  *  The option `--filter-tag` now supports negative condition. Add `-` before
     the tag name to negate the condition. Also you can use `-` as a synonym
     for `none`: `--filter-tag "tag=-"` is the same as `--filter-tag
      "tag=none"` and the same as `--filter-tag "-tag"`.
     Instead of `-` you can use `!`: `--filter-tag "!tag=value"`

 -- Vladimir Markelov <vmatroskin@gmail.com>  Wed, 10 Dec 2025 23:02:14 -0800

ttdl (4.18.0) unstable; urgency=medium

  *  New option `--hide-fields` to hide a tag in description and the
     corresponding colum. If you need to hide some fields always, modify TTDL
     configuration file - edit `global.hide_fields` in `ttdl.toml`.

 -- Vladimir Markelov <vmatroskin@gmail.com>  Sun, 07 Dec 2025 11:58:47 -0800

ttdl (4.17.0) unstable; urgency=medium

  *  New option `--update-threshold` for the command `postpone`. By default
     task's threshold date does not change when you postpone the task. This
     option enables updating the threshold date when a task is postponed.

 -- Vladimir Markelov <vmatroskin@gmail.com>  Sat, 22 Nov 2025 23:50:29 -0800

ttdl (4.16.0) unstable; urgency=medium

  *  Improve filtering by custom tags: now you can combine filters by OR. E.g,
     "due=..yesterday|due=today;d_time=..1200" filters tasks that have either
    due date before today or ones that have due date today and d_time<=12:00

 -- Vladimir Markelov <vmatroskin@gmail.com>  Wed, 19 Nov 2025 21:56:39 -0800

ttdl (4.15.1) unstable; urgency=medium

  *  Fix new tag filtering: now ranges with `none` at any end include tasks
     that have the tag missing
  *  Fix `--set-rec` when a new type of recurrence(weekdays) is used

 -- Vladimir Markelov <vmatroskin@gmail.com>  Mon, 17 Nov 2025 21:59:55 -0800

ttdl (4.15.0) unstable; urgency=medium

  *  New command-line option `-H` or `--no-headers` to suppress printing the
     task list header and footer
  *  New recurrence type: every week on one or more weekdays. Example:
     `rec:tue,fri due:2025-11-05` makes a task that is due every week on
     Tuesdays and Fridays starting from `2025-11-05`. Note that the first due
     date is not required to be Tuesday or Friday. This kind of tasks are
     always treated as a strict one when postponing.
  *  Added custom filter by any tag or set of tags. A new option
     `--filter-tag` is added for this. Use list of values or ranges to filter
     the task list. Note that it cannot filter by entities that are not tags.
     In other words, you can filter by `due` date but you cannot filter by
     project or context. Example:
     `--filter-tag="due=..2025-11-10;type:car,house`
     It shows only tasks that have due defined and the due date is before or
     on `2025-11-10`, also the task must have the tag `type` with a value
     `car` or `house`.

 -- Vladimir Markelov <vmatroskin@gmail.com>  Sun, 16 Nov 2025 11:44:36 -0800

ttdl (4.13.0) unstable; urgency=medium

  *  New feature for recurrent tasks: add support for tag `until`. When the
     current task is done, a new task is created automatically only if the new
     due date does not exceed the value of `until`
  *  When creating a task with `until` tag, relative values are supported.
     E.g, `due:2025-10-20 rec:1w until:2m text` creates a task that repeats
     every week while new due date is less than or equal to `2025-12-20`.
  *  option `--fields` supports `until` to show it in a separate column
  *  Fix displaying the subject column when it is longer than the terminal
     window and the mode is `compact`
  *  The field `subject` in the output can be reordered. But when a subject is
     passed in the option `--fields` the output always uses compact mode. I.e,
     it always trims the subject to the width of the output, no word-wraps
  * Improved `postpone` command for strictly recurrent tasks: if a task is
    postponed for the time different from the tasks recurrence interval, TTDL
    creates a new task without recurrence with a due date equals the postponed
    date, and the original task's due is moved to the next due date
  * New command-line option `--group` available for the `list` command. After
    the option you can define a field by which the task will be grouped.
    Nested grouping is not supported. As well as grouping by some fields:
    creation, finish dates and priority.

 -- Vladimir Markelov <vmatroskin@gmail.com>  Sat, 08 Nov 2025 16:30:18 -0800

ttdl (4.10.0) unstable; urgency=medium

  *  New command-line flag `--max` - it limits the number of displayed task

 -- Vladimir Markelov <vmatroskin@gmail.com>  Tue, 29 Apr 2025 20:05:35 -0700

ttdl (4.9.0) unstable; urgency=medium

  *  New command "listhashtags" (with shortcuts "listhash" and "lh"). The
     command prints out all hashtags used in tasks. It is similar to
     existing "lp" and "lc" which list projects and contexts respectively.

 -- Vladimir Markelov <vmatroskin@gmail.com>  Wed, 12 Feb 2025 18:42:32 -0800

ttdl (4.8.0) unstable; urgency=medium

  *  New special dates are available when setting due and other dates. The new
     special dates are names of months. You can use short (3 first letters) or
     full month names. After substitution a month name is replaced with the
     first day of the month. Note that the date is always in the future. In
     other words, if you set 'due:dec' on the December 1st, the due date will
     be December 1st of the next year

 -- Vladimir Markelov <vmatroskin@gmail.com>  Fri, 17 Jan 2025 19:01:10 -0800

ttdl (4.7.0) unstable; urgency=medium

  *  New command-line options `--init` and `--init-local` to create a default
     configuration file in the user's configuration or the current working
     directory respectively.

 -- Vladimir Markelov <vmatroskin@gmail.com>  Mon, 25 Nov 2024 11:03:41 -0800

ttdl (4.6.0) unstable; urgency=medium

  *  New command-line option `--interactive`/`-i` for command `edit`. When it
     is set, and editor is defined, all options that modifies tasks are
     ignored and TTDL opens an editor with tasks that were filtered by the
     command line options. After closing the editor, if the tasks are changed
     and the text is not empty, TTDL updated the selected tasks. Example:
     - `ttdl edit -i` - open all tasks to edit in an external editor
     - `ttdl edit +proj -i` - open all tasks related to the project `proj` in
        an external editor.

 -- Vladimir Markelov <vmatroskin@gmail.com>  Sun, 24 Nov 2024 16:41:04 -0800

ttdl (4.5.0) unstable; urgency=medium

  *  When editing a task or adding a new one, you can use simple expressions
     for date-like tags `due` and `t`:
        - `ttdl add "water plants t:2024-11-10 dur:t+5d`
        - `ttdl edit 1 --set-due=due+5d

 -- Vladimir Markelov <vmatroskin@gmail.com>  Sun, 17 Nov 2024 17:10:16 -0800

ttdl (4.4.1) unstable; urgency=medium

  * On completing a recurrent task, the tags `tmr` and `spent` are removed
    from the newly created task.

 -- Vladimir Markelov <vmatroskin@gmail.com>  Sat, 24 Aug 2024 20:23:11 -0700

ttdl (4.4.0) unstable; urgency=medium

  * Allow setting task completion date even if creation date is undefined. By
    default, TTDL works in the same way. You can enable setting completion
    date always by either modifying the configuration file (set option
    `global.add_completion_date_always` to `true`) or by passing a
    command-line option `--add-completion-date-always`

 -- Vladimir Markelov <vmatroskin@gmail.com>  Wed, 17 Jul 2024 21:22:22 -0700

ttdl (4.3.0) unstable; urgency=medium

  * New option `--keep-tags` or `-k` for edit mode. If the option is set, the
    command must contain a new subject text. A modified todo keeps all
    properties (project, context, tags, hashtags), but the regular text is
    replaced with the new subject
  * Update packages and fix clippy warnings

 -- Vladimir Markelov <vmatroskin@gmail.com>  Fri, 10 May 2024 16:52:01 -0700

ttdl (4.2.1) unstable; urgency=medium

  * Forbid executing some operations if no filter is specified in command
    line. When running without specifying what tasks to process, the commands
    rm, edit, postpone, done, undone interrupt the application with an error

 -- Vladimir Markelov <vmatroskin@gmail.com>  Thu, 29 Feb 2024 19:23:11 -0800

ttdl (4.2.0) unstable; urgency=medium

  * New recurrence interval: business days.
    It works as the day interval but all Sundays and Saturdays are skipped.
  * Now the character `~` can be used in configuration file to set todo and
    done files. `~` is a shortcut for user's home directory.
    Thanks to Enno Zickler(@ezickler) for contribution.
  * Updated docs:
    - Added description of strict and non-strict recurrences
    - Added ArchLinux installation intstructions. Thanks to Justin (@just1602)

 -- Vladimir Markelov <vmatroskin@gmail.com>  Wed, 14 Feb 2024 22:06:02 -0800

ttdl (4.1.0) unstable; urgency=medium

  * New command-line and configuraton option `priority-on-done`. The option
    defines what to do with task priority when the task is completed:
    keep: default mode - do nothing with priority
    move: place the priority after completion date
    erase: remove the priority
    tag: remove the priority and add a tag 'pri:' with the priority value
    Note that all modes, except 'erase' are reversible and properly restore
    task priority when the task is uncompleted

 -- Vladimir Markelov <vmatroskin@gmail.com>  Thu, 27 Jul 2023 19:40:31 -0700

ttdl (4.0.0) unstable; urgency=medium

  * New incompatible output format:
    - column width is not constant, its width fits the longest column value
    - columns are shown in the same order as they mentioned in the settings
  * Fixed incorrect syntax highlighting: project and tag colors were exchanged
  * Fixed removing threshold from subject when it is shown in a column
  * New command-line option `auto-hide-cols`: automatically hide columns which
    have no values
  * New command-line option `auto-show-cols`: automatically show tags,
    context, and project in separate columns
  * New command-line option `always-hide-cols`: never show the mentioned tags
    in separate columns. The option is good when used together with the option
    `auto-show-cols`

 -- Vladimir Markelov <vmatroskin@gmail.com>  Thu, 27 Jul 2023 19:40:31 -0700

ttdl (3.10.0) unstable; urgency=medium

  * Fixed broken custom formatting: when a plugin changed any tag value, the
    tag was duplicated in the subject
  * Custom formatting behavior change: if a user wants to remove a tag from
    the subject, a plugin must set the empty value for the tag. Removing tag
    from the hashmap does not remove the tag from the subject any longer
  * Few small fixes in the example configuration ttdl.toml: corrected
    powershell command-line options and fields example section

 -- Vladimir Markelov <vmatroskin@gmail.com>  Mon, 26 Jun 2023 10:58:13 -0700

ttdl (3.9.0) unstable; urgency=medium

  * Flag `--calendar` supports years (in a range -2..2). Now you can print the
    current year with `ttdl --calendar=1y`
  * Flag `--calendar` accept ranges: `ttdl --calendar=-2m..2m`
  * Added missing color reset when printing calendar: sometimes today's
    background was applied to an empty line after the month and sometimes
    month names were printed with week number color
  * New available columns `Project` and `Context`. They display task's
    projects and contexts respectively. Both are hidden by default.
    They can be shown by changing config or passing in command-line:
    `ttdl --fields=prj,ctx`
  * Tags, projects, and contexts can be hidden if they are already printed in
    their own columns. By default, the feature is off. To enable hiding,
    either pass command-line option `--clean-subject` or modify the
    configuration variable `global.clean_subject`

 -- Vladimir Markelov <vmatroskin@gmail.com>  Sat, 06 May 2023 15:47:09 -0700

ttdl (3.8.0) unstable; urgency=medium

  * Now `--calendar` prints in more human-friendly way: with month names, week
    nubmers and each month is printed in its own column
  * Flag `--calendar` now accept wider interval for months. The current limit
    of months to print is `24` (increased for the previous value `3`)

 -- Vladimir Markelov <vmatroskin@gmail.com>  Sun, 23 Apr 2023 15:15:58 -0700

ttdl (3.7.0) unstable; urgency=medium

  * Use `None` as a default foreground color - better support for light
    teminal colorschemes
  * Add a setting `default_fg` to `colors` section. It allows a user to define
    a custom default foreground color

 -- Vladimir Markelov <vmatroskin@gmail.com>  Sat, 11 Mar 2023 15:27:34 -0800

ttdl (3.6.5) unstable; urgency=medium

  * Fix crashing `add` command when command-line option `--dry-run` is used

 -- Vladimir Markelov <vmatroskin@gmail.com>  Sat, 04 Mar 2023 11:12:21 -0800

ttdl (3.6.3) unstable; urgency=medium

  * Improve 32-bit compiler support

 -- Vladimir Markelov <vmatroskin@gmail.com>  Tue, 31 Jan 2023 22:00:33 -0800

ttdl (3.6.2) unstable; urgency=medium

  * Empy todos are hidden by default. To show empty todos, use the
    command-line option `--all`
  * Command `clean`(`archive`) removes empty todos as well. To keep
    empty todos, pass the command-line option `--keep-empty`

 -- Vladimir Markelov <vmatroskin@gmail.com>  Sun, 29 Jan 2023 14:11:01 -0800

ttdl (3.6.1) unstable; urgency=medium

  * The command-line option `--syntax` did not work in `--compact` mode

 -- Vladimir Markelov <vmatroskin@gmail.com>  Sat, 28 Jan 2023 16:10:01 -0800

ttdl (3.6.0) unstable; urgency=medium

  * New feature: custom columns: define custom columns with highlight rules
    in `ttdl.toml` and display them with `--fields=field-name` option.
    Custom columns shows values of selected tags.
  * Switch to 2021 Rust edition

 -- Vladimir Markelov <vmatroskin@gmail.com>  Sat, 31 Dec 2022 12:08:30 -0800

ttdl (3.5.0) unstable; urgency=medium

  * Added command-line options to modify arbitrary tags: `--set-tag` and
    `--del-tag`
  * Added command-line options to manage hashtags: `--set-hashtag`,
    `--del-hashtag`, and `--repl-hashtags`
  * Added command-line option to filter by hashtags: `--hashtag`. Meta values
    like `any` and `none` are supported as it is done for tags.
  * Allow command `stats` to be used for `done.txt`. Now two commands works
    with `done.txt`: list and stats
  * Fixed incorrect calculation of overdue tasks: they were calculated only
    for active todos, so completed and overdue todos were counted as
    non-overdue ones
  * Removed `missing threshold` from `stats`. It was a misleading value
    because it was impossible to miss any threshold. Threshold is a date until
    which the todo is omitted from the default `list` output
  * Fixed incorrect detection of the number of overdue todos. The old
    algorithm compared due date and today's date always. But for completed
    todos it results in false positives. New detection algorithm for overdue:
    - a todo is active and its due date is earlier than today's date
    - a todo is done and it has finish date set, and the finish date goes
      after todo's due date
    In all other cases a todo is not considered an overdue one.
  * Add syntax highlighting for subject. The feature is disabled by default.
    When enabled, the default colors for:
    - tags = Cyan
    - hashtags = Bright Cyan
    - projects = Bright Green
    - contexts = Green
  * New command-line options `syntax` to enable syntax highlighting, and
    `no-syntax` to disable it
  * Updated example `ttdl.toml`: introduced a section `[syntax]` to tune up
    subject syntax highlighting

 -- Vladimir Markelov <vmatroskin@gmail.com>  Tue, 27 Dec 2022 16:50:41 -0800

ttdl (3.4.6) unstable; urgency=medium

  * Clippy fixes

 -- Vladimir Markelov <vmatroskin@gmail.com>  Sun, 18 Dec 2022 14:58:18 -0800

ttdl (3.4.5) unstable; urgency=medium

  * Fixed: `postpone` did not change due date. Only `--dry-run` worked as
    expected
  * Upgrade dependencies

 -- Vladimir Markelov <vmatroskin@gmail.com>  Fri, 14 Oct 2022 21:09:18 -0700

ttdl (3.4.3) unstable; urgency=medium

  * On completing a recurrent todo copied creation date from an original todo.
    Now the creation date of the new todo is set to today's date
  * Command-line option '--all' now shows todos with a threshold date set in
    the future

 -- Vladimir Markelov <vmatroskin@gmail.com>  Tue, 30 Aug 2022 15:38:35 -0700

ttdl (3.4.2) unstable; urgency=medium

  * Fix the remaining error output on "Broken Pipe" (issue #59)

 -- Vladimir Markelov <vmatroskin@gmail.com>  Sat, 27 Aug 2022 17:05:00 -0700

ttdl (3.4.1) unstable; urgency=medium

  * Fix panic when using TTDL with head, grep and alike tools (issue #59)

 -- Vladimir Markelov <vmatroskin@gmail.com>  Wed, 10 Aug 2022 21:58:02 -0700

ttdl (3.4.0) unstable; urgency=medium

  * Fix `set-rec` command: it modified todo's recurrent date only if the todo
    was marked as a done one

 -- Vladimir Markelov <vmatroskin@gmail.com>  Sun, 24 Jul 2022 11:13:25 -0700

ttdl (3.3.0) unstable; urgency=medium

  * New task view mode `--calendar=<range>` where `range` is a single value
    which denotes how long the calendar is. The value uses the same syntax as
    todo value `recurrent` with some extra contractions.

 -- Vladimir Markelov <vmatroskin@gmail.com>  Fri, 08 Jul 2022 19:28:27 -0700

ttdl (3.2.0) unstable; urgency=medium

  * Upgrade 'todo_lib' to version '5.0'
  * Replace 'failure' crate with 'thiserror' one

 -- Vladimir Markelov <vmatroskin@gmail.com>  Sun, 12 Jun 2022 00:20:58 -0700

ttdl (3.1.0) unstable; urgency=medium

  * Now threshold dates moves to the future like due dates when a todo is
    completed
  * On completion of a recurrent todo, its due and threshold dates are not
    modified. The todo is marked completed and a new todo is created with
    changed due and threshold dates.

 -- Vladimir Markelov <vmatroskin@gmail.com>  Sun, 17 Oct 2021 11:53:01 -0700

ttdl (3.0.2) unstable; urgency=medium

  * Fixed: ID '1' was always ignored when list of IDs was passed to TTDL
  * Fixed: generate list of unique IDs. Before '1,2,2' or '1,1-3' sent
    duplicated ID with number '2' to todo_lib.
  * New: list and ranges of IDs can be mixed
  * New: range of IDs now detect low and high ends automatically. Now
    `list 1-3` and `list 3-1` prints the same tasks in the same order.

 -- Vladimir Markelov <vmatroskin@gmail.com>  Thu, 14 Oct 2021 00:22:30 -0700

ttdl (3.0.1) unstable; urgency=medium

  * Fix regression: filter "due=none..4d" did not include tasks with empty due
    dates

 -- Vladimir Markelov <vmatroskin@gmail.com>  Wed, 13 Oct 2021 11:38:51 -0700

ttdl (3.0.0) unstable; urgency=medium

  * All ranges are now exclusive ones as the documentation states. Before the
    fix, ranges with `none` as one end were non-exclusive ones
  * Support tag `h` to hide any todo from the output. If value of the tag is
    not `0`, the todo is excluded from all operations (except auto-compelete
    functions)
  * Added a way to exclude todos what contains certain projects, contexts or
    tags from the list. Prepend `-` to a value to mark it as an exclusion.

 -- Vladimir Markelov <vmatroskin@gmail.com>  Sun, 03 Oct 2021 11:10:19 -0700

ttdl (2.0.2) unstable; urgency=medium

  * Upgrade packages
  * Update README

 -- Vladimir Markelov <vmatroskin@gmail.com>  Sat, 01 May 2021 17:50:19 -0700

ttdl (2.0.0) unstable; urgency=medium

  * Replace todotxt library with another one
  * Now project and context names are case-sensitive
  * All tags are preserved in a todo's subject (they were appended to the
    subject in the previous library)
  * Completing a todo with recurrence and threshodl do not chaneg theshold
  * Todo completion follows strict flag('+' character before a recurrence -
    e.g, "rec:+1m"): if strict flag is present, the next date is recurrence
    plus due date, otherwise recurrence plus the current date
  * A tag cannot have empty value. Setting empty value to a tag removes the
    tag from the subject completely
  * If a todo's text starts with two dates, and the todo is incomplete, only
    the first is parsed as creation date, and the rest goes to subject

 -- Vladimir Markelov <vmatroskin@gmail.com>  Thu, 11 Feb 2021 22:40:34 -0800

ttdl (1.0.0) unstable; urgency=medium

  * Todos can be filtered by tag names
  * New options to filter by projects(--project), contexts(--context), and
    tags(--tag) in addition to original filtering with `@` and `+`.
  * New strict mode(disabled by default, enabled via configuration file or
    command-line option)

 -- Vladimir Markelov <vmatroskin@gmail.com>  Tue, 29 Dec 2020 20:23:43 -0800

ttdl (0.10.4) unstable; urgency=medium

  * Enable range filter for threshold date
  * Fix conflict between two CLI options: there were `-A/--completed` and
    `--completed`. It resulted in the error `invalid date range` for any value
    after `--completed`. Now the former one is `-A/--only-completed`
  * Bump packages
  * Few clippy fixes

 -- Vladimir Markelov <vmatroskin@gmail.com>  Fri, 25 Dec 2020 17:20:17 -0800

ttdl (0.10.2) unstable; urgency=medium

  * Add `none` as a valid value for a range end. Using `none` in a range makes
    the range an open one. The result is the combination of two lists: an open
    one with real date, and all todos that have the date undefined.
    Example: `list --due=none..tomorrow` shows all todos that are overdue, due
    today or tomorrow, and that do not have a due date

 -- Vladimir Markelov <vmatroskin@gmail.com>  Sat, 08 Aug 2020 19:39:38 -0700

ttdl (0.10.1) unstable; urgency=medium

  * Add `soon` as a valid value for a range end. `-soon` works as well.
    The value of `soon` depends on the configuration value `ranges.soon`.
    If the value of config is zero, the value defaults to 7.

  * Add `overdue` as a valid value for a range end for consistency. Any
    range with a due is the same as an open range without 'overdue' part.

 -- Vladimir Markelov <vmatroskin@gmail.com>  Thu, 30 Jul 2020 21:56:09 -0700

ttdl (0.10.0) unstable; urgency=medium

  * New feature: allow range in due date filter. Both ends of a range are
    inclusive. Range can be opened from one end, ends are separated either
    with ".." or with ":"

  * New feature: in addition to due and threshold dates, now it is possible to
    filter by creation and finish dates

  * New command-line arguments for filtering: '--created' and '--finished'

 -- Vladimir Markelov <vmatroskin@gmail.com>  Sat, 25 Jul 2020 20:43:17 -0700

ttdl (0.9.0) unstable; urgency=medium

  * New feature: allow using human-readable dates when setting due and
    threshold dates in todo's text and for --set-due/--set-threshold
    commands. Since this version it is possible to, e.g., write "due:1w"
    to set the due date in a week from the current date.

  * New commands 'listprojects' and 'listcontexts' to list all
    project/context tags. Supports the same filters as the "list" command.

  * Remove 'Threshold' and 'Spent' columns from default output.

 -- Vladimir Markelov <vmatroskin@gmail.com>  Sat, 11 Jul 2020 12:43:11 -0700

ttdl (0.8.0) unstable; urgency=medium

  * New feature: custom formatting a todo with external apps(plugins)

 -- Vladimir Markelov <vmatroskin@gmail.com>  Thu, 16 Jan 2020 22:59:17 -0800

ttdl (0.7.4) unstable; urgency=medium

  * Default sorting mode can be set in application config file. Section
    'global', property 'sort': list of fields separated with comma

 -- Vladimir Markelov <vmatroskin@gmail.com>  Fri, 19 Jul 2019 22:27:52 -0700

ttdl (0.7.3) unstable; urgency=medium

  * Fixed crash when option --set-pri is used without a value: '--set-pri='

  * Option '--set-pri=' equals '--set-pri=none'

 -- Vladimir Markelov <vmatroskin@gmail.com>  Wed, 10 Apr 2019 20:17:23 -0700

ttdl (0.7.1) unstable; urgency=medium

  * New command line option --todo-file to pass a path to file contains todo
    list. If the path is a directory, "todo.txt" is added automatically

  * New command line option --done-file to pass a path to file contains
    archived todos. If the path is a directory, "done.txt" is added
    automatically. If the path contains only file name, it inherits directory
    from the path to todo list.

 -- Vladimir Markelov <vmatroskin@gmail.com>  Wed, 20 Feb 2019 22:32:54 -0800

ttdl (0.7.0) unstable; urgency=medium

  * Breaking change: now configuration must be in application subdirectory
    "ttdl" instead of old way - in the root of user configuration folder

  * New command line option -c|--config to pass a path to configuration file

 -- Vladimir Markelov <vmatroskin@gmail.com>  Sun, 17 Feb 2019 01:07:35 -0800

ttdl (0.6.0) unstable; urgency=medium

  * New command 'postpone' to push task's due date

  * New configuration options to hilite create date of todos that are older
    than a given time interval

 -- Vladimir Markelov <vmatroskin@gmail.com>  Tue, 29 Jan 2019 22:15:33 -0800

ttdl (0.5.0) unstable; urgency=medium

  * Added 256-indexed and RGB colors support in config

  * Added time tracking support:
  - new commands 'start' and 'stop' to start and stop timer
  - new column 'spent' - time spent for a todo
  - new symbol in 'Done' column 'T' - marking a todo active(running)

  * New command 'stats' to display short and detailed statistics:
  - short includes minimal information: total number of all, done, overdue,
  and missed threshold todos
  - detailed shows totals grouped by project and contexts. Detailed includes
  total time spent for a given project or context

 -- Vladimir Markelov <vmatroskin@gmail.com>  Sun, 20 Jan 2019 21:39:57 -0800

ttdl (0.4.0) unstable; urgency=medium

  * A list of IDs can be set in command line: "ttdl list 2,3,4"

  * Fix adding todos that start with project or context

  * Two new commands: append and prepend

  * Option '--human' supports list of field to show in relative format. Empty
    list means show all dates as relative ones

 -- Vladimir Markelov <vmatroskin@gmail.com>  Sun, 13 Jan 2019 21:17:51 -0800

ttdl (0.3.2) unstable; urgency=medium

  * Change command detection rule:
  If the first word is not a command, and the subject is not empty then
  the command is Add;
  If the first word is not a command and there is no subject then the
  command is List;

  * New option: 'version' - show application version

 -- Vladimir Markelov <vmatroskin@gmail.com>  Wed, 09 Jan 2019 21:43:01 -0800