- Guaranteed the correct Config::get call via cast. There is some
doubt as to the correct call being made otherwise. This is not a
very likely fix, but does eliminate one possibility.
- Added format identifier code for task 1.4.3, task 1.5.0, todo.sh
2.0 and CSV.
- Implemented import for type text.
- Implemented util.cpp:slurp function.
- Gathered sample input files for import testing, and later, unit
tests.
- Improved (fixed) logical consistency checks that prevent the
addition of a recurrence frequency without a due date.
- Improved (fixed) logical consistency checks that prevent the
addition of an until date with a recurrence frequency.
- When a recurring task is modified, all sibling instances, as well
as the parent task now get modified.
- When a recurring task is appended, all sibling instances, as well
as the parent task now get modified.
- Updated documentation.
- It is now possible to upgrade a regular task to a recurring task,
which is triggered by the "recur" attribute.
- Added support for "annotate" command to annotate existing tasks.
- Bumped file format to version 3, due to the annotations.
- Added unit tests to verify that annotations work.
- Changed 'description' column everywhere to include annotations.
- Added 'description_only' column to exclude the annotations.
- Fixed bug in Table.cpp that calculated the width of multi-line
columns by using the cell length, instead of the length of the
longest individual line.
- Updated documentation with new feature.
- Updated documentation with new column.
- Enhanced t.t unit tests to cover format 43
- Added an echo of the ID and description of the task for the start,
stop, do, undo, delete and undelete commands. Thanks to Bruce
Dillahunty.
- Updated documentation.
- Added "echo.command=no" to delete.t, undo.t because the default
value is "yes", which breaks tests.
- Fixed syntax errors in utf8.t
- Corrected expected number of tests in recur.t
- Implemented unit tests to very that "confirmation=yes" works.
- Implemented unit tests to very that \n causes a re-prompt.
- Updated docs with regard to this fix, thanks to Bruce Dillahunty.
- Fixed bug where util.cpp:confirm was eating newlines, and not
rewriting the prompt. Consequently, after confirm asked the
question, and the user hit <Enter>, nothing was displayed but
the newline. Now uses std::getline.
- Implemented unit tests (more of a demo) that add a bunch of UTF-8
encoded tasks, as a starting point to updating task to be aware of
encodings, Unicode etc.
- abbreviation.t contains unit tests that fail to specify an alternate
rc file (rc:abbrev.rc), and so instead rely on ~/.taskrc. For a new
installation, there is no .taskrc, so task offers to create one.
When done in the context of a unit test, task hangs waiting for input.
- due.t was incorrectly reporting the number of tests it intended to
run.
- export.t was not updated when the export command was updated to include
recurrence information.
- The custom report limit "report.x.limit" was being used to limit the
rendered rows in the table. Instead, there should be something like
min (limit, actual_rows) used, in Table.cpp.
The symptom was duplicate tasks in a "task oldest" report, when there
were less than 10 tasks.
- Using size_t as a result for std::string::find causes a silent error,
reported only on Ubuntu 8. size_t is not large enough. The proper
result type is std::string::size_type. This fixes a problem with
the command "task old" responding with "Ambiguous commane 'old' -
could be one of oldest, oldest.description, oldest.limit, oldest.sort".
- Added unit tests to verify that the next report returns the correct
tasks.
- Added unit test to verify that unrecognized columns in a custom
report are flagged.
- Added unit tests to verify that only pending and completed tasks
are included in the summary report.
- Now sanitizes output by replacing ' with " in descriptions.
- Added 'recur' attribute to exported output.
- Removed recurring, deleted and complete tasks from the export.
- Improved dateformat.t tests to cover all acceptable date format
characters.
- Unit tests for shadow file update notification.
- Unit tests for shadow file updates under certain circumstances.
- Unit tests for shadow file no updates under other circumstances.
- Every command now returns an output string, or at least has an
opportunity to do so.
- TDB::gc is only performed a) when allowed, and b) when the command
will display line numbers.
- updateShadowFile is only performed when a) shadow updates are allowed,
and either b) when a command is guaranteed to have modified a task or
c) when TDB:gc has already made changes.
- Task runs the default command when no arguments are provided, but
when an "rc:..." argument is provided, it does not run the default
command.
- Implemented unit tests to verify the functioning of default commands,
default project and default priority.
- Implemented unit tests to verify that the "oldest" report does
indeed show the oldest 10 tasks.
- Implemented unit tests to verify that the "newest" report does
indeed show the newest 10 tasks.
- Added support for the "report.X.limit" configuration variable, to
restrict the number of rows a report generates.
- Added support for Table::render (limit) to limit the number of rows
that are rendered.
- Removed "oldest" and "newest" report code.
- Added "oldest" and "newest" custom report details to Config.cpp
- Updated various documentation.