- .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.
- Added new tips file, in the correct format (unix fortune), with
dummy entries. If we are to support a "task tip" command in future
versions, we need to start gathering the tips now.
- "debug" now considered a valid configuration variable.
- "alias.*" now considered a valid configuration variable.
- Moved some messages over to use Context::debug.
- 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.
- Fixed bug that caused colorization to be way, way off. Silly
mistake.
- Fixed bug whereby due dates and durations were stored as-is, but
should have been converted.
- On a related note, added Date::toEpochString,
Duration::operator (std::string).
- 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
- The project attribute is now automatically filtered with
project.startswith:<value>
to provide leftmost matching (ie subprojects).
- Unmodifiable attributes (uuid, start ...) are now prevented from
being updated if the command is designated as a "write" command.
- Implemented Att::type to discern attribute types to assist with
type-specific modifier evaluation.
- Fixed bug that required attributes to have specified values, whereas
stating "name:" means no value for name.
- 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.
- Implemented info report.
- Removed odd Subst and Sequence objects from Task - are they just
vestigial limbs, or did I add them for a good reason? They are
gone now.
- Added Filter::applySequence to replace old filterSequence.
- Removed obsolete report.cpp filter function.
- 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.
- Converted active, overdue and completed reports to custom reports.
- Added new recurring report.
- Added support for new 'end' column, which is the completion date.