- 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
- 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.
- 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.
- Added new column 'recur' for use in custom reports.
- Implemented Table::ascendingPeriod, Table::descendingPeriod allowing
sorting on the recur column.
- Added unit tests to both use the new column and test the sorting.
- Code cleanup.
- No longer writes shadow files based on TDB onChange trigger.
- Addressed bug whereby adding a recurring task trigger a shadow
file rewrite, which in turn performs trigger another rewrite...
- Validates specified columns in custom reports against list of good
column names.
- Validates list of sort columns in custom reports against list of
specified column names.
- Minor fix to grammar file.
- Removed TDB::gc calls from report.cpp.
- Made TDB::gc calls from task.cpp whenever necessary.
- Disabled TDB::gc calls when running a report for the sake of the shadow file.
- Shadow file overwrite now implemented using ostream, instead of cout.rdbuf trickery, for the well-being of cygwin.
- Added unit tests for Date enhancements
- Added unit tests for duration recognition
- Task parsing now supports due: using relative dates
- Task parsing now supports recur: and until: attributes
- Task parsing now support private attributes base: and range: