mirror of
https://github.com/go-task/task.git
synced 2025-03-21 21:27:07 +02:00
1 line
62 KiB
JavaScript
1 line
62 KiB
JavaScript
"use strict";(self.webpackChunktaskfile_dev=self.webpackChunktaskfile_dev||[]).push([[34],{3905:function(e,t,a){a.d(t,{Zo:function(){return p},kt:function(){return h}});var i=a(7294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,i)}return a}function s(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?l(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):l(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function r(e,t){if(null==e)return{};var a,i,n=function(e,t){if(null==e)return{};var a,i,n={},l=Object.keys(e);for(i=0;i<l.length;i++)a=l[i],t.indexOf(a)>=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(i=0;i<l.length;i++)a=l[i],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var o=i.createContext({}),k=function(e){var t=i.useContext(o),a=t;return e&&(a="function"==typeof e?e(t):s(s({},t),e)),a},p=function(e){var t=k(e.components);return i.createElement(o.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},m=i.forwardRef((function(e,t){var a=e.components,n=e.mdxType,l=e.originalType,o=e.parentName,p=r(e,["components","mdxType","originalType","parentName"]),m=k(a),h=n,d=m["".concat(o,".").concat(h)]||m[h]||u[h]||l;return a?i.createElement(d,s(s({ref:t},p),{},{components:a})):i.createElement(d,s({ref:t},p))}));function h(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var l=a.length,s=new Array(l);s[0]=m;var r={};for(var o in t)hasOwnProperty.call(t,o)&&(r[o]=t[o]);r.originalType=e,r.mdxType="string"==typeof e?e:n,s[1]=r;for(var k=2;k<l;k++)s[k]=a[k];return i.createElement.apply(null,s)}return i.createElement.apply(null,a)}m.displayName="MDXCreateElement"},1016:function(e,t,a){a.r(t),a.d(t,{assets:function(){return p},contentTitle:function(){return o},default:function(){return h},frontMatter:function(){return r},metadata:function(){return k},toc:function(){return u}});var i=a(7462),n=a(3366),l=(a(7294),a(3905)),s=["components"],r={slug:"/changelog/",sidebar_position:6},o="Changelog",k={unversionedId:"changelog",id:"changelog",title:"Changelog",description:"v3.17.0",source:"@site/docs/changelog.md",sourceDirName:".",slug:"/changelog/",permalink:"/changelog/",draft:!1,tags:[],version:"current",sidebarPosition:6,frontMatter:{slug:"/changelog/",sidebar_position:6},sidebar:"tutorialSidebar",previous:{title:"Styleguide",permalink:"/styleguide/"},next:{title:"Community",permalink:"/community/"}},p={},u=[{value:"v3.17.0",id:"v3170",level:2},{value:"v3.16.0 - 2022-09-29",id:"v3160---2022-09-29",level:2},{value:"v3.15.2 - 2022-09-08",id:"v3152---2022-09-08",level:2},{value:"v3.15.0 - 2022-09-03",id:"v3150---2022-09-03",level:2},{value:"v3.14.1 - 2022-08-03",id:"v3141---2022-08-03",level:2},{value:"v3.14.0 - 2022-07-08",id:"v3140---2022-07-08",level:2},{value:"v3.13.0 - 2022-06-13",id:"v3130---2022-06-13",level:2},{value:"v3.12.1 - 2022-05-10",id:"v3121---2022-05-10",level:2},{value:"v3.12.0 - 2022-03-31",id:"v3120---2022-03-31",level:2},{value:"v3.11.0 - 2022-02-19",id:"v3110---2022-02-19",level:2},{value:"v3.10.0 - 2022-01-04",id:"v3100---2022-01-04",level:2},{value:"v3.9.2 - 2021-12-02",id:"v392---2021-12-02",level:2},{value:"v3.9.1 - 2021-11-28",id:"v391---2021-11-28",level:2},{value:"v3.9.0 - 2021-10-02",id:"v390---2021-10-02",level:2},{value:"v3.8.0 - 2021-09-26",id:"v380---2021-09-26",level:2},{value:"v3.7.3 - 2021-09-04",id:"v373---2021-09-04",level:2},{value:"v3.7.0 - 2021-07-31",id:"v370---2021-07-31",level:2},{value:"v3.6.0 - 2021-07-10",id:"v360---2021-07-10",level:2},{value:"v3.5.0 - 2021-07-04",id:"v350---2021-07-04",level:2},{value:"v3.4.3 - 2021-05-30",id:"v343---2021-05-30",level:2},{value:"v3.4.2 - 2021-04-23",id:"v342---2021-04-23",level:2},{value:"v3.4.1 - 2021-04-17",id:"v341---2021-04-17",level:2},{value:"v3.3.0 - 2021-03-20",id:"v330---2021-03-20",level:2},{value:"v3.2.2 - 2021-01-12",id:"v322---2021-01-12",level:2},{value:"v3.2.1 - 2021-01-09",id:"v321---2021-01-09",level:2},{value:"v3.2.0 - 2021-01-07",id:"v320---2021-01-07",level:2},{value:"v3.1.0 - 2021-01-03",id:"v310---2021-01-03",level:2},{value:"v3.0.1 - 2020-12-26",id:"v301---2020-12-26",level:2},{value:"v3.0.0 - 2020-08-16",id:"v300---2020-08-16",level:2},{value:"v2.8.1 - 2020-05-20",id:"v281---2020-05-20",level:2},{value:"v2.8.0 - 2019-12-07",id:"v280---2019-12-07",level:2},{value:"v2.7.1 - 2019-11-10",id:"v271---2019-11-10",level:2},{value:"v2.7.0 - 2019-09-22",id:"v270---2019-09-22",level:2},{value:"v2.6.0 - 2019-07-21",id:"v260---2019-07-21",level:2},{value:"v2.5.2 - 2019-05-11",id:"v252---2019-05-11",level:2},{value:"2.5.1 - 2019-04-27",id:"251---2019-04-27",level:2},{value:"v2.5.0 - 2019-03-16",id:"v250---2019-03-16",level:2},{value:"v2.4.0 - 2019-02-21",id:"v240---2019-02-21",level:2},{value:"v2.3.0 - 2019-01-02",id:"v230---2019-01-02",level:2},{value:"v2.2.1 - 2018-12-09",id:"v221---2018-12-09",level:2},{value:"v2.2.0 - 2018-10-25",id:"v220---2018-10-25",level:2},{value:"v2.1.1 - 2018-09-17",id:"v211---2018-09-17",level:2},{value:"v2.1.0 - 2018-08-19",id:"v210---2018-08-19",level:2},{value:"v2.0.3 - 2018-06-24",id:"v203---2018-06-24",level:2},{value:"v2.0.2 - 2018-05-01",id:"v202---2018-05-01",level:2},{value:"v2.0.1 - 2018-03-11",id:"v201---2018-03-11",level:2},{value:"v2.0.0 - 2018-03-08",id:"v200---2018-03-08",level:2},{value:"v1.4.4 - 2017-11-19",id:"v144---2017-11-19",level:2},{value:"v1.4.3 - 2017-09-07",id:"v143---2017-09-07",level:2},{value:"v1.4.2 - 2017-07-30",id:"v142---2017-07-30",level:2},{value:"v1.4.1 - 2017-07-15",id:"v141---2017-07-15",level:2},{value:"v1.4.0 - 2017-07-06",id:"v140---2017-07-06",level:2},{value:"v1.3.1 - 2017-06-14",id:"v131---2017-06-14",level:2},{value:"v1.3.0 - 2017-04-24",id:"v130---2017-04-24",level:2},{value:"v1.2.0 - 2017-04-02",id:"v120---2017-04-02",level:2},{value:"v1.1.0 - 2017-03-08",id:"v110---2017-03-08",level:2},{value:"v1.0.0 - 2017-02-28",id:"v100---2017-02-28",level:2}],m={toc:u};function h(e){var t=e.components,a=(0,n.Z)(e,s);return(0,l.kt)("wrapper",(0,i.Z)({},m,a,{components:t,mdxType:"MDXLayout"}),(0,l.kt)("h1",{id:"changelog"},"Changelog"),(0,l.kt)("h2",{id:"v3170"},"v3.17.0"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},'Add a "Did you mean ...?" suggestion when a task does not exits another one\nwith a similar name is found\n(',(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/867"},"#867"),", ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/880"},"#880"),")."),(0,l.kt)("li",{parentName:"ul"},"Now YAML parse errors will print which Taskfile failed to parse\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/885"},"#885"),", ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/887"},"#887"),")."),(0,l.kt)("li",{parentName:"ul"},"Add ability to set ",(0,l.kt)("inlineCode",{parentName:"li"},"aliases")," for tasks and namespaces (",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/268"},"#268"),", ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/340"},"#340"),", ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/879"},"#879"),")."),(0,l.kt)("li",{parentName:"ul"},"Improvements to Fish shell completion\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/897"},"#897"),")."),(0,l.kt)("li",{parentName:"ul"},"Added ability to set a different watch interval by setting\n",(0,l.kt)("inlineCode",{parentName:"li"},"interval: '500ms'")," or using the ",(0,l.kt)("inlineCode",{parentName:"li"},"--interval=500ms")," flag\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/813"},"#813"),", ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/865"},"#865"),")."),(0,l.kt)("li",{parentName:"ul"},"Add colored output to ",(0,l.kt)("inlineCode",{parentName:"li"},"--list"),", ",(0,l.kt)("inlineCode",{parentName:"li"},"--list-all")," and ",(0,l.kt)("inlineCode",{parentName:"li"},"--summary")," flags (",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/845"},"#845"),", ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/874"},"#874"),")."),(0,l.kt)("li",{parentName:"ul"},"Fix unexpected behavior where ",(0,l.kt)("inlineCode",{parentName:"li"},"label:")," was being shown instead of the task\nname on ",(0,l.kt)("inlineCode",{parentName:"li"},"--list"),"\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/603"},"#603"),", ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/877"},"#877"),").")),(0,l.kt)("h2",{id:"v3160---2022-09-29"},"v3.16.0 - 2022-09-29"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"Add ",(0,l.kt)("inlineCode",{parentName:"li"},"npm")," as new installation method: ",(0,l.kt)("inlineCode",{parentName:"li"},"npm i -g @go-task/cli"),"\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/870"},"#870"),", ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/871"},"#871"),", ",(0,l.kt)("a",{parentName:"li",href:"https://www.npmjs.com/package/@go-task/cli"},"npm package"),")."),(0,l.kt)("li",{parentName:"ul"},"Add support to marking tasks and includes as internal, which will hide them\nfrom ",(0,l.kt)("inlineCode",{parentName:"li"},"--list")," and ",(0,l.kt)("inlineCode",{parentName:"li"},"--list-all"),"\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/818"},"#818"),").")),(0,l.kt)("h2",{id:"v3152---2022-09-08"},"v3.15.2 - 2022-09-08"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"Fix error when using variable in ",(0,l.kt)("inlineCode",{parentName:"li"},"env:")," introduced in the previous release\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/858"},"#858"),", ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/866"},"#866"),")."),(0,l.kt)("li",{parentName:"ul"},"Fix handling of ",(0,l.kt)("inlineCode",{parentName:"li"},"CLI_ARGS")," (",(0,l.kt)("inlineCode",{parentName:"li"},"--"),") in Bash completion\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/863"},"#863"),")."),(0,l.kt)("li",{parentName:"ul"},"On zsh completion, add ability to replace ",(0,l.kt)("inlineCode",{parentName:"li"},"--list-all")," with ",(0,l.kt)("inlineCode",{parentName:"li"},"--list")," as\nalready possible on the Bash completion\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/861"},"#861"),").")),(0,l.kt)("h2",{id:"v3150---2022-09-03"},"v3.15.0 - 2022-09-03"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"Add new special variables ",(0,l.kt)("inlineCode",{parentName:"li"},"ROOT_DIR")," and ",(0,l.kt)("inlineCode",{parentName:"li"},"TASKFILE_DIR"),". This was a highly\nrequested feature\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/215"},"#215"),", ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/857"},"#857"),", ",(0,l.kt)("a",{parentName:"li",href:"https://taskfile.dev/api/#special-variables"},"Documentation"),")."),(0,l.kt)("li",{parentName:"ul"},"Follow symlinks on ",(0,l.kt)("inlineCode",{parentName:"li"},"sources"),"\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/826"},"#826"),", ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/831"},"#831"),")."),(0,l.kt)("li",{parentName:"ul"},"Improvements and fixes to Bash completion\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/835"},"#835"),", ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/844"},"#844"),").")),(0,l.kt)("h2",{id:"v3141---2022-08-03"},"v3.14.1 - 2022-08-03"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"Always resolve relative include paths relative to the including Taskfile\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/822"},"#822"),", ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/823"},"#823"),")."),(0,l.kt)("li",{parentName:"ul"},"Fix ZSH and PowerShell completions to consider all tasks instead of just the\npublic ones (those with descriptions)\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/803"},"#803"),").")),(0,l.kt)("h2",{id:"v3140---2022-07-08"},"v3.14.0 - 2022-07-08"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"Add ability to override the ",(0,l.kt)("inlineCode",{parentName:"li"},".task")," directory location with the\n",(0,l.kt)("inlineCode",{parentName:"li"},"TASK_TEMP_DIR")," environment variable."),(0,l.kt)("li",{parentName:"ul"},"Allow to override Task colors using environment variables:\n",(0,l.kt)("inlineCode",{parentName:"li"},"TASK_COLOR_RESET"),", ",(0,l.kt)("inlineCode",{parentName:"li"},"TASK_COLOR_BLUE"),", ",(0,l.kt)("inlineCode",{parentName:"li"},"TASK_COLOR_GREEN"),",\n",(0,l.kt)("inlineCode",{parentName:"li"},"TASK_COLOR_CYAN"),", ",(0,l.kt)("inlineCode",{parentName:"li"},"TASK_COLOR_YELLOW"),", ",(0,l.kt)("inlineCode",{parentName:"li"},"TASK_COLOR_MAGENTA"),"\nand ",(0,l.kt)("inlineCode",{parentName:"li"},"TASK_COLOR_RED"),"\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/568"},"#568"),", ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/792"},"#792"),")."),(0,l.kt)("li",{parentName:"ul"},"Fixed bug when using the ",(0,l.kt)("inlineCode",{parentName:"li"},"output: group")," mode where STDOUT and STDERR were\nbeing print in separated blocks instead of in the right order\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/779"},"#779"),")."),(0,l.kt)("li",{parentName:"ul"},"Starting on this release, ARM architecture binaries are been released to Snap\nas well\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/795"},"#795"),")."),(0,l.kt)("li",{parentName:"ul"},"i386 binaries won't be available anymore on Snap because Ubuntu removed the support\nfor this architecture."),(0,l.kt)("li",{parentName:"ul"},"Upgrade mvdan.cc/sh, which fixes a bug with associative arrays\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/785"},"#785"),", ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/mvdan/sh/issues/884"},"mvdan/sh#884"),", ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/mvdan/sh/pull/893"},"mvdan/sh#893"),").")),(0,l.kt)("h2",{id:"v3130---2022-06-13"},"v3.13.0 - 2022-06-13"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"Added ",(0,l.kt)("inlineCode",{parentName:"li"},"-n")," as an alias to ",(0,l.kt)("inlineCode",{parentName:"li"},"--dry"),"\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/776"},"#776"),", ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/777"},"#777"),")."),(0,l.kt)("li",{parentName:"ul"},"Fix behavior of interrupt (SIGINT, SIGTERM) signals. Task will now give time\nfor the processes running to do cleanup work\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/458"},"#458"),", ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/479"},"#479"),", ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/728"},"#728"),", ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/769"},"#769"),")."),(0,l.kt)("li",{parentName:"ul"},"Add new ",(0,l.kt)("inlineCode",{parentName:"li"},"--exit-code")," (",(0,l.kt)("inlineCode",{parentName:"li"},"-x"),") flag that will pass-through the exit form the\ncommand being ran\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/755"},"#755"),").")),(0,l.kt)("h2",{id:"v3121---2022-05-10"},"v3.12.1 - 2022-05-10"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"Fixed bug where, on Windows, variables were ending with ",(0,l.kt)("inlineCode",{parentName:"li"},"\\r")," because we were\nonly removing the final ",(0,l.kt)("inlineCode",{parentName:"li"},"\\n")," but not ",(0,l.kt)("inlineCode",{parentName:"li"},"\\r\\n"),"\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/717"},"#717"),").")),(0,l.kt)("h2",{id:"v3120---2022-03-31"},"v3.12.0 - 2022-03-31"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"The ",(0,l.kt)("inlineCode",{parentName:"li"},"--list")," and ",(0,l.kt)("inlineCode",{parentName:"li"},"--list-all")," flags can now be combined with the ",(0,l.kt)("inlineCode",{parentName:"li"},"--silent"),"\nflag to print the task names only, without their description\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/691"},"#691"),")."),(0,l.kt)("li",{parentName:"ul"},"Added support for multi-level inclusion of Taskfiles. This means that\nincluded Taskfiles can also include other Taskfiles. Before this was limited\nto one level\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/390"},"#390"),", ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/discussions/623"},"#623"),", ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/656"},"#656"),")."),(0,l.kt)("li",{parentName:"ul"},"Add ability to specify vars when including a Taskfile.\n",(0,l.kt)("a",{parentName:"li",href:"https://taskfile.dev/#/usage?id=vars-of-included-taskfiles"},"Check out the documentation"),"\nfor more information.\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/677"},"#677"),").")),(0,l.kt)("h2",{id:"v3110---2022-02-19"},"v3.11.0 - 2022-02-19"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"Task now supports printing begin and end messages when using the ",(0,l.kt)("inlineCode",{parentName:"li"},"group"),"\noutput mode, useful for grouping tasks in CI systems.\n",(0,l.kt)("a",{parentName:"li",href:"http://taskfile.dev/#/usage?id=output-syntax"},"Check out the documentation")," for more information\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/647"},"#647"),", ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/651"},"#651"),")."),(0,l.kt)("li",{parentName:"ul"},"Add ",(0,l.kt)("inlineCode",{parentName:"li"},"Taskfile.dist.yml")," and ",(0,l.kt)("inlineCode",{parentName:"li"},"Taskfile.dist.yaml")," to the supported file\nname list. ",(0,l.kt)("a",{parentName:"li",href:"https://taskfile.dev/#/usage?id=supported-file-names"},"Check out the documentation")," for more information\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/498"},"#498"),", ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/666"},"#666"),").")),(0,l.kt)("h2",{id:"v3100---2022-01-04"},"v3.10.0 - 2022-01-04"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"A new ",(0,l.kt)("inlineCode",{parentName:"li"},"--list-all")," (alias ",(0,l.kt)("inlineCode",{parentName:"li"},"-a"),") flag is now available. It's similar to the\nexiting ",(0,l.kt)("inlineCode",{parentName:"li"},"--list")," (",(0,l.kt)("inlineCode",{parentName:"li"},"-l"),") but prints all tasks, even those without a\ndescription\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/383"},"#383"),", ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/401"},"#401"),")."),(0,l.kt)("li",{parentName:"ul"},"It's now possible to schedule cleanup commands to run once a task finishes\nwith the ",(0,l.kt)("inlineCode",{parentName:"li"},"defer:")," keyword\n(",(0,l.kt)("a",{parentName:"li",href:"https://taskfile.dev/#/usage?id=doing-task-cleanup-with-defer"},"Documentation"),", ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/475"},"#475"),", ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/626"},"#626"),")."),(0,l.kt)("li",{parentName:"ul"},"Remove long deprecated and undocumented ",(0,l.kt)("inlineCode",{parentName:"li"},"$")," variable prefix and ",(0,l.kt)("inlineCode",{parentName:"li"},"^")," command\nprefix\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/642"},"#642"),", ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/644"},"#644"),", ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/645"},"#645"),")."),(0,l.kt)("li",{parentName:"ul"},"Add support for ",(0,l.kt)("inlineCode",{parentName:"li"},".yaml")," extension (as an alternative to ",(0,l.kt)("inlineCode",{parentName:"li"},".yml"),").\nThis was requested multiple times throughout the years. Enjoy!\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/183"},"#183"),", ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/184"},"#184"),", ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/369"},"#369"),", ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/584"},"#584"),", ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/621"},"#621"),")."),(0,l.kt)("li",{parentName:"ul"},"Fixed error when computing a variable when the task directory do not exist\nyet\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/481"},"#481"),", ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/579"},"#579"),").")),(0,l.kt)("h2",{id:"v392---2021-12-02"},"v3.9.2 - 2021-12-02"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"Upgrade ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/mvdan/sh"},"mvdan/sh")," which contains a fix a for\na important regression on Windows\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/619"},"#619"),", ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/mvdan/sh/issues/768"},"mvdan/sh#768"),", ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/mvdan/sh/pull/769"},"mvdan/sh#769"),").")),(0,l.kt)("h2",{id:"v391---2021-11-28"},"v3.9.1 - 2021-11-28"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"Add logging in verbose mode for when a task starts and finishes\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/533"},"#533"),", ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/588"},"#588"),")."),(0,l.kt)("li",{parentName:"ul"},"Fix an issue with preconditions and context errors\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/597"},"#597"),", ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/598"},"#598"),")."),(0,l.kt)("li",{parentName:"ul"},"Quote each ",(0,l.kt)("inlineCode",{parentName:"li"},"{{.CLI_ARGS}}")," argument to prevent one with spaces to become many\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/613"},"#613"),")."),(0,l.kt)("li",{parentName:"ul"},"Fix nil pointer when ",(0,l.kt)("inlineCode",{parentName:"li"},"cmd:")," was left empty\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/612"},"#612"),", ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/614"},"#614"),")."),(0,l.kt)("li",{parentName:"ul"},"Upgrade ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/mvdan/sh"},"mvdan/sh")," which contains two\nrelevant fixes:",(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"Fix quote of empty strings in ",(0,l.kt)("inlineCode",{parentName:"li"},"shellQuote"),"\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/609"},"#609"),", ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/mvdan/sh/issues/763"},"mvdan/sh#763"),")."),(0,l.kt)("li",{parentName:"ul"},"Fix issue of wrong environment variable being picked when there's another\nvery similar one\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/586"},"#586"),", ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/mvdan/sh/pull/745"},"mvdan/sh#745"),")."))),(0,l.kt)("li",{parentName:"ul"},"Install shell completions automatically when installing via Homebrew\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/264"},"#264"),", ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/592"},"#592"),", ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/homebrew-tap/pull/2"},"go-task/homebrew-tap#2"),").")),(0,l.kt)("h2",{id:"v390---2021-10-02"},"v3.9.0 - 2021-10-02"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"A new ",(0,l.kt)("inlineCode",{parentName:"li"},"shellQuote")," function was added to the template system\n(",(0,l.kt)("inlineCode",{parentName:"li"},'{{shellQuote "a string"}}'),") to ensure a string is safe for use in shell\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/mvdan/sh/pull/727"},"mvdan/sh#727"),", ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/mvdan/sh/pull/737"},"mvdan/sh#737"),", ",(0,l.kt)("a",{parentName:"li",href:"https://pkg.go.dev/mvdan.cc/sh/v3@v3.4.0/syntax#Quote"},"Documentation"),")"),(0,l.kt)("li",{parentName:"ul"},"In this version ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/mvdan/sh"},"mvdan.cc/sh")," was upgraded\nwith some small fixes and features",(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"The ",(0,l.kt)("inlineCode",{parentName:"li"},"read -p")," flag is now supported\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/314"},"#314"),", ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/mvdan/sh/issues/551"},"mvdan/sh#551"),", ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/mvdan/sh/pull/722"},"mvdan/sh#772"),")"),(0,l.kt)("li",{parentName:"ul"},"The ",(0,l.kt)("inlineCode",{parentName:"li"},"pwd -P")," and ",(0,l.kt)("inlineCode",{parentName:"li"},"pwd -L")," flags are now supported\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/553"},"#553"),", ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/mvdan/sh/issues/724"},"mvdan/sh#724"),", ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/mvdan/sh/pull/728"},"mvdan/sh#728"),")"),(0,l.kt)("li",{parentName:"ul"},"The ",(0,l.kt)("inlineCode",{parentName:"li"},"$GID")," environment variable is now correctly being set\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/561"},"#561"),", ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/mvdan/sh/pull/723"},"mvdan/sh#723"),")")))),(0,l.kt)("h2",{id:"v380---2021-09-26"},"v3.8.0 - 2021-09-26"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"Add ",(0,l.kt)("inlineCode",{parentName:"li"},"interactive: true")," setting to improve support for interactive CLI apps\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/217"},"#217"),", ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/563"},"#563"),")."),(0,l.kt)("li",{parentName:"ul"},"Fix some ",(0,l.kt)("inlineCode",{parentName:"li"},"nil")," errors\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/534"},"#534"),", ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/573"},"#573"),")."),(0,l.kt)("li",{parentName:"ul"},"Add ability to declare an included Taskfile as optional\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/519"},"#519"),", ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/552"},"#552"),")."),(0,l.kt)("li",{parentName:"ul"},"Add support for including Taskfiles in the home directory by using ",(0,l.kt)("inlineCode",{parentName:"li"},"~"),"\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/539"},"#539"),", ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/557"},"#557"),").")),(0,l.kt)("h2",{id:"v373---2021-09-04"},"v3.7.3 - 2021-09-04"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"Add official support to Apple M1 (",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/564"},"#564"),", ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/567"},"#567"),")."),(0,l.kt)("li",{parentName:"ul"},"Our ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/homebrew-tap"},"official Homebrew tap")," will\nsupport more platforms, including Apple M1")),(0,l.kt)("h2",{id:"v370---2021-07-31"},"v3.7.0 - 2021-07-31"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"Add ",(0,l.kt)("inlineCode",{parentName:"li"},"run:")," setting to control if tasks should run multiple times or not.\nAvailable options are ",(0,l.kt)("inlineCode",{parentName:"li"},"always")," (the default), ",(0,l.kt)("inlineCode",{parentName:"li"},"when_changed")," (if a variable\nmodified the task) and ",(0,l.kt)("inlineCode",{parentName:"li"},"once")," (run only once no matter what).\nThis is a long time requested feature. Enjoy!\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/53"},"#53"),", ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/359"},"#359"),").")),(0,l.kt)("h2",{id:"v360---2021-07-10"},"v3.6.0 - 2021-07-10"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"Allow using both ",(0,l.kt)("inlineCode",{parentName:"li"},"sources:")," and ",(0,l.kt)("inlineCode",{parentName:"li"},"status:")," in the same task\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/411"},"#411"),", ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/427"},"#427"),", ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/477"},"#477"),")."),(0,l.kt)("li",{parentName:"ul"},"Small optimization and bug fix: don't compute variables if not needed for\n",(0,l.kt)("inlineCode",{parentName:"li"},"dotenv:")," (",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/517"},"#517"),").")),(0,l.kt)("h2",{id:"v350---2021-07-04"},"v3.5.0 - 2021-07-04"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"Add support for interpolation in ",(0,l.kt)("inlineCode",{parentName:"li"},"dotenv:"),"\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/discussions/433"},"#433"),", ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/434"},"#434"),", ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/453"},"#453"),").")),(0,l.kt)("h2",{id:"v343---2021-05-30"},"v3.4.3 - 2021-05-30"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"Add support for the ",(0,l.kt)("inlineCode",{parentName:"li"},"NO_COLOR")," environment variable.\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/459"},"#459"),", ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/fatih/color/pull/137"},"fatih/color#137"),")."),(0,l.kt)("li",{parentName:"ul"},"Fix bug where sources were not considering the right directory\nin ",(0,l.kt)("inlineCode",{parentName:"li"},"--watch")," mode\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/484"},"#484"),", ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/485"},"#485"),").")),(0,l.kt)("h2",{id:"v342---2021-04-23"},"v3.4.2 - 2021-04-23"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"On watch, report which file failed to read\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/472"},"#472"),")."),(0,l.kt)("li",{parentName:"ul"},"Do not try to catch SIGKILL signal, which are not actually possible\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/476"},"#476"),")."),(0,l.kt)("li",{parentName:"ul"},"Improve version reporting when building Task from source using Go Modules\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/462"},"#462"),", ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/473"},"#473"),").")),(0,l.kt)("h2",{id:"v341---2021-04-17"},"v3.4.1 - 2021-04-17"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"Improve error reporting when parsing YAML: in some situations where you\nwould just see an generic error, you'll now see the actual error with\nmore detail: the YAML line the failed to parse, for example\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/467"},"#467"),")."),(0,l.kt)("li",{parentName:"ul"},"A JSON Schema was published ",(0,l.kt)("a",{parentName:"li",href:"https://json.schemastore.org/taskfile.json"},"here"),"\nand is automatically being used by some editors like Visual Studio Code\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/135"},"#135"),")."),(0,l.kt)("li",{parentName:"ul"},"Print task name before the command in the log output\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/398"},"#398"),").")),(0,l.kt)("h2",{id:"v330---2021-03-20"},"v3.3.0 - 2021-03-20"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"Add support for delegating CLI arguments to commands with ",(0,l.kt)("inlineCode",{parentName:"li"},"--")," and a\nspecial ",(0,l.kt)("inlineCode",{parentName:"li"},"CLI_ARGS")," variable\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/327"},"#327"),")."),(0,l.kt)("li",{parentName:"ul"},"Add a ",(0,l.kt)("inlineCode",{parentName:"li"},"--concurrency")," (alias ",(0,l.kt)("inlineCode",{parentName:"li"},"-C"),") flag, to limit the number of tasks that\nrun concurrently. This is useful for heavy workloads.\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/345"},"#345"),").")),(0,l.kt)("h2",{id:"v322---2021-01-12"},"v3.2.2 - 2021-01-12"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"Improve performance of ",(0,l.kt)("inlineCode",{parentName:"li"},"--list")," and ",(0,l.kt)("inlineCode",{parentName:"li"},"--summary")," by skipping running shell\nvariables for these flags\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/332"},"#332"),")."),(0,l.kt)("li",{parentName:"ul"},"Fixed a bug where an environment in a Taskfile was not always overridable\nby the system environment\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/425"},"#425"),")."),(0,l.kt)("li",{parentName:"ul"},"Fixed environment from .env files not being available as variables\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/379"},"#379"),")."),(0,l.kt)("li",{parentName:"ul"},"The install script is now working for ARM platforms\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/428"},"#428"),").")),(0,l.kt)("h2",{id:"v321---2021-01-09"},"v3.2.1 - 2021-01-09"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"Fixed some bugs and regressions regarding dynamic variables and directories\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/426"},"#426"),")."),(0,l.kt)("li",{parentName:"ul"},"The ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/slim-sprig"},"slim-sprig")," package was updated\nwith the upstream ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/Masterminds/sprig"},"sprig"),".")),(0,l.kt)("h2",{id:"v320---2021-01-07"},"v3.2.0 - 2021-01-07"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"Fix the ",(0,l.kt)("inlineCode",{parentName:"li"},".task")," directory being created in the task directory instead of the\nTaskfile directory\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/247"},"#247"),")."),(0,l.kt)("li",{parentName:"ul"},"Fix a bug where dynamic variables (those declared with ",(0,l.kt)("inlineCode",{parentName:"li"},"sh:"),") were not\nrunning in the task directory when the task has a custom dir or it was\nin an included Taskfile\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/384"},"#384"),")."),(0,l.kt)("li",{parentName:"ul"},"The watch feature (via the ",(0,l.kt)("inlineCode",{parentName:"li"},"--watch")," flag) got a few different bug fixes and\nshould be more stable now\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/423"},"#423"),", ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/365"},"#365"),").")),(0,l.kt)("h2",{id:"v310---2021-01-03"},"v3.1.0 - 2021-01-03"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"Fix a bug when the checksum up-to-date resolution is used by a task\nwith a custom ",(0,l.kt)("inlineCode",{parentName:"li"},"label:")," attribute\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/412"},"#412"),")."),(0,l.kt)("li",{parentName:"ul"},"Starting from this release, we're releasing official ARMv6 and ARM64 binaries\nfor Linux\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/375"},"#375"),", ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/418"},"#418"),")."),(0,l.kt)("li",{parentName:"ul"},"Task now respects the order of declaration of included Taskfiles when\nevaluating variables declaring by them\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/393"},"#393"),")."),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"set -e")," is now automatically set on every command. This was done to fix an\nissue where multiline string commands wouldn't really fail unless the\nsentence was in the last line\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/403"},"#403"),").")),(0,l.kt)("h2",{id:"v301---2020-12-26"},"v3.0.1 - 2020-12-26"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"Allow use as a library by moving the required packages out of the ",(0,l.kt)("inlineCode",{parentName:"li"},"internal"),"\ndirectory\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/358"},"#358"),")."),(0,l.kt)("li",{parentName:"ul"},"Do not error if a specified dotenv file does not exist\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/378"},"#378"),", ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/385"},"#385"),")."),(0,l.kt)("li",{parentName:"ul"},"Fix panic when you have empty tasks in your Taskfile\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/338"},"#338"),", ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/362"},"#362"),").")),(0,l.kt)("h2",{id:"v300---2020-08-16"},"v3.0.0 - 2020-08-16"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"On ",(0,l.kt)("inlineCode",{parentName:"li"},"v3"),", all CLI variables will be considered global variables\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/336"},"#336"),", ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/341"},"#341"),")"),(0,l.kt)("li",{parentName:"ul"},"Add support to ",(0,l.kt)("inlineCode",{parentName:"li"},".env")," like files\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/324"},"#324"),", ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/356"},"#356"),")."),(0,l.kt)("li",{parentName:"ul"},"Add ",(0,l.kt)("inlineCode",{parentName:"li"},"label:")," to task so you can override the task name in the logs\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/321%5D"},"#321"),", ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/337"},"#337"),")."),(0,l.kt)("li",{parentName:"ul"},"Refactor how variables work on version 3\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/311"},"#311"),")."),(0,l.kt)("li",{parentName:"ul"},"Disallow ",(0,l.kt)("inlineCode",{parentName:"li"},"expansions")," on v3 since it has no effect."),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"Taskvars.yml")," is not automatically included anymore."),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"Taskfile_{{OS}}.yml")," is not automatically included anymore."),(0,l.kt)("li",{parentName:"ul"},"Allow interpolation on ",(0,l.kt)("inlineCode",{parentName:"li"},"includes"),", so you can manually include a Taskfile\nbased on operation system, for example."),(0,l.kt)("li",{parentName:"ul"},"Expose ",(0,l.kt)("inlineCode",{parentName:"li"},".TASK")," variable in templates with the task name\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/252"},"#252"),")."),(0,l.kt)("li",{parentName:"ul"},"Implement short task syntax\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/194"},"#194"),", ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/240"},"#240"),")."),(0,l.kt)("li",{parentName:"ul"},"Added option to make included Taskfile run commands on its own directory\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/260"},"#260"),", ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/144"},"#144"),")"),(0,l.kt)("li",{parentName:"ul"},"Taskfiles in version 1 are not supported anymore\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/237"},"#237"),")."),(0,l.kt)("li",{parentName:"ul"},"Added global ",(0,l.kt)("inlineCode",{parentName:"li"},"method:")," option. With this option, you can set a default\nmethod to all tasks in a Taskfile\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/246"},"#246"),")."),(0,l.kt)("li",{parentName:"ul"},"Changed default method from ",(0,l.kt)("inlineCode",{parentName:"li"},"timestamp")," to ",(0,l.kt)("inlineCode",{parentName:"li"},"checksum"),"\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/246"},"#246"),")."),(0,l.kt)("li",{parentName:"ul"},"New magic variables are now available when using ",(0,l.kt)("inlineCode",{parentName:"li"},"status:"),":\n",(0,l.kt)("inlineCode",{parentName:"li"},".TIMESTAMP")," which contains the greatest modification date\nfrom the files listed in ",(0,l.kt)("inlineCode",{parentName:"li"},"sources:"),", and ",(0,l.kt)("inlineCode",{parentName:"li"},".CHECKSUM"),", which\ncontains a checksum of all files listed in ",(0,l.kt)("inlineCode",{parentName:"li"},"status:"),".\nThis is useful for manual checking when using external, or even remote,\nartifacts when using ",(0,l.kt)("inlineCode",{parentName:"li"},"status:"),"\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/216"},"#216"),")."),(0,l.kt)("li",{parentName:"ul"},"We're now using ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/slim-sprig"},"slim-sprig")," instead of\n",(0,l.kt)("a",{parentName:"li",href:"https://github.com/Masterminds/sprig"},"sprig"),", which allowed a file size\nreduction of about 22%\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/219"},"#219"),")."),(0,l.kt)("li",{parentName:"ul"},"We now use some colors on Task output to better distinguish message types -\ncommands are green, errors are red, etc\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/207"},"#207"),").")),(0,l.kt)("h2",{id:"v281---2020-05-20"},"v2.8.1 - 2020-05-20"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"Fix error code for the ",(0,l.kt)("inlineCode",{parentName:"li"},"--help")," flag\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/300"},"#300"),", ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/330"},"#330"),")."),(0,l.kt)("li",{parentName:"ul"},"Print version to stdout instead of stderr\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/299"},"#299"),", ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/329"},"#329"),")."),(0,l.kt)("li",{parentName:"ul"},"Supress ",(0,l.kt)("inlineCode",{parentName:"li"},"context")," errors when using the ",(0,l.kt)("inlineCode",{parentName:"li"},"--watch")," flag\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/313"},"#313"),", ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/317"},"#317"),")."),(0,l.kt)("li",{parentName:"ul"},"Support templating on description\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/276"},"#276"),", ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/283"},"#283"),").")),(0,l.kt)("h2",{id:"v280---2019-12-07"},"v2.8.0 - 2019-12-07"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"Add ",(0,l.kt)("inlineCode",{parentName:"li"},"--parallel")," flag (alias ",(0,l.kt)("inlineCode",{parentName:"li"},"-p"),") to run tasks given by the command line in\nparallel\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/266"},"#266"),")."),(0,l.kt)("li",{parentName:"ul"},"Fixed bug where calling the ",(0,l.kt)("inlineCode",{parentName:"li"},"task")," CLI only informing global vars would not\nexecute the ",(0,l.kt)("inlineCode",{parentName:"li"},"default")," task."),(0,l.kt)("li",{parentName:"ul"},"Add hability to silent all tasks by adding ",(0,l.kt)("inlineCode",{parentName:"li"},"silent: true")," a the root of the\nTaskfile.")),(0,l.kt)("h2",{id:"v271---2019-11-10"},"v2.7.1 - 2019-11-10"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"Fix error being raised when ",(0,l.kt)("inlineCode",{parentName:"li"},"exit 0")," was called\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/251"},"#251"),").")),(0,l.kt)("h2",{id:"v270---2019-09-22"},"v2.7.0 - 2019-09-22"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"Fixed panic bug when assigning a global variable\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/229"},"#229"),", ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/234"},"#243"),")."),(0,l.kt)("li",{parentName:"ul"},"A task with ",(0,l.kt)("inlineCode",{parentName:"li"},"method: checksum")," will now re-run if generated files are deleted\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/228"},"#228"),", ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/238"},"#238"),").")),(0,l.kt)("h2",{id:"v260---2019-07-21"},"v2.6.0 - 2019-07-21"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"Fixed some bugs regarding minor version checks on ",(0,l.kt)("inlineCode",{parentName:"li"},"version:"),"."),(0,l.kt)("li",{parentName:"ul"},"Add ",(0,l.kt)("inlineCode",{parentName:"li"},"preconditions:")," to task\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/205"},"#205"),")."),(0,l.kt)("li",{parentName:"ul"},"Create directory informed on ",(0,l.kt)("inlineCode",{parentName:"li"},"dir:")," if it doesn't exist\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/209"},"#209"),", ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/211"},"#211"),")."),(0,l.kt)("li",{parentName:"ul"},"We now have a ",(0,l.kt)("inlineCode",{parentName:"li"},"--taskfile")," flag (alias ",(0,l.kt)("inlineCode",{parentName:"li"},"-t"),"), which can be used to run\nanother Taskfile (other than the default ",(0,l.kt)("inlineCode",{parentName:"li"},"Taskfile.yml"),")\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/221"},"#221"),")."),(0,l.kt)("li",{parentName:"ul"},"It's now possible to install Task using Homebrew on Linux\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/homebrew-tap/pull/1"},"go-task/homebrew-tap#1"),").")),(0,l.kt)("h2",{id:"v252---2019-05-11"},"v2.5.2 - 2019-05-11"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"Reverted YAML upgrade due issues with CRLF on Windows\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/201"},"#201"),", ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-yaml/yaml/issues/450"},"go-yaml/yaml#450"),")."),(0,l.kt)("li",{parentName:"ul"},"Allow setting global variables through the CLI\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/192"},"#192"),").")),(0,l.kt)("h2",{id:"251---2019-04-27"},"2.5.1 - 2019-04-27"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"Fixed some issues with interactive command line tools, where sometimes\nthe output were not being shown, and similar issues\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/114"},"#114"),", ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/190"},"#190"),", ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/200"},"#200"),")."),(0,l.kt)("li",{parentName:"ul"},"Upgraded ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-yaml/yaml"},"go-yaml/yaml")," from v2 to v3.")),(0,l.kt)("h2",{id:"v250---2019-03-16"},"v2.5.0 - 2019-03-16"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"We moved from the taskfile.org domain to the new fancy taskfile.dev domain.\nWhile stuff is being redirected, we strongly recommend to everyone that use\n",(0,l.kt)("a",{parentName:"li",href:"https://taskfile.dev/#/installation?id=install-script"},"this install script"),"\nto use the new taskfile.dev domain on scripts from now on."),(0,l.kt)("li",{parentName:"ul"},"Fixed to the ZSH completion\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/182"},"#182"),")."),(0,l.kt)("li",{parentName:"ul"},"Add ",(0,l.kt)("a",{parentName:"li",href:"https://taskfile.org/#/usage?id=display-summary-of-task"},(0,l.kt)("inlineCode",{parentName:"a"},"--summary")," flag along with ",(0,l.kt)("inlineCode",{parentName:"a"},"summary:")," task attribute"),"\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/180"},"#180"),").")),(0,l.kt)("h2",{id:"v240---2019-02-21"},"v2.4.0 - 2019-02-21"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"Allow calling a task of the root Taskfile from an included Taskfile\nby prefixing it with ",(0,l.kt)("inlineCode",{parentName:"li"},":"),"\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/161"},"#161"),", ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/172"},"#172"),"),"),(0,l.kt)("li",{parentName:"ul"},"Add flag to override the ",(0,l.kt)("inlineCode",{parentName:"li"},"output")," option\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/173"},"#173"),");"),(0,l.kt)("li",{parentName:"ul"},"Fix bug where Task was persisting the new checksum on the disk when the Dry\nMode is enabled\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/166"},"#166"),");"),(0,l.kt)("li",{parentName:"ul"},"Fix file timestamp issue when the file name has spaces\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/176"},"#176"),");"),(0,l.kt)("li",{parentName:"ul"},"Mitigating path expanding issues on Windows\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/170"},"#170"),").")),(0,l.kt)("h2",{id:"v230---2019-01-02"},"v2.3.0 - 2019-01-02"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"On Windows, Task can now be installed using ",(0,l.kt)("a",{parentName:"li",href:"https://scoop.sh/"},"Scoop"),"\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/152"},"#152"),");"),(0,l.kt)("li",{parentName:"ul"},"Fixed issue with file/directory globing\n(",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/153"},"#153"),");"),(0,l.kt)("li",{parentName:"ul"},"Added ability to globally set environment variables\n(\n",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/138"},"#138"),",\n",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/pull/159"},"#159"),"\n).")),(0,l.kt)("h2",{id:"v221---2018-12-09"},"v2.2.1 - 2018-12-09"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"This repository now uses Go Modules (#143). We'll still keep the ",(0,l.kt)("inlineCode",{parentName:"li"},"vendor")," directory in sync for some time, though;"),(0,l.kt)("li",{parentName:"ul"},"Fixing a bug when the Taskfile has no tasks but includes another Taskfile (#150);"),(0,l.kt)("li",{parentName:"ul"},"Fix a bug when calling another task or a dependency in an included Taskfile (#151).")),(0,l.kt)("h2",{id:"v220---2018-10-25"},"v2.2.0 - 2018-10-25"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"Added support for ",(0,l.kt)("a",{parentName:"li",href:"https://taskfile.org/#/usage?id=including-other-taskfiles"},"including other Taskfiles")," (#98)",(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"This should be considered experimental. For now, only including local files is supported, but support for including remote Taskfiles is being discussed. If you have any feedback, please comment on #98."))),(0,l.kt)("li",{parentName:"ul"},"Task now have a dedicated documentation site: ",(0,l.kt)("a",{parentName:"li",href:"https://taskfile.org"},"https://taskfile.org"),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"Thanks to ",(0,l.kt)("a",{parentName:"li",href:"https://docsify.js.org/"},"Docsify")," for making this pretty easy. To check the source code, just take a look at the ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/tree/master/docs"},"docs")," directory of this repository. Contributions to the documentation is really appreciated.")))),(0,l.kt)("h2",{id:"v211---2018-09-17"},"v2.1.1 - 2018-09-17"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"Fix suggestion to use ",(0,l.kt)("inlineCode",{parentName:"li"},"task --init")," not being shown anymore (when a ",(0,l.kt)("inlineCode",{parentName:"li"},"Taskfile.yml")," is not found)"),(0,l.kt)("li",{parentName:"ul"},"Fix error when using checksum method and no file exists for a source glob (#131)"),(0,l.kt)("li",{parentName:"ul"},"Fix signal handling when the ",(0,l.kt)("inlineCode",{parentName:"li"},"--watch")," flag is given (#132)")),(0,l.kt)("h2",{id:"v210---2018-08-19"},"v2.1.0 - 2018-08-19"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"Add a ",(0,l.kt)("inlineCode",{parentName:"li"},"ignore_error")," option to task and command (#123)"),(0,l.kt)("li",{parentName:"ul"},"Add a dry run mode (",(0,l.kt)("inlineCode",{parentName:"li"},"--dry")," flag) (#126)")),(0,l.kt)("h2",{id:"v203---2018-06-24"},"v2.0.3 - 2018-06-24"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},'Expand environment variables on "dir", "sources" and "generates" (#116)'),(0,l.kt)("li",{parentName:"ul"},"Fix YAML merging syntax (#112)"),(0,l.kt)("li",{parentName:"ul"},"Add ZSH completion (#111)"),(0,l.kt)("li",{parentName:"ul"},"Implement new ",(0,l.kt)("inlineCode",{parentName:"li"},"output")," option. Please check out the ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task#output-syntax"},"documentation"))),(0,l.kt)("h2",{id:"v202---2018-05-01"},"v2.0.2 - 2018-05-01"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"Fix merging of YAML anchors (#112)")),(0,l.kt)("h2",{id:"v201---2018-03-11"},"v2.0.1 - 2018-03-11"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"Fixes panic on ",(0,l.kt)("inlineCode",{parentName:"li"},"task --list"))),(0,l.kt)("h2",{id:"v200---2018-03-08"},"v2.0.0 - 2018-03-08"),(0,l.kt)("p",null,"Version 2.0.0 is here, with a new Taskfile format."),(0,l.kt)("p",null,"Please, make sure to read the ",(0,l.kt)("a",{parentName:"p",href:"https://github.com/go-task/task/blob/master/TASKFILE_VERSIONS.md"},"Taskfile versions")," document, since it describes in depth what changed for this version."),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"New Taskfile version 2 (",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/77"},"https://github.com/go-task/task/issues/77"),")"),(0,l.kt)("li",{parentName:"ul"},"Possibility to have global variables in the ",(0,l.kt)("inlineCode",{parentName:"li"},"Taskfile.yml")," instead of ",(0,l.kt)("inlineCode",{parentName:"li"},"Taskvars.yml")," (",(0,l.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/66"},"https://github.com/go-task/task/issues/66"),")"),(0,l.kt)("li",{parentName:"ul"},"Small improvements and fixes")),(0,l.kt)("h2",{id:"v144---2017-11-19"},"v1.4.4 - 2017-11-19"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"Handle SIGINT and SIGTERM (#75);"),(0,l.kt)("li",{parentName:"ul"},"List: print message with there's no task with description;"),(0,l.kt)("li",{parentName:"ul"},'Expand home dir ("~" symbol) on paths (#74);'),(0,l.kt)("li",{parentName:"ul"},"Add Snap as an installation method;"),(0,l.kt)("li",{parentName:"ul"},"Move examples to its own repo;"),(0,l.kt)("li",{parentName:"ul"},'Watch: also walk on tasks called on on "cmds", and not only on "deps";'),(0,l.kt)("li",{parentName:"ul"},"Print logs to stderr instead of stdout (#68);"),(0,l.kt)("li",{parentName:"ul"},"Remove deprecated ",(0,l.kt)("inlineCode",{parentName:"li"},"set")," keyword;"),(0,l.kt)("li",{parentName:"ul"},"Add checksum based status check, alternative to timestamp based.")),(0,l.kt)("h2",{id:"v143---2017-09-07"},"v1.4.3 - 2017-09-07"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"Allow assigning variables to tasks at run time via CLI (#33)"),(0,l.kt)("li",{parentName:"ul"},"Added suport for multiline variables from sh (#64)"),(0,l.kt)("li",{parentName:"ul"},"Fixes env: remove square braces and evaluate shell (#62)"),(0,l.kt)("li",{parentName:"ul"},"Watch: change watch library and few fixes and improvements"),(0,l.kt)("li",{parentName:"ul"},"When use watching, cancel and restart long running process on file change (#59 and #60)")),(0,l.kt)("h2",{id:"v142---2017-07-30"},"v1.4.2 - 2017-07-30"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"Flag to set directory of execution"),(0,l.kt)("li",{parentName:"ul"},"Always echo command if is verbose mode"),(0,l.kt)("li",{parentName:"ul"},"Add silent mode to disable echoing of commands"),(0,l.kt)("li",{parentName:"ul"},"Fixes and improvements of variables (#56)")),(0,l.kt)("h2",{id:"v141---2017-07-15"},"v1.4.1 - 2017-07-15"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"Allow use of YAML for dynamic variables instead of $ prefix",(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"VAR: {sh: echo Hello}")," instead of ",(0,l.kt)("inlineCode",{parentName:"li"},"VAR: $echo Hello")))),(0,l.kt)("li",{parentName:"ul"},"Add ",(0,l.kt)("inlineCode",{parentName:"li"},"--list")," (or ",(0,l.kt)("inlineCode",{parentName:"li"},"-l"),") flag to print existing tasks"),(0,l.kt)("li",{parentName:"ul"},"OS specific Taskvars file (e.g. ",(0,l.kt)("inlineCode",{parentName:"li"},"Taskvars_windows.yml"),", ",(0,l.kt)("inlineCode",{parentName:"li"},"Taskvars_linux.yml"),", etc)"),(0,l.kt)("li",{parentName:"ul"},"Consider task up-to-date on equal timestamps (#49)"),(0,l.kt)("li",{parentName:"ul"},"Allow absolute path in generates section (#48)"),(0,l.kt)("li",{parentName:"ul"},"Bugfix: allow templating when calling deps (#42)"),(0,l.kt)("li",{parentName:"ul"},"Fix panic for invalid task in cyclic dep detection"),(0,l.kt)("li",{parentName:"ul"},"Better error output for dynamic variables in Taskvars.yml (#41)"),(0,l.kt)("li",{parentName:"ul"},"Allow template evaluation in parameters")),(0,l.kt)("h2",{id:"v140---2017-07-06"},"v1.4.0 - 2017-07-06"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"Cache dynamic variables"),(0,l.kt)("li",{parentName:"ul"},"Add verbose mode (",(0,l.kt)("inlineCode",{parentName:"li"},"-v")," flag)"),(0,l.kt)("li",{parentName:"ul"},"Support to task parameters (overriding vars) (#31) (#32)"),(0,l.kt)("li",{parentName:"ul"},'Print command, also when "set:" is specified (#35)'),(0,l.kt)("li",{parentName:"ul"},"Improve task command help text (#35)")),(0,l.kt)("h2",{id:"v131---2017-06-14"},"v1.3.1 - 2017-06-14"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"Fix glob not working on commands (#28)"),(0,l.kt)("li",{parentName:"ul"},"Add ExeExt template function"),(0,l.kt)("li",{parentName:"ul"},"Add ",(0,l.kt)("inlineCode",{parentName:"li"},"--init")," flag to create a new Taskfile"),(0,l.kt)("li",{parentName:"ul"},"Add status option to prevent task from running (#27)"),(0,l.kt)("li",{parentName:"ul"},"Allow interpolation on ",(0,l.kt)("inlineCode",{parentName:"li"},"generates")," and ",(0,l.kt)("inlineCode",{parentName:"li"},"sources")," attributes (#26)")),(0,l.kt)("h2",{id:"v130---2017-04-24"},"v1.3.0 - 2017-04-24"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"Migrate from os/exec.Cmd to a native Go sh/bash interpreter",(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"This is a potentially breaking change if you use Windows."),(0,l.kt)("li",{parentName:"ul"},"Now, ",(0,l.kt)("inlineCode",{parentName:"li"},"cmd")," is not used anymore on Windows. Always use Bash-like syntax for your commands, even on Windows."))),(0,l.kt)("li",{parentName:"ul"},'Add "ToSlash" and "FromSlash" to template functions'),(0,l.kt)("li",{parentName:"ul"},"Use functions defined on github.com/Masterminds/sprig"),(0,l.kt)("li",{parentName:"ul"},"Do not redirect stdin while running variables commands"),(0,l.kt)("li",{parentName:"ul"},"Using ",(0,l.kt)("inlineCode",{parentName:"li"},"context")," and ",(0,l.kt)("inlineCode",{parentName:"li"},"errgroup")," packages (this will make other tasks to be cancelled, if one returned an error)")),(0,l.kt)("h2",{id:"v120---2017-04-02"},"v1.2.0 - 2017-04-02"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"More tests and Travis integration"),(0,l.kt)("li",{parentName:"ul"},"Watch a task (experimental)"),(0,l.kt)("li",{parentName:"ul"},"Possibility to call another task"),(0,l.kt)("li",{parentName:"ul"},'Fix "=" not being reconized in variables/environment variables'),(0,l.kt)("li",{parentName:"ul"},"Tasks can now have a description, and help will print them (#10)"),(0,l.kt)("li",{parentName:"ul"},"Task dependencies now run concurrently"),(0,l.kt)("li",{parentName:"ul"},"Support for a default task (#16)")),(0,l.kt)("h2",{id:"v110---2017-03-08"},"v1.1.0 - 2017-03-08"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"Support for YAML, TOML and JSON (#1)"),(0,l.kt)("li",{parentName:"ul"},"Support running command in another directory (#4)"),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"--force")," or ",(0,l.kt)("inlineCode",{parentName:"li"},"-f")," flag to force execution of task even when it's up-to-date"),(0,l.kt)("li",{parentName:"ul"},"Detection of cyclic dependencies (#5)"),(0,l.kt)("li",{parentName:"ul"},"Support for variables (#6, #9, #14)"),(0,l.kt)("li",{parentName:"ul"},"Operation System specific commands and variables (#13)")),(0,l.kt)("h2",{id:"v100---2017-02-28"},"v1.0.0 - 2017-02-28"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"Add LICENSE file")))}h.isMDXComponent=!0}}]); |