- 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
- Fixed#555 that caused a segfault when 'log' was used with a project,
because the onProjectChange code assumes the files are still open, and
they were not. Checked all other commands for similar problem.
- Added Itay Perl to the AUTHORS file.
- Added unit test.
- Fixed bug #467, where recurring tasks were not honoring wait values.
- Fixed bug #493, which made waiting, recurring tasks invisible (thanks to
Alexander Schremmer).
- 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.
- Imported text was not assigned a uuid.
- Although bug #494 was fixed a month ago, it was never acknowledged in
the issue list. This commit corrects that, and thanks Elizabeth for
reporting this serious issue (thanks to Elizabeth Maxson).
- 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.
- Context::autoFilter was suppressing 'tags' filter terms due to the
+tag/-tag syntax, which we now know only augments attribute modifiers,
and doesn't replace them.
- Fixed bug #461, in which the filter 'due:today' failed, but 'due.is:today'
worked. This is because while iterating over tasks, not every task has a
due date, in which case Date::Date ("") was called, which fails.
- Moved 'wait' up to second position in the Att::type method, for efficiency.
- Added feature #481, allowing for user control of the color rule order
of precedence via the 'rule.precedence.color' configuration variable.
- Color rules now obey the rc.search.case.sensitive configuration option.
- The color.keyword.XXX color rule now applies to annotations too.
- 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.
- Fixed bug #480, which didn't properly support @ characters in tags.
The problem was that the ctype.h ispunct() function considers @,
# and $ to be punctuation, which I don't. An override now allows
these characters in tags, and specificallt '+@context' style tags.
- Added unit tests.
- Implemented export.yaml, import (yaml).
- Updated man page.
- 'export' is now an alias to 'export.yaml'.
- Added missing 'tags' attribute as an internal Att.
- Improved recognition of YAML.
- Added unit tests for export.yaml, import (yaml).
- Added missing unlink from dependencies.t
- Fixed bug #449, so the wait: attribute can be applied to a task at any
time, not just on add.
- While searching for problems with the waiting status, noticed that
importCSV doesn't appear to set any tasks to pending status.
- Fixed bug #445, which caused task to not notice that the command 'h' is
ambiguous. This was caused by mistakenly first autoCompleting against
a set of alias names, during canonicalization, instead of autoCompleting
against the whole set of possible commands and aliases, then doing the
canonicalization. The order was reversed.
- Also populated list of all commands with alias names, so the above
could be corrected.