- With the separation between standard output and standard error, the solution
for bug #956 is obsolete. The mechanism (putting verbose to "nothing") is
still kept for easing the management of the standard error.
- Prevent any verbose information to be printed with the 'ids', 'uuids' and
helper subcommands.
- Unit tests.
- Precise this behavior in the man pages.
- Fixed bug #996, so that verbosity code and documentation are in agreement,
and that the 'verbose=off' works as intended (thanks to Peter De Poorter,
Louis-Claude Canon).
- Addressed valgrind complaints by freeing allocations for commands and columns.
This leaves one complaint about getpwuid, which is either an optional free,
or not valid, depending on OS. (Thanks to Bryce Harrington).
- Fixed bug #552, where 'rc.verbose=off' suppressed warnings (thanks to Peter
De Poorter).
- Fixed bug #863, which suppressed report labels with rc.verbose=off (thanks to
Michelle Crane).
- Added feature #632, which allows environment variables TASKRC and TASKDATA
to override .taskrc and .task directory locations (thanks to Steve Rader).
- Added unit tests.
+
- Removed backlog file processing, which slows down processing. When
2.1 has taskd support, the backlog will be cleared, but until then there
is no point in accumulating transactions.
- Re-enabled shadow files, but in a new, simpler manner, that allows the
rc.shadow.command to override settings like color if necessary.
- Modifed A3 to capture program name and store it in the Context.
- Added a diagnostic dump of the TDB2 state in debug mode.
- Added a call to TDB2::dump at the start of TDB2::commit.
- Removed unnecessary calls to TDB2::dump.
- Change the was performance measurements are taken. This in preparation
to automated daily perf charts, leading to efforts to speed up certain
operations.
- Fixed bug whereby arguments were categorized, then defaults were injected
but no subsequent categorization occurred.
- Added debug diagnostics for default.command, 'modify' and 'information'
default processing.
- Created A3.{h,cpp} which will be a simpler, lightweight version of
Arguments.{h,cpp} that does less, but does it better.
- Created E9.{h,cpp} which will be a better implementation of
Expression.{h,cpp} that does less, but does it better.
- Integrated A3 into Context::initialize, and Arguments and A3 will
coexist until A3 surpasses Arguments.
- Added Context::getColumns to return a vector of column names.
This is to help a shift toward using the Column objects to assist
in the parsing/validation of data entry/modifications.
- Added Column::modifiable to delegate an attributes readable/writeable
state. This means the columns will be in charge of their own
mutability, which will simplify and generalize Command::modify_task.
- Added proper handling for when no command or filter is specified, and
no rc.default.command exists.
- Improved wording on above error message.
- Fixed typo in previous commit (managed to check in code before the
build completed, and ultimately failed).
- Now reports errors that occur during initialization at the same level
of verbosity as during command execution.
- Implemented Command::filter_shortcut to detect when a filter begins
with "status:pending" and skip the loading/parsing of completed.data.
- Removed obsolete att.t.cpp tests.
- Removed diagnostics from TDB2::TDB2 that were causing a segfault.
I suppose there is no std::cout available during global ctors?
- A substitution arg is categorized as "subst", but was tested for
"substitution".
- The Arguments::is_multipart method was triggering on '/', which is
wrong, but I can't remember why I put it in there. Hmmm.
- When extracting a write-filter, substitutions after the command
were generating an error, whereas they should be ignored.
- Task::substitute was modifying data even when the patterns were not
matching. Yikes.
- Added unit tests for en-passant modification of all types during
done, delete, start, stop.
- Implemented support for rc.default.command.
- Implemented support for assumed info command.
- Implemented Arguments::inject_defaults to insert default arguments
at just the right location.
- Corrected CmdCustom handling of limit:page.
- Refactored column objects to contain a ::validate method, for the
validation of incoming data.
- Context.columns is now a vector of one of each column object,
indexed by attribute name, for validation purposes.
- Began Expression::toInfix to upgrade old-style filters to infix
algebraic filters.
- Added operator support to Arguments::categorize.
- Modified CmdCustom.cpp as a read-only command guinea-pig for the
new argument processing.
- Added proper handling for sequences, in that they must be contiguous.
- Added placeholder code for default command, and automatic info report.
- Eliminated Context::parse.
- Eliminated Context::run Timer, because when it goes out of scope, it
adds timing messages to the deubg output, which at the end of Context::run
has already been displayed. In addition, the Context::dispatch timer
is about 0.2 milliseconds shorter, so the two are redundant.
- Eliminated stored arg_overrides and file_override in Context.
- Removed Filter, Subst, Task, Sequence from Context.
- Remove shadow file support. Hallelujah.
- Disabled/commented out most commands, ready for the big transition
to the new parsing style.
- Obsoleted Subst.{h,cpp}.