- Added feature #710, which adds an attribute modifier prefix to return the
complement of a filtered set (thanks to Dan White).
- Added missing description to the 'help' command.
Signed-off-by: Paul Beckingham <paul@beckingham.net>
- New 'ids' command that returns a filtered set of task ID numbers, instead
of the actual tasks. For advanced pipeline use.
- Now supplements the command line with data read from standard input, which
allows commands like: echo 'add Pay the bills' | task
- Fixed bug in journal annotations that omitted \n characters for
certain events, creating an unreadable journal entry.
- Relocated the 'Total active time' into the journal table, made
the text bold, and changed from "Xh XXm" format to Duration::format.
- added a calendar offset that effectively changes the first
month to be displayed in the calendar report (thanks to
Michelle Crane)
- calendar.offset turns the featue off or on
- calendar.offset.value controls the number of month to be
applied for the offset
- Added feature #546, which is a 'count' command that counts tasks, and is
intended to help scripts that manipulate task output.
- Added unit tests.
- Added man page description.
- Implemented burndown.daily, which is functional, but has outstanding
problems that need to be addressed:
- Slow
- Does not optimize output (i.e. contains /\S\s+$/)
- Needs generalized helper functions to reduce the size of the handler
- Added new 'diagnostics' command to assist with bug reporting,
testing. It answers questions such as "did you compile it yourself?",
and more.
- Specifically, it runs a UUID generation test to prove that the UUIDs
are really unique.
- Removed the urgency rating from the info report. Otherwise, we
will need to explain it, and without the corresponding new next
report, what can we say? It will be reenabled later.
- Completed support for 'task 1 depends:2,-3' to manipulate the
dependencies.
- Now supports rc.dependency.reminder to indicate when to nag about
dependency chain violations, defaulting to on.
- Now supports rc.dependency.confirm to require confirmation before
fixing dependency chains, defaulting to on.
- New source file dependency.cpp which implements a low-level API for
determining dependency status, and assorted handlers for task state
changes.
- Adds blocking tasks to the 'next' report.
- Added more dependency unit tests, changed the wording in a couple of
them and numbered them for easy reference.
- Added dependencyGetBlocking and dependencyGetBlocked API calls, in
the ongoing effort to find a workable API for dependencies. The
goal is to make the calling code as small as possible when dealing
with dependencies.
- Corrected the algorithm for determining whether a task is blocked or
blocking to also check that the other task is pending or waiting.
For example:
task add one
task add two depends:1
task do 1
As the first task is completed, task 2 still depends on 1, but is
no longer blocked due to the completed status.
- Modified the "info" report to use the modified API.
- Fixed a precision problem with average age on the summary report.
The problem was that average age is calculated as the sum of all
ages, divided by the count. The sum was already being stored as
a double, to allow for very high values, but was being truncated
to an int before being divided by the count. Classic precision
mishandling.
- Modified argument parsing to prevent assertions and seg faults.
- Added support for month names, with autocomplete.
- Added autocomplete for "due".
- Added unit tests to exercise all combinations, and errors.
- Now dates (due, wait, limit) are parsed first as Durations, and on
error reparsed as Date. When a Duration is found instead of a Date,
the Duration is added to the current date/time.
- The "next" command had two control paths. One was via custom reports
(correct) and the other was a residual handler (obsolete), which is
now removed. This also simplifies a handleCustomReport/runCustomReport
issue.
- 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.