- Fixed bug whereby the start, stop and delete commands were not
complaining when filter arguments were specified, even though they
were ignored. Thanks to Charles T. Yun.
- Moved alias mapping to Context.
- Added Context::canonicalize to resolve aliases.
- Added Context::loadAliases to reload on config file change.
- Removed old alias processing from Cmd.
- Doesn't work yet, but the data is loaded.
- Implemented import command
- Implemented Context::clearMessages to remove all accumulated
messages. This is needed because parts of the import process are
recursive and we don't want Context to dump messages for every
import record on completion.
- 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.
- shadow file update is now triggered by the type of command, not
explicitly by name.
- Context::inShadow now keeps track of whether it is running a shadow
file update to prevent recursion.
- 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.
- Added unit tests for Config. Why didn't I do this a year ago?
- Shut off old 1.7.0 code (gulp).
- Task now thoroughly broken, and only 1.8.0 can help.
- Context now gathers messages and footnotes.
- task now calls into the new 1.8.0 code (via Context), then calls
into the old 1.7.0 code. Two for the price of one.
- Began the big integration festival by moving all objects out of
the sandbox.
- Hooked up one error message to context.stringtable, just to make
a point.