From fb38c22298c43aa45c7c09a0a535b6ca073d202c Mon Sep 17 00:00:00 2001
From: task-bot <106601941+task-bot@users.noreply.github.com>
Date: Fri, 9 Sep 2022 00:28:34 +0000
Subject: [PATCH] deploy: 3cad318b7091914414ca76aa6412352dff170655

---
 404.html                                               |  4 ++--
 api/index.html                                         |  4 ++--
 .../js/{935f2afb.73629a80.js => 935f2afb.7f9def3f.js}  |  2 +-
 .../js/{9beb87c2.6e03b6c7.js => 9beb87c2.d835f5bb.js}  |  2 +-
 ...ntime~main.20e1af15.js => runtime~main.c758183e.js} |  2 +-
 changelog/index.html                                   | 10 +++++-----
 community/index.html                                   |  4 ++--
 donate/index.html                                      |  4 ++--
 index.html                                             |  4 ++--
 installation/index.html                                |  4 ++--
 releasing/index.html                                   |  4 ++--
 search/index.html                                      |  4 ++--
 styleguide/index.html                                  |  4 ++--
 taskfile-versions/index.html                           |  4 ++--
 usage/index.html                                       |  4 ++--
 15 files changed, 30 insertions(+), 30 deletions(-)
 rename assets/js/{935f2afb.73629a80.js => 935f2afb.7f9def3f.js} (97%)
 rename assets/js/{9beb87c2.6e03b6c7.js => 9beb87c2.d835f5bb.js} (99%)
 rename assets/js/{runtime~main.20e1af15.js => runtime~main.c758183e.js} (97%)

diff --git a/404.html b/404.html
index 6d35387b..65621f65 100644
--- a/404.html
+++ b/404.html
@@ -12,13 +12,13 @@
 
 <link rel="search" type="application/opensearchdescription+xml" title="Task" href="/opensearch.xml">
 <script src="/js/carbon.js" async></script><title data-rh="true">Page Not Found | Task</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://taskfile.dev/404.html"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_tag" content="default"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docsearch:docusaurus_tag" content="default"><meta data-rh="true" name="og:image" content="https://taskfile.dev/img/og-image.png"><meta data-rh="true" property="og:title" content="Page Not Found | Task"><link data-rh="true" rel="icon" href="/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://taskfile.dev/404.html"><link data-rh="true" rel="alternate" href="https://taskfile.dev/404.html" hreflang="en"><link data-rh="true" rel="alternate" href="https://taskfile.dev/404.html" hreflang="x-default"><link data-rh="true" rel="preconnect" href="https://7IZIJ13AI7-dsn.algolia.net" crossorigin="anonymous"><link rel="stylesheet" href="/assets/css/styles.098dd58a.css">
-<link rel="preload" href="/assets/js/runtime~main.20e1af15.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c758183e.js" as="script">
 <link rel="preload" href="/assets/js/main.88b7d452.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Task Logo" class="themedImage_W2Cr themedImage--light_TfLj"><img src="/img/logo.svg" alt="Task Logo" class="themedImage_W2Cr themedImage--dark_oUvU"></div><b class="navbar__title text--truncate">Task</b></a><a class="navbar__item navbar__link" href="/installation/">Installation</a><a class="navbar__item navbar__link" href="/usage/">Usage</a><a class="navbar__item navbar__link" href="/api/">API</a><a class="navbar__item navbar__link" href="/donate/">Donate</a></div><div class="navbar__items navbar__items--right"><a href="https://github.com/go-task/task" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><a href="https://twitter.com/taskfiledev" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">Twitter<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><a href="https://discord.gg/6TY36E39UK" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">Discord<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_S7eR colorModeToggle_vKtC"><button class="clean-btn toggleButton_rCf9 toggleButtonDisabled_Pu9x" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_v35p"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_nQuB"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="searchBox_dLyj"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div class="main-wrapper"><main class="container margin-vert--xl"><div class="row"><div class="col col--6 col--offset-3"><h1 class="hero__title">Page Not Found</h1><p>We could not find what you were looking for.</p><p>Please contact the owner of the site that linked you to the original URL and let them know their link is broken.</p></div></div></main></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="row footer__links"><div class="col footer__col"><div class="footer__title">Pages</div><ul class="footer__items clean-list"><li class="footer__item"><a class="footer__link-item" href="/installation/">Installation</a></li><li class="footer__item"><a class="footer__link-item" href="/usage/">Usage</a></li><li class="footer__item"><a class="footer__link-item" href="/donate/">Donate</a></li></ul></div><div class="col footer__col"><div class="footer__title">Community</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://github.com/go-task/task" target="_blank" rel="noopener noreferrer" class="footer__link-item">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://twitter.com/taskfiledev" target="_blank" rel="noopener noreferrer" class="footer__link-item">Twitter<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://discord.gg/6TY36E39UK" target="_blank" rel="noopener noreferrer" class="footer__link-item">Discord<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://opencollective.com/task" target="_blank" rel="noopener noreferrer" class="footer__link-item">OpenCollective<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.20e1af15.js"></script>
+<script src="/assets/js/runtime~main.c758183e.js"></script>
 <script src="/assets/js/main.88b7d452.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/api/index.html b/api/index.html
index 73dff760..5c8fa2f3 100644
--- a/api/index.html
+++ b/api/index.html
@@ -12,7 +12,7 @@
 
 <link rel="search" type="application/opensearchdescription+xml" title="Task" href="/opensearch.xml">
 <script src="/js/carbon.js" async></script><title data-rh="true">API Reference | Task</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://taskfile.dev/api/"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="og:image" content="https://taskfile.dev/img/og-image.png"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="API Reference | Task"><meta data-rh="true" name="description" content="CLI"><meta data-rh="true" property="og:description" content="CLI"><link data-rh="true" rel="icon" href="/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://taskfile.dev/api/"><link data-rh="true" rel="alternate" href="https://taskfile.dev/api/" hreflang="en"><link data-rh="true" rel="alternate" href="https://taskfile.dev/api/" hreflang="x-default"><link data-rh="true" rel="preconnect" href="https://7IZIJ13AI7-dsn.algolia.net" crossorigin="anonymous"><link rel="stylesheet" href="/assets/css/styles.098dd58a.css">
-<link rel="preload" href="/assets/js/runtime~main.20e1af15.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c758183e.js" as="script">
 <link rel="preload" href="/assets/js/main.88b7d452.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -22,7 +22,7 @@ variable</p></div></div><table><thead><tr><th>Short</th><th>Flag</th><th>Type</t
 <code>cmds</code> and everything else will be set to their default values:</p><div class="language-yaml codeBlockContainer_MPoW theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_B9tL"><pre tabindex="0" class="prism-code language-yaml codeBlock__0OG thin-scrollbar"><code class="codeBlockLines_gEuF"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">tasks</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token key atrule" style="color:#00a4db">foo</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> echo &quot;foo&quot;</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token key atrule" style="color:#00a4db">foobar</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token punctuation" style="color:#393A34">-</span><span class="token plain"> echo &quot;foo&quot;</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token punctuation" style="color:#393A34">-</span><span class="token plain"> echo &quot;bar&quot;</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token key atrule" style="color:#00a4db">baz</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token key atrule" style="color:#00a4db">cmd</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> echo &quot;baz&quot;</span><br></span></code></pre><div class="buttonGroup_hRr1"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_W9eQ" aria-hidden="true"><svg class="copyButtonIcon_XEyF" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_i9w9" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div><h3 class="anchor anchorWithStickyNavbar_mojV" id="dependency">Dependency<a class="hash-link" href="#dependency" title="Direct link to heading">​</a></h3><table><thead><tr><th>Attribute</th><th>Type</th><th>Default</th><th>Description</th></tr></thead><tbody><tr><td><code>task</code></td><td><code>string</code></td><td></td><td>The task to be execute as a dependency.</td></tr><tr><td><code>vars</code></td><td><a href="#variable"><code>map[string]Variable</code></a></td><td></td><td>Optional additional variables to be passed to this task.</td></tr></tbody></table><div class="admonition admonition-tip alert alert--success"><div class="admonition-heading"><h5><span class="admonition-icon"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="16" viewBox="0 0 12 16"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"></path></svg></span>tip</h5></div><div class="admonition-content"><p>If you don&#x27;t want to set additional variables, it&#x27;s enough to declare the
 dependency as a list of strings (they will be assigned to <code>task</code>):</p><div class="language-yaml codeBlockContainer_MPoW theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_B9tL"><pre tabindex="0" class="prism-code language-yaml codeBlock__0OG thin-scrollbar"><code class="codeBlockLines_gEuF"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">tasks</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token key atrule" style="color:#00a4db">foo</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token key atrule" style="color:#00a4db">deps</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain">foo</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> bar</span><span class="token punctuation" style="color:#393A34">]</span><br></span></code></pre><div class="buttonGroup_hRr1"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_W9eQ" aria-hidden="true"><svg class="copyButtonIcon_XEyF" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_i9w9" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div><h3 class="anchor anchorWithStickyNavbar_mojV" id="command">Command<a class="hash-link" href="#command" title="Direct link to heading">​</a></h3><table><thead><tr><th>Attribute</th><th>Type</th><th>Default</th><th>Description</th></tr></thead><tbody><tr><td><code>cmd</code></td><td><code>string</code></td><td></td><td>The shell command to be executed.</td></tr><tr><td><code>defer</code></td><td><code>string</code></td><td></td><td>Alternative to <code>cmd</code>, but schedules the command to be executed at the end of this task instead of immediately. This cannot be used together with <code>cmd</code>.</td></tr><tr><td><code>silent</code></td><td><code>bool</code></td><td><code>false</code></td><td>Skips some output for this command. Note that STDOUT and STDERR of the commands will still be redirected.</td></tr><tr><td><code>ignore_error</code></td><td><code>bool</code></td><td><code>false</code></td><td>Continue execution if errors happen while executing the command.</td></tr><tr><td><code>task</code></td><td><code>string</code></td><td></td><td>Set this to trigger execution of another task instead of running a command. This cannot be set together with <code>cmd</code>.</td></tr><tr><td><code>vars</code></td><td><a href="#variable"><code>map[string]Variable</code></a></td><td></td><td>Optional additional variables to be passed to the referenced task. Only relevant when setting <code>task</code> instead of <code>cmd</code>.</td></tr></tbody></table><div class="admonition admonition-info alert alert--info"><div class="admonition-heading"><h5><span class="admonition-icon"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="16" viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>info</h5></div><div class="admonition-content"><p>If given as a a string, the value will be assigned to <code>cmd</code>:</p><div class="language-yaml codeBlockContainer_MPoW theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_B9tL"><pre tabindex="0" class="prism-code language-yaml codeBlock__0OG thin-scrollbar"><code class="codeBlockLines_gEuF"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">tasks</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token key atrule" style="color:#00a4db">foo</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token key atrule" style="color:#00a4db">cmds</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token punctuation" style="color:#393A34">-</span><span class="token plain"> echo &quot;foo&quot;</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token punctuation" style="color:#393A34">-</span><span class="token plain"> echo &quot;bar&quot;</span><br></span></code></pre><div class="buttonGroup_hRr1"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_W9eQ" aria-hidden="true"><svg class="copyButtonIcon_XEyF" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_i9w9" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div><h3 class="anchor anchorWithStickyNavbar_mojV" id="variable">Variable<a class="hash-link" href="#variable" title="Direct link to heading">​</a></h3><table><thead><tr><th>Attribute</th><th>Type</th><th>Default</th><th>Description</th></tr></thead><tbody><tr><td><em>itself</em></td><td><code>string</code></td><td></td><td>A static value that will be set to the variable.</td></tr><tr><td><code>sh</code></td><td><code>string</code></td><td></td><td>A shell command. The output (<code>STDOUT</code>) will be assigned to the variable.</td></tr></tbody></table><div class="admonition admonition-info alert alert--info"><div class="admonition-heading"><h5><span class="admonition-icon"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="16" viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>info</h5></div><div class="admonition-content"><p>Static and dynamic variables have different syntaxes, like below:</p><div class="language-yaml codeBlockContainer_MPoW theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_B9tL"><pre tabindex="0" class="prism-code language-yaml codeBlock__0OG thin-scrollbar"><code class="codeBlockLines_gEuF"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">vars</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token key atrule" style="color:#00a4db">STATIC</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> static</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token key atrule" style="color:#00a4db">DYNAMIC</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token key atrule" style="color:#00a4db">sh</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> echo &quot;dynamic&quot;</span><br></span></code></pre><div class="buttonGroup_hRr1"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_W9eQ" aria-hidden="true"><svg class="copyButtonIcon_XEyF" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_i9w9" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div><h3 class="anchor anchorWithStickyNavbar_mojV" id="precondition">Precondition<a class="hash-link" href="#precondition" title="Direct link to heading">​</a></h3><table><thead><tr><th>Attribute</th><th>Type</th><th>Default</th><th>Description</th></tr></thead><tbody><tr><td><code>sh</code></td><td><code>string</code></td><td></td><td>Command to be executed. If a non-zero exit code is returned, the task errors without executing its commands.</td></tr><tr><td><code>msg</code></td><td><code>string</code></td><td></td><td>Optional message to print if the precondition isn&#x27;t met.</td></tr></tbody></table><div class="admonition admonition-tip alert alert--success"><div class="admonition-heading"><h5><span class="admonition-icon"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="16" viewBox="0 0 12 16"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"></path></svg></span>tip</h5></div><div class="admonition-content"><p>If you don&#x27;t want to set a different message, you can declare a precondition
 like this and the value will be assigned to <code>sh</code>:</p><div class="language-yaml codeBlockContainer_MPoW theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_B9tL"><pre tabindex="0" class="prism-code language-yaml codeBlock__0OG thin-scrollbar"><code class="codeBlockLines_gEuF"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">tasks</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token key atrule" style="color:#00a4db">foo</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token key atrule" style="color:#00a4db">precondition</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> test </span><span class="token punctuation" style="color:#393A34">-</span><span class="token plain">f Taskfile.yml</span><br></span></code></pre><div class="buttonGroup_hRr1"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_W9eQ" aria-hidden="true"><svg class="copyButtonIcon_XEyF" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_i9w9" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages navigation"><a class="pagination-nav__link pagination-nav__link--prev" href="/usage/"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Usage</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/styleguide/"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Styleguide</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_cNA8 thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#cli" class="table-of-contents__link toc-highlight">CLI</a></li><li><a href="#special-variables" class="table-of-contents__link toc-highlight">Special Variables</a></li><li><a href="#env" class="table-of-contents__link toc-highlight">ENV</a></li><li><a href="#schema" class="table-of-contents__link toc-highlight">Schema</a><ul><li><a href="#taskfile" class="table-of-contents__link toc-highlight">Taskfile</a></li><li><a href="#include" class="table-of-contents__link toc-highlight">Include</a></li><li><a href="#task" class="table-of-contents__link toc-highlight">Task</a></li><li><a href="#dependency" class="table-of-contents__link toc-highlight">Dependency</a></li><li><a href="#command" class="table-of-contents__link toc-highlight">Command</a></li><li><a href="#variable" class="table-of-contents__link toc-highlight">Variable</a></li><li><a href="#precondition" class="table-of-contents__link toc-highlight">Precondition</a></li></ul></li></ul></div></div></div></div></main></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="row footer__links"><div class="col footer__col"><div class="footer__title">Pages</div><ul class="footer__items clean-list"><li class="footer__item"><a class="footer__link-item" href="/installation/">Installation</a></li><li class="footer__item"><a class="footer__link-item" href="/usage/">Usage</a></li><li class="footer__item"><a class="footer__link-item" href="/donate/">Donate</a></li></ul></div><div class="col footer__col"><div class="footer__title">Community</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://github.com/go-task/task" target="_blank" rel="noopener noreferrer" class="footer__link-item">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://twitter.com/taskfiledev" target="_blank" rel="noopener noreferrer" class="footer__link-item">Twitter<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://discord.gg/6TY36E39UK" target="_blank" rel="noopener noreferrer" class="footer__link-item">Discord<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://opencollective.com/task" target="_blank" rel="noopener noreferrer" class="footer__link-item">OpenCollective<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.20e1af15.js"></script>
+<script src="/assets/js/runtime~main.c758183e.js"></script>
 <script src="/assets/js/main.88b7d452.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/assets/js/935f2afb.73629a80.js b/assets/js/935f2afb.7f9def3f.js
