- 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.
- Fixed bug where "foo:bar" was not recognized as an attribute, and
generated an error rather than demoting is to part of the description.
- Fixed bug where en-passant deltas were applied only to the first task
in a sequence.
- Fixed various unit test.
- Added header, footer and message sinks.
- Added individual colorization of headers, footers and messages.
- Added new configuration variables to Config.cpp, taskrc.5.
- Added colorization functions to rules.cpp
- Implemented history report.
- Improved (not to the point of them working) filters.
- Improved automatic filter construction.
- Removed obsolete members from Task.
- Added tag support to the "add" command.
- Implemented digitsOnly primitive.
- Implemented noSpaces primitive.
- Added unit tests for above.
- Att now manages the lists of valid attributes and modifier names.
- validName migrated to Att.
- validModifiableName migrated to Att.
- New Att::validNameValue.
- Removed obsolete validDescription.
- Removed obsolete validPriority.
- Removed obsolete valid.cpp/guess.
- Implemented text.cpp/noVerticalSpace.
- Added unit tests for text.cpp/noVerticalSpace.
- Removed final static lists from valid.cpp.
- Modified Record::get* methods to be const.
- Implemented TDB2::add.
- Renamed Task::valid to Task::validate.
- Implemented Task::setEntry to default creation time.
- Fixed bug where TDB2 was opening files "rw" instead of "r+".
- Renamed T2.h -> Task.h, T2.cpp -> Task.cpp. This permanently avoids
the problem where g++ on OpenBSD 4.5 fails because of the T class,
which probably conflicts with C++ templates. Who knows.
- Renamed files task.h -> main.h, task.cpp -> main.cpp. This is to
prepare for the next rename, which addresses the OpenBSD bug.
- Removed utf8.h, utf8.cpp from Makefile.am, which were inadvertantly
added.
- "projects" report converted to 1.8.0.
- Relocated code from task.cpp to recur.cpp to allow unit tests to link
without includign task.cpp and therefore main.
- Removed obsolete sandbox directory.
- Fixed bug where Config::load deleted the pre-loaded custom reports.
- Fixed bug where Cmd::valid failed to include custom reports properly.
- Removed references to old websites and online groups.
- Removed references to the github issue tracker.
- Added references to http://taskwarrior.org.
- Prevented blank annotations from being added, and the description
being echoed as though it were the annotation applied (thanks to
Bruce Dillahunty).
- Added bug.annotate.t unit test to prevent regression.
- Tasks marked "done" were not assigned an end date before being
written to the file. Fortunately this only affects beta testers
who, by definition, like to live on the edge.
- Added better text in the NEWS file regarding the github issue
tracker.
- Cleaned up text a little in the "help" report output.
- Removed obsolete usage.html page.
- Added filterSequence helper function to subset tasks to the affected
sequence of tasks.
- Added series of helper functions to facilitate applying modifications
to tasks, allowing more commands the ability to modify tasks in all
ways.
- Added calls to helper functions for append and modify commands.
- Fixed bug that would mistakenly validate the configuration variable
"bcd" if there was a valid "abcd", "bcde" or "abcde" configuration
variable.
- Made the messages generated by task after a command is complete
more verbose and consistent across all commands.
- Fixed bug that caused the ghistory command to skip months where no
tasks were added, but were deleted or done. This is the same bug
that was fixed in 1.6.0 for the history report. So much for cut
and paste.
- Allowed all commands that take an ID to now operate on a sequence.