- Added 1 new color configuration variables to colorize weekend days
in the calendar: 'calendar.color.weekend'.
- Changed the default colors in the calendar.
- Added 3 new color configuration variables to colorize today, days with due tasks
and days with overdue tasks in the calendar:
'calendar.color.today', 'color.calendar.due' and 'calendar.calendar.overdue'
- added 2 new configuration variables 'calendar.details' and
'calendar.details.report' that make it possible to display
details of task with due date when doing 'task cal'
- Added support for displaying color samples. If you run the command
'task color red on grey12' then task will show you a sample of this
color, along with other examples. This is helpful if you are trying
to choose colors for auto colorization rules.
- version now only displays the version number and copyright notice
- config displays the task configuration that version used to show
- configuration variable longversion is not longer needed
- Added new attribute modifiers 'word' and 'noword' which find the existence
of whole words, or prove the non-existence of whole words. If a task has
the description "Pay the bill", then "description.word:the" will match, but
"description.word:th" will not. For partial word matches, there is still
"description.contains:th".
- Added unit tests for the text.cpp functions.
- Added unit tests including the new modifiers in filters.
- Added unit tests to parse the new modifiers.
- Modified man page.
- Modified the Context::autoFilter processing to use the new modifiers for
+tag and -tag filtering.
- Added a support email to an error message, while looking at the filter code.
- Added new modifiers to the help report.
- Modified a utf8.t unit test to include an alphanumeric tag, rather than a
smiley face.
- Fixed a broken fix (e7c8114dff) for
the calendar command - previously if task could find no tasks with
due dates, no calendar was displayed, and an error message shown.
That broken fix was only on the 1.9.0 branch and never released.
The correct behavior is to show a line of months. This bug broke
15 unit tests.
- Fixed minor problem in unit tests where the output was not captured,
although this has no bearing on the results.
- Changed the max date from Jan 19 2038 to Dec 31 2038. This still
serves the purpose, but avoids the UTC/EST/CEST timezon problems
we have seen (thanks to Federico Hernandez).
- 'task cal' or 'task cal y'
Prints a calendar starting from the current month/year
- 'task cal due' or 'task cal due y'
Prints a calendar starting from the month with
the oldest active due task
- 'task cal 2010'
Prints a yearly 12-month calendar
- 'task cal 4 2010' or 'task cal 4 2010 y'
Prints a calendar starting from the given month/year
Calendars are either printed as 12 month calendars (y) or
printed with the number of months that fits into the terminal width
- The next report is now a custom report. There is also a nasty
piece of logic that lets the next report exist as a custom report,
and also with it's own handleReportNext function to prep and filter
the tasks, then hand off to runCustomReport.
- Fixed bug in calendar that failed to consider only pending tasks
when coloring in the calendar display, and when calculating the
most overdue task to be displayed.
- Modified util.cpp/formatSeconds to stop displaying fractional days,
because having a task age represented as 5.1 days is silly.
- Fixed bug whereby handleRecurrence was being called after the tasks
were loaded and filtered, and thus handleRecurrence operated on a
filtered set, and failed. The fix is to move the call to before the
TDB::load call, and to add another TDB::loadPending call inside
handleRecurrence. This means TDB::load needs to be reentrant without
re-reading the file, and can therefore be called twice, with the
likelihood of there being a different filter for each call. This in
turn led to the problem whereby handleRecurrence would generate the
synthetic tasks, which then sat uncommitted in TDB::mNew. The fix
for this is that every call to TDB::loadPending gets the contents of
TDB::mNew appended (with correct IDs). This bug is what you might
call a good one.
- Added text.cpp/ucFirst function to capitalize words, so that "pending"
can now appear as "Pending" on the info report. This helps task pass
many more test cases.