- 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.
- Cleaned up message that is generated when a recurring task is past
its until: date and all child tasks have been dismissed, as the
parent task is deleted.
- Added unit tests recur.until.t to prove that the above is working.
- 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 three sets of unit tests that recently broke when TDB::add
started checking whether the uuid was really unique. This was
intended to prevent accidental double import, but also caused these
tests to break because they all shared the same uuid, which is wrong.
- 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 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.
- 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.
- All tests (I hope) now properly remove completed.data on exit, which
should prevent certain non-deterministic tinderbox results caused by
residual data.
- Fixed bug in import for YAML and TODO that failed to recognize that
a task was completed or deleted, and consequently set a Task::pending
status.
- Enhanced unit tests to verify this.
- Implemented YAML import/export roundtrip tests.
- Corrected export.yaml.t regarding headers.
- Modified export.yaml, export.csv and export.ical to clear any
context.headers messages so they don't interfere with the output.
- Completed sort_compare routine to mimic 1.9.2, but using std::sort.
- Added blank task to the unit tests to prove the sorting is working
(it wasn't), then fixed all.
- Fixed bug in color.duetoday.t: now that the definition of overdue
means 'due < now', adding a task with 'due:now' instantly creates
an overdue task, not a due task. To create a due task, use 'due:1hr'
or some duration which gets added to now.
- The dependencies.t unit test script failed to unlink completed.data,
which polluted the subsequent test script.
- Simplified some Perl in start.t.
- Allowed for line wrapping in start.t.
- 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