- Removed the \n characters from Task::composeFF4 and Task::ComposeJSON.
- Tasks in backlog.data file are now written as JSON.
- Tasks are recognized in FF4 or JSON format.
- It it not necessary to make a copy of all configuration variable names, if the
Config::const_iterator is sufficient.
(cherry picked from commit 5708cb90780f1f6c8f58f5b549796c4af612b1ab)
- Eliminated some calls to context.config from Task‥cpp, reducing the coupling.
If context can be eliminated from Task.cpp, via statically initialized
variables, then Taskwarrior and the task server can share Task.{ḩ,cpp} which
would be an enormous saving in effort.
(cherry picked from commit 215b03b1a7f47299a0d3e64331c7e3c962b4caf0)
- File format 2 (used in version 0.9.3 - 1.5.0) is no longer supported.
- Task::parseJSON implemented.
- PRODUCT_TASKWARRIOR defined, to facilitate code sharing.
- Strings renamed for sharing purposes.
- Fixed bug #1022, where dependencies were note released when a blocking task
was completed (thanks to Arkady Grudzinsky).
- The Task object now caches ::is_blocked and ::is_blocking Booleans that are
determined on pending.data load.
- Simplified and sped up color rule processing using cached values, reducing
the number of map lookups, and removed loop invariants when the rules are
not defined.
- Simplified urgency calculations given the cached values for blocked/blocking.
- On load, pending.data is scanned for accurate blocked/blocking status
determination.
- Obsoleted and removed complex single-task dependency calculations.
- Sped up 'nag' processing by using cached values..
- Modified the 'show' command to consider color.blocking to be valid.
- Added default config value for color.blocking, and included it in the
precedence list ahead of blocked, as it is more important.
- Updated taskrc.5 man page to include the new color.blocking rule, and its
place in the rule precedence.
- Fixed bug #1023, which applied default.project and default.priority during
modification (thanks to Christoph Lange).
- Added unit tests.
- Added Christoph to the AUTHORS file.
- Supports 'scheduled' date for tasks, which represent the earliest opportunity
to work on a task.
- Added unit tests for urgency.
- Implemented color rule.
- Added scheduled to 'info' report.
- Updated assorted documentation.
- Removed comments in default rc because they are never seen.
- Added (broken) 'ready' report, which is like 'next' but only for ready tasks.
- Allow UUIDs and IDs range when modifying task dependencies.
- Update man page.
- Add unit tests.
- Fatorize code when adding and removing dependencies in Task.cpp.
- Fixed bug #837, which caused incorrect urgency calculations for tasks that
have completed dependencies, and problems when editing those tasks (thanks
to Matt Kraai).
- Added Task::addDependency (const std::string&) method for reconstructing
dependencies on tasks with no ID.
- Modfified Task::urgency_blocked so that it considers the blocking task's
status. This is an expensive test, and so it is wrapped by a cheaper test
to see if there are/were any dependencies at all. This means that urgency
calculations are not slowed for tasks without dependencies, and is slower
but more accurate for tasks that do have dependencies.
- Modified edit command so that dependencies are shown as IDs or UUIDs
depending on whether the task is pending or not.
- Modified edit command so that dependencies are parsed as IDs or UUIDs
depending on whether the task is pending or not.
- Modified wording in the template of the edit command to reflect the above.
- Added unit tests bug.837.t.
- Fixed problem where urgency was not properly calculated for waiting tasks.
- Tweaked urgency coefficients to make most of the values closer together, and
therefore more sensitive.
- Inverted 'waiting' coefficient.
- Boosted 'next', 'due' and 'blocking' coefficients.
- Modified unit tests accordingly.
- Lessened the impact of 'blocked', 'project', 'tags' and 'age'.
- Backslashes actually. The escaping mechanism in the low-level parser
was eating leading \ characters when it should not. Very hard bug to
find, trivial to fix.
- Added unit tests to several components while narrowing this down.