- Implemented the ability to iterate over installed Command objects,
to augment the '_commands' command.
- Renamed verbosity tokens, to de-pluralize them.
- Broke out View into ViewTask and ViewText, where the former uses an
external std::vector <Task> as storage, thus eliminating the additional
copy, and the latter that duplicates data and color into 2D vectors
for rendering non-task data.
- Integrated new View in place of Table for all custom reports.
- Implemented legacy field mapping for columns and sort fields.
- Implemented rc.indent.report.
- Implemented rc.row.padding.
- Implemented rc.column.padding.
- Implemented rc.color.label.
- Modified default rc.indent.annotation from 1 to 2.
- Implemented urgency value caching.
- Implemented View truncation by line and row.
- Columns now know which report thy belong to, so they can use the
rc.report.<report>.dateformat override.
- Assorted bugs remain.
- Added 'status' as a reportable column (thanks to Peter De Poorter
and Bryce Harrington).
- Closed features pertaining to the 'task ids ... | task ...' (thanks
to Bryce Harrington and Eric Fluger).
- Added 'urgency' as a reportable, sortable column. This will allow
us to test the urgency coefficients. Note that this is experimental,
and as such will not be documented.
- Fixed bug #579, which displayed incorrect counts when using the 'limit:N'
filter (thanks to Thomas Sattler).
- Changed wording from 'lines' to 'tasks', because the former was inaccurate.
- Adjusted limit.t tests accordingly.
- Added new 'diagnostics' command to assist with bug reporting,
testing. It answers questions such as "did you compile it yourself?",
and more.
- Specifically, it runs a UUID generation test to prove that the UUIDs
are really unique.
- Completed support for 'task 1 depends:2,-3' to manipulate the
dependencies.
- Now supports rc.dependency.reminder to indicate when to nag about
dependency chain violations, defaulting to on.
- Now supports rc.dependency.confirm to require confirmation before
fixing dependency chains, defaulting to on.
- New source file dependency.cpp which implements a low-level API for
determining dependency status, and assorted handlers for task state
changes.
- Adds blocking tasks to the 'next' report.
- Added more dependency unit tests, changed the wording in a couple of
them and numbered them for easy reference.
- Fixed bug #438, correcting the sorting of the entry_time, start_time
and end_time columns (thanks to Michelle Crane).
- Reordered ChangeLog so that bugs, features are in sequence. Don't know
why I did this. Some inner compulsion.
- Deprecated silly start_time, end_time and entry_time columns, which are
now (and were) superseded by start, end and entry columns with time formats.
- Config.cpp now detects use of these deprecated fields and complains to the
show command.
- Date.cpp now uses the variable 'input' instead of 'mdy', which was confusing
and implied that it contained a date without a time.
- Obsoleted and removed Date::toStringWithTime, which ignored requested formats.
- When checking for an epoch, Date::isEpoch just looked for strings of more
than 8 digits. The additional restriction of less than or equal to 10 digits
was added. This was breaking unit tests using the dateformat YMDHNS, which is
reasonable.
- Removed the obsolete field format hooks format-entry_time, format-start_time
and format-end_time
- Removed the obsolete field format hook unit tests hook.format-entry_time.t,
hook.format-start_time.t and hook.format-end_time.t.
- Removed use of deprecated field in hook.format-countdown_compact.t.
- Added missing shortcut comparisons in Table::sort that was causing an
unnecessary full parse of dates even if they were identical as strings.
- Coded entry_time as a synonym for entry. Ditto for start_time and end_time.
- Marked the new synonyms as deprecated.
- Added bug.438.t unit test.
- Added deprecated fields to the NEWS file.
- Added support for more varied durations when specifying recurring tasks,
such as '3 mths' or '24 hrs'.
- Fixed bug #417, which caused sorting on countdown fields to be wrong
(thanks to Michell Crane).
- Durations are now based on seconds, rather than days, and can accept/parse
negative durations.
- Relocated util/formatSeconds and util/formatSecondsCompact into
Duration object.
- Relocated unit tests.
- Upgraded Duration object to use seconds, not days.
- Enhanced Duration so that it can now parse '4 mins' etc.
- Added feature #415, which supports displaying just a single page of tasks,
by specifying either 'limit:page' to a command, or 'report.xxx.limit:page'
in a report specification (thanks to T. Charles Yun).
- Modified the 'next' report to only display a page, by default.
- Allows rc.tag.indicator to replace the default + indicator.
- Allows rc.active.indicator to replace the default * indicator.
- Allows rc.recurrence.indicator to replace the default R indicator.
- Implemented all command hooks.
- Implemented several field hooks.
- Implemented several task hooks.
- Reorganized event validation code.
- Finalized Hooks -> API::call* mechanism.
- Implemented several hook unit tests.
- Corrected unit tests that didn't specify rc.hooks=on.
- Corrected builds that include Lua.