similarity index 97%
rename from assets/js/935f2afb.73629a80.js
rename to assets/js/935f2afb.7f9def3f.js
index 29977034..dd8da8af 100644
--- a/assets/js/935f2afb.73629a80.js
+++ b/assets/js/935f2afb.7f9def3f.js
@@ -1 +1 @@
-"use strict";(self.webpackChunktaskfile_dev=self.webpackChunktaskfile_dev||[]).push([[53],{1109:function(e){e.exports=JSON.parse('{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"tutorialSidebar":[{"type":"link","label":"Home","href":"/","docId":"intro"},{"type":"link","label":"Installation","href":"/installation/","docId":"installation"},{"type":"link","label":"Usage","href":"/usage/","docId":"usage"},{"type":"link","label":"API Reference","href":"/api/","docId":"api_reference"},{"type":"link","label":"Styleguide","href":"/styleguide/","docId":"styleguide"},{"type":"link","label":"Changelog","href":"/changelog/","docId":"changelog"},{"type":"link","label":"Community","href":"/community/","docId":"community"},{"type":"link","label":"Releasing","href":"/releasing/","docId":"releasing"},{"type":"link","label":"Taskfile Versions","href":"/taskfile-versions/","docId":"taskfile_versions"},{"type":"link","label":"Donate","href":"/donate/","docId":"donate"},{"type":"html","value":"<div id=\\"sidebar-ads\\"></div>"}]},"docs":{"api_reference":{"id":"api_reference","title":"API Reference","description":"CLI","sidebar":"tutorialSidebar"},"changelog":{"id":"changelog","title":"Changelog","description":"v3.15.1 - 2022-09-08","sidebar":"tutorialSidebar"},"community":{"id":"community","title":"Community","description":"Some of the work to improve the Task ecosystem is done by the community, be","sidebar":"tutorialSidebar"},"donate":{"id":"donate","title":"Donate","description":"If you find this project useful, you can consider donating by using one of the","sidebar":"tutorialSidebar"},"installation":{"id":"installation","title":"Installation","description":"Task offers many installation methods. Check out the available methods below.","sidebar":"tutorialSidebar"},"intro":{"id":"intro","title":"Home","description":"Task is a task runner / build tool that aims to be simpler and easier to use","sidebar":"tutorialSidebar"},"releasing":{"id":"releasing","title":"Releasing","description":"The release process of Task is done with the help of","sidebar":"tutorialSidebar"},"styleguide":{"id":"styleguide","title":"Styleguide","description":"This is the official Task styleguide for Taskfile.yml files. This guide","sidebar":"tutorialSidebar"},"taskfile_versions":{"id":"taskfile_versions","title":"Taskfile Versions","description":"The Taskfile syntax and features changed with time. This document explains what","sidebar":"tutorialSidebar"},"usage":{"id":"usage","title":"Usage","description":"Getting started","sidebar":"tutorialSidebar"}}}')}}]);
\ No newline at end of file
+"use strict";(self.webpackChunktaskfile_dev=self.webpackChunktaskfile_dev||[]).push([[53],{1109:function(e){e.exports=JSON.parse('{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"tutorialSidebar":[{"type":"link","label":"Home","href":"/","docId":"intro"},{"type":"link","label":"Installation","href":"/installation/","docId":"installation"},{"type":"link","label":"Usage","href":"/usage/","docId":"usage"},{"type":"link","label":"API Reference","href":"/api/","docId":"api_reference"},{"type":"link","label":"Styleguide","href":"/styleguide/","docId":"styleguide"},{"type":"link","label":"Changelog","href":"/changelog/","docId":"changelog"},{"type":"link","label":"Community","href":"/community/","docId":"community"},{"type":"link","label":"Releasing","href":"/releasing/","docId":"releasing"},{"type":"link","label":"Taskfile Versions","href":"/taskfile-versions/","docId":"taskfile_versions"},{"type":"link","label":"Donate","href":"/donate/","docId":"donate"},{"type":"html","value":"<div id=\\"sidebar-ads\\"></div>"}]},"docs":{"api_reference":{"id":"api_reference","title":"API Reference","description":"CLI","sidebar":"tutorialSidebar"},"changelog":{"id":"changelog","title":"Changelog","description":"v3.15.2 - 2022-09-08","sidebar":"tutorialSidebar"},"community":{"id":"community","title":"Community","description":"Some of the work to improve the Task ecosystem is done by the community, be","sidebar":"tutorialSidebar"},"donate":{"id":"donate","title":"Donate","description":"If you find this project useful, you can consider donating by using one of the","sidebar":"tutorialSidebar"},"installation":{"id":"installation","title":"Installation","description":"Task offers many installation methods. Check out the available methods below.","sidebar":"tutorialSidebar"},"intro":{"id":"intro","title":"Home","description":"Task is a task runner / build tool that aims to be simpler and easier to use","sidebar":"tutorialSidebar"},"releasing":{"id":"releasing","title":"Releasing","description":"The release process of Task is done with the help of","sidebar":"tutorialSidebar"},"styleguide":{"id":"styleguide","title":"Styleguide","description":"This is the official Task styleguide for Taskfile.yml files. This guide","sidebar":"tutorialSidebar"},"taskfile_versions":{"id":"taskfile_versions","title":"Taskfile Versions","description":"The Taskfile syntax and features changed with time. This document explains what","sidebar":"tutorialSidebar"},"usage":{"id":"usage","title":"Usage","description":"Getting started","sidebar":"tutorialSidebar"}}}')}}]);
\ No newline at end of file
diff --git a/assets/js/9beb87c2.6e03b6c7.js b/assets/js/9beb87c2.d835f5bb.js
similarity index 99%
rename from assets/js/9beb87c2.6e03b6c7.js
rename to assets/js/9beb87c2.d835f5bb.js
index f17cca2a..051f8a57 100644
--- a/assets/js/9beb87c2.6e03b6c7.js
+++ b/assets/js/9beb87c2.d835f5bb.js
@@ -1 +1 @@
-"use strict";(self.webpackChunktaskfile_dev=self.webpackChunktaskfile_dev||[]).push([[80],{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.15.1 - 2022-09-08",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.15.1 - 2022-09-08",id:"v3151---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:"v3151---2022-09-08"},"v3.15.1 - 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}}]);
\ No newline at end of file
+"use strict";(self.webpackChunktaskfile_dev=self.webpackChunktaskfile_dev||[]).push([[80],{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.15.2 - 2022-09-08",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.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:"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}}]);
\ No newline at end of file
diff --git a/assets/js/runtime~main.20e1af15.js b/assets/js/runtime~main.c758183e.js
similarity index 97%
rename from assets/js/runtime~main.20e1af15.js
rename to assets/js/runtime~main.c758183e.js
index 32acb454..4bed0695 100644
--- a/assets/js/runtime~main.20e1af15.js
+++ b/assets/js/runtime~main.c758183e.js
@@ -1 +1 @@
-!function(){"use strict";var e,t,n,r,o,f={},u={};function c(e){var t=u[e];if(void 0!==t)return t.exports;var n=u[e]={id:e,loaded:!1,exports:{}};return f[e].call(n.exports,n,n.exports,c),n.loaded=!0,n.exports}c.m=f,c.c=u,e=[],c.O=function(t,n,r,o){if(!n){var f=1/0;for(d=0;d<e.length;d++){n=e[d][0],r=e[d][1],o=e[d][2];for(var u=!0,i=0;i<n.length;i++)(!1&o||f>=o)&&Object.keys(c.O).every((function(e){return c.O[e](n[i])}))?n.splice(i--,1):(u=!1,o<f&&(f=o));if(u){e.splice(d--,1);var a=r();void 0!==a&&(t=a)}}return t}o=o||0;for(var d=e.length;d>0&&e[d-1][2]>o;d--)e[d]=e[d-1];e[d]=[n,r,o]},c.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return c.d(t,{a:t}),t},n=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},c.t=function(e,r){if(1&r&&(e=this(e)),8&r)return e;if("object"==typeof e&&e){if(4&r&&e.__esModule)return e;if(16&r&&"function"==typeof e.then)return e}var o=Object.create(null);c.r(o);var f={};t=t||[null,n({}),n([]),n(n)];for(var u=2&r&&e;"object"==typeof u&&!~t.indexOf(u);u=n(u))Object.getOwnPropertyNames(u).forEach((function(t){f[t]=function(){return e[t]}}));return f.default=function(){return e},c.d(o,f),o},c.d=function(e,t){for(var n in t)c.o(t,n)&&!c.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},c.f={},c.e=function(e){return Promise.all(Object.keys(c.f).reduce((function(t,n){return c.f[n](e,t),t}),[]))},c.u=function(e){return"assets/js/"+({53:"935f2afb",80:"9beb87c2",133:"f1d66b0d",217:"3b8c55ea",514:"1be78505",552:"0afd354a",582:"f7fd502c",595:"d0766b26",648:"3c140c84",671:"0e384e19",705:"7d415946",713:"1c56b476",827:"6476eba6",880:"5ef0e9d6",918:"17896441",920:"1a4e3797"}[e]||e)+"."+{53:"73629a80",80:"6e03b6c7",133:"6862b446",217:"e3e06aa2",514:"39ae2946",552:"3d55476b",582:"03ec634b",595:"c5627647",608:"10f8675e",648:"c2d43167",671:"f3a4ab38",705:"4a812130",713:"cd0d4fe9",780:"8efbf5ce",827:"e7dc1455",880:"1cbcaef4",894:"4bf7d380",918:"58fb0a3d",920:"eb9e742a",945:"3694633c"}[e]+".js"},c.miniCssF=function(e){},c.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),c.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r={},o="taskfile-dev:",c.l=function(e,t,n,f){if(r[e])r[e].push(t);else{var u,i;if(void 0!==n)for(var a=document.getElementsByTagName("script"),d=0;d<a.length;d++){var l=a[d];if(l.getAttribute("src")==e||l.getAttribute("data-webpack")==o+n){u=l;break}}u||(i=!0,(u=document.createElement("script")).charset="utf-8",u.timeout=120,c.nc&&u.setAttribute("nonce",c.nc),u.setAttribute("data-webpack",o+n),u.src=e),r[e]=[t];var b=function(t,n){u.onerror=u.onload=null,clearTimeout(s);var o=r[e];if(delete r[e],u.parentNode&&u.parentNode.removeChild(u),o&&o.forEach((function(e){return e(n)})),t)return t(n)},s=setTimeout(b.bind(null,void 0,{type:"timeout",target:u}),12e4);u.onerror=b.bind(null,u.onerror),u.onload=b.bind(null,u.onload),i&&document.head.appendChild(u)}},c.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},c.p="/",c.gca=function(e){return e={17896441:"918","935f2afb":"53","9beb87c2":"80",f1d66b0d:"133","3b8c55ea":"217","1be78505":"514","0afd354a":"552",f7fd502c:"582",d0766b26:"595","3c140c84":"648","0e384e19":"671","7d415946":"705","1c56b476":"713","6476eba6":"827","5ef0e9d6":"880","1a4e3797":"920"}[e]||e,c.p+c.u(e)},function(){var e={303:0,532:0};c.f.j=function(t,n){var r=c.o(e,t)?e[t]:void 0;if(0!==r)if(r)n.push(r[2]);else if(/^(303|532)$/.test(t))e[t]=0;else{var o=new Promise((function(n,o){r=e[t]=[n,o]}));n.push(r[2]=o);var f=c.p+c.u(t),u=new Error;c.l(f,(function(n){if(c.o(e,t)&&(0!==(r=e[t])&&(e[t]=void 0),r)){var o=n&&("load"===n.type?"missing":n.type),f=n&&n.target&&n.target.src;u.message="Loading chunk "+t+" failed.\n("+o+": "+f+")",u.name="ChunkLoadError",u.type=o,u.request=f,r[1](u)}}),"chunk-"+t,t)}},c.O.j=function(t){return 0===e[t]};var t=function(t,n){var r,o,f=n[0],u=n[1],i=n[2],a=0;if(f.some((function(t){return 0!==e[t]}))){for(r in u)c.o(u,r)&&(c.m[r]=u[r]);if(i)var d=i(c)}for(t&&t(n);a<f.length;a++)o=f[a],c.o(e,o)&&e[o]&&e[o][0](),e[o]=0;return c.O(d)},n=self.webpackChunktaskfile_dev=self.webpackChunktaskfile_dev||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))}()}();
\ No newline at end of file
+!function(){"use strict";var e,t,n,r,o,f={},u={};function c(e){var t=u[e];if(void 0!==t)return t.exports;var n=u[e]={id:e,loaded:!1,exports:{}};return f[e].call(n.exports,n,n.exports,c),n.loaded=!0,n.exports}c.m=f,c.c=u,e=[],c.O=function(t,n,r,o){if(!n){var f=1/0;for(d=0;d<e.length;d++){n=e[d][0],r=e[d][1],o=e[d][2];for(var u=!0,i=0;i<n.length;i++)(!1&o||f>=o)&&Object.keys(c.O).every((function(e){return c.O[e](n[i])}))?n.splice(i--,1):(u=!1,o<f&&(f=o));if(u){e.splice(d--,1);var a=r();void 0!==a&&(t=a)}}return t}o=o||0;for(var d=e.length;d>0&&e[d-1][2]>o;d--)e[d]=e[d-1];e[d]=[n,r,o]},c.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return c.d(t,{a:t}),t},n=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},c.t=function(e,r){if(1&r&&(e=this(e)),8&r)return e;if("object"==typeof e&&e){if(4&r&&e.__esModule)return e;if(16&r&&"function"==typeof e.then)return e}var o=Object.create(null);c.r(o);var f={};t=t||[null,n({}),n([]),n(n)];for(var u=2&r&&e;"object"==typeof u&&!~t.indexOf(u);u=n(u))Object.getOwnPropertyNames(u).forEach((function(t){f[t]=function(){return e[t]}}));return f.default=function(){return e},c.d(o,f),o},c.d=function(e,t){for(var n in t)c.o(t,n)&&!c.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},c.f={},c.e=function(e){return Promise.all(Object.keys(c.f).reduce((function(t,n){return c.f[n](e,t),t}),[]))},c.u=function(e){return"assets/js/"+({53:"935f2afb",80:"9beb87c2",133:"f1d66b0d",217:"3b8c55ea",514:"1be78505",552:"0afd354a",582:"f7fd502c",595:"d0766b26",648:"3c140c84",671:"0e384e19",705:"7d415946",713:"1c56b476",827:"6476eba6",880:"5ef0e9d6",918:"17896441",920:"1a4e3797"}[e]||e)+"."+{53:"7f9def3f",80:"d835f5bb",133:"6862b446",217:"e3e06aa2",514:"39ae2946",552:"3d55476b",582:"03ec634b",595:"c5627647",608:"10f8675e",648:"c2d43167",671:"f3a4ab38",705:"4a812130",713:"cd0d4fe9",780:"8efbf5ce",827:"e7dc1455",880:"1cbcaef4",894:"4bf7d380",918:"58fb0a3d",920:"eb9e742a",945:"3694633c"}[e]+".js"},c.miniCssF=function(e){},c.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),c.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r={},o="taskfile-dev:",c.l=function(e,t,n,f){if(r[e])r[e].push(t);else{var u,i;if(void 0!==n)for(var a=document.getElementsByTagName("script"),d=0;d<a.length;d++){var l=a[d];if(l.getAttribute("src")==e||l.getAttribute("data-webpack")==o+n){u=l;break}}u||(i=!0,(u=document.createElement("script")).charset="utf-8",u.timeout=120,c.nc&&u.setAttribute("nonce",c.nc),u.setAttribute("data-webpack",o+n),u.src=e),r[e]=[t];var b=function(t,n){u.onerror=u.onload=null,clearTimeout(s);var o=r[e];if(delete r[e],u.parentNode&&u.parentNode.removeChild(u),o&&o.forEach((function(e){return e(n)})),t)return t(n)},s=setTimeout(b.bind(null,void 0,{type:"timeout",target:u}),12e4);u.onerror=b.bind(null,u.onerror),u.onload=b.bind(null,u.onload),i&&document.head.appendChild(u)}},c.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},c.p="/",c.gca=function(e){return e={17896441:"918","935f2afb":"53","9beb87c2":"80",f1d66b0d:"133","3b8c55ea":"217","1be78505":"514","0afd354a":"552",f7fd502c:"582",d0766b26:"595","3c140c84":"648","0e384e19":"671","7d415946":"705","1c56b476":"713","6476eba6":"827","5ef0e9d6":"880","1a4e3797":"920"}[e]||e,c.p+c.u(e)},function(){var e={303:0,532:0};c.f.j=function(t,n){var r=c.o(e,t)?e[t]:void 0;if(0!==r)if(r)n.push(r[2]);else if(/^(303|532)$/.test(t))e[t]=0;else{var o=new Promise((function(n,o){r=e[t]=[n,o]}));n.push(r[2]=o);var f=c.p+c.u(t),u=new Error;c.l(f,(function(n){if(c.o(e,t)&&(0!==(r=e[t])&&(e[t]=void 0),r)){var o=n&&("load"===n.type?"missing":n.type),f=n&&n.target&&n.target.src;u.message="Loading chunk "+t+" failed.\n("+o+": "+f+")",u.name="ChunkLoadError",u.type=o,u.request=f,r[1](u)}}),"chunk-"+t,t)}},c.O.j=function(t){return 0===e[t]};var t=function(t,n){var r,o,f=n[0],u=n[1],i=n[2],a=0;if(f.some((function(t){return 0!==e[t]}))){for(r in u)c.o(u,r)&&(c.m[r]=u[r]);if(i)var d=i(c)}for(t&&t(n);a<f.length;a++)o=f[a],c.o(e,o)&&e[o]&&e[o][0](),e[o]=0;return c.O(d)},n=self.webpackChunktaskfile_dev=self.webpackChunktaskfile_dev||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))}()}();
\ No newline at end of file
diff --git a/changelog/index.html b/changelog/index.html
index 0b52592d..f9f70b1a 100644
--- a/changelog/index.html
+++ b/changelog/index.html
@@ -11,13 +11,13 @@
 
 
 <link rel="search" type="application/opensearchdescription+xml" title="Task" href="/opensearch.xml">
-<script src="/js/carbon.js" async></script><title data-rh="true">Changelog | Task</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://taskfile.dev/changelog/"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="og:image" content="https://taskfile.dev/img/og-image.png"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Changelog | Task"><meta data-rh="true" name="description" content="v3.15.1 - 2022-09-08"><meta data-rh="true" property="og:description" content="v3.15.1 - 2022-09-08"><link data-rh="true" rel="icon" href="/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://taskfile.dev/changelog/"><link data-rh="true" rel="alternate" href="https://taskfile.dev/changelog/" hreflang="en"><link data-rh="true" rel="alternate" href="https://taskfile.dev/changelog/" hreflang="x-default"><link data-rh="true" rel="preconnect" href="https://7IZIJ13AI7-dsn.algolia.net" crossorigin="anonymous"><link rel="stylesheet" href="/assets/css/styles.098dd58a.css">
-<link rel="preload" href="/assets/js/runtime~main.20e1af15.js" as="script">
+<script src="/js/carbon.js" async></script><title data-rh="true">Changelog | Task</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://taskfile.dev/changelog/"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="og:image" content="https://taskfile.dev/img/og-image.png"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Changelog | Task"><meta data-rh="true" name="description" content="v3.15.2 - 2022-09-08"><meta data-rh="true" property="og:description" content="v3.15.2 - 2022-09-08"><link data-rh="true" rel="icon" href="/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://taskfile.dev/changelog/"><link data-rh="true" rel="alternate" href="https://taskfile.dev/changelog/" hreflang="en"><link data-rh="true" rel="alternate" href="https://taskfile.dev/changelog/" hreflang="x-default"><link data-rh="true" rel="preconnect" href="https://7IZIJ13AI7-dsn.algolia.net" crossorigin="anonymous"><link rel="stylesheet" href="/assets/css/styles.098dd58a.css">
+<link rel="preload" href="/assets/js/runtime~main.c758183e.js" as="script">
 <link rel="preload" href="/assets/js/main.88b7d452.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Task Logo" class="themedImage_W2Cr themedImage--light_TfLj"><img src="/img/logo.svg" alt="Task Logo" class="themedImage_W2Cr themedImage--dark_oUvU"></div><b class="navbar__title text--truncate">Task</b></a><a class="navbar__item navbar__link navbar__link--active" href="/installation/">Installation</a><a class="navbar__item navbar__link navbar__link--active" href="/usage/">Usage</a><a class="navbar__item navbar__link navbar__link--active" href="/api/">API</a><a class="navbar__item navbar__link navbar__link--active" href="/donate/">Donate</a></div><div class="navbar__items navbar__items--right"><a href="https://github.com/go-task/task" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><a href="https://twitter.com/taskfiledev" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">Twitter<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><a href="https://discord.gg/6TY36E39UK" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">Discord<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_S7eR colorModeToggle_vKtC"><button class="clean-btn toggleButton_rCf9 toggleButtonDisabled_Pu9x" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_v35p"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_nQuB"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="searchBox_dLyj"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div class="main-wrapper docsWrapper_mKqt"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_RiI4" type="button"></button><div class="docPage_ualW"><aside class="theme-doc-sidebar-container docSidebarContainer_UQUJ"><div class="sidebar_RiAD"><nav class="menu thin-scrollbar menu_izAj"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/">Home</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/installation/">Installation</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/usage/">Usage</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/api/">API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/styleguide/">Styleguide</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" href="/changelog/">Changelog</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/community/">Community</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/releasing/">Releasing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/taskfile-versions/">Taskfile Versions</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/donate/">Donate</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1"><div id="sidebar-ads"></div></li></ul></nav></div></aside><main class="docMainContainer_uL0j"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_DM6M"><div class="docItemContainer_vinB"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Xlws" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_kU5B"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Changelog</span><meta itemprop="position" content="1"></li></ul></nav><div class="tocCollapsible_bZGK theme-doc-toc-mobile tocMobile_TmEX"><button type="button" class="clean-btn tocCollapsibleButton_l22C">On this page</button></div><div class="theme-doc-markdown markdown"><h1>Changelog</h1><h2 class="anchor anchorWithStickyNavbar_mojV" id="v3151---2022-09-08">v3.15.1 - 2022-09-08<a class="hash-link" href="#v3151---2022-09-08" title="Direct link to heading">​</a></h2><ul><li>Fix error when using variable in <code>env:</code> introduced in the previous release
