- Found some inefficient string initialization in Table.cpp, report.cpp,
and in switching over to using more std::string capabilities, realized
a 25% boost in Table::render speed.
- Eliminated Table::suppressWS.
- Eliminated Table::clean.
- Relocated util/formatSeconds and util/formatSecondsCompact into
Duration object.
- Relocated unit tests.
- Upgraded Duration object to use seconds, not days.
- Enhanced Duration so that it can now parse '4 mins' etc.
- Added feature #415, which supports displaying just a single page of tasks,
by specifying either 'limit:page' to a command, or 'report.xxx.limit:page'
in a report specification (thanks to T. Charles Yun).
- Modified the 'next' report to only display a page, by default.
- introduced new show command to display configuration settings
- config command is used to just set config values
- modified documentation
- modified some unit tests calling 'task config' to 'task show'
- Added features #36 and #37, providing annual versions of the 'history'
and 'ghistory' command as 'history.annual' and 'ghistory.annual'.
- Uses new canonical names history.monthly, history.annual, ghistory.monthly
and ghistory.annual, with aliases providing original history and ghistory
commands.
- Updated man pages.
- Added feature #326, allowing tasks to be added in the completed state,
by using the 'log' command in place of 'add' (thanks to Cory Donnelly).
- Added log command to task.1 man page.
- Added log command to task-tutorial.5 man page.
- Added log command to help text.
- Added log command unit tests.
- The new auto-info command interfered with task modification. Should
have run all the unit tests before committing that change.
- Added auto-info command to the help text.
- Implemented all command hooks.
- Implemented several field hooks.
- Implemented several task hooks.
- Reorganized event validation code.
- Finalized Hooks -> API::call* mechanism.
- Implemented several hook unit tests.
- Corrected unit tests that didn't specify rc.hooks=on.
- Corrected builds that include Lua.
- improved dateformat handling now defaulting to YMD set via
dateformat.holiday variable
- fixed missing sorting in holiday table output when running
calendar.holidays=full
- renamed reportdateformat to dateformat.report
- added config file checking for calendar.holidays and calendar.details
- added 2 holiday files for SE and US (watertown, MA)
- added displaying of holidays in 'task cal'
via calendar.holidays
- the legend in the calendar can now be turned off
- weeknumbers in the calendar can now be color-coded
- changed variable name from annotation.details to annotations
- added report.X.annotations
- changed values from 2, 1, 0 to full, sparse, none
- made reportdateformat available in timesheet
- Now supports 'task config name value', 'task config name ""', and
'task config name' to directly modify the .taskrc file.
- Updated man page.
- Added unit tests.
- Modified existing config command to also display configuration
variables that have no values.
- Implemented Path::operator (std::string) const, to provide an
automatic cast to std::string for any Path, File or Directory.
- Made use of new cast in various code.
- Changed use of spaces in atoi () calls.
- Switched from std::string::data () to std::string::c_str () calls.
- Added Federico Hernandez to the task copyright, based on the amount
of work and commits to the project, in the areas of Date handling and
the calendar report.
- Bumped Cory Donnelly up to Contributing Author for the large quantity
of ideas, suggestions and testing.
- Implemented replacement Config::get* methods.
- Replaced all calls throughout the code, with the new methods which
have no static values as defaults.
- added new reportdateformat to extend the formatting of due dates
in the reports and "task info"
- added new conversion sequences a, A, b, B and Y to be used with
reportdateformat
- 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.