- Implemented confirmation on big changes. That means if the description is
changed, or more than 2 tasks are modified in a single command.
- Implemented taskDiff to detect differences between two tasks.
- Implemented taskDifferences to describe differences between two tasks.
- Fixed bug in Att::match that causes blank dates to be interpreted
as 12/31/1969, and therefore pass "xxx.before:" tests.
- Added the "cal" symlink trick to ChangeLog.
- Removed incorrect i18n tags from Config.cpp.
- Allowed .taskrc:confirmation=no to bypass Permission checking.
- Changed the max date from Jan 19 2038 to Dec 31 2038. This still
serves the purpose, but avoids the UTC/EST/CEST timezon problems
we have seen (thanks to Federico Hernandez).
- Now properly enumerates ambiguous commands.
- Now properly enumerates ambiguous colors.
- Now displays suitable error when a command like "task x" is entered.
- 'task cal' or 'task cal y'
Prints a calendar starting from the current month/year
- 'task cal due' or 'task cal due y'
Prints a calendar starting from the month with
the oldest active due task
- 'task cal 2010'
Prints a yearly 12-month calendar
- 'task cal 4 2010' or 'task cal 4 2010 y'
Prints a calendar starting from the given month/year
Calendars are either printed as 12 month calendars (y) or
printed with the number of months that fits into the terminal width
- The next report is now a custom report. There is also a nasty
piece of logic that lets the next report exist as a custom report,
and also with it's own handleReportNext function to prep and filter
the tasks, then hand off to runCustomReport.
- Broke out the guts of handleCustomReport into runCustomReport, so
that the next report can generate it's own task list, then allow the
custom report handling to render it. This means the next report is
essentially (but not quite) a custom report.
- Moved alias mapping to Context.
- Added Context::canonicalize to resolve aliases.
- Added Context::loadAliases to reload on config file change.
- Removed old alias processing from Cmd.
- Doesn't work yet, but the data is loaded.
- Added a tri-state confirmation function for confirming bulk operations
allowing the user to answer yes/no/all to and optionally allow,
disallow or bulk-allow big changes.
- .taskrc debug= now defaults to 'off', which will reduce clutter
and won't surprise beta testers.
- interactive.cpp did not compile when ncurses was not detected by
autoconf. That code branch obviously never got executed.
- The interactive shell now instructs the user to type 'quit' to
leave the shell.
- Fixed bug in calendar that failed to consider only pending tasks
when coloring in the calendar display, and when calculating the
most overdue task to be displayed.
- Modified util.cpp/formatSeconds to stop displaying fractional days,
because having a task age represented as 5.1 days is silly.