September 20th, 2012
· This is a major critical bugfix release.
September 3rd, 2012
· Bug fix release and minor new features.
March 19th, 2012New Features in taskwarrior 2.0.0:
· New 'ids' command that returns a filtered set of task ID numbers, instead of the actual tasks. Similarly, there is a 'uuids' command.
· Attribute modifiers may be prefixed with '~' to return the opposite of a filter's results.
· Status attribute can now be used in report.
· Project names may now contain spaces.
· New export-html.pl script.
· Now supports the 'inverse' color attribute.
· Reports may now be sorted by columns that are not displayed (example: ID, project, due date and description sorted by urgency).
· Performance enhancements.
· New 'next' report, that gauges urgency and reports the most urgent tasks.
· The 'next' report is now the default command.
· Fine control of verbosity through the 'verbose=' configuration variable.
· New 'execute' command that runs external scripts/programs.
· JSON is the new default export format.
· New 'reports' command that lists reports and their descriptions.
· New complex aliases.
· Filtering now available on most read-only commands.
· The done, delete, start and stop commands now allow modification to the task and annotations.
· New 'columns' command to list the supported columns and formats.
· New 'eoq' and 'soq' dates to refer to the end and start of the quarter.
· Urgency now has an 'age' component.
New commands in taskwarrior 2.0.0:
· "ids" command that accepts filters, and returns an ID sequence.
New configuration options in taskwarrior 2.0.0:
· Now includes Belarus, Czech Republic and Japanese holiday data. Please note that the holiday file names now include a full locale. For example: 'holidays.en-US.rc' instead of 'holidays-US.rc'.
· The old 'curses' configuration variable is renamed to 'detection', but retains the original meaning, which is whether or not to auto-detect the dimensions of the terminal window.
· Extension system now controlled by the 'extensions' configuration variable.
· Two new solarized color themes.
· New 'dependency.indicator' for the 'depends.indicator' report field format.
· New 'indent.annotation' for the description.default field format.
· New 'color.label' for report column labels.
· New 'verbose=...' support for individual verbosity settings.
· New 'avoidlastcolumn' support for Cygwin users.
· New 'patterns' enables/disables command line pattern support.
· New 'expressions' enables/disables command line expression support.
· New 'dom' enables/disables DOM support for the command line.
· New 'json.array' determines whether 'query' command output is enclosed by '[...]'.
· New 'regex' control determines whether substitutions use Regular Expressions or simple text patterns.
· New 'exit.on.missing.db' control causes an exit if the ~/.task directory (or override) is missing.
· New 'color.completed' and 'color.deleted' color rules.
· New 'abbreviation.minimum' setting controls how short an abbreviated command or value may be.
· New 'hyphenate' setting controls whether long lines are hyphenated when broken during text-wrapping.
· New 'defaultheight' setting overrides the assumed 24 lines when 'detection' is disabled. This setting only affects charts.
· New 'urgency.age.coefficient' and 'urgency.age.max' settings control the new age component to the urgency value.
Newly deprecated features in taskwarrior 2.0.0:
· The 'next' configuration variable has been removed.
· Use of 'fg:' and 'bg:' attributes are deprecated.
· Use of 'echo.command' configuration variable. Use verbosity token 'affected' instead.
· Use of 'edit.verbose' configuration variable. Use verbosity token 'edit' instead.
· Use of 'export.ical.class' configuration variable. Value is now specified in the scripts/add-ons/export-ical.pl script.
· Use of 'report..limit' configuration variable. This is now handled in the report filter as 'limit:'.
· Use of 't', '+', 'enable' and 'enabled' in configuration values to mean 'on/yes/true'.
· Untracked Features, biggest first.
· autoconf eliminated.
· New 'ids' command that returns a filtered set of task ID numbers, instead of the actual tasks. Similarly there is a 'uuids' commands.
· Corrected sorting to use std::stable_sort instead of std::sort, which is not guaranteed stable (thanks to Stefan Hacker).
· Enhanced diagnostics command.
· Performance enhancements.
· The old 'curses' configuration variable is now replaced by 'detection', and has the same meaning - whether or not to auto-detect terminal size.
· Added Czech Republic holiday files (thanks to Tomas Cech).
· Added Japanese holiday files (thanks to Takanobu Watanabe).
· All holiday files have been renamed to include a locale, rather than just a country code. For example: holidays.en-US.rc.
· Now ships with an add-on script, update-holidays.pl, which contacts http://holidata.net, and brings the installed holiday files up to date.
· Extension system now controlled by the 'extensions' configuration variable.
· HTML export in the form of an external scripts export-html.pl.
· Two additional solarized theme files, solarized-dark-256.theme and solarized-light-256.theme (thanks to Stefan Keel).
· New 'dependency.indicator' configuration variable for the depends.indicator report field.
· New 'indent.annotation' for the 'description.default' field format.
· New 'color.label' for colorizing the report column labels.
· The 'blanklines' configuration variable now replaced by the 'verbose' token 'blanklines'.
· The 'verbose' configuration variable now accepts a specific list of items to be verbose about. See taskrc(5).
· New 'execute' command that runs external programs.
· The default export format is now JSON.
· The configuration variable 'json.array' determines whether 'query' command output is enclosed by '[...]'.
· The duration 'm' is now interpreted as 'months', not 'minutes'.
· Urgency now has an 'age' component.
· Improved text wrapping of UTF8 text.
· When duplicating a parent recurring task, a new recurring parent task is created. When a child recurring task is duplicated, a plain task is created.
· The 'diagnostics' command now checks for duplicate UUID values in the data.
· Tracked Features, sorted by ID.
· Added feature #52, which provides improved text-wrapping support for UTF-8 descriptions.
· Added feature #278, which provides a more consistent command line grammar.
· Added feature #318, which shows a full edit history in the 'info' report, when enabled by 'journal.info=on'
· Added feature #330, which supports the 'inverse' color attribute.
· Added feature #340, which implements new color rules 'color.completed' and 'color.deleted'.
· Added feature #422, #566 and #639, which allow task modifications during 'done', 'delete', 'start', 'stop' and 'duplicate' commands (thanks to Max Muller).
· Added feature #474, which means the 'info' command accepts filters.
· Added feature #479, which enables filtering for the 'calendar' command.
· Added feature #496, which allows rc.default.command to be supplemented with a filter, so that 'task project:Home' applies the project filter to the default command.
· Added feature #507, which provides an alternative mechanism for inverting attribute modifiers, in the form of new algebraic filters (thanks to Michelle Crane).
· Added feature #514, which allows duplication of tasks based on a generalized filter, rather than just IDs (thanks to Peter De Poorter).
· Added feature #523 & #659, adding 'status' as a reportable field (thanks to Peter De Poorter and Bryce Harrington).
· Added feature #545, #610, #611, #646, which support complex aliases.
· Added feature #559, that causes Taskwarrior to exit if the ~/.task (or rc.data.location override) does not exist, controlled by the rc.exit.on.missing.db configuration variable (thanks to Sander Marechal).
· Added feature #571, which provides descriptive feedback when a special tag is applied.
· Added feature #607, which allows modification of a task during annotation (thanks to Peter De Poorter).
· Added feature #609, which allows suppression of output labels and verbose text.
· Added feature #612, so that the 'info' command displays the sum of all active (start/stop) times for a task, if the 'journal.info' configuration variable is set (thanks to Andy Kriger).
· Added feature #632, which allows environment variables TASKRC and TASKDATA to override .taskrc and .task directory locations (thanks to Steve Rader).
· Added feature #657 & #658, using the 'ids' command, tasks matching a filter can now be modified as a group (thanks to Bryce Harrington, Eric Fluger).
· Added feature #679, which makes color rules match project names in a left- most fashion, like filters (thanks to ch077179).
· Added feature #682, which allows the configuration variable 'defaultheight' to override the assumed height of 24 lines when 'detection' is not enabled (thanks to Steve Rader).
· Added feature #700, which adds tab-completion of built-in tags.
· Added feature #710, which adds an attribute modifier prefix to return the complement of a filtered set (thanks to Dan White).
· Added feature #714, including Belarus holidays (thanks to Alexei Romanoff).
· Added feature #725, which provides feedback when tasks become unblocked.
· Added feature #733, including Czech holidays (thanks to Tomas Cech).
· Added feature #740, that allows for indented annotations, controlled by the 'indent.annotation' configuration variable (thanks to Steve Rader, Tomas Cech).
· Added feature #755, adding a new command 'reports' that lists reports and their descriptions.
· Added feature #779, which uses more relevant and consistent terms on the 'burndown' charts.
· Added feature #800, adding a new command 'columns' that lists all the columns available for custom reports, and includes their formatting options (thanks to T. Charles Yun).
· Added feature #806, which provides the ability to compare dates using the relational operator '>=' (thanks to Miguel de Val Borro).
· Added feature #811, which makes the 'execute' command optional, and controlled by '#define HAVE_EXECUTE 1' in cmake.h. This allows a build that does not have the potential security hole, in the event that taskwarrior is run at elevated privilege, or run in the context of a web server.
· Added feature #813, new "eoq" and "soq" dates for the end and start of quarter. (thanks to Dave French and Paulo Almeida for the patch).
· Added feature #827, which allows augmentation of default.command with extra arguments, when default.command itself contains mulitple arguments (thanks to Aikido Guy).
· Added feature #891, which allows for leftmost partial matches of UUID values.
· Tracked Bugs, sorted by ID.
· Tracked Bugs, sorted by ID.
· Fixed bug #208, which addresses various problems with recurring tasks, and change propagation.
· Fixed bug #403, which disambiguates certain commands involving numbers.
· Fixed bug #447, #942, which only allowed dates to be edited if they changed day (thanks to Michelle Crane and Owen Clarke).
· Fixed bug #458, removing the ambiguous 'm' as a duration, leaving 'mi[nutes]' and 'mo[nths]' requiring at least two characters for a match.
· Fixed bug #475, which allowed a blank annotation command to be entered (thanks to Andreas Kalex).
· Fixed bug #511, which caused display problem on Cygwin when colored output used the full width of the terminal. The 'avoidlastcolumn' configuration variable forces taskwarrior to never use the last column.
· Fixed bugs #533 and #536, which prevented having correct paths for themes in .taskrc (thanks to Juergen Daubert)
· Fixed bug #552, where 'rc.verbose=off' suppressed warnings (thanks to Peter De Poorter).
· Fixed bug #594, which broke the 'all' report with a combination of bad regex handling and a formatting bug (thanks to Steve Rader).
· Fixed bug #605, which gave misleading project completion percentages under certain circumstances (thanks to Steve Rader).
· Fixed bug #636, which causes the burndown reports to not honor the _forcecolor=off setting (thanks to Steve Rader, Uli Martens).
· Fixed bug #645 & #660, which prevented logically combining report filters (thanks to Bryce Harrington).
· Fixed bug #683, in which the 'config' command sometimes edited comments instead of the proper line in .taskrc (thanks to Erlan Sergaziev).
· Fixed bug #691, which was a mis-reporting of file lock state even when file locking was turned off (thanks to Tom Duffy).
· Fixed bug #694, which allows attributes to be modified while annotating a task (thanks to Aikido Guy).
· Fixed bug #696, where the command line parser was confused by a single '-' or '+' character.
· Fixed bug #699, truncated ssh://... during autopush after merge.
· Fixed bug #703, where global substitutions didn't make all expected annotation changes.
· Fixed bug #704, which improved wording of journal messages.
· Fixed bug #706, where deletions were recorded in the journal twice.
· Fixed bug #707, which had inverted logic with the urgency calculation for blocked tasks.
· Fixed bug #708, which corrected bad math in project % complete calculations (thanks to Michelle Crane).
· Fixed bug #713, which fixes typos in the holidays-UK.rc file (thanks to Alexei Romanoff).
· Fixed bug #720, so that when the 'info' report renders total active time, it uses a lossless format (thanks to Bernhard B).
· Fixed bug #722, #801, so that all recurring task change propagations are confirmed (thanks to Arkady Grudzinsky).
· Fixed bug #723, which displayed a misleading message when the output was truncated to a page.
· Fixed bug #732, which fixes misleading messages and documentation for merge/push/pull URIs (thanks to Tomas Cech).
· Fixed bug #737, which allows wait dates after due dates, but provides a warning (thanks to Arkady Grudzinsky).
· Fixed bug #741, which miscounted columns widths when a table header used unicode characters (thanks to Tomas Cech).
· Fixed bug #744, which omitted new ID feedback for all but the first duplicated task (thanks to Uli Martens).
· Fixed bug #745, which allows projects names with spaces, provided the values are quoted (thanks to Duane Waddle).
· Applied patch for Bug #746, which added missing documentation for the 'entry' report column (thanks to Duane Waddle).
· Fixed bug #761, in which the 'prepend' and 'append' commands failed to generate an error when no text was provided (thanks to Aikido Guy).
· Fixed bug #762, #763, so that modifications to tasks are considered 'write' commands, and therefore update shadow files (thanks to Aikido Guy).
· Applied patch for Bug #770, which fixed a broken build (thanks to Christopher J. Pilkington).
· Applied patch for Bug #771, which looks for libuuid if uuid_unparse_lower is not located (thanks to Christopher J. Pilkington).
· Fixed bug #777, which prevented _query command output from passing JSON validation due to missing  around the task list.
· Fixed bug #781, which prevented tasks with dependencies from showing on the 'next' report (thanks to Wim Schuermann).
· Fixed bug #783, which fixes completed and deleted tasks still showing as active (thanks to Adam Wolk).
· Fixed bug #785, which fixes a broken build on Solaris (thanks to Owen Clarke).
· Fixed bug #788, which reported regex and readline versions, even though they are not used.
· Applied patches for bugs #792, #793, #794 and #795, so that cmake now recognizes and builds on Solaris (thanks to Owen Clarke).
· Applied patch for bug #797 which corrects a build problem with 'srandom' (thanks to Owen Clarke).
· Applied patches for bug #798 which allows out-of-source builds (thanks to Ben Boeckel).
· Applied documentation patch for #799, fixing a broken link in the man page (thanks to Bryce Harrington).
· Applied patch for #803, allowing rc.confirmation to bypass confirmation of the deletion of a recurring task (thanks to Matt Kraai).
· Addressed bug #804 by allowing rc.hyphenate to control whether hyphens are inserted when long lines are broken. This may help prevent xterm from mis-parsing URLs in task annotations, when wrapped (thanks to Yann Davin).
· Fixed bug #807, which caused a lack of Lua to prevent tests from building (thanks to Owen Clarke).
· Fixed bug #808, which generated compiler warnings on Solarix (thanks to Owen Clarke).
· Fixed bug #817, which caused a build problem with a Core2 Duo processor on a Mac OSX 10.6 machine. Notes updated in INSTALL file (thanks to John Hammond).
· Fixed bug #818, which caused partial tag matching (thanks to Joe Holloway).
· Fixed bug #822, #845, which generated incorrect IDs (thanks to Matt Kraai and Michelle Crane).
· Fixed bug #823, so that recurring task change propagations are now always confirmed (thanks to Miguel de Val Borro).
· Fixed bug #824, which caused probles when completing recurring tasks (thanks to Matt Kraai).
· Fixed bug #831, which prevented some date fields from being properly parsed.
· Fixed bug #835, which prevented hierarchical projects from being recognized.
· Fixed bug #836, which preserves numeric arguments as-is (thanks to Matt Kraai for the patch).
· Fixed bug #837, which caused incorrect urgency calculations for tasks that have completed dependencies, and problems when editing those tasks (thanks to Matt Kraai).
· Fixed bug #839, which caused problems when recurrence frequencies of '1m' were used. This is an obsolete form, and should now be '1mo' (thanks to Gour D).
· Fixed bug #846, which prevented the default.command configuration from handling multiple arguments (thanks to Uli Martens).
· Fixed bug #850, which failed when newline characters were in a modified task description. They are now stripped (thanks to Aikido Guy).
· Fixed bug #851, which failed to recognize durations like '1day' when filtering date attributes (thanks to Philipp Woelfel).
· Fixed bug #856, which prevented filters on missing project from working (thanks to Michelle Crane).
· Fixed bug #859, which used only one color for the 'ghistory.*' report legends (thanks to Uli Martens).
· Fixed bug #860, which prevented lower-case priority values from being accepted (thanks to Michelle Crane).
· Fixed bug #862, which suppressed feedback from the 'denotate' command.
· Fixed bug #863, which suppressed report labels with rc.verbose=off (thanks to Michelle Crane).
· Fixed bugs #865 and #886, which caused silent failure of unrecognized dates (thanks to Michelle Crane).
· Fixed bug #879, which mis-parsed escaped characters in the data file (thanks to Michelle Crane).
· Fixed bug #880, which listed the wrong file paths for themes (thanks to Peter Lewis).
· Fixed bug #892, which caused a segfault due to misuse of std::map::operator (thanks to Dmitriy Samborskiy).
· Fixed bug #897, which adds the UUID field to the 'completed' report (thanks to Eli Lev).
· Fixed bug #899, which displayed incorrect project completion numbers (thanks to Paul-Gheorghe Barbu).
· Fixed bug #901, which was preventing multiple IDs and UUIDs from being used as a filter (thanks to Bryce Harrington).
· Fixed bug #906, which caused problems with inverted project matching (thanks to Uli Martens).
· Fixed bug #910, which caused unexpected behavior when duplicating a recurring task (thanks to Jennifer Cormier).
· Fixed bug #917, which mis-encoded quotes (thanks to Uli Martens).
· Fixed bug #929, which corrected argument handling for aliases (thanks to Uli Martens).
· Fixed bug #932, which fixed change propagation for recurring tasks (thanks to Jennifer Cormier).
· Fixed bug #936, which caused tests to fail on Solaris (thanks to Owen Clarke).
· Fixed bug #937, which failed 'stat' calls on Solaris (thanks to Owen Clarke).
· Fixed bug #938, which corrected compiler warnings on Solaris (thanks to Owen Clarke).
· + Fixed bug #944, which caused a test to fail when it was run on an NFS share.
· Fixed bug #946, which caused 'edit' command problems when 'dateformat.annotation' did not contain any date elements (thanks to Tuomas Toivola).
· Fixed bug #950, which warned about dependency chain problems during annotation, which makes no sense (thanks to Uli Martens).
· Fixed bug #951, which caused tag filtering to fail (thanks to Max Muller).
· Fixed bug #952, which generated cmake warnings on Cygwin.
· Untracked Bugs, biggest first.
· Fixed bug that required the '%YAML' prologue in a YAML import.
· Fixed bug that showed the 'due' date, under the heading 'until' date, in the info report (thanks to Michael McCann).
· Fixed burndown chart y-axis height calculation (thanks to Ben Boeckel).
· Fixed missing recurrence values in zsh completion script (thanks to Ben Boeckel).
· Fixed problem with DOM-checking the 'limit' pseudo-attribute (thanks to Barton Meeks).
· Fixed problem with duplicate 'project changed' messages (thanks to Owen Clarke).
· Fixed problem with non-UTC defaults for "TZ" (thanks to Owen Clarke).
· Removed use of Lua API call that is deprecated in 5.1 and removed from 5.2 (thanks to Michal Vyskocil).
· Fixed problem where update-holidays.pl did not properly handle UTF8 JSON data.
· Fixed problem where update-holidays.pl did not use the YYYYMMDD date foramt.
· Fixed problem where urgency was not properly calculated for waiting tasks.
· Fixed problem where 'project' was not supported as a verbosity token (thanks to Adam Gibbins).
March 7th, 2011
· New version with lots of enhancements and bug fixes.
November 10th, 2010
· Start and stop times for a task can now be recorded as annotations.
· Special tags 'nocolor', 'nocal' and 'nonag'.
Now supports durations in dates, such as:
· $ task ... due:4d
· $ task ... due:3wks
· 'sow', 'som' and 'soy' are now accepted in dates. 'soww' and 'eoww' are now synonyms for 'sow' and 'eow' (ww = working week) 'socw' and 'eocw' refer to the calendar week (starting Sunday/Monday and
· Now supports the beginning of the week, month and year in dates.
· Now supports 'now' as a date/time.
· Now defines an overdue task as being one second after the due date, instead of the day after the due date.
· Import and export of YAML 1.1, including round-trip capability, and detection of duplicate imports.
· New merge capability for syncing task data files.
· New push capability for distributing merged changes.
· New pull capability for copying data files from a remote location.
· When completing or modifying a task, the project status is displayed.
· The 'info' report is now colorized.
· Certain characters (#, $, @) are now supported for use in tags.
· User-controlled color rule precedence.
· Two new color themes.
· New holiday files for US, SE, DE, CA, FR, UK, ES, NL and NO localizations.
· Task dependencies, and new 'blocked' and 'unblocked' reports for list those tasks.
July 16th, 2010
· Enhancement and bug fix release
May 24th, 2010
· Minor bug fix release.
February 23rd, 2010Color:
· 256-color support, for more interesting and subtle color control.
· Color 'blending' which is the mixing of foreground and background colors for when multiple color rules apply.
· Alternating line coloration.
· Color rules now match on partial project names, like filters.
· The 'color' command now allows you to test various color combinations ("task color red on rgb315")
· Calendar report can now list due tasks beneath the calendar.
· Holidays can now be marked on the calendar.
· New 'config' command to modify your .taskrc file, report on the current configuration, and check your .taskrc file for problems.
· Ability to nest configuration files with the "include" keyword.
· More data format options, including the ability to control date format by report.
· More control over the display of annotations.
· Ability to include the date and time on certain fields.
· New 'countdown' report column showing time until task is due.
· Several other new report columns.
· More control over calendar colors.
· Ability to color tasks due today differently, to make them stand out.
· Configurable case-sensitivity for searches, subsitutions.
· Configurable tag-, recurrenceand active-indicators.
· New task-faq man page.
· New task-color man page explaining color usage.
· Updates to all man pages.
· New 'word' and 'noword' attribute modifiers.
· More vim syntax highlighting of task data files and configuration files.
· Lots of bug fixes, and a huge increase in the size of the test suite, for improved quality.
December 10th, 2009
· Bug fix release.
November 24th, 2009
· Bug fix release that solve a couple of problems.
October 22nd, 2009
· Task has been ported to Haiku OS.
September 10th, 2009
· Fixed Bug #287: Shadow files contain control codes (thanks to Richard Querin).
· Fixed Bug #288: rc.name:value not propagated for default.command (thanks to Zach Frazier).
· Fixed Bug #289: Import from todo.sh (thanks to Ben Jackson).
· Fixed Bug #291: task version generates false output (thanks to thomas@BIC).
· Implemented Feature #282: Return useful values to the shell (thanks to Pietro Cerutti).