- Implemented confirmation on big changes. That means if the description is
changed, or more than 2 tasks are modified in a single command.
- Implemented taskDiff to detect differences between two tasks.
- Implemented taskDifferences to describe differences between two tasks.
- .taskrc debug= now defaults to 'off', which will reduce clutter
and won't surprise beta testers.
- interactive.cpp did not compile when ncurses was not detected by
autoconf. That code branch obviously never got executed.
- The interactive shell now instructs the user to type 'quit' to
leave the shell.
- "debug" now considered a valid configuration variable.
- "alias.*" now considered a valid configuration variable.
- Moved some messages over to use Context::debug.
- When a task is added, the new ID is echoed back, for convenience.
This requires a scan of the pending file, so there is a performance
hit, and the feature is controlled by the FEATURE_NEW_ID define.
- 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.