+<div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Task Logo" class="themedImage_W2Cr themedImage--light_TfLj"><img src="/img/logo.svg" alt="Task Logo" class="themedImage_W2Cr themedImage--dark_oUvU"></div><b class="navbar__title text--truncate">Task</b></a><a class="navbar__item navbar__link navbar__link--active" href="/installation/">Installation</a><a class="navbar__item navbar__link navbar__link--active" href="/usage/">Usage</a><a class="navbar__item navbar__link navbar__link--active" href="/api/">API</a><a class="navbar__item navbar__link navbar__link--active" href="/donate/">Donate</a></div><div class="navbar__items navbar__items--right"><a href="https://github.com/go-task/task" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><a href="https://twitter.com/taskfiledev" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">Twitter<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><a href="https://discord.gg/6TY36E39UK" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">Discord<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_S7eR colorModeToggle_vKtC"><button class="clean-btn toggleButton_rCf9 toggleButtonDisabled_Pu9x" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_v35p"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_nQuB"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="searchBox_dLyj"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div class="main-wrapper docsWrapper_mKqt"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_RiI4" type="button"></button><div class="docPage_ualW"><aside class="theme-doc-sidebar-container docSidebarContainer_UQUJ"><div class="sidebar_RiAD"><nav class="menu thin-scrollbar menu_izAj"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/">Home</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/installation/">Installation</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/usage/">Usage</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/api/">API Reference</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/styleguide/">Styleguide</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" href="/changelog/">Changelog</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/community/">Community</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/releasing/">Releasing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/taskfile-versions/">Taskfile Versions</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/donate/">Donate</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1"><div id="sidebar-ads"></div></li></ul></nav></div></aside><main class="docMainContainer_uL0j"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_DM6M"><div class="docItemContainer_vinB"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Xlws" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_kU5B"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Changelog</span><meta itemprop="position" content="1"></li></ul></nav><div class="tocCollapsible_bZGK theme-doc-toc-mobile tocMobile_TmEX"><button type="button" class="clean-btn tocCollapsibleButton_l22C">On this page</button></div><div class="theme-doc-markdown markdown"><h1>Changelog</h1><h2 class="anchor anchorWithStickyNavbar_mojV" id="v3152---2022-09-08">v3.15.2 - 2022-09-08<a class="hash-link" href="#v3152---2022-09-08" title="Direct link to heading">​</a></h2><ul><li>Fix error when using variable in <code>env:</code> introduced in the previous release
 (<a href="https://github.com/go-task/task/issues/858" target="_blank" rel="noopener noreferrer">#858</a>, <a href="https://github.com/go-task/task/pull/866" target="_blank" rel="noopener noreferrer">#866</a>).</li><li>Fix handling of <code>CLI_ARGS</code> (<code>--</code>) in Bash completion
 (<a href="https://github.com/go-task/task/pull/863" target="_blank" rel="noopener noreferrer">#863</a>).</li><li>On zsh completion, add ability to replace <code>--list-all</code> with <code>--list</code> as
 already possible on the Bash completion
@@ -204,8 +204,8 @@ Mode is enabled
 (
 <a href="https://github.com/go-task/task/pull/138" target="_blank" rel="noopener noreferrer">#138</a>,
 <a href="https://github.com/go-task/task/pull/159" target="_blank" rel="noopener noreferrer">#159</a>
-).</li></ul><h2 class="anchor anchorWithStickyNavbar_mojV" id="v221---2018-12-09">v2.2.1 - 2018-12-09<a class="hash-link" href="#v221---2018-12-09" title="Direct link to heading">​</a></h2><ul><li>This repository now uses Go Modules (#143). We&#x27;ll still keep the <code>vendor</code> directory in sync for some time, though;</li><li>Fixing a bug when the Taskfile has no tasks but includes another Taskfile (#150);</li><li>Fix a bug when calling another task or a dependency in an included Taskfile (#151).</li></ul><h2 class="anchor anchorWithStickyNavbar_mojV" id="v220---2018-10-25">v2.2.0 - 2018-10-25<a class="hash-link" href="#v220---2018-10-25" title="Direct link to heading">​</a></h2><ul><li>Added support for <a href="https://taskfile.org/#/usage?id=including-other-taskfiles" target="_blank" rel="noopener noreferrer">including other Taskfiles</a> (#98)<ul><li>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.</li></ul></li><li>Task now have a dedicated documentation site: <a href="https://taskfile.org" target="_blank" rel="noopener noreferrer">https://taskfile.org</a><ul><li>Thanks to <a href="https://docsify.js.org/" target="_blank" rel="noopener noreferrer">Docsify</a> for making this pretty easy. To check the source code, just take a look at the <a href="https://github.com/go-task/task/tree/master/docs" target="_blank" rel="noopener noreferrer">docs</a> directory of this repository. Contributions to the documentation is really appreciated.</li></ul></li></ul><h2 class="anchor anchorWithStickyNavbar_mojV" id="v211---2018-09-17">v2.1.1 - 2018-09-17<a class="hash-link" href="#v211---2018-09-17" title="Direct link to heading">​</a></h2><ul><li>Fix suggestion to use <code>task --init</code> not being shown anymore (when a <code>Taskfile.yml</code> is not found)</li><li>Fix error when using checksum method and no file exists for a source glob (#131)</li><li>Fix signal handling when the <code>--watch</code> flag is given (#132)</li></ul><h2 class="anchor anchorWithStickyNavbar_mojV" id="v210---2018-08-19">v2.1.0 - 2018-08-19<a class="hash-link" href="#v210---2018-08-19" title="Direct link to heading">​</a></h2><ul><li>Add a <code>ignore_error</code> option to task and command (#123)</li><li>Add a dry run mode (<code>--dry</code> flag) (#126)</li></ul><h2 class="anchor anchorWithStickyNavbar_mojV" id="v203---2018-06-24">v2.0.3 - 2018-06-24<a class="hash-link" href="#v203---2018-06-24" title="Direct link to heading">​</a></h2><ul><li>Expand environment variables on &quot;dir&quot;, &quot;sources&quot; and &quot;generates&quot; (#116)</li><li>Fix YAML merging syntax (#112)</li><li>Add ZSH completion (#111)</li><li>Implement new <code>output</code> option. Please check out the <a href="https://github.com/go-task/task#output-syntax" target="_blank" rel="noopener noreferrer">documentation</a></li></ul><h2 class="anchor anchorWithStickyNavbar_mojV" id="v202---2018-05-01">v2.0.2 - 2018-05-01<a class="hash-link" href="#v202---2018-05-01" title="Direct link to heading">​</a></h2><ul><li>Fix merging of YAML anchors (#112)</li></ul><h2 class="anchor anchorWithStickyNavbar_mojV" id="v201---2018-03-11">v2.0.1 - 2018-03-11<a class="hash-link" href="#v201---2018-03-11" title="Direct link to heading">​</a></h2><ul><li>Fixes panic on <code>task --list</code></li></ul><h2 class="anchor anchorWithStickyNavbar_mojV" id="v200---2018-03-08">v2.0.0 - 2018-03-08<a class="hash-link" href="#v200---2018-03-08" title="Direct link to heading">​</a></h2><p>Version 2.0.0 is here, with a new Taskfile format.</p><p>Please, make sure to read the <a href="https://github.com/go-task/task/blob/master/TASKFILE_VERSIONS.md" target="_blank" rel="noopener noreferrer">Taskfile versions</a> document, since it describes in depth what changed for this version.</p><ul><li>New Taskfile version 2 (<a href="https://github.com/go-task/task/issues/77" target="_blank" rel="noopener noreferrer">https://github.com/go-task/task/issues/77</a>)</li><li>Possibility to have global variables in the <code>Taskfile.yml</code> instead of <code>Taskvars.yml</code> (<a href="https://github.com/go-task/task/issues/66" target="_blank" rel="noopener noreferrer">https://github.com/go-task/task/issues/66</a>)</li><li>Small improvements and fixes</li></ul><h2 class="anchor anchorWithStickyNavbar_mojV" id="v144---2017-11-19">v1.4.4 - 2017-11-19<a class="hash-link" href="#v144---2017-11-19" title="Direct link to heading">​</a></h2><ul><li>Handle SIGINT and SIGTERM (#75);</li><li>List: print message with there&#x27;s no task with description;</li><li>Expand home dir (&quot;~&quot; symbol) on paths (#74);</li><li>Add Snap as an installation method;</li><li>Move examples to its own repo;</li><li>Watch: also walk on tasks called on on &quot;cmds&quot;, and not only on &quot;deps&quot;;</li><li>Print logs to stderr instead of stdout (#68);</li><li>Remove deprecated <code>set</code> keyword;</li><li>Add checksum based status check, alternative to timestamp based.</li></ul><h2 class="anchor anchorWithStickyNavbar_mojV" id="v143---2017-09-07">v1.4.3 - 2017-09-07<a class="hash-link" href="#v143---2017-09-07" title="Direct link to heading">​</a></h2><ul><li>Allow assigning variables to tasks at run time via CLI (#33)</li><li>Added suport for multiline variables from sh (#64)</li><li>Fixes env: remove square braces and evaluate shell (#62)</li><li>Watch: change watch library and few fixes and improvements</li><li>When use watching, cancel and restart long running process on file change (#59 and #60)</li></ul><h2 class="anchor anchorWithStickyNavbar_mojV" id="v142---2017-07-30">v1.4.2 - 2017-07-30<a class="hash-link" href="#v142---2017-07-30" title="Direct link to heading">​</a></h2><ul><li>Flag to set directory of execution</li><li>Always echo command if is verbose mode</li><li>Add silent mode to disable echoing of commands</li><li>Fixes and improvements of variables (#56)</li></ul><h2 class="anchor anchorWithStickyNavbar_mojV" id="v141---2017-07-15">v1.4.1 - 2017-07-15<a class="hash-link" href="#v141---2017-07-15" title="Direct link to heading">​</a></h2><ul><li>Allow use of YAML for dynamic variables instead of $ prefix<ul><li><code>VAR: {sh: echo Hello}</code> instead of <code>VAR: $echo Hello</code></li></ul></li><li>Add <code>--list</code> (or <code>-l</code>) flag to print existing tasks</li><li>OS specific Taskvars file (e.g. <code>Taskvars_windows.yml</code>, <code>Taskvars_linux.yml</code>, etc)</li><li>Consider task up-to-date on equal timestamps (#49)</li><li>Allow absolute path in generates section (#48)</li><li>Bugfix: allow templating when calling deps (#42)</li><li>Fix panic for invalid task in cyclic dep detection</li><li>Better error output for dynamic variables in Taskvars.yml (#41)</li><li>Allow template evaluation in parameters</li></ul><h2 class="anchor anchorWithStickyNavbar_mojV" id="v140---2017-07-06">v1.4.0 - 2017-07-06<a class="hash-link" href="#v140---2017-07-06" title="Direct link to heading">​</a></h2><ul><li>Cache dynamic variables</li><li>Add verbose mode (<code>-v</code> flag)</li><li>Support to task parameters (overriding vars) (#31) (#32)</li><li>Print command, also when &quot;set:&quot; is specified (#35)</li><li>Improve task command help text (#35)</li></ul><h2 class="anchor anchorWithStickyNavbar_mojV" id="v131---2017-06-14">v1.3.1 - 2017-06-14<a class="hash-link" href="#v131---2017-06-14" title="Direct link to heading">​</a></h2><ul><li>Fix glob not working on commands (#28)</li><li>Add ExeExt template function</li><li>Add <code>--init</code> flag to create a new Taskfile</li><li>Add status option to prevent task from running (#27)</li><li>Allow interpolation on <code>generates</code> and <code>sources</code> attributes (#26)</li></ul><h2 class="anchor anchorWithStickyNavbar_mojV" id="v130---2017-04-24">v1.3.0 - 2017-04-24<a class="hash-link" href="#v130---2017-04-24" title="Direct link to heading">​</a></h2><ul><li>Migrate from os/exec.Cmd to a native Go sh/bash interpreter<ul><li>This is a potentially breaking change if you use Windows.</li><li>Now, <code>cmd</code> is not used anymore on Windows. Always use Bash-like syntax for your commands, even on Windows.</li></ul></li><li>Add &quot;ToSlash&quot; and &quot;FromSlash&quot; to template functions</li><li>Use functions defined on github.com/Masterminds/sprig</li><li>Do not redirect stdin while running variables commands</li><li>Using <code>context</code> and <code>errgroup</code> packages (this will make other tasks to be cancelled, if one returned an error)</li></ul><h2 class="anchor anchorWithStickyNavbar_mojV" id="v120---2017-04-02">v1.2.0 - 2017-04-02<a class="hash-link" href="#v120---2017-04-02" title="Direct link to heading">​</a></h2><ul><li>More tests and Travis integration</li><li>Watch a task (experimental)</li><li>Possibility to call another task</li><li>Fix &quot;=&quot; not being reconized in variables/environment variables</li><li>Tasks can now have a description, and help will print them (#10)</li><li>Task dependencies now run concurrently</li><li>Support for a default task (#16)</li></ul><h2 class="anchor anchorWithStickyNavbar_mojV" id="v110---2017-03-08">v1.1.0 - 2017-03-08<a class="hash-link" href="#v110---2017-03-08" title="Direct link to heading">​</a></h2><ul><li>Support for YAML, TOML and JSON (#1)</li><li>Support running command in another directory (#4)</li><li><code>--force</code> or <code>-f</code> flag to force execution of task even when it&#x27;s up-to-date</li><li>Detection of cyclic dependencies (#5)</li><li>Support for variables (#6, #9, #14)</li><li>Operation System specific commands and variables (#13)</li></ul><h2 class="anchor anchorWithStickyNavbar_mojV" id="v100---2017-02-28">v1.0.0 - 2017-02-28<a class="hash-link" href="#v100---2017-02-28" title="Direct link to heading">​</a></h2><ul><li>Add LICENSE file</li></ul></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages navigation"><a class="pagination-nav__link pagination-nav__link--prev" href="/styleguide/"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Styleguide</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/community/"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Community</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_cNA8 thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#v3151---2022-09-08" class="table-of-contents__link toc-highlight">v3.15.1 - 2022-09-08</a></li><li><a href="#v3150---2022-09-03" class="table-of-contents__link toc-highlight">v3.15.0 - 2022-09-03</a></li><li><a href="#v3141---2022-08-03" class="table-of-contents__link toc-highlight">v3.14.1 - 2022-08-03</a></li><li><a href="#v3140---2022-07-08" class="table-of-contents__link toc-highlight">v3.14.0 - 2022-07-08</a></li><li><a href="#v3130---2022-06-13" class="table-of-contents__link toc-highlight">v3.13.0 - 2022-06-13</a></li><li><a href="#v3121---2022-05-10" class="table-of-contents__link toc-highlight">v3.12.1 - 2022-05-10</a></li><li><a href="#v3120---2022-03-31" class="table-of-contents__link toc-highlight">v3.12.0 - 2022-03-31</a></li><li><a href="#v3110---2022-02-19" class="table-of-contents__link toc-highlight">v3.11.0 - 2022-02-19</a></li><li><a href="#v3100---2022-01-04" class="table-of-contents__link toc-highlight">v3.10.0 - 2022-01-04</a></li><li><a href="#v392---2021-12-02" class="table-of-contents__link toc-highlight">v3.9.2 - 2021-12-02</a></li><li><a href="#v391---2021-11-28" class="table-of-contents__link toc-highlight">v3.9.1 - 2021-11-28</a></li><li><a href="#v390---2021-10-02" class="table-of-contents__link toc-highlight">v3.9.0 - 2021-10-02</a></li><li><a href="#v380---2021-09-26" class="table-of-contents__link toc-highlight">v3.8.0 - 2021-09-26</a></li><li><a href="#v373---2021-09-04" class="table-of-contents__link toc-highlight">v3.7.3 - 2021-09-04</a></li><li><a href="#v370---2021-07-31" class="table-of-contents__link toc-highlight">v3.7.0 - 2021-07-31</a></li><li><a href="#v360---2021-07-10" class="table-of-contents__link toc-highlight">v3.6.0 - 2021-07-10</a></li><li><a href="#v350---2021-07-04" class="table-of-contents__link toc-highlight">v3.5.0 - 2021-07-04</a></li><li><a href="#v343---2021-05-30" class="table-of-contents__link toc-highlight">v3.4.3 - 2021-05-30</a></li><li><a href="#v342---2021-04-23" class="table-of-contents__link toc-highlight">v3.4.2 - 2021-04-23</a></li><li><a href="#v341---2021-04-17" class="table-of-contents__link toc-highlight">v3.4.1 - 2021-04-17</a></li><li><a href="#v330---2021-03-20" class="table-of-contents__link toc-highlight">v3.3.0 - 2021-03-20</a></li><li><a href="#v322---2021-01-12" class="table-of-contents__link toc-highlight">v3.2.2 - 2021-01-12</a></li><li><a href="#v321---2021-01-09" class="table-of-contents__link toc-highlight">v3.2.1 - 2021-01-09</a></li><li><a href="#v320---2021-01-07" class="table-of-contents__link toc-highlight">v3.2.0 - 2021-01-07</a></li><li><a href="#v310---2021-01-03" class="table-of-contents__link toc-highlight">v3.1.0 - 2021-01-03</a></li><li><a href="#v301---2020-12-26" class="table-of-contents__link toc-highlight">v3.0.1 - 2020-12-26</a></li><li><a href="#v300---2020-08-16" class="table-of-contents__link toc-highlight">v3.0.0 - 2020-08-16</a></li><li><a href="#v281---2020-05-20" class="table-of-contents__link toc-highlight">v2.8.1 - 2020-05-20</a></li><li><a href="#v280---2019-12-07" class="table-of-contents__link toc-highlight">v2.8.0 - 2019-12-07</a></li><li><a href="#v271---2019-11-10" class="table-of-contents__link toc-highlight">v2.7.1 - 2019-11-10</a></li><li><a href="#v270---2019-09-22" class="table-of-contents__link toc-highlight">v2.7.0 - 2019-09-22</a></li><li><a href="#v260---2019-07-21" class="table-of-contents__link toc-highlight">v2.6.0 - 2019-07-21</a></li><li><a href="#v252---2019-05-11" class="table-of-contents__link toc-highlight">v2.5.2 - 2019-05-11</a></li><li><a href="#251---2019-04-27" class="table-of-contents__link toc-highlight">2.5.1 - 2019-04-27</a></li><li><a href="#v250---2019-03-16" class="table-of-contents__link toc-highlight">v2.5.0 - 2019-03-16</a></li><li><a href="#v240---2019-02-21" class="table-of-contents__link toc-highlight">v2.4.0 - 2019-02-21</a></li><li><a href="#v230---2019-01-02" class="table-of-contents__link toc-highlight">v2.3.0 - 2019-01-02</a></li><li><a href="#v221---2018-12-09" class="table-of-contents__link toc-highlight">v2.2.1 - 2018-12-09</a></li><li><a href="#v220---2018-10-25" class="table-of-contents__link toc-highlight">v2.2.0 - 2018-10-25</a></li><li><a href="#v211---2018-09-17" class="table-of-contents__link toc-highlight">v2.1.1 - 2018-09-17</a></li><li><a href="#v210---2018-08-19" class="table-of-contents__link toc-highlight">v2.1.0 - 2018-08-19</a></li><li><a href="#v203---2018-06-24" class="table-of-contents__link toc-highlight">v2.0.3 - 2018-06-24</a></li><li><a href="#v202---2018-05-01" class="table-of-contents__link toc-highlight">v2.0.2 - 2018-05-01</a></li><li><a href="#v201---2018-03-11" class="table-of-contents__link toc-highlight">v2.0.1 - 2018-03-11</a></li><li><a href="#v200---2018-03-08" class="table-of-contents__link toc-highlight">v2.0.0 - 2018-03-08</a></li><li><a href="#v144---2017-11-19" class="table-of-contents__link toc-highlight">v1.4.4 - 2017-11-19</a></li><li><a href="#v143---2017-09-07" class="table-of-contents__link toc-highlight">v1.4.3 - 2017-09-07</a></li><li><a href="#v142---2017-07-30" class="table-of-contents__link toc-highlight">v1.4.2 - 2017-07-30</a></li><li><a href="#v141---2017-07-15" class="table-of-contents__link toc-highlight">v1.4.1 - 2017-07-15</a></li><li><a href="#v140---2017-07-06" class="table-of-contents__link toc-highlight">v1.4.0 - 2017-07-06</a></li><li><a href="#v131---2017-06-14" class="table-of-contents__link toc-highlight">v1.3.1 - 2017-06-14</a></li><li><a href="#v130---2017-04-24" class="table-of-contents__link toc-highlight">v1.3.0 - 2017-04-24</a></li><li><a href="#v120---2017-04-02" class="table-of-contents__link toc-highlight">v1.2.0 - 2017-04-02</a></li><li><a href="#v110---2017-03-08" class="table-of-contents__link toc-highlight">v1.1.0 - 2017-03-08</a></li><li><a href="#v100---2017-02-28" class="table-of-contents__link toc-highlight">v1.0.0 - 2017-02-28</a></li></ul></div></div></div></div></main></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="row footer__links"><div class="col footer__col"><div class="footer__title">Pages</div><ul class="footer__items clean-list"><li class="footer__item"><a class="footer__link-item" href="/installation/">Installation</a></li><li class="footer__item"><a class="footer__link-item" href="/usage/">Usage</a></li><li class="footer__item"><a class="footer__link-item" href="/donate/">Donate</a></li></ul></div><div class="col footer__col"><div class="footer__title">Community</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://github.com/go-task/task" target="_blank" rel="noopener noreferrer" class="footer__link-item">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://twitter.com/taskfiledev" target="_blank" rel="noopener noreferrer" class="footer__link-item">Twitter<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://discord.gg/6TY36E39UK" target="_blank" rel="noopener noreferrer" class="footer__link-item">Discord<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://opencollective.com/task" target="_blank" rel="noopener noreferrer" class="footer__link-item">OpenCollective<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.20e1af15.js"></script>
+).</li></ul><h2 class="anchor anchorWithStickyNavbar_mojV" id="v221---2018-12-09">v2.2.1 - 2018-12-09<a class="hash-link" href="#v221---2018-12-09" title="Direct link to heading">​</a></h2><ul><li>This repository now uses Go Modules (#143). We&#x27;ll still keep the <code>vendor</code> directory in sync for some time, though;</li><li>Fixing a bug when the Taskfile has no tasks but includes another Taskfile (#150);</li><li>Fix a bug when calling another task or a dependency in an included Taskfile (#151).</li></ul><h2 class="anchor anchorWithStickyNavbar_mojV" id="v220---2018-10-25">v2.2.0 - 2018-10-25<a class="hash-link" href="#v220---2018-10-25" title="Direct link to heading">​</a></h2><ul><li>Added support for <a href="https://taskfile.org/#/usage?id=including-other-taskfiles" target="_blank" rel="noopener noreferrer">including other Taskfiles</a> (#98)<ul><li>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.</li></ul></li><li>Task now have a dedicated documentation site: <a href="https://taskfile.org" target="_blank" rel="noopener noreferrer">https://taskfile.org</a><ul><li>Thanks to <a href="https://docsify.js.org/" target="_blank" rel="noopener noreferrer">Docsify</a> for making this pretty easy. To check the source code, just take a look at the <a href="https://github.com/go-task/task/tree/master/docs" target="_blank" rel="noopener noreferrer">docs</a> directory of this repository. Contributions to the documentation is really appreciated.</li></ul></li></ul><h2 class="anchor anchorWithStickyNavbar_mojV" id="v211---2018-09-17">v2.1.1 - 2018-09-17<a class="hash-link" href="#v211---2018-09-17" title="Direct link to heading">​</a></h2><ul><li>Fix suggestion to use <code>task --init</code> not being shown anymore (when a <code>Taskfile.yml</code> is not found)</li><li>Fix error when using checksum method and no file exists for a source glob (#131)</li><li>Fix signal handling when the <code>--watch</code> flag is given (#132)</li></ul><h2 class="anchor anchorWithStickyNavbar_mojV" id="v210---2018-08-19">v2.1.0 - 2018-08-19<a class="hash-link" href="#v210---2018-08-19" title="Direct link to heading">​</a></h2><ul><li>Add a <code>ignore_error</code> option to task and command (#123)</li><li>Add a dry run mode (<code>--dry</code> flag) (#126)</li></ul><h2 class="anchor anchorWithStickyNavbar_mojV" id="v203---2018-06-24">v2.0.3 - 2018-06-24<a class="hash-link" href="#v203---2018-06-24" title="Direct link to heading">​</a></h2><ul><li>Expand environment variables on &quot;dir&quot;, &quot;sources&quot; and &quot;generates&quot; (#116)</li><li>Fix YAML merging syntax (#112)</li><li>Add ZSH completion (#111)</li><li>Implement new <code>output</code> option. Please check out the <a href="https://github.com/go-task/task#output-syntax" target="_blank" rel="noopener noreferrer">documentation</a></li></ul><h2 class="anchor anchorWithStickyNavbar_mojV" id="v202---2018-05-01">v2.0.2 - 2018-05-01<a class="hash-link" href="#v202---2018-05-01" title="Direct link to heading">​</a></h2><ul><li>Fix merging of YAML anchors (#112)</li></ul><h2 class="anchor anchorWithStickyNavbar_mojV" id="v201---2018-03-11">v2.0.1 - 2018-03-11<a class="hash-link" href="#v201---2018-03-11" title="Direct link to heading">​</a></h2><ul><li>Fixes panic on <code>task --list</code></li></ul><h2 class="anchor anchorWithStickyNavbar_mojV" id="v200---2018-03-08">v2.0.0 - 2018-03-08<a class="hash-link" href="#v200---2018-03-08" title="Direct link to heading">​</a></h2><p>Version 2.0.0 is here, with a new Taskfile format.</p><p>Please, make sure to read the <a href="https://github.com/go-task/task/blob/master/TASKFILE_VERSIONS.md" target="_blank" rel="noopener noreferrer">Taskfile versions</a> document, since it describes in depth what changed for this version.</p><ul><li>New Taskfile version 2 (<a href="https://github.com/go-task/task/issues/77" target="_blank" rel="noopener noreferrer">https://github.com/go-task/task/issues/77</a>)</li><li>Possibility to have global variables in the <code>Taskfile.yml</code> instead of <code>Taskvars.yml</code> (<a href="https://github.com/go-task/task/issues/66" target="_blank" rel="noopener noreferrer">https://github.com/go-task/task/issues/66</a>)</li><li>Small improvements and fixes</li></ul><h2 class="anchor anchorWithStickyNavbar_mojV" id="v144---2017-11-19">v1.4.4 - 2017-11-19<a class="hash-link" href="#v144---2017-11-19" title="Direct link to heading">​</a></h2><ul><li>Handle SIGINT and SIGTERM (#75);</li><li>List: print message with there&#x27;s no task with description;</li><li>Expand home dir (&quot;~&quot; symbol) on paths (#74);</li><li>Add Snap as an installation method;</li><li>Move examples to its own repo;</li><li>Watch: also walk on tasks called on on &quot;cmds&quot;, and not only on &quot;deps&quot;;</li><li>Print logs to stderr instead of stdout (#68);</li><li>Remove deprecated <code>set</code> keyword;</li><li>Add checksum based status check, alternative to timestamp based.</li></ul><h2 class="anchor anchorWithStickyNavbar_mojV" id="v143---2017-09-07">v1.4.3 - 2017-09-07<a class="hash-link" href="#v143---2017-09-07" title="Direct link to heading">​</a></h2><ul><li>Allow assigning variables to tasks at run time via CLI (#33)</li><li>Added suport for multiline variables from sh (#64)</li><li>Fixes env: remove square braces and evaluate shell (#62)</li><li>Watch: change watch library and few fixes and improvements</li><li>When use watching, cancel and restart long running process on file change (#59 and #60)</li></ul><h2 class="anchor anchorWithStickyNavbar_mojV" id="v142---2017-07-30">v1.4.2 - 2017-07-30<a class="hash-link" href="#v142---2017-07-30" title="Direct link to heading">​</a></h2><ul><li>Flag to set directory of execution</li><li>Always echo command if is verbose mode</li><li>Add silent mode to disable echoing of commands</li><li>Fixes and improvements of variables (#56)</li></ul><h2 class="anchor anchorWithStickyNavbar_mojV" id="v141---2017-07-15">v1.4.1 - 2017-07-15<a class="hash-link" href="#v141---2017-07-15" title="Direct link to heading">​</a></h2><ul><li>Allow use of YAML for dynamic variables instead of $ prefix<ul><li><code>VAR: {sh: echo Hello}</code> instead of <code>VAR: $echo Hello</code></li></ul></li><li>Add <code>--list</code> (or <code>-l</code>) flag to print existing tasks</li><li>OS specific Taskvars file (e.g. <code>Taskvars_windows.yml</code>, <code>Taskvars_linux.yml</code>, etc)</li><li>Consider task up-to-date on equal timestamps (#49)</li><li>Allow absolute path in generates section (#48)</li><li>Bugfix: allow templating when calling deps (#42)</li><li>Fix panic for invalid task in cyclic dep detection</li><li>Better error output for dynamic variables in Taskvars.yml (#41)</li><li>Allow template evaluation in parameters</li></ul><h2 class="anchor anchorWithStickyNavbar_mojV" id="v140---2017-07-06">v1.4.0 - 2017-07-06<a class="hash-link" href="#v140---2017-07-06" title="Direct link to heading">​</a></h2><ul><li>Cache dynamic variables</li><li>Add verbose mode (<code>-v</code> flag)</li><li>Support to task parameters (overriding vars) (#31) (#32)</li><li>Print command, also when &quot;set:&quot; is specified (#35)</li><li>Improve task command help text (#35)</li></ul><h2 class="anchor anchorWithStickyNavbar_mojV" id="v131---2017-06-14">v1.3.1 - 2017-06-14<a class="hash-link" href="#v131---2017-06-14" title="Direct link to heading">​</a></h2><ul><li>Fix glob not working on commands (#28)</li><li>Add ExeExt template function</li><li>Add <code>--init</code> flag to create a new Taskfile</li><li>Add status option to prevent task from running (#27)</li><li>Allow interpolation on <code>generates</code> and <code>sources</code> attributes (#26)</li></ul><h2 class="anchor anchorWithStickyNavbar_mojV" id="v130---2017-04-24">v1.3.0 - 2017-04-24<a class="hash-link" href="#v130---2017-04-24" title="Direct link to heading">​</a></h2><ul><li>Migrate from os/exec.Cmd to a native Go sh/bash interpreter<ul><li>This is a potentially breaking change if you use Windows.</li><li>Now, <code>cmd</code> is not used anymore on Windows. Always use Bash-like syntax for your commands, even on Windows.</li></ul></li><li>Add &quot;ToSlash&quot; and &quot;FromSlash&quot; to template functions</li><li>Use functions defined on github.com/Masterminds/sprig</li><li>Do not redirect stdin while running variables commands</li><li>Using <code>context</code> and <code>errgroup</code> packages (this will make other tasks to be cancelled, if one returned an error)</li></ul><h2 class="anchor anchorWithStickyNavbar_mojV" id="v120---2017-04-02">v1.2.0 - 2017-04-02<a class="hash-link" href="#v120---2017-04-02" title="Direct link to heading">​</a></h2><ul><li>More tests and Travis integration</li><li>Watch a task (experimental)</li><li>Possibility to call another task</li><li>Fix &quot;=&quot; not being reconized in variables/environment variables</li><li>Tasks can now have a description, and help will print them (#10)</li><li>Task dependencies now run concurrently</li><li>Support for a default task (#16)</li></ul><h2 class="anchor anchorWithStickyNavbar_mojV" id="v110---2017-03-08">v1.1.0 - 2017-03-08<a class="hash-link" href="#v110---2017-03-08" title="Direct link to heading">​</a></h2><ul><li>Support for YAML, TOML and JSON (#1)</li><li>Support running command in another directory (#4)</li><li><code>--force</code> or <code>-f</code> flag to force execution of task even when it&#x27;s up-to-date</li><li>Detection of cyclic dependencies (#5)</li><li>Support for variables (#6, #9, #14)</li><li>Operation System specific commands and variables (#13)</li></ul><h2 class="anchor anchorWithStickyNavbar_mojV" id="v100---2017-02-28">v1.0.0 - 2017-02-28<a class="hash-link" href="#v100---2017-02-28" title="Direct link to heading">​</a></h2><ul><li>Add LICENSE file</li></ul></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages navigation"><a class="pagination-nav__link pagination-nav__link--prev" href="/styleguide/"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Styleguide</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/community/"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Community</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_cNA8 thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#v3152---2022-09-08" class="table-of-contents__link toc-highlight">v3.15.2 - 2022-09-08</a></li><li><a href="#v3150---2022-09-03" class="table-of-contents__link toc-highlight">v3.15.0 - 2022-09-03</a></li><li><a href="#v3141---2022-08-03" class="table-of-contents__link toc-highlight">v3.14.1 - 2022-08-03</a></li><li><a href="#v3140---2022-07-08" class="table-of-contents__link toc-highlight">v3.14.0 - 2022-07-08</a></li><li><a href="#v3130---2022-06-13" class="table-of-contents__link toc-highlight">v3.13.0 - 2022-06-13</a></li><li><a href="#v3121---2022-05-10" class="table-of-contents__link toc-highlight">v3.12.1 - 2022-05-10</a></li><li><a href="#v3120---2022-03-31" class="table-of-contents__link toc-highlight">v3.12.0 - 2022-03-31</a></li><li><a href="#v3110---2022-02-19" class="table-of-contents__link toc-highlight">v3.11.0 - 2022-02-19</a></li><li><a href="#v3100---2022-01-04" class="table-of-contents__link toc-highlight">v3.10.0 - 2022-01-04</a></li><li><a href="#v392---2021-12-02" class="table-of-contents__link toc-highlight">v3.9.2 - 2021-12-02</a></li><li><a href="#v391---2021-11-28" class="table-of-contents__link toc-highlight">v3.9.1 - 2021-11-28</a></li><li><a href="#v390---2021-10-02" class="table-of-contents__link toc-highlight">v3.9.0 - 2021-10-02</a></li><li><a href="#v380---2021-09-26" class="table-of-contents__link toc-highlight">v3.8.0 - 2021-09-26</a></li><li><a href="#v373---2021-09-04" class="table-of-contents__link toc-highlight">v3.7.3 - 2021-09-04</a></li><li><a href="#v370---2021-07-31" class="table-of-contents__link toc-highlight">v3.7.0 - 2021-07-31</a></li><li><a href="#v360---2021-07-10" class="table-of-contents__link toc-highlight">v3.6.0 - 2021-07-10</a></li><li><a href="#v350---2021-07-04" class="table-of-contents__link toc-highlight">v3.5.0 - 2021-07-04</a></li><li><a href="#v343---2021-05-30" class="table-of-contents__link toc-highlight">v3.4.3 - 2021-05-30</a></li><li><a href="#v342---2021-04-23" class="table-of-contents__link toc-highlight">v3.4.2 - 2021-04-23</a></li><li><a href="#v341---2021-04-17" class="table-of-contents__link toc-highlight">v3.4.1 - 2021-04-17</a></li><li><a href="#v330---2021-03-20" class="table-of-contents__link toc-highlight">v3.3.0 - 2021-03-20</a></li><li><a href="#v322---2021-01-12" class="table-of-contents__link toc-highlight">v3.2.2 - 2021-01-12</a></li><li><a href="#v321---2021-01-09" class="table-of-contents__link toc-highlight">v3.2.1 - 2021-01-09</a></li><li><a href="#v320---2021-01-07" class="table-of-contents__link toc-highlight">v3.2.0 - 2021-01-07</a></li><li><a href="#v310---2021-01-03" class="table-of-contents__link toc-highlight">v3.1.0 - 2021-01-03</a></li><li><a href="#v301---2020-12-26" class="table-of-contents__link toc-highlight">v3.0.1 - 2020-12-26</a></li><li><a href="#v300---2020-08-16" class="table-of-contents__link toc-highlight">v3.0.0 - 2020-08-16</a></li><li><a href="#v281---2020-05-20" class="table-of-contents__link toc-highlight">v2.8.1 - 2020-05-20</a></li><li><a href="#v280---2019-12-07" class="table-of-contents__link toc-highlight">v2.8.0 - 2019-12-07</a></li><li><a href="#v271---2019-11-10" class="table-of-contents__link toc-highlight">v2.7.1 - 2019-11-10</a></li><li><a href="#v270---2019-09-22" class="table-of-contents__link toc-highlight">v2.7.0 - 2019-09-22</a></li><li><a href="#v260---2019-07-21" class="table-of-contents__link toc-highlight">v2.6.0 - 2019-07-21</a></li><li><a href="#v252---2019-05-11" class="table-of-contents__link toc-highlight">v2.5.2 - 2019-05-11</a></li><li><a href="#251---2019-04-27" class="table-of-contents__link toc-highlight">2.5.1 - 2019-04-27</a></li><li><a href="#v250---2019-03-16" class="table-of-contents__link toc-highlight">v2.5.0 - 2019-03-16</a></li><li><a href="#v240---2019-02-21" class="table-of-contents__link toc-highlight">v2.4.0 - 2019-02-21</a></li><li><a href="#v230---2019-01-02" class="table-of-contents__link toc-highlight">v2.3.0 - 2019-01-02</a></li><li><a href="#v221---2018-12-09" class="table-of-contents__link toc-highlight">v2.2.1 - 2018-12-09</a></li><li><a href="#v220---2018-10-25" class="table-of-contents__link toc-highlight">v2.2.0 - 2018-10-25</a></li><li><a href="#v211---2018-09-17" class="table-of-contents__link toc-highlight">v2.1.1 - 2018-09-17</a></li><li><a href="#v210---2018-08-19" class="table-of-contents__link toc-highlight">v2.1.0 - 2018-08-19</a></li><li><a href="#v203---2018-06-24" class="table-of-contents__link toc-highlight">v2.0.3 - 2018-06-24</a></li><li><a href="#v202---2018-05-01" class="table-of-contents__link toc-highlight">v2.0.2 - 2018-05-01</a></li><li><a href="#v201---2018-03-11" class="table-of-contents__link toc-highlight">v2.0.1 - 2018-03-11</a></li><li><a href="#v200---2018-03-08" class="table-of-contents__link toc-highlight">v2.0.0 - 2018-03-08</a></li><li><a href="#v144---2017-11-19" class="table-of-contents__link toc-highlight">v1.4.4 - 2017-11-19</a></li><li><a href="#v143---2017-09-07" class="table-of-contents__link toc-highlight">v1.4.3 - 2017-09-07</a></li><li><a href="#v142---2017-07-30" class="table-of-contents__link toc-highlight">v1.4.2 - 2017-07-30</a></li><li><a href="#v141---2017-07-15" class="table-of-contents__link toc-highlight">v1.4.1 - 2017-07-15</a></li><li><a href="#v140---2017-07-06" class="table-of-contents__link toc-highlight">v1.4.0 - 2017-07-06</a></li><li><a href="#v131---2017-06-14" class="table-of-contents__link toc-highlight">v1.3.1 - 2017-06-14</a></li><li><a href="#v130---2017-04-24" class="table-of-contents__link toc-highlight">v1.3.0 - 2017-04-24</a></li><li><a href="#v120---2017-04-02" class="table-of-contents__link toc-highlight">v1.2.0 - 2017-04-02</a></li><li><a href="#v110---2017-03-08" class="table-of-contents__link toc-highlight">v1.1.0 - 2017-03-08</a></li><li><a href="#v100---2017-02-28" class="table-of-contents__link toc-highlight">v1.0.0 - 2017-02-28</a></li></ul></div></div></div></div></main></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="row footer__links"><div class="col footer__col"><div class="footer__title">Pages</div><ul class="footer__items clean-list"><li class="footer__item"><a class="footer__link-item" href="/installation/">Installation</a></li><li class="footer__item"><a class="footer__link-item" href="/usage/">Usage</a></li><li class="footer__item"><a class="footer__link-item" href="/donate/">Donate</a></li></ul></div><div class="col footer__col"><div class="footer__title">Community</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://github.com/go-task/task" target="_blank" rel="noopener noreferrer" class="footer__link-item">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://twitter.com/taskfiledev" target="_blank" rel="noopener noreferrer" class="footer__link-item">Twitter<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://discord.gg/6TY36E39UK" target="_blank" rel="noopener noreferrer" class="footer__link-item">Discord<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://opencollective.com/task" target="_blank" rel="noopener noreferrer" class="footer__link-item">OpenCollective<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div></div></div></footer></div>
+<script src="/assets/js/runtime~main.c758183e.js"></script>
 <script src="/assets/js/main.88b7d452.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/community/index.html b/community/index.html
index efbe4a98..54b76e87 100644
--- a/community/index.html
+++ b/community/index.html
@@ -12,7 +12,7 @@
 
 <link rel="search" type="application/opensearchdescription+xml" title="Task" href="/opensearch.xml">
 <script src="/js/carbon.js" async></script><title data-rh="true">Community | Task</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://taskfile.dev/community/"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="og:image" content="https://taskfile.dev/img/og-image.png"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Community | Task"><meta data-rh="true" name="description" content="Some of the work to improve the Task ecosystem is done by the community, be"><meta data-rh="true" property="og:description" content="Some of the work to improve the Task ecosystem is done by the community, be"><link data-rh="true" rel="icon" href="/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://taskfile.dev/community/"><link data-rh="true" rel="alternate" href="https://taskfile.dev/community/" hreflang="en"><link data-rh="true" rel="alternate" href="https://taskfile.dev/community/" hreflang="x-default"><link data-rh="true" rel="preconnect" href="https://7IZIJ13AI7-dsn.algolia.net" crossorigin="anonymous"><link rel="stylesheet" href="/assets/css/styles.098dd58a.css">
-<link rel="preload" href="/assets/js/runtime~main.20e1af15.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c758183e.js" as="script">
 <link rel="preload" href="/assets/js/main.88b7d452.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -39,7 +39,7 @@ by <a href="https://github.com/kovetskiy" target="_blank" rel="noopener noreferr
 <a href="https://github.com/go-task/task/issues?q=is%3Aissue" target="_blank" rel="noopener noreferrer">reported bugs</a> and
 <a href="https://github.com/go-task/task/discussions" target="_blank" rel="noopener noreferrer">answered questions</a>.</p><p>If you know something that is missing in this document, please submit a
 pull request.</p></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages navigation"><a class="pagination-nav__link pagination-nav__link--prev" href="/changelog/"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Changelog</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/releasing/"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Releasing</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_cNA8 thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#editor-integrations" class="table-of-contents__link toc-highlight">Editor Integrations</a><ul><li><a href="#json-schema" class="table-of-contents__link toc-highlight">JSON Schema</a></li><li><a href="#visual-studio-code-extension" class="table-of-contents__link toc-highlight">Visual Studio Code extension</a></li><li><a href="#sublime-text-4-package" class="table-of-contents__link toc-highlight">Sublime Text 4 package</a></li><li><a href="#intellij-plugin" class="table-of-contents__link toc-highlight">IntelliJ plugin</a></li></ul></li><li><a href="#installation-methods" class="table-of-contents__link toc-highlight">Installation methods</a></li><li><a href="#more" class="table-of-contents__link toc-highlight">More</a></li></ul></div></div></div></div></main></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="row footer__links"><div class="col footer__col"><div class="footer__title">Pages</div><ul class="footer__items clean-list"><li class="footer__item"><a class="footer__link-item" href="/installation/">Installation</a></li><li class="footer__item"><a class="footer__link-item" href="/usage/">Usage</a></li><li class="footer__item"><a class="footer__link-item" href="/donate/">Donate</a></li></ul></div><div class="col footer__col"><div class="footer__title">Community</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://github.com/go-task/task" target="_blank" rel="noopener noreferrer" class="footer__link-item">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://twitter.com/taskfiledev" target="_blank" rel="noopener noreferrer" class="footer__link-item">Twitter<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://discord.gg/6TY36E39UK" target="_blank" rel="noopener noreferrer" class="footer__link-item">Discord<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://opencollective.com/task" target="_blank" rel="noopener noreferrer" class="footer__link-item">OpenCollective<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.20e1af15.js"></script>
+<script src="/assets/js/runtime~main.c758183e.js"></script>
 <script src="/assets/js/main.88b7d452.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/donate/index.html b/donate/index.html
index 2e802428..05fd53e8 100644
--- a/donate/index.html
+++ b/donate/index.html
@@ -12,7 +12,7 @@
 
 <link rel="search" type="application/opensearchdescription+xml" title="Task" href="/opensearch.xml">
 <script src="/js/carbon.js" async></script><title data-rh="true">Donate | Task</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://taskfile.dev/donate/"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="og:image" content="https://taskfile.dev/img/og-image.png"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Donate | Task"><meta data-rh="true" name="description" content="If you find this project useful, you can consider donating by using one of the"><meta data-rh="true" property="og:description" content="If you find this project useful, you can consider donating by using one of the"><link data-rh="true" rel="icon" href="/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://taskfile.dev/donate/"><link data-rh="true" rel="alternate" href="https://taskfile.dev/donate/" hreflang="en"><link data-rh="true" rel="alternate" href="https://taskfile.dev/donate/" hreflang="x-default"><link data-rh="true" rel="preconnect" href="https://7IZIJ13AI7-dsn.algolia.net" crossorigin="anonymous"><link rel="stylesheet" href="/assets/css/styles.098dd58a.css">
-<link rel="preload" href="/assets/js/runtime~main.20e1af15.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c758183e.js" as="script">
 <link rel="preload" href="/assets/js/main.88b7d452.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -22,7 +22,7 @@ channels listed below.</p><p>This is just a way of saying &quot;thank you&quot;,
 higher priority on issues or something similar.</p><h2 class="anchor anchorWithStickyNavbar_mojV" id="open-collective">Open Collective<a class="hash-link" href="#open-collective" title="Direct link to heading">​</a></h2><p>Task is on <a href="https://opencollective.com/task" target="_blank" rel="noopener noreferrer">Open Collective</a> and you have
 these options to donate:</p><ul><li><a href="https://opencollective.com/task/contribute/backer-4034/checkout" target="_blank" rel="noopener noreferrer">$2 per month</a></li><li><a href="https://opencollective.com/task/contribute/supporter-8404/checkout" target="_blank" rel="noopener noreferrer">$5 per month</a></li><li><a href="https://opencollective.com/task/contribute/sponsor-4035/checkout" target="_blank" rel="noopener noreferrer">$20 per month</a></li><li><a href="https://opencollective.com/task/contribute/sponsor-28775/checkout" target="_blank" rel="noopener noreferrer">$50 per month</a></li><li><a href="https://opencollective.com/task/donate" target="_blank" rel="noopener noreferrer">Custom value - One-time donation option supported</a></li></ul><h2 class="anchor anchorWithStickyNavbar_mojV" id="github-sponsors">GitHub Sponsors<a class="hash-link" href="#github-sponsors" title="Direct link to heading">​</a></h2><ul><li><a href="https://github.com/sponsors/andreynering" target="_blank" rel="noopener noreferrer">@andreynering</a></li></ul><h2 class="anchor anchorWithStickyNavbar_mojV" id="paypal">PayPal<a class="hash-link" href="#paypal" title="Direct link to heading">​</a></h2><ul><li><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_donations&amp;business=GSVDU63RKG45A&amp;currency_code=USD&amp;source=url" target="_blank" rel="noopener noreferrer">Any value - One-time donation</a></li></ul><h2 class="anchor anchorWithStickyNavbar_mojV" id="pix-brazil-only">PIX (Brazil only)<a class="hash-link" href="#pix-brazil-only" title="Direct link to heading">​</a></h2><p>If you&#x27;re Brazilian, you can donate any value by
 <a target="_blank" href="/assets/files/pix-49e151b096476e5f5d024e7c0e1a02db.png">using this QR Code</a>.</p></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages navigation"><a class="pagination-nav__link pagination-nav__link--prev" href="/taskfile-versions/"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Taskfile Versions</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_cNA8 thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#open-collective" class="table-of-contents__link toc-highlight">Open Collective</a></li><li><a href="#github-sponsors" class="table-of-contents__link toc-highlight">GitHub Sponsors</a></li><li><a href="#paypal" class="table-of-contents__link toc-highlight">PayPal</a></li><li><a href="#pix-brazil-only" class="table-of-contents__link toc-highlight">PIX (Brazil only)</a></li></ul></div></div></div></div></main></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="row footer__links"><div class="col footer__col"><div class="footer__title">Pages</div><ul class="footer__items clean-list"><li class="footer__item"><a class="footer__link-item" href="/installation/">Installation</a></li><li class="footer__item"><a class="footer__link-item" href="/usage/">Usage</a></li><li class="footer__item"><a class="footer__link-item" href="/donate/">Donate</a></li></ul></div><div class="col footer__col"><div class="footer__title">Community</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://github.com/go-task/task" target="_blank" rel="noopener noreferrer" class="footer__link-item">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://twitter.com/taskfiledev" target="_blank" rel="noopener noreferrer" class="footer__link-item">Twitter<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://discord.gg/6TY36E39UK" target="_blank" rel="noopener noreferrer" class="footer__link-item">Discord<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://opencollective.com/task" target="_blank" rel="noopener noreferrer" class="footer__link-item">OpenCollective<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.20e1af15.js"></script>
+<script src="/assets/js/runtime~main.c758183e.js"></script>
 <script src="/assets/js/main.88b7d452.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/index.html b/index.html
index 0cf7e3bf..880650b9 100644
--- a/index.html
+++ b/index.html
@@ -12,7 +12,7 @@
 
 <link rel="search" type="application/opensearchdescription+xml" title="Task" href="/opensearch.xml">
 <script src="/js/carbon.js" async></script><title data-rh="true">Home | Task</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://taskfile.dev/"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="og:image" content="https://taskfile.dev/img/og-image.png"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Home | Task"><meta data-rh="true" name="description" content="Task is a task runner / build tool that aims to be simpler and easier to use"><meta data-rh="true" property="og:description" content="Task is a task runner / build tool that aims to be simpler and easier to use"><link data-rh="true" rel="icon" href="/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://taskfile.dev/"><link data-rh="true" rel="alternate" href="https://taskfile.dev/" hreflang="en"><link data-rh="true" rel="alternate" href="https://taskfile.dev/" hreflang="x-default"><link data-rh="true" rel="preconnect" href="https://7IZIJ13AI7-dsn.algolia.net" crossorigin="anonymous"><script data-rh="true">function maybeInsertBanner(){window.__DOCUSAURUS_INSERT_BASEURL_BANNER&&insertBanner()}function insertBanner(){var n=document.getElementById("docusaurus-base-url-issue-banner-container");if(n){n.innerHTML='\n<div id="docusaurus-base-url-issue-banner" style="border: thick solid red; background-color: rgb(255, 230, 179); margin: 20px; padding: 20px; font-size: 20px;">\n   <p style="font-weight: bold; font-size: 30px;">Your Docusaurus site did not load properly.</p>\n   <p>A very common reason is a wrong site <a href="https://docusaurus.io/docs/docusaurus.config.js/#baseurl" style="font-weight: bold;">baseUrl configuration</a>.</p>\n   <p>Current configured baseUrl = <span style="font-weight: bold; color: red;">/</span>  (default value)</p>\n   <p>We suggest trying baseUrl = <span id="docusaurus-base-url-issue-banner-suggestion-container" style="font-weight: bold; color: green;"></span></p>\n</div>\n';var e=document.getElementById("docusaurus-base-url-issue-banner-suggestion-container"),s=window.location.pathname,r="/"===s.substr(-1)?s:s+"/";e.innerHTML=r}}window.__DOCUSAURUS_INSERT_BASEURL_BANNER=!0,document.addEventListener("DOMContentLoaded",maybeInsertBanner)</script><link rel="stylesheet" href="/assets/css/styles.098dd58a.css">
-<link rel="preload" href="/assets/js/runtime~main.20e1af15.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c758183e.js" as="script">
 <link rel="preload" href="/assets/js/main.88b7d452.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -29,7 +29,7 @@ to install on your CI script and you&#x27;re ready to use Task as part of your C
 Task also supports Windows thanks to <a href="https://github.com/mvdan/sh" target="_blank" rel="noopener noreferrer">this shell interpreter for Go</a>.</li><li>Great for code generation: you can easily <a href="/usage#prevent-unnecessary-work">prevent a task from running</a>
 if a given set of files haven&#x27;t changed since last run (based either on its
 timestamp or content).</li></ul></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages navigation"><a class="pagination-nav__link pagination-nav__link--next" href="/installation/"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Installation</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_cNA8 thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#features" class="table-of-contents__link toc-highlight">Features</a></li></ul></div></div></div></div></main></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="row footer__links"><div class="col footer__col"><div class="footer__title">Pages</div><ul class="footer__items clean-list"><li class="footer__item"><a class="footer__link-item" href="/installation/">Installation</a></li><li class="footer__item"><a class="footer__link-item" href="/usage/">Usage</a></li><li class="footer__item"><a class="footer__link-item" href="/donate/">Donate</a></li></ul></div><div class="col footer__col"><div class="footer__title">Community</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://github.com/go-task/task" target="_blank" rel="noopener noreferrer" class="footer__link-item">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://twitter.com/taskfiledev" target="_blank" rel="noopener noreferrer" class="footer__link-item">Twitter<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://discord.gg/6TY36E39UK" target="_blank" rel="noopener noreferrer" class="footer__link-item">Discord<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://opencollective.com/task" target="_blank" rel="noopener noreferrer" class="footer__link-item">OpenCollective<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.20e1af15.js"></script>
+<script src="/assets/js/runtime~main.c758183e.js"></script>
 <script src="/assets/js/main.88b7d452.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/installation/index.html b/installation/index.html
index abecc5ae..046ecdff 100644
--- a/installation/index.html
+++ b/installation/index.html
@@ -12,7 +12,7 @@
 
 <link rel="search" type="application/opensearchdescription+xml" title="Task" href="/opensearch.xml">
 <script src="/js/carbon.js" async></script><title data-rh="true">Installation | Task</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://taskfile.dev/installation/"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="og:image" content="https://taskfile.dev/img/og-image.png"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Installation | Task"><meta data-rh="true" name="description" content="Task offers many installation methods. Check out the available methods below."><meta data-rh="true" property="og:description" content="Task offers many installation methods. Check out the available methods below."><link data-rh="true" rel="icon" href="/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://taskfile.dev/installation/"><link data-rh="true" rel="alternate" href="https://taskfile.dev/installation/" hreflang="en"><link data-rh="true" rel="alternate" href="https://taskfile.dev/installation/" hreflang="x-default"><link data-rh="true" rel="preconnect" href="https://7IZIJ13AI7-dsn.algolia.net" crossorigin="anonymous"><link rel="stylesheet" href="/assets/css/styles.098dd58a.css">
-<link rel="preload" href="/assets/js/runtime~main.20e1af15.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c758183e.js" as="script">
 <link rel="preload" href="/assets/js/main.88b7d452.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -42,7 +42,7 @@ default.</p></div></div><h3 class="anchor anchorWithStickyNavbar_mojV" id="githu
 by the Arduino team:</p><div class="language-yaml codeBlockContainer_MPoW theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_B9tL"><pre tabindex="0" class="prism-code language-yaml codeBlock__0OG thin-scrollbar"><code class="codeBlockLines_gEuF"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">-</span><span class="token plain"> </span><span class="token key atrule" style="color:#00a4db">name</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> Install Task</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token key atrule" style="color:#00a4db">uses</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> arduino/setup</span><span class="token punctuation" style="color:#393A34">-</span><span class="token plain">task@v1</span><br></span></code></pre><div class="buttonGroup_hRr1"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_W9eQ" aria-hidden="true"><svg class="copyButtonIcon_XEyF" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_i9w9" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p>This installation method is community owned.</p><h2 class="anchor anchorWithStickyNavbar_mojV" id="build-from-source">Build From Source<a class="hash-link" href="#build-from-source" title="Direct link to heading">​</a></h2><h3 class="anchor anchorWithStickyNavbar_mojV" id="go-modules">Go Modules<a class="hash-link" href="#go-modules" title="Direct link to heading">​</a></h3><p>First, make sure you have <a href="https://golang.org/" target="_blank" rel="noopener noreferrer">Go</a> properly installed and setup.</p><p>You can easily install the latest release globally by running:</p><div class="language-bash codeBlockContainer_MPoW theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_B9tL"><pre tabindex="0" class="prism-code language-bash codeBlock__0OG thin-scrollbar"><code class="codeBlockLines_gEuF"><span class="token-line" style="color:#393A34"><span class="token plain">go </span><span class="token function" style="color:#d73a49">install</span><span class="token plain"> github.com/go-task/task/v3/cmd/task@latest</span><br></span></code></pre><div class="buttonGroup_hRr1"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_W9eQ" aria-hidden="true"><svg class="copyButtonIcon_XEyF" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_i9w9" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p>Or you can install into another directory:</p><div class="language-bash codeBlockContainer_MPoW theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_B9tL"><pre tabindex="0" class="prism-code language-bash codeBlock__0OG thin-scrollbar"><code class="codeBlockLines_gEuF"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">env</span><span class="token plain"> </span><span class="token assign-left variable" style="color:#36acaa">GOBIN</span><span class="token operator" style="color:#393A34">=</span><span class="token plain">/bin go </span><span class="token function" style="color:#d73a49">install</span><span class="token plain"> github.com/go-task/task/v3/cmd/task@latest</span><br></span></code></pre><div class="buttonGroup_hRr1"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_W9eQ" aria-hidden="true"><svg class="copyButtonIcon_XEyF" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_i9w9" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p>If using Go 1.15 or earlier, instead use:</p><div class="language-bash codeBlockContainer_MPoW theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_B9tL"><pre tabindex="0" class="prism-code language-bash codeBlock__0OG thin-scrollbar"><code class="codeBlockLines_gEuF"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">env</span><span class="token plain"> </span><span class="token assign-left variable" style="color:#36acaa">GO111MODULE</span><span class="token operator" style="color:#393A34">=</span><span class="token plain">on go get -u github.com/go-task/task/v3/cmd/task@latest</span><br></span></code></pre><div class="buttonGroup_hRr1"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_W9eQ" aria-hidden="true"><svg class="copyButtonIcon_XEyF" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_i9w9" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><div class="admonition admonition-tip alert alert--success"><div class="admonition-heading"><h5><span class="admonition-icon"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="16" viewBox="0 0 12 16"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"></path></svg></span>tip</h5></div><div class="admonition-content"><p>For CI environments we recommend using the <a href="#get-the-binary">install script</a>
 instead, which is faster and more stable, since it&#x27;ll just download the latest
 released binary.</p></div></div></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages navigation"><a class="pagination-nav__link pagination-nav__link--prev" href="/"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Home</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/usage/"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Usage</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_cNA8 thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#package-managers" class="table-of-contents__link toc-highlight">Package Managers</a><ul><li><a href="#homebrew" class="table-of-contents__link toc-highlight">Homebrew</a></li><li><a href="#snap" class="table-of-contents__link toc-highlight">Snap</a></li><li><a href="#chocolatey" class="table-of-contents__link toc-highlight">Chocolatey</a></li><li><a href="#scoop" class="table-of-contents__link toc-highlight">Scoop</a></li><li><a href="#aur" class="table-of-contents__link toc-highlight">AUR</a></li><li><a href="#fedora" class="table-of-contents__link toc-highlight">Fedora</a></li><li><a href="#nix" class="table-of-contents__link toc-highlight">Nix</a></li></ul></li><li><a href="#get-the-binary" class="table-of-contents__link toc-highlight">Get The Binary</a><ul><li><a href="#binary" class="table-of-contents__link toc-highlight">Binary</a></li><li><a href="#install-script" class="table-of-contents__link toc-highlight">Install Script</a></li><li><a href="#github-actions" class="table-of-contents__link toc-highlight">GitHub Actions</a></li></ul></li><li><a href="#build-from-source" class="table-of-contents__link toc-highlight">Build From Source</a><ul><li><a href="#go-modules" class="table-of-contents__link toc-highlight">Go Modules</a></li></ul></li></ul></div></div></div></div></main></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="row footer__links"><div class="col footer__col"><div class="footer__title">Pages</div><ul class="footer__items clean-list"><li class="footer__item"><a class="footer__link-item" href="/installation/">Installation</a></li><li class="footer__item"><a class="footer__link-item" href="/usage/">Usage</a></li><li class="footer__item"><a class="footer__link-item" href="/donate/">Donate</a></li></ul></div><div class="col footer__col"><div class="footer__title">Community</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://github.com/go-task/task" target="_blank" rel="noopener noreferrer" class="footer__link-item">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://twitter.com/taskfiledev" target="_blank" rel="noopener noreferrer" class="footer__link-item">Twitter<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://discord.gg/6TY36E39UK" target="_blank" rel="noopener noreferrer" class="footer__link-item">Discord<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://opencollective.com/task" target="_blank" rel="noopener noreferrer" class="footer__link-item">OpenCollective<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.20e1af15.js"></script>
+<script src="/assets/js/runtime~main.c758183e.js"></script>
 <script src="/assets/js/main.88b7d452.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/releasing/index.html b/releasing/index.html
index 996adcca..5ef329f4 100644
--- a/releasing/index.html
+++ b/releasing/index.html
@@ -12,7 +12,7 @@
 
 <link rel="search" type="application/opensearchdescription+xml" title="Task" href="/opensearch.xml">
 <script src="/js/carbon.js" async></script><title data-rh="true">Releasing | Task</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://taskfile.dev/releasing/"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="og:image" content="https://taskfile.dev/img/og-image.png"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Releasing | Task"><meta data-rh="true" name="description" content="The release process of Task is done with the help of"><meta data-rh="true" property="og:description" content="The release process of Task is done with the help of"><link data-rh="true" rel="icon" href="/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://taskfile.dev/releasing/"><link data-rh="true" rel="alternate" href="https://taskfile.dev/releasing/" hreflang="en"><link data-rh="true" rel="alternate" href="https://taskfile.dev/releasing/" hreflang="x-default"><link data-rh="true" rel="preconnect" href="https://7IZIJ13AI7-dsn.algolia.net" crossorigin="anonymous"><link rel="stylesheet" href="/assets/css/styles.098dd58a.css">
-<link rel="preload" href="/assets/js/runtime~main.20e1af15.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c758183e.js" as="script">
 <link rel="preload" href="/assets/js/main.88b7d452.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -35,7 +35,7 @@ If you think its Task version is outdated, open an issue to let us know.</p><h1>
 of updating versions there by editing
 <a href="https://github.com/NixOS/nixpkgs/blob/nixos-unstable/pkgs/development/tools/go-task/default.nix" target="_blank" rel="noopener noreferrer">this file</a>.
 If you think its Task version is outdated, open an issue to let us know.</p></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages navigation"><a class="pagination-nav__link pagination-nav__link--prev" href="/community/"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Community</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/taskfile-versions/"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Taskfile Versions</div></a></nav></div></div></div></div></main></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="row footer__links"><div class="col footer__col"><div class="footer__title">Pages</div><ul class="footer__items clean-list"><li class="footer__item"><a class="footer__link-item" href="/installation/">Installation</a></li><li class="footer__item"><a class="footer__link-item" href="/usage/">Usage</a></li><li class="footer__item"><a class="footer__link-item" href="/donate/">Donate</a></li></ul></div><div class="col footer__col"><div class="footer__title">Community</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://github.com/go-task/task" target="_blank" rel="noopener noreferrer" class="footer__link-item">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://twitter.com/taskfiledev" target="_blank" rel="noopener noreferrer" class="footer__link-item">Twitter<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://discord.gg/6TY36E39UK" target="_blank" rel="noopener noreferrer" class="footer__link-item">Discord<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://opencollective.com/task" target="_blank" rel="noopener noreferrer" class="footer__link-item">OpenCollective<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.20e1af15.js"></script>
+<script src="/assets/js/runtime~main.c758183e.js"></script>
 <script src="/assets/js/main.88b7d452.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/search/index.html b/search/index.html
index 84584baf..94c2f9af 100644
--- a/search/index.html
+++ b/search/index.html
@@ -12,13 +12,13 @@
 
 <link rel="search" type="application/opensearchdescription+xml" title="Task" href="/opensearch.xml">
 <script src="/js/carbon.js" async></script><title data-rh="true">Search the documentation | Task</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://taskfile.dev/search"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_tag" content="default"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docsearch:docusaurus_tag" content="default"><meta data-rh="true" name="og:image" content="https://taskfile.dev/img/og-image.png"><meta data-rh="true" property="robots" content="noindex, follow"><link data-rh="true" rel="icon" href="/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://taskfile.dev/search"><link data-rh="true" rel="alternate" href="https://taskfile.dev/search" hreflang="en"><link data-rh="true" rel="alternate" href="https://taskfile.dev/search" hreflang="x-default"><link data-rh="true" rel="preconnect" href="https://7IZIJ13AI7-dsn.algolia.net" crossorigin="anonymous"><link rel="stylesheet" href="/assets/css/styles.098dd58a.css">
-<link rel="preload" href="/assets/js/runtime~main.20e1af15.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c758183e.js" as="script">
 <link rel="preload" href="/assets/js/main.88b7d452.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div role="region"><a href="#" class="skipToContent_ZgBM">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Task Logo" class="themedImage_W2Cr themedImage--light_TfLj"><img src="/img/logo.svg" alt="Task Logo" class="themedImage_W2Cr themedImage--dark_oUvU"></div><b class="navbar__title text--truncate">Task</b></a><a class="navbar__item navbar__link" href="/installation/">Installation</a><a class="navbar__item navbar__link" href="/usage/">Usage</a><a class="navbar__item navbar__link" href="/api/">API</a><a class="navbar__item navbar__link" href="/donate/">Donate</a></div><div class="navbar__items navbar__items--right"><a href="https://github.com/go-task/task" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><a href="https://twitter.com/taskfiledev" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">Twitter<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><a href="https://discord.gg/6TY36E39UK" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">Discord<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_S7eR colorModeToggle_vKtC"><button class="clean-btn toggleButton_rCf9 toggleButtonDisabled_Pu9x" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_v35p"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_nQuB"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="searchBox_dLyj"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div class="main-wrapper"><div class="container margin-vert--lg"><h1>Search the documentation</h1><form class="row"><div class="col searchQueryColumn_RTkw col--12"><input type="search" name="q" class="searchQueryInput_u2C7" placeholder="Type your search here" aria-label="Search" autocomplete="off" autofocus=""></div></form><div class="row"><div class="col col--8 searchResultsColumn_JPFH"></div><div class="col col--4 text--right searchLogoColumn_rJIA"><a target="_blank" rel="noopener noreferrer" href="https://www.algolia.com/" aria-label="Search by Algolia"><svg viewBox="0 0 168 24" class="algoliaLogo_rT1R"><g fill="none"><path class="algoliaLogoPathFill_WdUC" d="M120.925 18.804c-4.386.02-4.386-3.54-4.386-4.106l-.007-13.336 2.675-.424v13.254c0 .322 0 2.358 1.718 2.364v2.248zm-10.846-2.18c.821 0 1.43-.047 1.855-.129v-2.719a6.334 6.334 0 0 0-1.574-.199 5.7 5.7 0 0 0-.897.069 2.699 2.699 0 0 0-.814.24c-.24.116-.439.28-.582.491-.15.212-.219.335-.219.656 0 .628.219.991.616 1.23s.938.362 1.615.362zm-.233-9.7c.883 0 1.629.109 2.231.328.602.218 1.088.525 1.444.915.363.396.609.922.76 1.483.157.56.232 1.175.232 1.85v6.874a32.5 32.5 0 0 1-1.868.314c-.834.123-1.772.185-2.813.185-.69 0-1.327-.069-1.895-.198a4.001 4.001 0 0 1-1.471-.636 3.085 3.085 0 0 1-.951-1.134c-.226-.465-.343-1.12-.343-1.803 0-.656.13-1.073.384-1.525a3.24 3.24 0 0 1 1.047-1.106c.445-.287.95-.492 1.532-.615a8.8 8.8 0 0 1 1.82-.185 8.404 8.404 0 0 1 1.972.24v-.438c0-.307-.035-.6-.11-.874a1.88 1.88 0 0 0-.384-.73 1.784 1.784 0 0 0-.724-.493 3.164 3.164 0 0 0-1.143-.205c-.616 0-1.177.075-1.69.164a7.735 7.735 0 0 0-1.26.307l-.321-2.192c.335-.117.834-.233 1.478-.349a10.98 10.98 0 0 1 2.073-.178zm52.842 9.626c.822 0 1.43-.048 1.854-.13V13.7a6.347 6.347 0 0 0-1.574-.199c-.294 0-.595.021-.896.069a2.7 2.7 0 0 0-.814.24 1.46 1.46 0 0 0-.582.491c-.15.212-.218.335-.218.656 0 .628.218.991.615 1.23.404.245.938.362 1.615.362zm-.226-9.694c.883 0 1.629.108 2.231.327.602.219 1.088.526 1.444.915.355.39.609.923.759 1.483a6.8 6.8 0 0 1 .233 1.852v6.873c-.41.088-1.034.19-1.868.314-.834.123-1.772.184-2.813.184-.69 0-1.327-.068-1.895-.198a4.001 4.001 0 0 1-1.471-.635 3.085 3.085 0 0 1-.951-1.134c-.226-.465-.343-1.12-.343-1.804 0-.656.13-1.073.384-1.524.26-.45.608-.82 1.047-1.107.445-.286.95-.491 1.532-.614a8.803 8.803 0 0 1 2.751-.13c.329.034.671.096 1.04.185v-.437a3.3 3.3 0 0 0-.109-.875 1.873 1.873 0 0 0-.384-.731 1.784 1.784 0 0 0-.724-.492 3.165 3.165 0 0 0-1.143-.205c-.616 0-1.177.075-1.69.164a7.75 7.75 0 0 0-1.26.307l-.321-2.193c.335-.116.834-.232 1.478-.348a11.633 11.633 0 0 1 2.073-.177zm-8.034-1.271a1.626 1.626 0 0 1-1.628-1.62c0-.895.725-1.62 1.628-1.62.904 0 1.63.725 1.63 1.62 0 .895-.733 1.62-1.63 1.62zm1.348 13.22h-2.689V7.27l2.69-.423v11.956zm-4.714 0c-4.386.02-4.386-3.54-4.386-4.107l-.008-13.336 2.676-.424v13.254c0 .322 0 2.358 1.718 2.364v2.248zm-8.698-5.903c0-1.156-.253-2.119-.746-2.788-.493-.677-1.183-1.01-2.067-1.01-.882 0-1.574.333-2.065 1.01-.493.676-.733 1.632-.733 2.788 0 1.168.246 1.953.74 2.63.492.683 1.183 1.018 2.066 1.018.882 0 1.574-.342 2.067-1.019.492-.683.738-1.46.738-2.63zm2.737-.007c0 .902-.13 1.584-.397 2.33a5.52 5.52 0 0 1-1.128 1.906 4.986 4.986 0 0 1-1.752 1.223c-.685.286-1.739.45-2.265.45-.528-.006-1.574-.157-2.252-.45a5.096 5.096 0 0 1-1.744-1.223c-.487-.527-.863-1.162-1.137-1.906a6.345 6.345 0 0 1-.41-2.33c0-.902.123-1.77.397-2.508a5.554 5.554 0 0 1 1.15-1.892 5.133 5.133 0 0 1 1.75-1.216c.679-.287 1.425-.423 2.232-.423.808 0 1.553.142 2.237.423a4.88 4.88 0 0 1 1.753 1.216 5.644 5.644 0 0 1 1.135 1.892c.287.738.431 1.606.431 2.508zm-20.138 0c0 1.12.246 2.363.738 2.882.493.52 1.13.78 1.91.78.424 0 .828-.062 1.204-.178.377-.116.677-.253.917-.417V9.33a10.476 10.476 0 0 0-1.766-.226c-.971-.028-1.71.37-2.23 1.004-.513.636-.773 1.75-.773 2.788zm7.438 5.274c0 1.824-.466 3.156-1.404 4.004-.936.846-2.367 1.27-4.296 1.27-.705 0-2.17-.137-3.34-.396l.431-2.118c.98.205 2.272.26 2.95.26 1.074 0 1.84-.219 2.299-.656.459-.437.684-1.086.684-1.948v-.437a8.07 8.07 0 0 1-1.047.397c-.43.13-.93.198-1.492.198-.739 0-1.41-.116-2.018-.349a4.206 4.206 0 0 1-1.567-1.025c-.431-.45-.774-1.017-1.013-1.694-.24-.677-.363-1.885-.363-2.773 0-.834.13-1.88.384-2.577.26-.696.629-1.298 1.129-1.796.493-.498 1.095-.881 1.8-1.162a6.605 6.605 0 0 1 2.428-.457c.87 0 1.67.109 2.45.24.78.129 1.444.265 1.985.415V18.17zM6.972 6.677v1.627c-.712-.446-1.52-.67-2.425-.67-.585 0-1.045.13-1.38.391a1.24 1.24 0 0 0-.502 1.03c0 .425.164.765.494 1.02.33.256.835.532 1.516.83.447.192.795.356 1.045.495.25.138.537.332.862.582.324.25.563.548.718.894.154.345.23.741.23 1.188 0 .947-.334 1.691-1.004 2.234-.67.542-1.537.814-2.601.814-1.18 0-2.16-.229-2.936-.686v-1.708c.84.628 1.814.942 2.92.942.585 0 1.048-.136 1.388-.407.34-.271.51-.646.51-1.125 0-.287-.1-.55-.302-.79-.203-.24-.42-.42-.655-.542-.234-.123-.585-.29-1.053-.503a61.27 61.27 0 0 1-.582-.271 13.67 13.67 0 0 1-.55-.287 4.275 4.275 0 0 1-.567-.351 6.92 6.92 0 0 1-.455-.4c-.18-.17-.31-.34-.39-.51-.08-.17-.155-.37-.224-.598a2.553 2.553 0 0 1-.104-.742c0-.915.333-1.638.998-2.17.664-.532 1.523-.798 2.576-.798.968 0 1.793.17 2.473.51zm7.468 5.696v-.287c-.022-.607-.187-1.088-.495-1.444-.309-.357-.75-.535-1.324-.535-.532 0-.99.194-1.373.583-.382.388-.622.949-.717 1.683h3.909zm1.005 2.792v1.404c-.596.34-1.383.51-2.362.51-1.255 0-2.255-.377-3-1.132-.744-.755-1.116-1.744-1.116-2.968 0-1.297.34-2.316 1.021-3.055.68-.74 1.548-1.11 2.6-1.11 1.033 0 1.852.323 2.458.966.606.644.91 1.572.91 2.784 0 .33-.033.676-.096 1.038h-5.314c.107.702.405 1.239.894 1.611.49.372 1.106.558 1.85.558.862 0 1.58-.202 2.155-.606zm6.605-1.77h-1.212c-.596 0-1.045.116-1.349.35-.303.234-.454.532-.454.894 0 .372.117.664.35.877.235.213.575.32 1.022.32.51 0 .912-.142 1.204-.424.293-.281.44-.651.44-1.108v-.91zm-4.068-2.554V9.325c.627-.361 1.457-.542 2.489-.542 2.116 0 3.175 1.026 3.175 3.08V17h-1.548v-.957c-.415.68-1.143 1.02-2.186 1.02-.766 0-1.38-.22-1.843-.661-.462-.442-.694-1.003-.694-1.684 0-.776.293-1.38.878-1.81.585-.431 1.404-.647 2.457-.647h1.34V11.8c0-.554-.133-.971-.399-1.253-.266-.282-.707-.423-1.324-.423a4.07 4.07 0 0 0-2.345.718zm9.333-1.93v1.42c.394-1 1.101-1.5 2.123-1.5.148 0 .313.016.494.048v1.531a1.885 1.885 0 0 0-.75-.143c-.542 0-.989.24-1.34.718-.351.479-.527 1.048-.527 1.707V17h-1.563V8.91h1.563zm5.01 4.084c.022.82.272 1.492.75 2.019.479.526 1.15.79 2.01.79.639 0 1.235-.176 1.788-.527v1.404c-.521.319-1.186.479-1.995.479-1.265 0-2.276-.4-3.031-1.197-.755-.798-1.133-1.792-1.133-2.984 0-1.16.38-2.151 1.14-2.975.761-.825 1.79-1.237 3.088-1.237.702 0 1.346.149 1.93.447v1.436a3.242 3.242 0 0 0-1.77-.495c-.84 0-1.513.266-2.019.798-.505.532-.758 1.213-.758 2.042zM40.24 5.72v4.579c.458-1 1.293-1.5 2.505-1.5.787 0 1.42.245 1.899.734.479.49.718 1.17.718 2.042V17h-1.564v-5.106c0-.553-.14-.98-.422-1.284-.282-.303-.652-.455-1.11-.455-.531 0-1.002.202-1.411.606-.41.405-.615 1.022-.615 1.851V17h-1.563V5.72h1.563zm14.966 10.02c.596 0 1.096-.253 1.5-.758.404-.506.606-1.157.606-1.955 0-.915-.202-1.62-.606-2.114-.404-.495-.92-.742-1.548-.742-.553 0-1.05.224-1.491.67-.442.447-.662 1.133-.662 2.058 0 .958.212 1.67.638 2.138.425.469.946.703 1.563.703zM53.004 5.72v4.42c.574-.894 1.388-1.341 2.44-1.341 1.022 0 1.857.383 2.506 1.149.649.766.973 1.781.973 3.047 0 1.138-.309 2.109-.925 2.912-.617.803-1.463 1.205-2.537 1.205-1.075 0-1.894-.447-2.457-1.34V17h-1.58V5.72h1.58zm9.908 11.104l-3.223-7.913h1.739l1.005 2.632 1.26 3.415c.096-.32.48-1.458 1.15-3.415l.909-2.632h1.66l-2.92 7.866c-.777 2.074-1.963 3.11-3.559 3.11a2.92 2.92 0 0 1-.734-.079v-1.34c.17.042.351.064.543.064 1.032 0 1.755-.57 2.17-1.708z"></path><path fill="#5468FF" d="M78.988.938h16.594a2.968 2.968 0 0 1 2.966 2.966V20.5a2.967 2.967 0 0 1-2.966 2.964H78.988a2.967 2.967 0 0 1-2.966-2.964V3.897A2.961 2.961 0 0 1 78.988.938z"></path><path fill="white" d="M89.632 5.967v-.772a.978.978 0 0 0-.978-.977h-2.28a.978.978 0 0 0-.978.977v.793c0 .088.082.15.171.13a7.127 7.127 0 0 1 1.984-.28c.65 0 1.295.088 1.917.259.082.02.164-.04.164-.13m-6.248 1.01l-.39-.389a.977.977 0 0 0-1.382 0l-.465.465a.973.973 0 0 0 0 1.38l.383.383c.062.061.15.047.205-.014.226-.307.472-.601.746-.874.281-.28.568-.526.883-.751.068-.042.075-.137.02-.2m4.16 2.453v3.341c0 .096.104.165.192.117l2.97-1.537c.068-.034.089-.117.055-.184a3.695 3.695 0 0 0-3.08-1.866c-.068 0-.136.054-.136.13m0 8.048a4.489 4.489 0 0 1-4.49-4.482 4.488 4.488 0 0 1 4.49-4.482 4.488 4.488 0 0 1 4.489 4.482 4.484 4.484 0 0 1-4.49 4.482m0-10.85a6.363 6.363 0 1 0 0 12.729 6.37 6.37 0 0 0 6.372-6.368 6.358 6.358 0 0 0-6.371-6.36"></path></g></svg></a></div></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="row footer__links"><div class="col footer__col"><div class="footer__title">Pages</div><ul class="footer__items clean-list"><li class="footer__item"><a class="footer__link-item" href="/installation/">Installation</a></li><li class="footer__item"><a class="footer__link-item" href="/usage/">Usage</a></li><li class="footer__item"><a class="footer__link-item" href="/donate/">Donate</a></li></ul></div><div class="col footer__col"><div class="footer__title">Community</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://github.com/go-task/task" target="_blank" rel="noopener noreferrer" class="footer__link-item">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://twitter.com/taskfiledev" target="_blank" rel="noopener noreferrer" class="footer__link-item">Twitter<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://discord.gg/6TY36E39UK" target="_blank" rel="noopener noreferrer" class="footer__link-item">Discord<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://opencollective.com/task" target="_blank" rel="noopener noreferrer" class="footer__link-item">OpenCollective<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.20e1af15.js"></script>
+<script src="/assets/js/runtime~main.c758183e.js"></script>
 <script src="/assets/js/main.88b7d452.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/styleguide/index.html b/styleguide/index.html
index bbe1cf21..3bf609cb 100644
--- a/styleguide/index.html
+++ b/styleguide/index.html
@@ -12,7 +12,7 @@
 
 <link rel="search" type="application/opensearchdescription+xml" title="Task" href="/opensearch.xml">
 <script src="/js/carbon.js" async></script><title data-rh="true">Styleguide | Task</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://taskfile.dev/styleguide/"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="og:image" content="https://taskfile.dev/img/og-image.png"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Styleguide | Task"><meta data-rh="true" name="description" content="This is the official Task styleguide for Taskfile.yml files. This guide"><meta data-rh="true" property="og:description" content="This is the official Task styleguide for Taskfile.yml files. This guide"><link data-rh="true" rel="icon" href="/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://taskfile.dev/styleguide/"><link data-rh="true" rel="alternate" href="https://taskfile.dev/styleguide/" hreflang="en"><link data-rh="true" rel="alternate" href="https://taskfile.dev/styleguide/" hreflang="x-default"><link data-rh="true" rel="preconnect" href="https://7IZIJ13AI7-dsn.algolia.net" crossorigin="anonymous"><link rel="stylesheet" href="/assets/css/styles.098dd58a.css">
-<link rel="preload" href="/assets/js/runtime~main.20e1af15.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c758183e.js" as="script">
 <link rel="preload" href="/assets/js/main.88b7d452.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -25,7 +25,7 @@ need or want to. Also, feel free to open issues or pull requests with
 improvements to this guide.</p><h2 class="anchor anchorWithStickyNavbar_mojV" id="use-taskfileyml-and-not-taskfileyml">Use <code>Taskfile.yml</code> and not <code>taskfile.yml</code><a class="hash-link" href="#use-taskfileyml-and-not-taskfileyml" title="Direct link to heading">​</a></h2><div class="language-yaml codeBlockContainer_MPoW theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_B9tL"><pre tabindex="0" class="prism-code language-yaml codeBlock__0OG thin-scrollbar"><code class="codeBlockLines_gEuF"><span class="token-line" style="color:#393A34"><span class="token comment" style="color:#999988;font-style:italic"># bad</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">taskfile.yml</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># good</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">Taskfile.yml</span><br></span></code></pre><div class="buttonGroup_hRr1"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_W9eQ" aria-hidden="true"><svg class="copyButtonIcon_XEyF" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_i9w9" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p>This is important especially for Linux users. Windows and macOS have case
 insensitive filesystems, so <code>taskfile.yml</code> will end up working, even that not
 officially supported. On Linux, only <code>Taskfile.yml</code> will work, though.</p><h2 class="anchor anchorWithStickyNavbar_mojV" id="use-the-correct-order-of-keywords">Use the correct order of keywords<a class="hash-link" href="#use-the-correct-order-of-keywords" title="Direct link to heading">​</a></h2><ul><li><code>version:</code></li><li><code>includes:</code></li><li>Configuration ones, like <code>output:</code>, <code>silent:</code>, <code>method:</code> and <code>run:</code></li><li><code>vars:</code></li><li><code>env:</code>, <code>dotenv:</code></li><li><code>tasks:</code></li></ul><h2 class="anchor anchorWithStickyNavbar_mojV" id="use-2-spaces-for-indentation">Use 2 spaces for indentation<a class="hash-link" href="#use-2-spaces-for-indentation" title="Direct link to heading">​</a></h2><p>This is the most common convention for YAML files, and Task follows it.</p><div class="language-yaml codeBlockContainer_MPoW theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_B9tL"><pre tabindex="0" class="prism-code language-yaml codeBlock__0OG thin-scrollbar"><code class="codeBlockLines_gEuF"><span class="token-line" style="color:#393A34"><span class="token comment" style="color:#999988;font-style:italic"># bad</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">tasks</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token key atrule" style="color:#00a4db">foo</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">        </span><span class="token key atrule" style="color:#00a4db">cmds</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">            </span><span class="token punctuation" style="color:#393A34">-</span><span class="token plain"> echo &#x27;foo&#x27;</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># good</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">tasks</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token key atrule" style="color:#00a4db">foo</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token key atrule" style="color:#00a4db">cmds</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token punctuation" style="color:#393A34">-</span><span class="token plain"> echo &#x27;foo&#x27;</span><br></span></code></pre><div class="buttonGroup_hRr1"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_W9eQ" aria-hidden="true"><svg class="copyButtonIcon_XEyF" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_i9w9" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><h2 class="anchor anchorWithStickyNavbar_mojV" id="separate-with-spaces-the-mains-sections">Separate with spaces the mains sections<a class="hash-link" href="#separate-with-spaces-the-mains-sections" title="Direct link to heading">​</a></h2><div class="language-yaml codeBlockContainer_MPoW theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_B9tL"><pre tabindex="0" class="prism-code language-yaml codeBlock__0OG thin-scrollbar"><code class="codeBlockLines_gEuF"><span class="token-line" style="color:#393A34"><span class="token comment" style="color:#999988;font-style:italic"># bad</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">version</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&#x27;3&#x27;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">includes</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token key atrule" style="color:#00a4db">docker</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> ./docker/Taskfile.yml</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">output</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> prefixed</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">vars</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token key atrule" style="color:#00a4db">FOO</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> bar</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">env</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token key atrule" style="color:#00a4db">BAR</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> baz</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">tasks</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token comment" style="color:#999988;font-style:italic"># ...</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># good</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">version</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&#x27;3&#x27;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">includes</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token key atrule" style="color:#00a4db">docker</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> ./docker/Taskfile.yml</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">output</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> prefixed</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">vars</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token key atrule" style="color:#00a4db">FOO</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> bar</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">env</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token key atrule" style="color:#00a4db">BAR</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> baz</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">tasks</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token comment" style="color:#999988;font-style:italic"># ...</span><br></span></code></pre><div class="buttonGroup_hRr1"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_W9eQ" aria-hidden="true"><svg class="copyButtonIcon_XEyF" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_i9w9" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><h2 class="anchor anchorWithStickyNavbar_mojV" id="add-spaces-between-tasks">Add spaces between tasks<a class="hash-link" href="#add-spaces-between-tasks" title="Direct link to heading">​</a></h2><div class="language-yaml codeBlockContainer_MPoW theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_B9tL"><pre tabindex="0" class="prism-code language-yaml codeBlock__0OG thin-scrollbar"><code class="codeBlockLines_gEuF"><span class="token-line" style="color:#393A34"><span class="token comment" style="color:#999988;font-style:italic"># bad</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">version</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&#x27;3&#x27;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">tasks</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token key atrule" style="color:#00a4db">foo</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token key atrule" style="color:#00a4db">cmds</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token punctuation" style="color:#393A34">-</span><span class="token plain"> echo &#x27;foo&#x27;</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token key atrule" style="color:#00a4db">bar</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token key atrule" style="color:#00a4db">cmds</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token punctuation" style="color:#393A34">-</span><span class="token plain"> echo &#x27;bar&#x27;</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token key atrule" style="color:#00a4db">baz</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token key atrule" style="color:#00a4db">cmds</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token punctuation" style="color:#393A34">-</span><span class="token plain"> echo &#x27;baz&#x27;</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># good</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">version</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&#x27;3&#x27;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">tasks</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token key atrule" style="color:#00a4db">foo</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token key atrule" style="color:#00a4db">cmds</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token punctuation" style="color:#393A34">-</span><span class="token plain"> echo &#x27;foo&#x27;</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token key atrule" style="color:#00a4db">bar</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token key atrule" style="color:#00a4db">cmds</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token punctuation" style="color:#393A34">-</span><span class="token plain"> echo &#x27;bar&#x27;</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token key atrule" style="color:#00a4db">baz</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token key atrule" style="color:#00a4db">cmds</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token punctuation" style="color:#393A34">-</span><span class="token plain"> echo &#x27;baz&#x27;</span><br></span></code></pre><div class="buttonGroup_hRr1"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_W9eQ" aria-hidden="true"><svg class="copyButtonIcon_XEyF" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_i9w9" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><h2 class="anchor anchorWithStickyNavbar_mojV" id="use-upper-case-variable-names">Use upper-case variable names<a class="hash-link" href="#use-upper-case-variable-names" title="Direct link to heading">​</a></h2><div class="language-yaml codeBlockContainer_MPoW theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_B9tL"><pre tabindex="0" class="prism-code language-yaml codeBlock__0OG thin-scrollbar"><code class="codeBlockLines_gEuF"><span class="token-line" style="color:#393A34"><span class="token comment" style="color:#999988;font-style:italic"># bad</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">version</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&#x27;3&#x27;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">vars</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token key atrule" style="color:#00a4db">binary_name</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> myapp</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">tasks</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token key atrule" style="color:#00a4db">build</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token key atrule" style="color:#00a4db">cmds</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token punctuation" style="color:#393A34">-</span><span class="token plain"> go build </span><span class="token punctuation" style="color:#393A34">-</span><span class="token plain">o </span><span class="token punctuation" style="color:#393A34">{</span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain">.binary_name</span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"> .</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># good</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">version</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&#x27;3&#x27;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">vars</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token key atrule" style="color:#00a4db">BINARY_NAME</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> myapp</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">tasks</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token key atrule" style="color:#00a4db">build</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token key atrule" style="color:#00a4db">cmds</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token punctuation" style="color:#393A34">-</span><span class="token plain"> go build </span><span class="token punctuation" style="color:#393A34">-</span><span class="token plain">o </span><span class="token punctuation" style="color:#393A34">{</span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain">.BINARY_NAME</span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"> .</span><br></span></code></pre><div class="buttonGroup_hRr1"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_W9eQ" aria-hidden="true"><svg class="copyButtonIcon_XEyF" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_i9w9" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><h2 class="anchor anchorWithStickyNavbar_mojV" id="dont-wrap-vars-in-spaces-when-templating">Don&#x27;t wrap vars in spaces when templating<a class="hash-link" href="#dont-wrap-vars-in-spaces-when-templating" title="Direct link to heading">​</a></h2><div class="language-yaml codeBlockContainer_MPoW theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_B9tL"><pre tabindex="0" class="prism-code language-yaml codeBlock__0OG thin-scrollbar"><code class="codeBlockLines_gEuF"><span class="token-line" style="color:#393A34"><span class="token comment" style="color:#999988;font-style:italic"># bad</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">version</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&#x27;3&#x27;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">tasks</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token key atrule" style="color:#00a4db">greet</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token key atrule" style="color:#00a4db">cmds</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token punctuation" style="color:#393A34">-</span><span class="token plain"> echo &#x27;</span><span class="token punctuation" style="color:#393A34">{</span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"> .MESSAGE </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain">&#x27;</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># good</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">version</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&#x27;3&#x27;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">tasks</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token key atrule" style="color:#00a4db">greet</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token key atrule" style="color:#00a4db">cmds</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token punctuation" style="color:#393A34">-</span><span class="token plain"> echo &#x27;</span><span class="token punctuation" style="color:#393A34">{</span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain">.MESSAGE</span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain">&#x27;</span><br></span></code></pre><div class="buttonGroup_hRr1"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_W9eQ" aria-hidden="true"><svg class="copyButtonIcon_XEyF" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_i9w9" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p>This convention is also used by most people for any Go templating.</p><h2 class="anchor anchorWithStickyNavbar_mojV" id="separate-task-name-words-with-a-dash">Separate task name words with a dash<a class="hash-link" href="#separate-task-name-words-with-a-dash" title="Direct link to heading">​</a></h2><div class="language-yaml codeBlockContainer_MPoW theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_B9tL"><pre tabindex="0" class="prism-code language-yaml codeBlock__0OG thin-scrollbar"><code class="codeBlockLines_gEuF"><span class="token-line" style="color:#393A34"><span class="token comment" style="color:#999988;font-style:italic"># bad</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">version</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&#x27;3&#x27;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">tasks</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token key atrule" style="color:#00a4db">do_something_fancy</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token key atrule" style="color:#00a4db">cmds</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token punctuation" style="color:#393A34">-</span><span class="token plain"> echo &#x27;Do something&#x27;</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># good</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">version</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&#x27;3&#x27;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">tasks</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token key atrule" style="color:#00a4db">do-something-fancy</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token key atrule" style="color:#00a4db">cmds</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token punctuation" style="color:#393A34">-</span><span class="token plain"> echo &#x27;Do something&#x27;</span><br></span></code></pre><div class="buttonGroup_hRr1"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_W9eQ" aria-hidden="true"><svg class="copyButtonIcon_XEyF" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_i9w9" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><h2 class="anchor anchorWithStickyNavbar_mojV" id="use-colon-for-task-namespacing">Use colon for task namespacing<a class="hash-link" href="#use-colon-for-task-namespacing" title="Direct link to heading">​</a></h2><div class="language-yaml codeBlockContainer_MPoW theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_B9tL"><pre tabindex="0" class="prism-code language-yaml codeBlock__0OG thin-scrollbar"><code class="codeBlockLines_gEuF"><span class="token-line" style="color:#393A34"><span class="token comment" style="color:#999988;font-style:italic"># good</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">version</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&#x27;3&#x27;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">tasks</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token key atrule" style="color:#00a4db">docker:build</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token key atrule" style="color:#00a4db">cmds</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token punctuation" style="color:#393A34">-</span><span class="token plain"> docker </span><span class="token punctuation" style="color:#393A34">...</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token key atrule" style="color:#00a4db">docker:run</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token key atrule" style="color:#00a4db">cmds</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token punctuation" style="color:#393A34">-</span><span class="token plain"> docker</span><span class="token punctuation" style="color:#393A34">-</span><span class="token plain">compose </span><span class="token punctuation" style="color:#393A34">...</span><br></span></code></pre><div class="buttonGroup_hRr1"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_W9eQ" aria-hidden="true"><svg class="copyButtonIcon_XEyF" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_i9w9" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p>This is also done automatically when using included Taskfiles.</p></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages navigation"><a class="pagination-nav__link pagination-nav__link--prev" href="/api/"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">API Reference</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/changelog/"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Changelog</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_cNA8 thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#use-taskfileyml-and-not-taskfileyml" class="table-of-contents__link toc-highlight">Use <code>Taskfile.yml</code> and not <code>taskfile.yml</code></a></li><li><a href="#use-the-correct-order-of-keywords" class="table-of-contents__link toc-highlight">Use the correct order of keywords</a></li><li><a href="#use-2-spaces-for-indentation" class="table-of-contents__link toc-highlight">Use 2 spaces for indentation</a></li><li><a href="#separate-with-spaces-the-mains-sections" class="table-of-contents__link toc-highlight">Separate with spaces the mains sections</a></li><li><a href="#add-spaces-between-tasks" class="table-of-contents__link toc-highlight">Add spaces between tasks</a></li><li><a href="#use-upper-case-variable-names" class="table-of-contents__link toc-highlight">Use upper-case variable names</a></li><li><a href="#dont-wrap-vars-in-spaces-when-templating" class="table-of-contents__link toc-highlight">Don&#39;t wrap vars in spaces when templating</a></li><li><a href="#separate-task-name-words-with-a-dash" class="table-of-contents__link toc-highlight">Separate task name words with a dash</a></li><li><a href="#use-colon-for-task-namespacing" class="table-of-contents__link toc-highlight">Use colon for task namespacing</a></li></ul></div></div></div></div></main></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="row footer__links"><div class="col footer__col"><div class="footer__title">Pages</div><ul class="footer__items clean-list"><li class="footer__item"><a class="footer__link-item" href="/installation/">Installation</a></li><li class="footer__item"><a class="footer__link-item" href="/usage/">Usage</a></li><li class="footer__item"><a class="footer__link-item" href="/donate/">Donate</a></li></ul></div><div class="col footer__col"><div class="footer__title">Community</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://github.com/go-task/task" target="_blank" rel="noopener noreferrer" class="footer__link-item">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://twitter.com/taskfiledev" target="_blank" rel="noopener noreferrer" class="footer__link-item">Twitter<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://discord.gg/6TY36E39UK" target="_blank" rel="noopener noreferrer" class="footer__link-item">Discord<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://opencollective.com/task" target="_blank" rel="noopener noreferrer" class="footer__link-item">OpenCollective<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.20e1af15.js"></script>
+<script src="/assets/js/runtime~main.c758183e.js"></script>
 <script src="/assets/js/main.88b7d452.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/taskfile-versions/index.html b/taskfile-versions/index.html
index e5e204b1..f2391ee8 100644
--- a/taskfile-versions/index.html
+++ b/taskfile-versions/index.html
@@ -12,7 +12,7 @@
 
 <link rel="search" type="application/opensearchdescription+xml" title="Task" href="/opensearch.xml">
 <script src="/js/carbon.js" async></script><title data-rh="true">Taskfile Versions | Task</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://taskfile.dev/taskfile-versions/"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="og:image" content="https://taskfile.dev/img/og-image.png"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Taskfile Versions | Task"><meta data-rh="true" name="description" content="The Taskfile syntax and features changed with time. This document explains what"><meta data-rh="true" property="og:description" content="The Taskfile syntax and features changed with time. This document explains what"><link data-rh="true" rel="icon" href="/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://taskfile.dev/taskfile-versions/"><link data-rh="true" rel="alternate" href="https://taskfile.dev/taskfile-versions/" hreflang="en"><link data-rh="true" rel="alternate" href="https://taskfile.dev/taskfile-versions/" hreflang="x-default"><link data-rh="true" rel="preconnect" href="https://7IZIJ13AI7-dsn.algolia.net" crossorigin="anonymous"><link rel="stylesheet" href="/assets/css/styles.098dd58a.css">
-<link rel="preload" href="/assets/js/runtime~main.20e1af15.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c758183e.js" as="script">
 <link rel="preload" href="/assets/js/main.88b7d452.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -40,7 +40,7 @@ included Taskfile will run:</li></ul><div class="language-yaml codeBlockContaine
 to understand. The <code>expansions:</code> setting was removed as it became unncessary.
 This is the order in which Task will process variables, each level can see
 the variables set by the previous one and override those.<ul><li>Environment variables</li><li>Global + CLI variables</li><li>Call variables</li><li>Task variables</li></ul></li></ul></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages navigation"><a class="pagination-nav__link pagination-nav__link--prev" href="/releasing/"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Releasing</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/donate/"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Donate</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_cNA8 thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#what-the-taskfile-version-mean" class="table-of-contents__link toc-highlight">What the Taskfile version mean</a></li><li><a href="#version-1" class="table-of-contents__link toc-highlight">Version 1</a></li><li><a href="#version-20" class="table-of-contents__link toc-highlight">Version 2.0</a></li><li><a href="#version-21" class="table-of-contents__link toc-highlight">Version 2.1</a></li><li><a href="#version-22" class="table-of-contents__link toc-highlight">Version 2.2</a></li><li><a href="#version-26" class="table-of-contents__link toc-highlight">Version 2.6</a></li><li><a href="#version-3" class="table-of-contents__link toc-highlight">Version 3</a></li></ul></div></div></div></div></main></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="row footer__links"><div class="col footer__col"><div class="footer__title">Pages</div><ul class="footer__items clean-list"><li class="footer__item"><a class="footer__link-item" href="/installation/">Installation</a></li><li class="footer__item"><a class="footer__link-item" href="/usage/">Usage</a></li><li class="footer__item"><a class="footer__link-item" href="/donate/">Donate</a></li></ul></div><div class="col footer__col"><div class="footer__title">Community</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://github.com/go-task/task" target="_blank" rel="noopener noreferrer" class="footer__link-item">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://twitter.com/taskfiledev" target="_blank" rel="noopener noreferrer" class="footer__link-item">Twitter<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://discord.gg/6TY36E39UK" target="_blank" rel="noopener noreferrer" class="footer__link-item">Discord<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://opencollective.com/task" target="_blank" rel="noopener noreferrer" class="footer__link-item">OpenCollective<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.20e1af15.js"></script>
+<script src="/assets/js/runtime~main.c758183e.js"></script>
 <script src="/assets/js/main.88b7d452.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/usage/index.html b/usage/index.html
index 99b7f448..f261aae9 100644
--- a/usage/index.html
+++ b/usage/index.html
@@ -12,7 +12,7 @@
 
 <link rel="search" type="application/opensearchdescription+xml" title="Task" href="/opensearch.xml">
 <script src="/js/carbon.js" async></script><title data-rh="true">Usage | Task</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://taskfile.dev/usage/"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="og:image" content="https://taskfile.dev/img/og-image.png"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Usage | Task"><meta data-rh="true" name="description" content="Getting started"><meta data-rh="true" property="og:description" content="Getting started"><link data-rh="true" rel="icon" href="/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://taskfile.dev/usage/"><link data-rh="true" rel="alternate" href="https://taskfile.dev/usage/" hreflang="en"><link data-rh="true" rel="alternate" href="https://taskfile.dev/usage/" hreflang="x-default"><link data-rh="true" rel="preconnect" href="https://7IZIJ13AI7-dsn.algolia.net" crossorigin="anonymous"><link rel="stylesheet" href="/assets/css/styles.098dd58a.css">
-<link rel="preload" href="/assets/js/runtime~main.20e1af15.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.c758183e.js" as="script">
 <link rel="preload" href="/assets/js/main.88b7d452.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -159,7 +159,7 @@ an issue about it.</p><h2 class="anchor anchorWithStickyNavbar_mojV" id="short-t
 have the default settings (e.g. no custom <code>env:</code>, <code>vars:</code>, <code>desc:</code>, <code>silent:</code> , etc):</p><div class="language-yaml codeBlockContainer_MPoW theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_B9tL"><pre tabindex="0" class="prism-code language-yaml codeBlock__0OG thin-scrollbar"><code class="codeBlockLines_gEuF"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">version</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&#x27;3&#x27;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">tasks</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token key atrule" style="color:#00a4db">build</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> go build </span><span class="token punctuation" style="color:#393A34">-</span><span class="token plain">v </span><span class="token punctuation" style="color:#393A34">-</span><span class="token plain">o ./app</span><span class="token punctuation" style="color:#393A34">{</span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain">exeExt</span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"> .</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token key atrule" style="color:#00a4db">run</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token punctuation" style="color:#393A34">-</span><span class="token plain"> </span><span class="token key atrule" style="color:#00a4db">task</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> build</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token punctuation" style="color:#393A34">-</span><span class="token plain"> ./app</span><span class="token punctuation" style="color:#393A34">{</span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain">exeExt</span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">-</span><span class="token plain">h localhost </span><span class="token punctuation" style="color:#393A34">-</span><span class="token plain">p 8080</span><br></span></code></pre><div class="buttonGroup_hRr1"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_W9eQ" aria-hidden="true"><svg class="copyButtonIcon_XEyF" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_i9w9" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><h2 class="anchor anchorWithStickyNavbar_mojV" id="watch-tasks">Watch tasks<a class="hash-link" href="#watch-tasks" title="Direct link to heading">​</a></h2><p>With the flags <code>--watch</code> or <code>-w</code> task will watch for file changes
 and run the task again. This requires the <code>sources</code> attribute to be given,
 so task knows which files to watch.</p></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages navigation"><a class="pagination-nav__link pagination-nav__link--prev" href="/installation/"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Installation</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/api/"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">API Reference</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_cNA8 thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#getting-started" class="table-of-contents__link toc-highlight">Getting started</a></li><li><a href="#supported-file-names" class="table-of-contents__link toc-highlight">Supported file names</a></li><li><a href="#environment-variables" class="table-of-contents__link toc-highlight">Environment variables</a><ul><li><a href="#task" class="table-of-contents__link toc-highlight">Task</a></li><li><a href="#env-files" class="table-of-contents__link toc-highlight">.env files</a></li></ul></li><li><a href="#including-other-taskfiles" class="table-of-contents__link toc-highlight">Including other Taskfiles</a><ul><li><a href="#os-specific-taskfiles" class="table-of-contents__link toc-highlight">OS-specific Taskfiles</a></li><li><a href="#directory-of-included-taskfile" class="table-of-contents__link toc-highlight">Directory of included Taskfile</a></li><li><a href="#optional-includes" class="table-of-contents__link toc-highlight">Optional includes</a></li><li><a href="#vars-of-included-taskfiles" class="table-of-contents__link toc-highlight">Vars of included Taskfiles</a></li></ul></li><li><a href="#task-directory" class="table-of-contents__link toc-highlight">Task directory</a></li><li><a href="#task-dependencies" class="table-of-contents__link toc-highlight">Task dependencies</a></li><li><a href="#calling-another-task" class="table-of-contents__link toc-highlight">Calling another task</a></li><li><a href="#prevent-unnecessary-work" class="table-of-contents__link toc-highlight">Prevent unnecessary work</a><ul><li><a href="#by-fingerprinting-locally-generated-files-and-their-sources" class="table-of-contents__link toc-highlight">By fingerprinting locally generated files and their sources</a></li><li><a href="#using-programmatic-checks-to-indicate-a-task-is-up-to-date" class="table-of-contents__link toc-highlight">Using programmatic checks to indicate a task is up to date.</a></li><li><a href="#using-programmatic-checks-to-cancel-the-execution-of-a-task-and-its-dependencies" class="table-of-contents__link toc-highlight">Using programmatic checks to cancel the execution of a task and its dependencies</a></li><li><a href="#limiting-when-tasks-run" class="table-of-contents__link toc-highlight">Limiting when tasks run</a></li></ul></li><li><a href="#variables" class="table-of-contents__link toc-highlight">Variables</a><ul><li><a href="#dynamic-variables" class="table-of-contents__link toc-highlight">Dynamic variables</a></li></ul></li><li><a href="#forwarding-cli-arguments-to-commands" class="table-of-contents__link toc-highlight">Forwarding CLI arguments to commands</a></li><li><a href="#doing-task-cleanup-with-defer" class="table-of-contents__link toc-highlight">Doing task cleanup with <code>defer</code></a></li><li><a href="#gos-template-engine" class="table-of-contents__link toc-highlight">Go&#39;s template engine</a></li><li><a href="#help" class="table-of-contents__link toc-highlight">Help</a></li><li><a href="#display-summary-of-task" class="table-of-contents__link toc-highlight">Display summary of task</a></li><li><a href="#overriding-task-name" class="table-of-contents__link toc-highlight">Overriding task name</a></li><li><a href="#silent-mode" class="table-of-contents__link toc-highlight">Silent mode</a></li><li><a href="#dry-run-mode" class="table-of-contents__link toc-highlight">Dry run mode</a></li><li><a href="#ignore-errors" class="table-of-contents__link toc-highlight">Ignore errors</a></li><li><a href="#output-syntax" class="table-of-contents__link toc-highlight">Output syntax</a></li><li><a href="#interactive-cli-application" class="table-of-contents__link toc-highlight">Interactive CLI application</a></li><li><a href="#short-task-syntax" class="table-of-contents__link toc-highlight">Short task syntax</a></li><li><a href="#watch-tasks" class="table-of-contents__link toc-highlight">Watch tasks</a></li></ul></div></div></div></div></main></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="row footer__links"><div class="col footer__col"><div class="footer__title">Pages</div><ul class="footer__items clean-list"><li class="footer__item"><a class="footer__link-item" href="/installation/">Installation</a></li><li class="footer__item"><a class="footer__link-item" href="/usage/">Usage</a></li><li class="footer__item"><a class="footer__link-item" href="/donate/">Donate</a></li></ul></div><div class="col footer__col"><div class="footer__title">Community</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://github.com/go-task/task" target="_blank" rel="noopener noreferrer" class="footer__link-item">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://twitter.com/taskfiledev" target="_blank" rel="noopener noreferrer" class="footer__link-item">Twitter<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://discord.gg/6TY36E39UK" target="_blank" rel="noopener noreferrer" class="footer__link-item">Discord<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://opencollective.com/task" target="_blank" rel="noopener noreferrer" class="footer__link-item">OpenCollective<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_I5OW"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div></div></div></footer></div>
-<script src="/assets/js/runtime~main.20e1af15.js"></script>
+<script src="/assets/js/runtime~main.c758183e.js"></script>
 <script src="/assets/js/main.88b7d452.js"></script>
 </body>
 </html>
\ No newline at end of file