- Found some inefficient string initialization in Table.cpp, report.cpp,
and in switching over to using more std::string capabilities, realized
a 25% boost in Table::render speed.
- Eliminated Table::suppressWS.
- Eliminated Table::clean.
- Added specific calendar colors to the rc file used in cal.t, so that
the colors in the tests (which are in the old theme) match the new
default theme.
+ Task now supports both a 'side' and 'diff' style of undo.
+ Undo now observes the 'color.undo.before' and 'color.undo.after'
configuration variables.
- Fixed bug #405, which incorrectly compared dates on tasks created by
versions earlier than 1.9.1 to those created by 1.9.1 or later (thanks to
Ivo Jimenez).
- Fixed bug #132, which failed to set a sort order so that active tasks sort
higher than inactive tasks, all things being equal.
- All reports that include the 'active' column now sort on that column.
- Fixed bug #418, which caused the attribute modifier 'due.before' to fail
if the year was not included in the dateformat (thanks to Michelle Crane).
- Bug was probably fixed when #416 was fixed, but now has it's own unit tests.
- 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.
- Fixed bug #416, which caused sorting on a date to fail if the year was not
included in the dateformat (thanks to Michelle Crane).
- Added unit tests.
- Nibbler: Now locally stores input length rather than repeatedly calling
std::string::length.
- Nibbler: Makes greater use of std::string::find_first_not_of, instead of
looping.
- TDB: No longer applies empty filters to lists - just copies the lists.
- TDB: Now caches data when reading completed.data.
- TDB: During loadPending and loadCompleted, makes fewer copies of the data.
- TDB: In commit, breaks out of search loops after finding the right data.
- TDB: In gc, only writes out minimal pending or completed data, instead of
all data, all the time.
- TDB: No longer reads completed.data in gc, and simply appends completed
and deleted tasks to it.