- Dropped support for parsing many intermediate representations. For example,
this list:
monthly, months, month, mnths, mths, mth, mos, mo
is now reduced to:
monthly, months, month, mo
- Instead of dispalying '-' for a zero-length duration, nothing is ('') is
displayed instead. This allows a completely empty duration column to be
culled by the rc.print.empty.columns=no feature.
- Unit tests updated accordingly.
- Fixed bug that accepted a recurrence duration of '7' as '7secs' instead
of the intended '7days'. It is now an error to omit the units. Thanks to
Vlad Zhivotnev, Stanley G.
- Modified unit tests to avoid a different error.
- Fixed bug where '6 months' was interpreted as 180 days, but when rendered
was shown as '5 months' (thanks to Aikido Guy).
- Multiple unit test corrections.
- Added support for more type-specific checks of attribute values.
- Added support for more type-specific attribute rendering.
- Improved generalized methods for checking columns in a report.
- Added unit tests.
- Minor code cleanup.
- Added secret hidden feature for internal testing.
- Removed support for ' 1 wk', namely spaces before and after the ordinal.
This removes (some) ambiguity in more complex command lines.
- Fixed unit tests accordingly.
- Allowed durations to be specified numerically as seconds, in string form.
This flexibility allows the removal of special-case handling that stores
recurrence periods in raw form ('monthly'), reducing code size. As a
consequence this means that recurrence may now be rendered according to
Duration::formatCompact, which is desirable.
- Added supporting unit tests.
- Duration were parsed as <int><unit> in A3, whereas <number><unit> is
correct.
- Added Nibbler::str method for internal access.
- Nibbler::save, ::restore now return positions. Useful for extracting
substrings.
- Modified countdown.t to use the (now) correct units for durations.
- Fixed bug #542, which sorted the countdown columns incorrectly (thanks to
Michelle Crane).
- Duration could not parse all varieties of it's own output, which is why the
sorting was broken, in particular negative durations and real numbers in
durations (such as (1.2y').
- Sorting in Table::sort_compare for Table::periodAscending and
Table::periodDescending was broken.
- Missing unit tests for countdown_compact.
- Imported Nibbler::getNumber from the Attitash project.
- Additional Duration unit tests.
- Additional Nibbler unit tests.
- Additional countdown.t unit tests.
- Reorganized Duration::valid and Duration::parse to use the same list
of supported constructs.
- Added missing copy constructor.
- Added missing ctor initializer list.
- Corrected handling of negative time_t values.
- Added support for more duration formats.
- Corrected autoComplete use.
- Added Duration::negative.
- Corrected unit test descriptions.
- 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 #231 by removing the operator int () cast from the Duration
class. On a 32-bit system, "time_t" may be defined as "int", in
which case the int cast and time_t cast are essentially duplicates.
Thanks to Pietro Cerutti, who also provided a patch.
- Fixed bug that caused colorization to be way, way off. Silly
mistake.
- Fixed bug whereby due dates and durations were stored as-is, but
should have been converted.
- On a related note, added Date::toEpochString,
Duration::operator (std::string).