Taskwarrior 2.5.0 Released
After an intense five months which focused mainly on a more capable command-line parser, more extension-friendly behavior, and significant improvements to testing, Taskwarrior 2.5.0 is now released.
This is a major release, with 1300+ code changes and well over a hundred bug fixes. We recommend all users upgrade, this release represents a significant increase in quality.
There have been a lot of changes. Here are the highlights:
- Improved command line parser: terminator
--handling, UUID recognition, DOM recognition, red-herring pairs (foo:bar), escaped slashes in patterns(/one\/two/), substitutions (/one\/two/one-two/), UnicodeU+NNNNand\uNNNN, escaped entities (\n,\t, etc.) for use in descriptions/annotations, abbreviated day and month names, ISO-8601 durations (PT4H,P1Yetc). - New virtual tags
UDA,ORPHAN,PROJECT,PRIORITY, andLATEST. - Improved support for DOM references in filters
task 'due.year = 2015 and due.week > 20' list. - New configuration settings
urgency.inherit,rule.color.merge,urgency.user.tag.next.coefficient,color.uda.<name>.none,sugar,report.<name>.sort:none,json.depends.array. - Improved urgency: the
urgency.inheritsetting propagates urgency along dependency chains. - Improved searching: more powerful regular expressions.
- Improved attribute modifiers:
is/isntare now consistent exact match operator equivalents to==/!==. - New command
_unique, for generating unique lists of values, and will ultimately replace several helper commands. - New command
commands, which lists commands and details about how they affect filters, GC, context, and syntax. - New verbosity tokens
recur(feedback when a recurring task instance is created),unwait(for when a waiting task becomes visible). - Improved extensions: zsh completion, Fish shell completion, add-on scripts now online.
- Improved documentation:
helpcommand, man pages, more online docs, negation!operator, sample hook scripts. - Improved sync: GnuTLS now mandatory, so everyone has the
synccommand. - Improved JSON
import/exportsupport: free-format JSON, task arrays assumed (which makes import/export work with out-of-the-box parsers), dependencies optionally modeled as an array, UUIDs validated, tasks added/updated without duplication, import from STDIN using-. - Improved performance: less data is read from disk depending on the filter.
- Improved diagnostics: duplicate dependency warnings, multi-task edit failures, changes to tasks without IDs, certificate file sizes.
- Improved testing: migrated all Perl tests to Python, parallelized test suite, colorized output, detection of newly passing tests, Python 2.7 and 3 support, better debug output, Bash test library, stress test tool, no more disabled tests - everything runs, test coverage is now 87.3%.
- Widespread code cleanup, removal of dead code, C++11 enhancements, improved portability, merged ISO-8601 and legacy durations, less code, happier developers.
For full details, see the ChangeLog file included in the release. The release is immediately available as a source tarball. Binary packages for your OS will no doubt appear soon.
Recommended for all users.