From f108fdd58060a3aa84682b67e4ba4b73503d105e Mon Sep 17 00:00:00 2001 From: task-bot <106601941+task-bot@users.noreply.github.com> Date: Wed, 10 Jan 2024 22:19:58 -0300 Subject: [PATCH] chore: sync translations (#1440) --- .../2023-09-02-introducing-experiments.md | 6 +- .../current/api_reference.md | 1 + .../current/changelog.md | 524 ++++++++++-------- .../current/community.md | 4 +- .../current/contributing.md | 6 +- .../current/deprecations/template.md | 17 +- .../current/deprecations/version_2_schema.md | 23 +- .../current/experiments/any_variables.md | 206 +++++++ .../current/experiments/experiments.md | 9 +- .../current/experiments/gentle_force.md | 27 +- .../current/experiments/remote_taskfiles.md | 17 +- .../current/experiments/template.md | 37 +- .../current/faq.md | 2 +- .../current/integrations.md | 6 +- .../current/intro.md | 6 +- .../current/styleguide.md | 13 - .../current/taskfile_versions.md | 16 +- .../current/usage.md | 2 +- .../2023-09-02-introducing-experiments.md | 6 +- .../current/api_reference.md | 1 + .../current/changelog.md | 524 ++++++++++-------- .../current/community.md | 4 +- .../current/contributing.md | 6 +- .../current/deprecations/template.md | 17 +- .../current/deprecations/version_2_schema.md | 23 +- .../current/donate.md | 2 +- .../current/experiments/any_variables.md | 206 +++++++ .../current/experiments/experiments.md | 9 +- .../current/experiments/gentle_force.md | 27 +- .../current/experiments/remote_taskfiles.md | 17 +- .../current/experiments/template.md | 37 +- .../current/faq.md | 2 +- .../current/integrations.md | 6 +- .../current/intro.md | 6 +- .../current/styleguide.md | 13 - .../current/taskfile_versions.md | 22 +- .../current/usage.md | 2 +- .../2023-09-02-introducing-experiments.md | 6 +- .../current/api_reference.md | 105 ++-- .../current/changelog.md | 524 ++++++++++-------- .../current/community.md | 4 +- .../current/contributing.md | 6 +- .../current/deprecations/template.md | 17 +- .../current/deprecations/version_2_schema.md | 23 +- .../current/experiments/any_variables.md | 206 +++++++ .../current/experiments/experiments.md | 9 +- .../current/experiments/gentle_force.md | 27 +- .../current/experiments/remote_taskfiles.md | 17 +- .../current/experiments/template.md | 37 +- .../current/faq.md | 2 +- .../current/integrations.md | 6 +- .../current/intro.md | 6 +- .../current/styleguide.md | 13 - .../current/taskfile_versions.md | 16 +- .../current/usage.md | 10 +- .../2023-09-02-introducing-experiments.md | 6 +- .../current/api_reference.md | 1 + .../current/changelog.md | 524 ++++++++++-------- .../current/community.md | 4 +- .../current/contributing.md | 6 +- .../current/deprecations/template.md | 17 +- .../current/deprecations/version_2_schema.md | 23 +- .../current/experiments/any_variables.md | 206 +++++++ .../current/experiments/experiments.md | 9 +- .../current/experiments/gentle_force.md | 27 +- .../current/experiments/remote_taskfiles.md | 17 +- .../current/experiments/template.md | 37 +- .../current/faq.md | 2 +- .../current/integrations.md | 6 +- .../current/intro.md | 6 +- .../current/styleguide.md | 13 - .../current/taskfile_versions.md | 16 +- .../current/usage.md | 2 +- .../2023-09-02-introducing-experiments.md | 6 +- .../current/api_reference.md | 1 + .../current/changelog.md | 524 ++++++++++-------- .../current/community.md | 4 +- .../current/contributing.md | 6 +- .../current/deprecations/template.md | 17 +- .../current/deprecations/version_2_schema.md | 23 +- .../current/experiments/any_variables.md | 206 +++++++ .../current/experiments/experiments.md | 9 +- .../current/experiments/gentle_force.md | 27 +- .../current/experiments/remote_taskfiles.md | 17 +- .../current/experiments/template.md | 37 +- .../current/faq.md | 2 +- .../current/integrations.md | 6 +- .../current/intro.md | 6 +- .../current/styleguide.md | 13 - .../current/taskfile_versions.md | 22 +- .../current/usage.md | 2 +- .../2023-09-02-introducing-experiments.md | 6 +- .../current/api_reference.md | 1 + .../current/changelog.md | 524 ++++++++++-------- .../current/community.md | 4 +- .../current/contributing.md | 6 +- .../current/deprecations/template.md | 17 +- .../current/deprecations/version_2_schema.md | 23 +- .../current/experiments/any_variables.md | 206 +++++++ .../current/experiments/experiments.md | 9 +- .../current/experiments/gentle_force.md | 27 +- .../current/experiments/remote_taskfiles.md | 17 +- .../current/experiments/template.md | 37 +- .../current/faq.md | 2 +- .../current/integrations.md | 6 +- .../current/intro.md | 6 +- .../current/styleguide.md | 13 - .../current/taskfile_versions.md | 16 +- .../current/usage.md | 2 +- .../2023-09-02-introducing-experiments.md | 6 +- .../current/api_reference.md | 1 + .../current/changelog.md | 524 ++++++++++-------- .../current/community.md | 4 +- .../current/contributing.md | 6 +- .../current/deprecations/template.md | 17 +- .../current/deprecations/version_2_schema.md | 23 +- .../current/experiments/any_variables.md | 206 +++++++ .../current/experiments/experiments.md | 9 +- .../current/experiments/gentle_force.md | 27 +- .../current/experiments/remote_taskfiles.md | 17 +- .../current/experiments/template.md | 37 +- .../current/faq.md | 2 +- .../current/integrations.md | 6 +- .../current/intro.md | 6 +- .../current/styleguide.md | 13 - .../current/taskfile_versions.md | 22 +- .../current/usage.md | 2 +- 127 files changed, 4273 insertions(+), 2313 deletions(-) create mode 100644 docs/i18n/es-ES/docusaurus-plugin-content-docs/current/experiments/any_variables.md create mode 100644 docs/i18n/fr-FR/docusaurus-plugin-content-docs/current/experiments/any_variables.md create mode 100644 docs/i18n/ja-JP/docusaurus-plugin-content-docs/current/experiments/any_variables.md create mode 100644 docs/i18n/pt-BR/docusaurus-plugin-content-docs/current/experiments/any_variables.md create mode 100644 docs/i18n/ru-RU/docusaurus-plugin-content-docs/current/experiments/any_variables.md create mode 100644 docs/i18n/tr-TR/docusaurus-plugin-content-docs/current/experiments/any_variables.md create mode 100644 docs/i18n/zh-Hans/docusaurus-plugin-content-docs/current/experiments/any_variables.md diff --git a/docs/i18n/es-ES/docusaurus-plugin-content-blog/2023-09-02-introducing-experiments.md b/docs/i18n/es-ES/docusaurus-plugin-content-blog/2023-09-02-introducing-experiments.md index 3c358a4e..42d99117 100644 --- a/docs/i18n/es-ES/docusaurus-plugin-content-blog/2023-09-02-introducing-experiments.md +++ b/docs/i18n/es-ES/docusaurus-plugin-content-blog/2023-09-02-introducing-experiments.md @@ -36,7 +36,7 @@ None of this would have been possible without the [150 or so (and growing) contr [![Star History Chart](https://api.star-history.com/svg?repos=go-task/task&type=Date)](https://star-history.com/#go-task/task&Date) -## What's next? :thinking_face: +## What's next? :thinking: It's extremely motivating to see so many people using and loving Task. However, in this time we've also seen an increase in the number of issues and feature requests. In particular, issues that require some kind of breaking change to Task. This isn't a bad thing, but as we grow we need to be more responsible about how we address these changes in a way that ensures stability and compatibility for existing users and their Taskfiles. @@ -46,7 +46,7 @@ At this point you're probably thinking something like: And you'd be right... sort of. In theory, this sounds great, but the reality is that we don't have the time to commit to a major overhaul of Task in one big bang release. This would require a colossal amount of time and coordination and with full time jobs and personal lives to tend to, this is a difficult commitment to make. Smaller, more frequent major releases are also a significant inconvenience for users as they have to constantly keep up-to-date with our breaking changes. Fortunately, there is a better way. -## What's going to change? :face_with_monocle: +## What's going to change? :monocle: Going forwards, breaking changes will be allowed into _minor_ versions of Task as "experimental features". To access these features users will need opt-in by enabling feature flags. This will allow us to release new features slowly and gather feedback from the community before making them the default behavior in a future major release. @@ -62,7 +62,7 @@ When v4 is released, we will continue to support v3 for a period of time (bug fi ## v4 When? :eyes: -:shrug: When it's ready. +:man_shrugging: When it's ready. In all seriousness, we don't have a timeline for this yet. We'll be working on the most serious deficiencies of the v3 API first and regularly evaluating the state of the project. When we feel its in a good, stable place and we have a clear upgrade path for users and a number of stable experiments, we'll start to think about v4. diff --git a/docs/i18n/es-ES/docusaurus-plugin-content-docs/current/api_reference.md b/docs/i18n/es-ES/docusaurus-plugin-content-docs/current/api_reference.md index cd1ea05c..ef34badb 100644 --- a/docs/i18n/es-ES/docusaurus-plugin-content-docs/current/api_reference.md +++ b/docs/i18n/es-ES/docusaurus-plugin-content-docs/current/api_reference.md @@ -120,6 +120,7 @@ There are some special variables that is available on the templating system: | Var | Description | | ------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------- | | `CLI_ARGS` | Contain all extra arguments passed after `--` when calling Task through the CLI. | +| `CLI_FORCE` | A boolean containing whether the `--force` or `--force-all` flags were set. | | `TASK` | The name of the current task. | | `ROOT_DIR` | The absolute path of the root Taskfile. | | `TASKFILE_DIR` | The absolute path of the included Taskfile. | diff --git a/docs/i18n/es-ES/docusaurus-plugin-content-docs/current/changelog.md b/docs/i18n/es-ES/docusaurus-plugin-content-docs/current/changelog.md index a5c20b20..628d35e1 100644 --- a/docs/i18n/es-ES/docusaurus-plugin-content-docs/current/changelog.md +++ b/docs/i18n/es-ES/docusaurus-plugin-content-docs/current/changelog.md @@ -5,435 +5,469 @@ sidebar_position: 14 # Changelog +## v3.33.1 - 2023-12-21 + +- Added support for looping over map variables with the [Any Variables experiment](https://taskfile.dev/experiments/any_variables) enabled (#1435, #1437 by @pd93). +- Fixed a bug where dynamic variables were causing errors during fast compilation (#1435, #1437 by @pd93) + +## v3.33.0 - 2023-12-20 + +- Added [Any Variables experiment](https://taskfile.dev/experiments/any-variables) (#1415, #1421 by @pd93). +- Updated Docusaurus to v3 (#1432 by @pd93). +- Added `aliases` to `--json` flag output (#1430, #1431 by @pd93). +- Added new `CLI_FORCE` special variable containing whether the `--force` or `--force-all` flags were set (#1412, #1434 by @pd93). + ## v3.32.0 - 2023-11-29 -- Added ability to exclude some files from `sources:` by using `exclude:` ([#225](https://github.com/go-task/task/issues/225), [#1324](https://github.com/go-task/task/issues/1324) by [@pd93](https://github.com/pd93) and [@andreynering](https://github.com/andreynering)). -- The [Remote Taskfiles experiment](https://taskfile.dev/experiments/remote-taskfiles) now prefers remote files over cached ones by default ([#1317](https://github.com/go-task/task/issues/1317), [#1345](https://github.com/go-task/task/issues/1345) by [@pd93](https://github.com/pd93)). -- Added `--timeout` flag to the [Remote Taskfiles experiment](https://taskfile.dev/experiments/remote-taskfiles) ([#1317](https://github.com/go-task/task/issues/1317), [#1345](https://github.com/go-task/task/issues/1345) by [@pd93](https://github.com/pd93)). -- Fix bug where dynamic `vars:` and `env:` were being executed when they should actually be skipped by `platforms:` ([#1273](https://github.com/go-task/task/issues/1273), [#1377](https://github.com/go-task/task/issues/1377) by [@andreynering](https://github.com/andreynering)). -- Fix `schema.json` to make `silent` valid in `cmds` that use `for` ([#1385](https://github.com/go-task/task/issues/1385), [#1386](https://github.com/go-task/task/issues/1386) by [@iainvm](https://github.com/iainvm)). -- Add new `--no-status` flag to skip expensive status checks when running `task --list --json` ([#1348](https://github.com/go-task/task/issues/1348), [#1368](https://github.com/go-task/task/issues/1368) by [@amancevice](https://github.com/amancevice)). +- Added ability to exclude some files from `sources:` by using `exclude:` (#225, + + # 1324 by @pd93 and @andreynering). +- The [Remote Taskfiles experiment](https://taskfile.dev/experiments/remote-taskfiles) now prefers remote files over cached ones by default (#1317, #1345 by @pd93). +- Added `--timeout` flag to the [Remote Taskfiles experiment](https://taskfile.dev/experiments/remote-taskfiles) (#1317, #1345 by @pd93). +- Fix bug where dynamic `vars:` and `env:` were being executed when they should actually be skipped by `platforms:` (#1273, #1377 by @andreynering). +- Fix `schema.json` to make `silent` valid in `cmds` that use `for` (#1385, + + # 1386 by @iainvm). +- Add new `--no-status` flag to skip expensive status checks when running `task --list --json` (#1348, #1368 by @amancevice). ## v3.31.0 - 2023-10-07 -- Enabled the `--yes` flag for the [Remote Taskfiles experiment](https://taskfile.dev/experiments/remote-taskfiles) ([#1317](https://github.com/go-task/task/issues/1317), [#1344](https://github.com/go-task/task/issues/1344) by [@pd93](https://github.com/pd93)). -- Add ability to set `watch: true` in a task to automatically run it in watch mode ([#231](https://github.com/go-task/task/issues/231), [#1361](https://github.com/go-task/task/issues/1361) by [@andreynering](https://github.com/andreynering)). -- Fixed a bug on the watch mode where paths that contained `.git` (like `.github`), for example, were also being ignored ([#1356](https://github.com/go-task/task/issues/1356) by [@butuzov](https://github.com/butuzov)). -- Fixed a nil pointer error when running a Taskfile with no contents ([#1341](https://github.com/go-task/task/issues/1341), [#1342](https://github.com/go-task/task/issues/1342) by [@pd93](https://github.com/pd93)). -- Added a new [exit code](https://taskfile.dev/api/#exit-codes) (107) for when a Taskfile does not contain a schema version ([#1342](https://github.com/go-task/task/issues/1342) by [@pd93](https://github.com/pd93)). -- Increased limit of maximum task calls from 100 to 1000 for now, as some people have been reaching this limit organically now that we have loops. This check exists to detect recursive calls, but will be removed in favor of a better algorithm soon ([#1321](https://github.com/go-task/task/issues/1321), [#1332](https://github.com/go-task/task/issues/1332)). -- Fixed templating on descriptions on `task --list` ([#1343](https://github.com/go-task/task/issues/1343) by [@blackjid](https://github.com/blackjid)). -- Fixed a bug where precondition errors were incorrectly being printed when task execution was aborted ([#1337](https://github.com/go-task/task/issues/1337), [#1338](https://github.com/go-task/task/issues/1338) by [@sylv](https://github.com/sylv)-io). +- Enabled the `--yes` flag for the [Remote Taskfiles experiment](https://taskfile.dev/experiments/remote-taskfiles) (#1317, #1344 by @pd93). +- Add ability to set `watch: true` in a task to automatically run it in watch mode (#231, #1361 by @andreynering). +- Fixed a bug on the watch mode where paths that contained `.git` (like `.github`), for example, were also being ignored (#1356 by @butuzov). +- Fixed a nil pointer error when running a Taskfile with no contents (#1341, + + # 1342 by @pd93). +- Added a new [exit code](https://taskfile.dev/api/#exit-codes) (107) for when a Taskfile does not contain a schema version (#1342 by @pd93). +- Increased limit of maximum task calls from 100 to 1000 for now, as some people have been reaching this limit organically now that we have loops. This check exists to detect recursive calls, but will be removed in favor of a better algorithm soon (#1321, #1332). +- Fixed templating on descriptions on `task --list` (#1343 by @blackjid). +- Fixed a bug where precondition errors were incorrectly being printed when task execution was aborted (#1337, #1338 by @sylv-io). ## v3.30.1 - 2023-09-14 -- Fixed a regression where some special variables weren't being set correctly ([#1331](https://github.com/go-task/task/issues/1331), [#1334](https://github.com/go-task/task/issues/1334) by [@pd93](https://github.com/pd93)). +- Fixed a regression where some special variables weren't being set correctly (#1331, #1334 by @pd93). ## v3.30.0 - 2023-09-13 -- Prep work for Remote Taskfiles ([#1316](https://github.com/go-task/task/issues/1316) by [@pd93](https://github.com/pd93)). -- Added the [Remote Taskfiles experiment](https://taskfile.dev/experiments/remote-taskfiles) as a draft ([#1152](https://github.com/go-task/task/issues/1152), [#1317](https://github.com/go-task/task/issues/1317) by [@pd93](https://github.com/pd93)). -- Improve performance of content checksuming on `sources:` by replacing md5 with [XXH3](https://xxhash.com/) which is much faster. This is a soft breaking change because checksums will be invalidated when upgrading to this release ([#1325](https://github.com/go-task/task/issues/1325) by [@ReillyBrogan](https://github.com/ReillyBrogan)). +- Prep work for Remote Taskfiles (#1316 by @pd93). +- Added the [Remote Taskfiles experiment](https://taskfile.dev/experiments/remote-taskfiles) as a draft (#1152, #1317 by @pd93). +- Improve performance of content checksuming on `sources:` by replacing md5 with [XXH3](https://xxhash.com/) which is much faster. This is a soft breaking change because checksums will be invalidated when upgrading to this release (#1325 by @ReillyBrogan). ## v3.29.1 - 2023-08-26 -- Update to Go 1.21 (bump minimum version to 1.20) ([#1302](https://github.com/go-task/task/issues/1302) by [@pd93](https://github.com/pd93)) -- Fix a missing a line break on log when using `--watch` mode ([#1285](https://github.com/go-task/task/issues/1285), [#1297](https://github.com/go-task/task/issues/1297) by [@FilipSolich](https://github.com/FilipSolich)). -- Fix `defer` on JSON Schema ([#1288](https://github.com/go-task/task/issues/1288) by [@calvinmclean](https://github.com/calvinmclean) and [@andreynering](https://github.com/andreynering)). -- Fix bug in usage of special variables like `{{.USER_WORKING_DIR}}` in combination with `includes` ([#1046](https://github.com/go-task/task/issues/1046), [#1205](https://github.com/go-task/task/issues/1205), [#1250](https://github.com/go-task/task/issues/1250), [#1293](https://github.com/go-task/task/issues/1293), [#1312](https://github.com/go-task/task/issues/1312), [#1274](https://github.com/go-task/task/issues/1274) by [@andarto](https://github.com/andarto), [#1309](https://github.com/go-task/task/issues/1309) by [@andreynering](https://github.com/andreynering)). -- Fix bug on `--status` flag. Running this flag should not have side-effects: it should not update the checksum on `.task`, only report its status ([#1305](https://github.com/go-task/task/issues/1305), [#1307](https://github.com/go-task/task/issues/1307) by [@visciang](https://github.com/visciang), [#1313](https://github.com/go-task/task/issues/1313) by [@andreynering](https://github.com/andreynering)). +- Update to Go 1.21 (bump minimum version to 1.20) (#1302 by @pd93) +- Fix a missing a line break on log when using `--watch` mode (#1285, #1297 by @FilipSolich). +- Fix `defer` on JSON Schema (#1288 by @calvinmclean and @andreynering). +- Fix bug in usage of special variables like `{{.USER_WORKING_DIR}}` in combination with `includes` (#1046, #1205, #1250, #1293, #1312, #1274 by @andarto, #1309 by @andreynering). +- Fix bug on `--status` flag. Running this flag should not have side-effects: it should not update the checksum on `.task`, only report its status (#1305, + + # 1307 by @visciang, #1313 by @andreynering). ## v3.28.0 - 2023-07-24 -- Added the ability to [loop over commands and tasks](https://taskfile.dev/usage/#looping-over-values) using `for` ([#82](https://github.com/go-task/task/issues/82), [#1220](https://github.com/go-task/task/issues/1220) by [@pd93](https://github.com/pd93)). -- Fixed variable propagation in multi-level includes ([#778](https://github.com/go-task/task/issues/778), [#996](https://github.com/go-task/task/issues/996), [#1256](https://github.com/go-task/task/issues/1256) by [@hudclark](https://github.com/hudclark)). -- Fixed a bug where the `--exit-code` code flag was not returning the correct exit code when calling commands indirectly ([#1266](https://github.com/go-task/task/issues/1266), [#1270](https://github.com/go-task/task/issues/1270) by [@pd93](https://github.com/pd93)). -- Fixed a `nil` panic when a dependency was commented out or left empty ([#1263](https://github.com/go-task/task/issues/1263) by [@neomantra](https://github.com/neomantra)). +- Added the ability to [loop over commands and tasks](https://taskfile.dev/usage/#looping-over-values) using `for` (#82, #1220 by @pd93). +- Fixed variable propagation in multi-level includes (#778, #996, #1256 by @hudclark). +- Fixed a bug where the `--exit-code` code flag was not returning the correct exit code when calling commands indirectly (#1266, #1270 by @pd93). +- Fixed a `nil` panic when a dependency was commented out or left empty (#1263 by @neomantra). ## v3.27.1 - 2023-06-30 -- Fix panic when a `.env` directory (not file) is present on current directory ([#1244](https://github.com/go-task/task/issues/1244), [#1245](https://github.com/go-task/task/issues/1245) by [@pd93](https://github.com/pd93)). +- Fix panic when a `.env` directory (not file) is present on current directory (#1244, #1245 by @pd93). ## v3.27.0 - 2023-06-29 -- Allow Taskfiles starting with lowercase characters ([#947](https://github.com/go-task/task/issues/947), [#1221](https://github.com/go-task/task/issues/1221) by [@pd93](https://github.com/pd93)). +- Allow Taskfiles starting with lowercase characters (#947, #1221 by @pd93). - e.g. `taskfile.yml`, `taskfile.yaml`, `taskfile.dist.yml` & `taskfile.dist.yaml` -- Bug fixes were made to the [npm installation method](https://taskfile.dev/installation/#npm). ([#1190](https://github.com/go-task/task/issues/1190), by [@sounisi5011](https://github.com/sounisi5011)). -- Added the [gentle force experiment](https://taskfile.dev/experiments/gentle-force) as a draft ([#1200](https://github.com/go-task/task/issues/1200), [#1216](https://github.com/go-task/task/issues/1216) by [@pd93](https://github.com/pd93)). -- Added an `--experiments` flag to allow you to see which experiments are enabled ([#1242](https://github.com/go-task/task/issues/1242) by [@pd93](https://github.com/pd93)). -- Added ability to specify which variables are required in a task ([#1203](https://github.com/go-task/task/issues/1203), [#1204](https://github.com/go-task/task/issues/1204) by [@benc](https://github.com/benc)-uk). +- Bug fixes were made to the [npm installation method](https://taskfile.dev/installation/#npm). (#1190, by @sounisi5011). +- Added the [gentle force experiment](https://taskfile.dev/experiments/gentle-force) as a draft (#1200, #1216 by @pd93). +- Added an `--experiments` flag to allow you to see which experiments are enabled (#1242 by @pd93). +- Added ability to specify which variables are required in a task (#1203, #1204 by @benc-uk). ## v3.26.0 - 2023-06-10 -- Only rewrite checksum files in `.task` if the checksum has changed ([#1185](https://github.com/go-task/task/issues/1185), [#1194](https://github.com/go-task/task/issues/1194) by [@deviantintegral](https://github.com/deviantintegral)). -- Added [experiments documentation](https://taskfile.dev/experiments) to the website ([#1198](https://github.com/go-task/task/issues/1198) by [@pd93](https://github.com/pd93)). -- Deprecated `version: 2` schema. This will be removed in the next major release ([#1197](https://github.com/go-task/task/issues/1197), [#1198](https://github.com/go-task/task/issues/1198), [#1199](https://github.com/go-task/task/issues/1199) by [@pd93](https://github.com/pd93)). -- Added a new `prompt:` prop to set a warning prompt to be shown before running a potential dangurous task ([#100](https://github.com/go-task/task/issues/100), [#1163](https://github.com/go-task/task/issues/1163) by [@MaxCheetham](https://github.com/MaxCheetham), [Documentation](https://taskfile.dev/usage/#warning-prompts)). -- Added support for single command task syntax. With this change, it's now possible to declare just `cmd:` in a task, avoiding the more complex `cmds: []` when you have only a single command for that task ([#1130](https://github.com/go-task/task/issues/1130), [#1131](https://github.com/go-task/task/issues/1131) by [@timdp](https://github.com/timdp)). +- Only rewrite checksum files in `.task` if the checksum has changed (#1185, + + # 1194 by @deviantintegral). +- Added [experiments documentation](https://taskfile.dev/experiments) to the website (#1198 by @pd93). +- Deprecated `version: 2` schema. This will be removed in the next major release (#1197, #1198, #1199 by @pd93). +- Added a new `prompt:` prop to set a warning prompt to be shown before running a potential dangurous task (#100, #1163 by @MaxCheetham, [Documentation](https://taskfile.dev/usage/#warning-prompts)). +- Added support for single command task syntax. With this change, it's now possible to declare just `cmd:` in a task, avoiding the more complex `cmds: []` when you have only a single command for that task (#1130, #1131 by @timdp). ## v3.25.0 - 2023-05-22 -- Support `silent:` when calling another tasks ([#680](https://github.com/go-task/task/issues/680), [#1142](https://github.com/go-task/task/issues/1142) by [@danquah](https://github.com/danquah)). -- Improve PowerShell completion script ([#1168](https://github.com/go-task/task/issues/1168) by [@trim21](https://github.com/trim21)). -- Add more languages to the website menu and show translation progress percentage ([#1173](https://github.com/go-task/task/issues/1173) by [@misitebao](https://github.com/misitebao)). -- Starting on this release, official binaries for FreeBSD will be available to download ([#1068](https://github.com/go-task/task/issues/1068) by [@andreynering](https://github.com/andreynering)). -- Fix some errors being unintendedly supressed ([#1134](https://github.com/go-task/task/issues/1134) by [@clintmod](https://github.com/clintmod)). -- Fix a nil pointer error when `version` is omitted from a Taskfile ([#1148](https://github.com/go-task/task/issues/1148), [#1149](https://github.com/go-task/task/issues/1149) by [@pd93](https://github.com/pd93)). -- Fix duplicate error message when a task does not exists ([#1141](https://github.com/go-task/task/issues/1141), [#1144](https://github.com/go-task/task/issues/1144) by [@pd93](https://github.com/pd93)). +- Support `silent:` when calling another tasks (#680, #1142 by @danquah). +- Improve PowerShell completion script (#1168 by @trim21). +- Add more languages to the website menu and show translation progress percentage (#1173 by @misitebao). +- Starting on this release, official binaries for FreeBSD will be available to download (#1068 by @andreynering). +- Fix some errors being unintendedly supressed (#1134 by @clintmod). +- Fix a nil pointer error when `version` is omitted from a Taskfile (#1148, + + # 1149 by @pd93). +- Fix duplicate error message when a task does not exists (#1141, #1144 by @pd93). ## v3.24.0 - 2023-04-15 -- Fix Fish shell completion for tasks with aliases ([#1113](https://github.com/go-task/task/issues/1113) by [@patricksjackson](https://github.com/patricksjackson)). -- The default branch was renamed from `master` to `main` ([#1049](https://github.com/go-task/task/issues/1049), [#1048](https://github.com/go-task/task/issues/1048) by [@pd93](https://github.com/pd93)). -- Fix bug where "up-to-date" logs were not being omitted for silent tasks ([#546](https://github.com/go-task/task/issues/546), [#1107](https://github.com/go-task/task/issues/1107) by [@danquah](https://github.com/danquah)). -- Add `.hg` (Mercurial) to the list of ignored directories when using `--watch` ([#1098](https://github.com/go-task/task/issues/1098) by [@misery](https://github.com/misery)). -- More improvements to the release tool ([#1096](https://github.com/go-task/task/issues/1096) by [@pd93](https://github.com/pd93)). -- Enforce [gofumpt](https://github.com/mvdan/gofumpt) linter ([#1099](https://github.com/go-task/task/issues/1099) by [@pd93](https://github.com/pd93)) -- Add `--sort` flag for use with `--list` and `--list-all` ([#946](https://github.com/go-task/task/issues/946), [#1105](https://github.com/go-task/task/issues/1105) by [@pd93](https://github.com/pd93)). -- Task now has [custom exit codes](https://taskfile.dev/api/#exit-codes) depending on the error ([#1114](https://github.com/go-task/task/issues/1114) by [@pd93](https://github.com/pd93)). +- Fix Fish shell completion for tasks with aliases (#1113 by @patricksjackson). +- The default branch was renamed from `master` to `main` (#1049, #1048 by @pd93). +- Fix bug where "up-to-date" logs were not being omitted for silent tasks (#546, + + # 1107 by @danquah). +- Add `.hg` (Mercurial) to the list of ignored directories when using `--watch` (#1098 by @misery). +- More improvements to the release tool (#1096 by @pd93). +- Enforce [gofumpt](https://github.com/mvdan/gofumpt) linter (#1099 by @pd93) +- Add `--sort` flag for use with `--list` and `--list-all` (#946, #1105 by @pd93). +- Task now has [custom exit codes](https://taskfile.dev/api/#exit-codes) depending on the error (#1114 by @pd93). ## v3.23.0 - 2023-03-26 -Task now has an [official extension for Visual Studio Code](https://marketplace.visualstudio.com/items?itemName=task.vscode-task) contributed by [@pd93](https://github.com/pd93)! :tada: The extension is maintained in a [new repository](https://github.com/go-task/vscode-task) under the `go-task` organization. We're looking to gather feedback from the community so please give it a go and let us know what you think via a [discussion](https://github.com/go-task/vscode-task/discussions), [issue](https://github.com/go-task/vscode-task/issues) or on our [Discord](https://discord.gg/6TY36E39UK)! +Task now has an [official extension for Visual Studio Code](https://marketplace.visualstudio.com/items?itemName=task.vscode-task) contributed by @pd93! :tada: The extension is maintained in a [new repository](https://github.com/go-task/vscode-task) under the `go-task` organization. We're looking to gather feedback from the community so please give it a go and let us know what you think via a [discussion](https://github.com/go-task/vscode-task/discussions), [issue](https://github.com/go-task/vscode-task/issues) or on our [Discord](https://discord.gg/6TY36E39UK)! > **NOTE:** The extension _requires_ v3.23.0 to be installed in order to work. -- The website was integrated with [Crowdin](https://crowdin.com/project/taskfile) to allow the community to contribute with translations! [Chinese](https://taskfile.dev/zh-Hans/) is the first language available ([#1057](https://github.com/go-task/task/issues/1057), [#1058](https://github.com/go-task/task/issues/1058) by [@misitebao](https://github.com/misitebao)). -- Added task location data to the `--json` flag output ([#1056](https://github.com/go-task/task/issues/1056) by [@pd93](https://github.com/pd93)) -- Change the name of the file generated by `task --init` from `Taskfile.yaml` to `Taskfile.yml` ([#1062](https://github.com/go-task/task/issues/1062) by [@misitebao](https://github.com/misitebao)). -- Added new `splitArgs` template function (`{{splitArgs "foo bar 'foo bar baz'"}}`) to ensure string is split as arguments ([#1040](https://github.com/go-task/task/issues/1040), [#1059](https://github.com/go-task/task/issues/1059) by [@dhanusaputra](https://github.com/dhanusaputra)). -- Fix the value of `{{.CHECKSUM}}` variable in status ([#1076](https://github.com/go-task/task/issues/1076), [#1080](https://github.com/go-task/task/issues/1080) by [@pd93](https://github.com/pd93)). -- Fixed deep copy implementation ([#1072](https://github.com/go-task/task/issues/1072) by [@pd93](https://github.com/pd93)) -- Created a tool to assist with releases ([#1086](https://github.com/go-task/task/issues/1086) by [@pd93](https://github.com/pd93)). +- The website was integrated with [Crowdin](https://crowdin.com/project/taskfile) to allow the community to contribute with translations! [Chinese](https://taskfile.dev/zh-Hans/) is the first language available (#1057, #1058 by @misitebao). +- Added task location data to the `--json` flag output (#1056 by @pd93) +- Change the name of the file generated by `task --init` from `Taskfile.yaml` to `Taskfile.yml` (#1062 by @misitebao). +- Added new `splitArgs` template function (`{{splitArgs "foo bar 'foo bar baz'"}}`) to ensure string is split as arguments (#1040, #1059 by @dhanusaputra). +- Fix the value of `{{.CHECKSUM}}` variable in status (#1076, #1080 by @pd93). +- Fixed deep copy implementation (#1072 by @pd93) +- Created a tool to assist with releases (#1086 by @pd93). ## v3.22.0 - 2023-03-10 -- Add a brand new `--global` (`-g`) flag that will run a Taskfile from your `$HOME` directory. This is useful to have automation that you can run from anywhere in your system! ([Documentation](https://taskfile.dev/usage/#running-a-global-taskfile), [#1029](https://github.com/go-task/task/issues/1029) by [@andreynering](https://github.com/andreynering)). -- Add ability to set `error_only: true` on the `group` output mode. This will instruct Task to only print a command output if it returned with a non-zero exit code ([#664](https://github.com/go-task/task/issues/664), [#1022](https://github.com/go-task/task/issues/1022) by [@jaedle](https://github.com/jaedle)). -- Fixed bug where `.task/checksum` file was sometimes not being created when task also declares a `status:` ([#840](https://github.com/go-task/task/issues/840), [#1035](https://github.com/go-task/task/issues/1035) by [@harelwa](https://github.com/harelwa), [#1037](https://github.com/go-task/task/issues/1037) by [@pd93](https://github.com/pd93)). -- Refactored and decoupled fingerprinting from the main Task executor ([#1039](https://github.com/go-task/task/issues/1039) by [@pd93](https://github.com/pd93)). -- Fixed deadlock issue when using `run: once` ([#715](https://github.com/go-task/task/issues/715), [#1025](https://github.com/go-task/task/issues/1025) by [@theunrepentantgeek](https://github.com/theunrepentantgeek)). +- Add a brand new `--global` (`-g`) flag that will run a Taskfile from your `$HOME` directory. This is useful to have automation that you can run from anywhere in your system! ([Documentation](https://taskfile.dev/usage/#running-a-global-taskfile), #1029 by @andreynering). +- Add ability to set `error_only: true` on the `group` output mode. This will instruct Task to only print a command output if it returned with a non-zero exit code (#664, #1022 by @jaedle). +- Fixed bug where `.task/checksum` file was sometimes not being created when task also declares a `status:` (#840, #1035 by @harelwa, #1037 by @pd93). +- Refactored and decoupled fingerprinting from the main Task executor (#1039 by @pd93). +- Fixed deadlock issue when using `run: once` (#715, #1025 by @theunrepentantgeek). ## v3.21.0 - 2023-02-22 -- Added new `TASK_VERSION` special variable ([#990](https://github.com/go-task/task/issues/990), [#1014](https://github.com/go-task/task/issues/1014) by [@ja1code](https://github.com/ja1code)). -- Fixed a bug where tasks were sometimes incorrectly marked as internal ([#1007](https://github.com/go-task/task/issues/1007) by [@pd93](https://github.com/pd93)). -- Update to Go 1.20 (bump minimum version to 1.19) ([#1010](https://github.com/go-task/task/issues/1010) by [@pd93](https://github.com/pd93)) -- Added environment variable `FORCE_COLOR` support to force color output. Usefull for environments without TTY ([#1003](https://github.com/go-task/task/issues/1003) by [@automation](https://github.com/automation)-stack) +- Added new `TASK_VERSION` special variable (#990, #1014 by @ja1code). +- Fixed a bug where tasks were sometimes incorrectly marked as internal (#1007 by @pd93). +- Update to Go 1.20 (bump minimum version to 1.19) (#1010 by @pd93) +- Added environment variable `FORCE_COLOR` support to force color output. Usefull for environments without TTY (#1003 by @automation-stack) ## v3.20.0 - 2023-01-14 -- Improve behavior and performance of status checking when using the `timestamp` mode ([#976](https://github.com/go-task/task/issues/976), [#977](https://github.com/go-task/task/issues/977) by [@aminya](https://github.com/aminya)). -- Performance optimizations were made for large Taskfiles ([#982](https://github.com/go-task/task/issues/982) by [@pd93](https://github.com/pd93)). -- Add ability to configure options for the [`set`](https://www.gnu.org/software/bash/manual/html_node/The-Set-Builtin.html) and [`shopt`](https://www.gnu.org/software/bash/manual/html_node/The-Shopt-Builtin.html) builtins ([#908](https://github.com/go-task/task/issues/908), [#929](https://github.com/go-task/task/issues/929) by [@pd93](https://github.com/pd93), [Documentation](http://taskfile.dev/usage/#set-and-shopt)). -- Add new `platforms:` attribute to `task` and `cmd`, so it's now possible to choose in which platforms that given task or command will be run on. Possible values are operating system (GOOS), architecture (GOARCH) or a combination of the two. Example: `platforms: [linux]`, `platforms: [amd64]` or `platforms: [linux/amd64]`. Other platforms will be skipped ([#978](https://github.com/go-task/task/issues/978), [#980](https://github.com/go-task/task/issues/980) by [@leaanthony](https://github.com/leaanthony)). +- Improve behavior and performance of status checking when using the `timestamp` mode (#976, #977 by @aminya). +- Performance optimizations were made for large Taskfiles (#982 by @pd93). +- Add ability to configure options for the [`set`](https://www.gnu.org/software/bash/manual/html_node/The-Set-Builtin.html) and [`shopt`](https://www.gnu.org/software/bash/manual/html_node/The-Shopt-Builtin.html) builtins (#908, #929 by @pd93, [Documentation](http://taskfile.dev/usage/#set-and-shopt)). +- Add new `platforms:` attribute to `task` and `cmd`, so it's now possible to choose in which platforms that given task or command will be run on. Possible values are operating system (GOOS), architecture (GOARCH) or a combination of the two. Example: `platforms: [linux]`, `platforms: [amd64]` or `platforms: [linux/amd64]`. Other platforms will be skipped (#978, #980 by @leaanthony). ## v3.19.1 - 2022-12-31 -- Small bug fix: closing `Taskfile.yml` once we're done reading it ([#963](https://github.com/go-task/task/issues/963), [#964](https://github.com/go-task/task/issues/964) by [@HeCorr](https://github.com/HeCorr)). -- Fixes a bug in v2 that caused a panic when using a `Taskfile_{{OS}}.yml` file ([#961](https://github.com/go-task/task/issues/961), [#971](https://github.com/go-task/task/issues/971) by [@pd93](https://github.com/pd93)). -- Fixed a bug where watch intervals set in the Taskfile were not being respected ([#969](https://github.com/go-task/task/issues/969), [#970](https://github.com/go-task/task/issues/970) by [@pd93](https://github.com/pd93)) -- Add `--json` flag (alias `-j`) with the intent to improve support for code editors and add room to other possible integrations. This is basic for now, but we plan to add more info in the near future ([#936](https://github.com/go-task/task/issues/936) by [@davidalpert](https://github.com/davidalpert), [#764](https://github.com/go-task/task/issues/764)). +- Small bug fix: closing `Taskfile.yml` once we're done reading it (#963, #964 by @HeCorr). +- Fixes a bug in v2 that caused a panic when using a `Taskfile_{{OS}}.yml` file (#961, #971 by @pd93). +- Fixed a bug where watch intervals set in the Taskfile were not being respected (#969, #970 by @pd93) +- Add `--json` flag (alias `-j`) with the intent to improve support for code editors and add room to other possible integrations. This is basic for now, but we plan to add more info in the near future (#936 by @davidalpert, #764). ## v3.19.0 - 2022-12-05 -- Installation via npm now supports [pnpm](https://pnpm.io/) as well ([go-task/go-npm\[#2\](https://github.com/go-task/task/issues/2)](https://github.com/go-task/go-npm/issues/2), [go-task/go-npm\[#3\](https://github.com/go-task/task/issues/3)](https://github.com/go-task/go-npm/pull/3)). -- It's now possible to run Taskfiles from subdirectories! A new `USER_WORKING_DIR` special variable was added to add even more flexibility for monorepos ([#289](https://github.com/go-task/task/issues/289), [#920](https://github.com/go-task/task/issues/920)). -- Add task-level `dotenv` support ([#389](https://github.com/go-task/task/issues/389), [#904](https://github.com/go-task/task/issues/904)). -- It's now possible to use global level variables on `includes` ([#942](https://github.com/go-task/task/issues/942), [#943](https://github.com/go-task/task/issues/943)). -- The website got a brand new [translation to Chinese](https://task-zh.readthedocs.io/zh_CN/latest/) by [\[@DeronW\](https://github.com/DeronW)](https://github.com/DeronW). Thanks! +- Installation via npm now supports [pnpm](https://pnpm.io/) as well ([go-task/go-npm#2](https://github.com/go-task/go-npm/issues/2), [go-task/go-npm#3](https://github.com/go-task/go-npm/pull/3)). +- It's now possible to run Taskfiles from subdirectories! A new `USER_WORKING_DIR` special variable was added to add even more flexibility for monorepos (#289, #920). +- Add task-level `dotenv` support (#389, #904). +- It's now possible to use global level variables on `includes` (#942, #943). +- The website got a brand new [translation to Chinese](https://task-zh.readthedocs.io/zh_CN/latest/) by [@DeronW](https://github.com/DeronW). Thanks! ## v3.18.0 - 2022-11-12 -- Show aliases on `task --list --silent` (`task --ls`). This means that aliases will be completed by the completion scripts ([#919](https://github.com/go-task/task/issues/919)). -- Tasks in the root Taskfile will now be displayed first in `--list`/`--list-all` output ([#806](https://github.com/go-task/task/issues/806), [#890](https://github.com/go-task/task/issues/890)). -- It's now possible to call a `default` task in an included Taskfile by using just the namespace. For example: `docs:default` is now automatically aliased to `docs` ([#661](https://github.com/go-task/task/issues/661), [#815](https://github.com/go-task/task/issues/815)). +- Show aliases on `task --list --silent` (`task --ls`). This means that aliases will be completed by the completion scripts (#919). +- Tasks in the root Taskfile will now be displayed first in `--list`/`--list-all` output (#806, #890). +- It's now possible to call a `default` task in an included Taskfile by using just the namespace. For example: `docs:default` is now automatically aliased to `docs` (#661, #815). ## v3.17.0 - 2022-10-14 -- Add a "Did you mean ...?" suggestion when a task does not exits another one with a similar name is found ([#867](https://github.com/go-task/task/issues/867), [#880](https://github.com/go-task/task/issues/880)). -- Now YAML parse errors will print which Taskfile failed to parse ([#885](https://github.com/go-task/task/issues/885), [#887](https://github.com/go-task/task/issues/887)). -- Add ability to set `aliases` for tasks and namespaces ([#268](https://github.com/go-task/task/issues/268), [#340](https://github.com/go-task/task/issues/340), [#879](https://github.com/go-task/task/issues/879)). -- Improvements to Fish shell completion ([#897](https://github.com/go-task/task/issues/897)). -- Added ability to set a different watch interval by setting `interval: '500ms'` or using the `--interval=500ms` flag ([#813](https://github.com/go-task/task/issues/813), [#865](https://github.com/go-task/task/issues/865)). -- Add colored output to `--list`, `--list-all` and `--summary` flags ([#845](https://github.com/go-task/task/issues/845), [#874](https://github.com/go-task/task/issues/874)). -- Fix unexpected behavior where `label:` was being shown instead of the task name on `--list` ([#603](https://github.com/go-task/task/issues/603), [#877](https://github.com/go-task/task/issues/877)). +- Add a "Did you mean ...?" suggestion when a task does not exits another one with a similar name is found (#867, #880). +- Now YAML parse errors will print which Taskfile failed to parse (#885, #887). +- Add ability to set `aliases` for tasks and namespaces (#268, #340, #879). +- Improvements to Fish shell completion (#897). +- Added ability to set a different watch interval by setting `interval: '500ms'` or using the `--interval=500ms` flag (#813, #865). +- Add colored output to `--list`, `--list-all` and `--summary` flags (#845, + + # 874). +- Fix unexpected behavior where `label:` was being shown instead of the task name on `--list` (#603, #877). ## v3.16.0 - 2022-09-29 -- Add `npm` as new installation method: `npm i -g [@go](https://github.com/go)-task/cli` ([#870](https://github.com/go-task/task/issues/870), [#871](https://github.com/go-task/task/issues/871), [npm package](https://www.npmjs.com/package/[@go](https://github.com/go)-task/cli)). -- Add support to marking tasks and includes as internal, which will hide them from `--list` and `--list-all` ([#818](https://github.com/go-task/task/issues/818)). +- Add `npm` as new installation method: `npm i -g @go-task/cli` (#870, #871, [npm package](https://www.npmjs.com/package/@go-task/cli)). +- Add support to marking tasks and includes as internal, which will hide them from `--list` and `--list-all` (#818). ## v3.15.2 - 2022-09-08 -- Fix error when using variable in `env:` introduced in the previous release ([#858](https://github.com/go-task/task/issues/858), [#866](https://github.com/go-task/task/issues/866)). -- Fix handling of `CLI_ARGS` (`--`) in Bash completion ([#863](https://github.com/go-task/task/issues/863)). -- On zsh completion, add ability to replace `--list-all` with `--list` as already possible on the Bash completion ([#861](https://github.com/go-task/task/issues/861)). +- Fix error when using variable in `env:` introduced in the previous release (#858, #866). +- Fix handling of `CLI_ARGS` (`--`) in Bash completion (#863). +- On zsh completion, add ability to replace `--list-all` with `--list` as already possible on the Bash completion (#861). ## v3.15.0 - 2022-09-03 -- Add new special variables `ROOT_DIR` and `TASKFILE_DIR`. This was a highly requested feature ([#215](https://github.com/go-task/task/issues/215), [#857](https://github.com/go-task/task/issues/857), [Documentation](https://taskfile.dev/api/#special-variables)). -- Follow symlinks on `sources` ([#826](https://github.com/go-task/task/issues/826), [#831](https://github.com/go-task/task/issues/831)). -- Improvements and fixes to Bash completion ([#835](https://github.com/go-task/task/issues/835), [#844](https://github.com/go-task/task/issues/844)). +- Add new special variables `ROOT_DIR` and `TASKFILE_DIR`. This was a highly requested feature (#215, #857, [Documentation](https://taskfile.dev/api/#special-variables)). +- Follow symlinks on `sources` (#826, #831). +- Improvements and fixes to Bash completion (#835, #844). ## v3.14.1 - 2022-08-03 -- Always resolve relative include paths relative to the including Taskfile ([#822](https://github.com/go-task/task/issues/822), [#823](https://github.com/go-task/task/issues/823)). -- Fix ZSH and PowerShell completions to consider all tasks instead of just the public ones (those with descriptions) ([#803](https://github.com/go-task/task/issues/803)). +- Always resolve relative include paths relative to the including Taskfile (#822, #823). +- Fix ZSH and PowerShell completions to consider all tasks instead of just the public ones (those with descriptions) (#803). ## v3.14.0 - 2022-07-08 - Add ability to override the `.task` directory location with the `TASK_TEMP_DIR` environment variable. -- Allow to override Task colors using environment variables: `TASK_COLOR_RESET`, `TASK_COLOR_BLUE`, `TASK_COLOR_GREEN`, `TASK_COLOR_CYAN`, `TASK_COLOR_YELLOW`, `TASK_COLOR_MAGENTA` and `TASK_COLOR_RED` ([#568](https://github.com/go-task/task/issues/568), [#792](https://github.com/go-task/task/issues/792)). -- Fixed bug when using the `output: group` mode where STDOUT and STDERR were being print in separated blocks instead of in the right order ([#779](https://github.com/go-task/task/issues/779)). -- Starting on this release, ARM architecture binaries are been released to Snap as well ([#795](https://github.com/go-task/task/issues/795)). +- Allow to override Task colors using environment variables: `TASK_COLOR_RESET`, `TASK_COLOR_BLUE`, `TASK_COLOR_GREEN`, `TASK_COLOR_CYAN`, `TASK_COLOR_YELLOW`, `TASK_COLOR_MAGENTA` and `TASK_COLOR_RED` (#568, #792). +- Fixed bug when using the `output: group` mode where STDOUT and STDERR were being print in separated blocks instead of in the right order (#779). +- Starting on this release, ARM architecture binaries are been released to Snap as well (#795). - i386 binaries won't be available anymore on Snap because Ubuntu removed the support for this architecture. -- Upgrade mvdan.cc/sh, which fixes a bug with associative arrays ([#785](https://github.com/go-task/task/issues/785), [mvdan/sh\[#884\](https://github.com/go-task/task/issues/884)](https://github.com/mvdan/sh/issues/884), [mvdan/sh\[#893\](https://github.com/go-task/task/issues/893)](https://github.com/mvdan/sh/pull/893)). +- Upgrade mvdan.cc/sh, which fixes a bug with associative arrays (#785, [mvdan/sh#884](https://github.com/mvdan/sh/issues/884), [mvdan/sh#893](https://github.com/mvdan/sh/pull/893)). ## v3.13.0 - 2022-06-13 -- Added `-n` as an alias to `--dry` ([#776](https://github.com/go-task/task/issues/776), [#777](https://github.com/go-task/task/issues/777)). -- Fix behavior of interrupt (SIGINT, SIGTERM) signals. Task will now give time for the processes running to do cleanup work ([#458](https://github.com/go-task/task/issues/458), [#479](https://github.com/go-task/task/issues/479), [#728](https://github.com/go-task/task/issues/728), [#769](https://github.com/go-task/task/issues/769)). -- Add new `--exit-code` (`-x`) flag that will pass-through the exit form the command being ran ([#755](https://github.com/go-task/task/issues/755)). +- Added `-n` as an alias to `--dry` (#776, #777). +- Fix behavior of interrupt (SIGINT, SIGTERM) signals. Task will now give time for the processes running to do cleanup work (#458, #479, #728, #769). +- Add new `--exit-code` (`-x`) flag that will pass-through the exit form the command being ran (#755). ## v3.12.1 - 2022-05-10 -- Fixed bug where, on Windows, variables were ending with `\r` because we were only removing the final `\n` but not `\r\n` ([#717](https://github.com/go-task/task/issues/717)). +- Fixed bug where, on Windows, variables were ending with `\r` because we were only removing the final `\n` but not `\r\n` (#717). ## v3.12.0 - 2022-03-31 -- The `--list` and `--list-all` flags can now be combined with the `--silent` flag to print the task names only, without their description ([#691](https://github.com/go-task/task/issues/691)). -- Added support for multi-level inclusion of Taskfiles. This means that included Taskfiles can also include other Taskfiles. Before this was limited to one level ([#390](https://github.com/go-task/task/issues/390), [#623](https://github.com/go-task/task/issues/623), [#656](https://github.com/go-task/task/issues/656)). -- Add ability to specify vars when including a Taskfile. [Check out the documentation](https://taskfile.dev/#/usage?id=vars-of-included-taskfiles) for more information ([#677](https://github.com/go-task/task/issues/677)). +- The `--list` and `--list-all` flags can now be combined with the `--silent` flag to print the task names only, without their description (#691). +- Added support for multi-level inclusion of Taskfiles. This means that included Taskfiles can also include other Taskfiles. Before this was limited to one level (#390, #623, #656). +- Add ability to specify vars when including a Taskfile. [Check out the documentation](https://taskfile.dev/#/usage?id=vars-of-included-taskfiles) for more information (#677). ## v3.11.0 - 2022-02-19 -- Task now supports printing begin and end messages when using the `group` output mode, useful for grouping tasks in CI systems. [Check out the documentation](http://taskfile.dev/#/usage?id=output-syntax) for more information ([#647](https://github.com/go-task/task/issues/647), [#651](https://github.com/go-task/task/issues/651)). -- Add `Taskfile.dist.yml` and `Taskfile.dist.yaml` to the supported file name list. [Check out the documentation](https://taskfile.dev/#/usage?id=supported-file-names) for more information ([#498](https://github.com/go-task/task/issues/498), [#666](https://github.com/go-task/task/issues/666)). +- Task now supports printing begin and end messages when using the `group` output mode, useful for grouping tasks in CI systems. [Check out the documentation](http://taskfile.dev/#/usage?id=output-syntax) for more information (#647, #651). +- Add `Taskfile.dist.yml` and `Taskfile.dist.yaml` to the supported file name list. [Check out the documentation](https://taskfile.dev/#/usage?id=supported-file-names) for more information (#498, #666). ## v3.10.0 - 2022-01-04 -- A new `--list-all` (alias `-a`) flag is now available. It's similar to the exiting `--list` (`-l`) but prints all tasks, even those without a description ([#383](https://github.com/go-task/task/issues/383), [#401](https://github.com/go-task/task/issues/401)). -- It's now possible to schedule cleanup commands to run once a task finishes with the `defer:` keyword ([Documentation](https://taskfile.dev/#/usage?id=doing-task-cleanup-with-defer), [#475](https://github.com/go-task/task/issues/475), [#626](https://github.com/go-task/task/issues/626)). -- Remove long deprecated and undocumented `$` variable prefix and `^` command prefix ([#642](https://github.com/go-task/task/issues/642), [#644](https://github.com/go-task/task/issues/644), [#645](https://github.com/go-task/task/issues/645)). -- Add support for `.yaml` extension (as an alternative to `.yml`). This was requested multiple times throughout the years. Enjoy! ([#183](https://github.com/go-task/task/issues/183), [#184](https://github.com/go-task/task/issues/184), [#369](https://github.com/go-task/task/issues/369), [#584](https://github.com/go-task/task/issues/584), [#621](https://github.com/go-task/task/issues/621)). -- Fixed error when computing a variable when the task directory do not exist yet ([#481](https://github.com/go-task/task/issues/481), [#579](https://github.com/go-task/task/issues/579)). +- A new `--list-all` (alias `-a`) flag is now available. It's similar to the exiting `--list` (`-l`) but prints all tasks, even those without a description (#383, #401). +- It's now possible to schedule cleanup commands to run once a task finishes with the `defer:` keyword ([Documentation](https://taskfile.dev/#/usage?id=doing-task-cleanup-with-defer), + + # 475, #626). +- Remove long deprecated and undocumented `$` variable prefix and `^` command prefix (#642, #644, #645). +- Add support for `.yaml` extension (as an alternative to `.yml`). This was requested multiple times throughout the years. Enjoy! (#183, #184, #369, #584, + + # 621). +- Fixed error when computing a variable when the task directory do not exist yet (#481, #579). ## v3.9.2 - 2021-12-02 -- Upgrade [mvdan/sh](https://github.com/mvdan/sh) which contains a fix a for a important regression on Windows ([#619](https://github.com/go-task/task/issues/619), [mvdan/sh\[#768\](https://github.com/go-task/task/issues/768)](https://github.com/mvdan/sh/issues/768), [mvdan/sh\[#769\](https://github.com/go-task/task/issues/769)](https://github.com/mvdan/sh/pull/769)). +- Upgrade [mvdan/sh](https://github.com/mvdan/sh) which contains a fix a for a important regression on Windows (#619, [mvdan/sh#768](https://github.com/mvdan/sh/issues/768), [mvdan/sh#769](https://github.com/mvdan/sh/pull/769)). ## v3.9.1 - 2021-11-28 -- Add logging in verbose mode for when a task starts and finishes ([#533](https://github.com/go-task/task/issues/533), [#588](https://github.com/go-task/task/issues/588)). -- Fix an issue with preconditions and context errors ([#597](https://github.com/go-task/task/issues/597), [#598](https://github.com/go-task/task/issues/598)). -- Quote each `{{.CLI_ARGS}}` argument to prevent one with spaces to become many ([#613](https://github.com/go-task/task/issues/613)). -- Fix nil pointer when `cmd:` was left empty ([#612](https://github.com/go-task/task/issues/612), [#614](https://github.com/go-task/task/issues/614)). +- Add logging in verbose mode for when a task starts and finishes (#533, #588). +- Fix an issue with preconditions and context errors (#597, #598). +- Quote each `{{.CLI_ARGS}}` argument to prevent one with spaces to become many (#613). +- Fix nil pointer when `cmd:` was left empty (#612, #614). - Upgrade [mvdan/sh](https://github.com/mvdan/sh) which contains two relevant fixes: - - Fix quote of empty strings in `shellQuote` ([#609](https://github.com/go-task/task/issues/609), [mvdan/sh\[#763\](https://github.com/go-task/task/issues/763)](https://github.com/mvdan/sh/issues/763)). - - Fix issue of wrong environment variable being picked when there's another very similar one ([#586](https://github.com/go-task/task/issues/586), [mvdan/sh\[#745\](https://github.com/go-task/task/issues/745)](https://github.com/mvdan/sh/pull/745)). -- Install shell completions automatically when installing via Homebrew ([#264](https://github.com/go-task/task/issues/264), [#592](https://github.com/go-task/task/issues/592), [go-task/homebrew-tap\[#2\](https://github.com/go-task/task/issues/2)](https://github.com/go-task/homebrew-tap/pull/2)). + - Fix quote of empty strings in `shellQuote` (#609, [mvdan/sh#763](https://github.com/mvdan/sh/issues/763)). + - Fix issue of wrong environment variable being picked when there's another very similar one (#586, [mvdan/sh#745](https://github.com/mvdan/sh/pull/745)). +- Install shell completions automatically when installing via Homebrew (#264, #592, [go-task/homebrew-tap#2](https://github.com/go-task/homebrew-tap/pull/2)). ## v3.9.0 - 2021-10-02 -- A new `shellQuote` function was added to the template system (`{{shellQuote "a string"}}`) to ensure a string is safe for use in shell ([mvdan/sh\[#727\](https://github.com/go-task/task/issues/727)](https://github.com/mvdan/sh/pull/727), [mvdan/sh\[#737\](https://github.com/go-task/task/issues/737)](https://github.com/mvdan/sh/pull/737), [Documentation](https://pkg.go.dev/mvdan.cc/sh/v3[@v3](https://github.com/v3).4.0/syntax#Quote)) +- A new `shellQuote` function was added to the template system (`{{shellQuote "a string"}}`) to ensure a string is safe for use in shell ([mvdan/sh#727](https://github.com/mvdan/sh/pull/727), [mvdan/sh#737](https://github.com/mvdan/sh/pull/737), [Documentation](https://pkg.go.dev/mvdan.cc/sh/v3@v3.4.0/syntax#Quote)) - In this version [mvdan.cc/sh](https://github.com/mvdan/sh) was upgraded with some small fixes and features - - The `read -p` flag is now supported ([#314](https://github.com/go-task/task/issues/314), [mvdan/sh\[#551\](https://github.com/go-task/task/issues/551)](https://github.com/mvdan/sh/issues/551), [mvdan/sh\[#772\](https://github.com/go-task/task/issues/772)](https://github.com/mvdan/sh/pull/722)) - - The `pwd -P` and `pwd -L` flags are now supported ([#553](https://github.com/go-task/task/issues/553), [mvdan/sh\[#724\](https://github.com/go-task/task/issues/724)](https://github.com/mvdan/sh/issues/724), [mvdan/sh\[#728\](https://github.com/go-task/task/issues/728)](https://github.com/mvdan/sh/pull/728)) - - The `$GID` environment variable is now correctly being set ([#561](https://github.com/go-task/task/issues/561), [mvdan/sh\[#723\](https://github.com/go-task/task/issues/723)](https://github.com/mvdan/sh/pull/723)) + - The `read -p` flag is now supported (#314, [mvdan/sh#551](https://github.com/mvdan/sh/issues/551), [mvdan/sh#772](https://github.com/mvdan/sh/pull/722)) + - The `pwd -P` and `pwd -L` flags are now supported (#553, [mvdan/sh#724](https://github.com/mvdan/sh/issues/724), [mvdan/sh#728](https://github.com/mvdan/sh/pull/728)) + - The `$GID` environment variable is now correctly being set (#561, [mvdan/sh#723](https://github.com/mvdan/sh/pull/723)) ## v3.8.0 - 2021-09-26 -- Add `interactive: true` setting to improve support for interactive CLI apps ([#217](https://github.com/go-task/task/issues/217), [#563](https://github.com/go-task/task/issues/563)). -- Fix some `nil` errors ([#534](https://github.com/go-task/task/issues/534), [#573](https://github.com/go-task/task/issues/573)). -- Add ability to declare an included Taskfile as optional ([#519](https://github.com/go-task/task/issues/519), [#552](https://github.com/go-task/task/issues/552)). -- Add support for including Taskfiles in the home directory by using `~` ([#539](https://github.com/go-task/task/issues/539), [#557](https://github.com/go-task/task/issues/557)). +- Add `interactive: true` setting to improve support for interactive CLI apps (#217, #563). +- Fix some `nil` errors (#534, #573). +- Add ability to declare an included Taskfile as optional (#519, #552). +- Add support for including Taskfiles in the home directory by using `~` (#539, #557). ## v3.7.3 - 2021-09-04 -- Add official support to Apple M1 ([#564](https://github.com/go-task/task/issues/564), [#567](https://github.com/go-task/task/issues/567)). +- Add official support to Apple M1 (#564, #567). - Our [official Homebrew tap](https://github.com/go-task/homebrew-tap) will support more platforms, including Apple M1 ## v3.7.0 - 2021-07-31 -- Add `run:` setting to control if tasks should run multiple times or not. Available options are `always` (the default), `when_changed` (if a variable modified the task) and `once` (run only once no matter what). This is a long time requested feature. Enjoy! ([#53](https://github.com/go-task/task/issues/53), [#359](https://github.com/go-task/task/issues/359)). +- Add `run:` setting to control if tasks should run multiple times or not. Available options are `always` (the default), `when_changed` (if a variable modified the task) and `once` (run only once no matter what). This is a long time requested feature. Enjoy! (#53, #359). ## v3.6.0 - 2021-07-10 -- Allow using both `sources:` and `status:` in the same task ([#411](https://github.com/go-task/task/issues/411), [#427](https://github.com/go-task/task/issues/427), [#477](https://github.com/go-task/task/issues/477)). -- Small optimization and bug fix: don't compute variables if not needed for `dotenv:` ([#517](https://github.com/go-task/task/issues/517)). +- Allow using both `sources:` and `status:` in the same task (#411, #427, #477). +- Small optimization and bug fix: don't compute variables if not needed for `dotenv:` (#517). ## v3.5.0 - 2021-07-04 -- Add support for interpolation in `dotenv:` ([#433](https://github.com/go-task/task/issues/433), [#434](https://github.com/go-task/task/issues/434), [#453](https://github.com/go-task/task/issues/453)). +- Add support for interpolation in `dotenv:` (#433, #434, #453). ## v3.4.3 - 2021-05-30 -- Add support for the `NO_COLOR` environment variable. ([#459](https://github.com/go-task/task/issues/459), [fatih/color\[#137\](https://github.com/go-task/task/issues/137)](https://github.com/fatih/color/pull/137)). -- Fix bug where sources were not considering the right directory in `--watch` mode ([#484](https://github.com/go-task/task/issues/484), [#485](https://github.com/go-task/task/issues/485)). +- Add support for the `NO_COLOR` environment variable. (#459, [fatih/color#137](https://github.com/fatih/color/pull/137)). +- Fix bug where sources were not considering the right directory in `--watch` mode (#484, #485). ## v3.4.2 - 2021-04-23 -- On watch, report which file failed to read ([#472](https://github.com/go-task/task/issues/472)). -- Do not try to catch SIGKILL signal, which are not actually possible ([#476](https://github.com/go-task/task/issues/476)). -- Improve version reporting when building Task from source using Go Modules ([#462](https://github.com/go-task/task/issues/462), [#473](https://github.com/go-task/task/issues/473)). +- On watch, report which file failed to read (#472). +- Do not try to catch SIGKILL signal, which are not actually possible (#476). +- Improve version reporting when building Task from source using Go Modules (#462, #473). ## v3.4.1 - 2021-04-17 -- Improve error reporting when parsing YAML: in some situations where you would just see an generic error, you'll now see the actual error with more detail: the YAML line the failed to parse, for example ([#467](https://github.com/go-task/task/issues/467)). -- A JSON Schema was published [here](https://json.schemastore.org/taskfile.json) and is automatically being used by some editors like Visual Studio Code ([#135](https://github.com/go-task/task/issues/135)). -- Print task name before the command in the log output ([#398](https://github.com/go-task/task/issues/398)). +- Improve error reporting when parsing YAML: in some situations where you would just see an generic error, you'll now see the actual error with more detail: the YAML line the failed to parse, for example (#467). +- A JSON Schema was published [here](https://json.schemastore.org/taskfile.json) and is automatically being used by some editors like Visual Studio Code (#135). +- Print task name before the command in the log output (#398). ## v3.3.0 - 2021-03-20 -- Add support for delegating CLI arguments to commands with `--` and a special `CLI_ARGS` variable ([#327](https://github.com/go-task/task/issues/327)). -- Add a `--concurrency` (alias `-C`) flag, to limit the number of tasks that run concurrently. This is useful for heavy workloads. ([#345](https://github.com/go-task/task/issues/345)). +- Add support for delegating CLI arguments to commands with `--` and a special `CLI_ARGS` variable (#327). +- Add a `--concurrency` (alias `-C`) flag, to limit the number of tasks that run concurrently. This is useful for heavy workloads. (#345). ## v3.2.2 - 2021-01-12 -- Improve performance of `--list` and `--summary` by skipping running shell variables for these flags ([#332](https://github.com/go-task/task/issues/332)). -- Fixed a bug where an environment in a Taskfile was not always overridable by the system environment ([#425](https://github.com/go-task/task/issues/425)). -- Fixed environment from .env files not being available as variables ([#379](https://github.com/go-task/task/issues/379)). -- The install script is now working for ARM platforms ([#428](https://github.com/go-task/task/issues/428)). +- Improve performance of `--list` and `--summary` by skipping running shell variables for these flags (#332). +- Fixed a bug where an environment in a Taskfile was not always overridable by the system environment (#425). +- Fixed environment from .env files not being available as variables (#379). +- The install script is now working for ARM platforms (#428). ## v3.2.1 - 2021-01-09 -- Fixed some bugs and regressions regarding dynamic variables and directories ([#426](https://github.com/go-task/task/issues/426)). +- Fixed some bugs and regressions regarding dynamic variables and directories (#426). - The [slim-sprig](https://github.com/go-task/slim-sprig) package was updated with the upstream [sprig](https://github.com/Masterminds/sprig). ## v3.2.0 - 2021-01-07 -- Fix the `.task` directory being created in the task directory instead of the Taskfile directory ([#247](https://github.com/go-task/task/issues/247)). -- Fix a bug where dynamic variables (those declared with `sh:`) were not running in the task directory when the task has a custom dir or it was in an included Taskfile ([#384](https://github.com/go-task/task/issues/384)). -- The watch feature (via the `--watch` flag) got a few different bug fixes and should be more stable now ([#423](https://github.com/go-task/task/issues/423), [#365](https://github.com/go-task/task/issues/365)). +- Fix the `.task` directory being created in the task directory instead of the Taskfile directory (#247). +- Fix a bug where dynamic variables (those declared with `sh:`) were not running in the task directory when the task has a custom dir or it was in an included Taskfile (#384). +- The watch feature (via the `--watch` flag) got a few different bug fixes and should be more stable now (#423, #365). ## v3.1.0 - 2021-01-03 -- Fix a bug when the checksum up-to-date resolution is used by a task with a custom `label:` attribute ([#412](https://github.com/go-task/task/issues/412)). -- Starting from this release, we're releasing official ARMv6 and ARM64 binaries for Linux ([#375](https://github.com/go-task/task/issues/375), [#418](https://github.com/go-task/task/issues/418)). -- Task now respects the order of declaration of included Taskfiles when evaluating variables declaring by them ([#393](https://github.com/go-task/task/issues/393)). -- `set -e` is now automatically set on every command. This was done to fix an issue where multiline string commands wouldn't really fail unless the sentence was in the last line ([#403](https://github.com/go-task/task/issues/403)). +- Fix a bug when the checksum up-to-date resolution is used by a task with a custom `label:` attribute (#412). +- Starting from this release, we're releasing official ARMv6 and ARM64 binaries for Linux (#375, #418). +- Task now respects the order of declaration of included Taskfiles when evaluating variables declaring by them (#393). +- `set -e` is now automatically set on every command. This was done to fix an issue where multiline string commands wouldn't really fail unless the sentence was in the last line (#403). ## v3.0.1 - 2020-12-26 -- Allow use as a library by moving the required packages out of the `internal` directory ([#358](https://github.com/go-task/task/issues/358)). -- Do not error if a specified dotenv file does not exist ([#378](https://github.com/go-task/task/issues/378), [#385](https://github.com/go-task/task/issues/385)). -- Fix panic when you have empty tasks in your Taskfile ([#338](https://github.com/go-task/task/issues/338), [#362](https://github.com/go-task/task/issues/362)). +- Allow use as a library by moving the required packages out of the `internal` directory (#358). +- Do not error if a specified dotenv file does not exist (#378, #385). +- Fix panic when you have empty tasks in your Taskfile (#338, #362). ## v3.0.0 - 2020-08-16 -- On `v3`, all CLI variables will be considered global variables ([#336](https://github.com/go-task/task/issues/336), [#341](https://github.com/go-task/task/issues/341)) -- Add support to `.env` like files ([#324](https://github.com/go-task/task/issues/324), [#356](https://github.com/go-task/task/issues/356)). -- Add `label:` to task so you can override the task name in the logs ([\[#321\](https://github.com/go-task/task/issues/321)](https://github.com/go-task/task/issues/321]), [#337](https://github.com/go-task/task/issues/337)). -- Refactor how variables work on version 3 ([#311](https://github.com/go-task/task/issues/311)). +- On `v3`, all CLI variables will be considered global variables (#336, #341) +- Add support to `.env` like files (#324, #356). +- Add `label:` to task so you can override the task name in the logs (#321, + + # 337). +- Refactor how variables work on version 3 (#311). - Disallow `expansions` on v3 since it has no effect. - `Taskvars.yml` is not automatically included anymore. - `Taskfile_{{OS}}.yml` is not automatically included anymore. - Allow interpolation on `includes`, so you can manually include a Taskfile based on operation system, for example. -- Expose `.TASK` variable in templates with the task name ([#252](https://github.com/go-task/task/issues/252)). -- Implement short task syntax ([#194](https://github.com/go-task/task/issues/194), [#240](https://github.com/go-task/task/issues/240)). -- Added option to make included Taskfile run commands on its own directory ([#260](https://github.com/go-task/task/issues/260), [#144](https://github.com/go-task/task/issues/144)) -- Taskfiles in version 1 are not supported anymore ([#237](https://github.com/go-task/task/issues/237)). -- Added global `method:` option. With this option, you can set a default method to all tasks in a Taskfile ([#246](https://github.com/go-task/task/issues/246)). -- Changed default method from `timestamp` to `checksum` ([#246](https://github.com/go-task/task/issues/246)). -- New magic variables are now available when using `status:`: `.TIMESTAMP` which contains the greatest modification date from the files listed in `sources:`, and `.CHECKSUM`, which contains a checksum of all files listed in `status:`. This is useful for manual checking when using external, or even remote, artifacts when using `status:` ([#216](https://github.com/go-task/task/issues/216)). -- We're now using [slim-sprig](https://github.com/go-task/slim-sprig) instead of [sprig](https://github.com/Masterminds/sprig), which allowed a file size reduction of about 22% ([#219](https://github.com/go-task/task/issues/219)). -- We now use some colors on Task output to better distinguish message types - commands are green, errors are red, etc ([#207](https://github.com/go-task/task/issues/207)). +- Expose `.TASK` variable in templates with the task name (#252). +- Implement short task syntax (#194, #240). +- Added option to make included Taskfile run commands on its own directory (#260, #144) +- Taskfiles in version 1 are not supported anymore (#237). +- Added global `method:` option. With this option, you can set a default method to all tasks in a Taskfile (#246). +- Changed default method from `timestamp` to `checksum` (#246). +- New magic variables are now available when using `status:`: `.TIMESTAMP` which contains the greatest modification date from the files listed in `sources:`, and `.CHECKSUM`, which contains a checksum of all files listed in `status:`. This is useful for manual checking when using external, or even remote, artifacts when using `status:` (#216). +- We're now using [slim-sprig](https://github.com/go-task/slim-sprig) instead of [sprig](https://github.com/Masterminds/sprig), which allowed a file size reduction of about 22% (#219). +- We now use some colors on Task output to better distinguish message types - commands are green, errors are red, etc (#207). ## v2.8.1 - 2020-05-20 -- Fix error code for the `--help` flag ([#300](https://github.com/go-task/task/issues/300), [#330](https://github.com/go-task/task/issues/330)). -- Print version to stdout instead of stderr ([#299](https://github.com/go-task/task/issues/299), [#329](https://github.com/go-task/task/issues/329)). -- Supress `context` errors when using the `--watch` flag ([#313](https://github.com/go-task/task/issues/313), [#317](https://github.com/go-task/task/issues/317)). -- Support templating on description ([#276](https://github.com/go-task/task/issues/276), [#283](https://github.com/go-task/task/issues/283)). +- Fix error code for the `--help` flag (#300, #330). +- Print version to stdout instead of stderr (#299, #329). +- Supress `context` errors when using the `--watch` flag (#313, #317). +- Support templating on description (#276, #283). ## v2.8.0 - 2019-12-07 -- Add `--parallel` flag (alias `-p`) to run tasks given by the command line in parallel ([#266](https://github.com/go-task/task/issues/266)). +- Add `--parallel` flag (alias `-p`) to run tasks given by the command line in parallel (#266). - Fixed bug where calling the `task` CLI only informing global vars would not execute the `default` task. - Add hability to silent all tasks by adding `silent: true` a the root of the Taskfile. ## v2.7.1 - 2019-11-10 -- Fix error being raised when `exit 0` was called ([#251](https://github.com/go-task/task/issues/251)). +- Fix error being raised when `exit 0` was called (#251). ## v2.7.0 - 2019-09-22 -- Fixed panic bug when assigning a global variable ([#229](https://github.com/go-task/task/issues/229), [#243](https://github.com/go-task/task/issues/243)). -- A task with `method: checksum` will now re-run if generated files are deleted ([#228](https://github.com/go-task/task/issues/228), [#238](https://github.com/go-task/task/issues/238)). +- Fixed panic bug when assigning a global variable (#229, #243). +- A task with `method: checksum` will now re-run if generated files are deleted (#228, #238). ## v2.6.0 - 2019-07-21 - Fixed some bugs regarding minor version checks on `version:`. -- Add `preconditions:` to task ([#205](https://github.com/go-task/task/issues/205)). -- Create directory informed on `dir:` if it doesn't exist ([#209](https://github.com/go-task/task/issues/209), [#211](https://github.com/go-task/task/issues/211)). -- We now have a `--taskfile` flag (alias `-t`), which can be used to run another Taskfile (other than the default `Taskfile.yml`) ([#221](https://github.com/go-task/task/issues/221)). -- It's now possible to install Task using Homebrew on Linux ([go-task/homebrew-tap\[#1\](https://github.com/go-task/task/issues/1)](https://github.com/go-task/homebrew-tap/pull/1)). +- Add `preconditions:` to task (#205). +- Create directory informed on `dir:` if it doesn't exist (#209, #211). +- We now have a `--taskfile` flag (alias `-t`), which can be used to run another Taskfile (other than the default `Taskfile.yml`) (#221). +- It's now possible to install Task using Homebrew on Linux ([go-task/homebrew-tap#1](https://github.com/go-task/homebrew-tap/pull/1)). ## v2.5.2 - 2019-05-11 -- Reverted YAML upgrade due issues with CRLF on Windows ([#201](https://github.com/go-task/task/issues/201), [go-yaml/yaml\[#450\](https://github.com/go-task/task/issues/450)](https://github.com/go-yaml/yaml/issues/450)). -- Allow setting global variables through the CLI ([#192](https://github.com/go-task/task/issues/192)). +- Reverted YAML upgrade due issues with CRLF on Windows (#201, [go-yaml/yaml#450](https://github.com/go-yaml/yaml/issues/450)). +- Allow setting global variables through the CLI (#192). ## 2.5.1 - 2019-04-27 -- Fixed some issues with interactive command line tools, where sometimes the output were not being shown, and similar issues ([#114](https://github.com/go-task/task/issues/114), [#190](https://github.com/go-task/task/issues/190), [#200](https://github.com/go-task/task/issues/200)). +- Fixed some issues with interactive command line tools, where sometimes the output were not being shown, and similar issues (#114, #190, #200). - Upgraded [go-yaml/yaml](https://github.com/go-yaml/yaml) from v2 to v3. ## v2.5.0 - 2019-03-16 - We moved from the taskfile.org domain to the new fancy taskfile.dev domain. While stuff is being redirected, we strongly recommend to everyone that use [this install script](https://taskfile.dev/#/installation?id=install-script) to use the new taskfile.dev domain on scripts from now on. -- Fixed to the ZSH completion ([#182](https://github.com/go-task/task/issues/182)). -- Add [`--summary` flag along with `summary:` task attribute](https://taskfile.org/#/usage?id=display-summary-of-task) ([#180](https://github.com/go-task/task/issues/180)). +- Fixed to the ZSH completion (#182). +- Add [`--summary` flag along with `summary:` task attribute](https://taskfile.org/#/usage?id=display-summary-of-task) (#180). ## v2.4.0 - 2019-02-21 -- Allow calling a task of the root Taskfile from an included Taskfile by prefixing it with `:` ([#161](https://github.com/go-task/task/issues/161), [#172](https://github.com/go-task/task/issues/172)). -- Add flag to override the `output` option ([#173](https://github.com/go-task/task/issues/173)). -- Fix bug where Task was persisting the new checksum on the disk when the Dry Mode is enabled ([#166](https://github.com/go-task/task/issues/166)). -- Fix file timestamp issue when the file name has spaces ([#176](https://github.com/go-task/task/issues/176)). -- Mitigating path expanding issues on Windows ([#170](https://github.com/go-task/task/issues/170)). +- Allow calling a task of the root Taskfile from an included Taskfile by prefixing it with `:` (#161, #172). +- Add flag to override the `output` option (#173). +- Fix bug where Task was persisting the new checksum on the disk when the Dry Mode is enabled (#166). +- Fix file timestamp issue when the file name has spaces (#176). +- Mitigating path expanding issues on Windows (#170). ## v2.3.0 - 2019-01-02 -- On Windows, Task can now be installed using [Scoop](https://scoop.sh/) ([#152](https://github.com/go-task/task/issues/152)). -- Fixed issue with file/directory globing ([#153](https://github.com/go-task/task/issues/153)). -- Added ability to globally set environment variables ([#138](https://github.com/go-task/task/issues/138), [#159](https://github.com/go-task/task/issues/159)). +- On Windows, Task can now be installed using [Scoop](https://scoop.sh/) (#152). +- Fixed issue with file/directory globing (#153). +- Added ability to globally set environment variables (#138, #159). ## v2.2.1 - 2018-12-09 -- This repository now uses Go Modules ([#143](https://github.com/go-task/task/issues/143)). We'll still keep the `vendor` directory in sync for some time, though; -- Fixing a bug when the Taskfile has no tasks but includes another Taskfile ([#150](https://github.com/go-task/task/issues/150)); -- Fix a bug when calling another task or a dependency in an included Taskfile ([#151](https://github.com/go-task/task/issues/151)). +- This repository now uses Go Modules (#143). We'll still keep the `vendor` directory in sync for some time, though; +- Fixing a bug when the Taskfile has no tasks but includes another Taskfile (#150); +- Fix a bug when calling another task or a dependency in an included Taskfile (#151). ## v2.2.0 - 2018-10-25 -- Added support for [including other Taskfiles](https://taskfile.org/#/usage?id=including-other-taskfiles) ([#98](https://github.com/go-task/task/issues/98)) - - 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](https://github.com/go-task/task/issues/98). +- Added support for [including other Taskfiles](https://taskfile.org/#/usage?id=including-other-taskfiles) (#98) + - 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. - Task now have a dedicated documentation site: https://taskfile.org - Thanks to [Docsify](https://docsify.js.org/) for making this pretty easy. To check the source code, just take a look at the [docs](https://github.com/go-task/task/tree/main/docs) directory of this repository. Contributions to the documentation is really appreciated. ## v2.1.1 - 2018-09-17 - Fix suggestion to use `task --init` not being shown anymore (when a `Taskfile.yml` is not found) -- Fix error when using checksum method and no file exists for a source glob ([#131](https://github.com/go-task/task/issues/131)) -- Fix signal handling when the `--watch` flag is given ([#132](https://github.com/go-task/task/issues/132)) +- Fix error when using checksum method and no file exists for a source glob (#131) +- Fix signal handling when the `--watch` flag is given (#132) ## v2.1.0 - 2018-08-19 -- Add a `ignore_error` option to task and command ([#123](https://github.com/go-task/task/issues/123)) -- Add a dry run mode (`--dry` flag) ([#126](https://github.com/go-task/task/issues/126)) +- Add a `ignore_error` option to task and command (#123) +- Add a dry run mode (`--dry` flag) (#126) ## v2.0.3 - 2018-06-24 -- Expand environment variables on "dir", "sources" and "generates" ([#116](https://github.com/go-task/task/issues/116)) -- Fix YAML merging syntax ([#112](https://github.com/go-task/task/issues/112)) -- Add ZSH completion ([#111](https://github.com/go-task/task/issues/111)) +- Expand environment variables on "dir", "sources" and "generates" (#116) +- Fix YAML merging syntax (#112) +- Add ZSH completion (#111) - Implement new `output` option. Please check out the [documentation](https://github.com/go-task/task#output-syntax) ## v2.0.2 - 2018-05-01 -- Fix merging of YAML anchors ([#112](https://github.com/go-task/task/issues/112)) +- Fix merging of YAML anchors (#112) ## v2.0.1 - 2018-03-11 @@ -445,36 +479,36 @@ Version 2.0.0 is here, with a new Taskfile format. Please, make sure to read the [Taskfile versions](https://github.com/go-task/task/blob/main/TASKFILE_VERSIONS.md) document, since it describes in depth what changed for this version. -- New Taskfile version 2 ([#77](https://github.com/go-task/task/issues/77)) -- Possibility to have global variables in the `Taskfile.yml` instead of `Taskvars.yml` ([#66](https://github.com/go-task/task/issues/66)) +- New Taskfile version 2 (#77) +- Possibility to have global variables in the `Taskfile.yml` instead of `Taskvars.yml` (#66) - Small improvements and fixes ## v1.4.4 - 2017-11-19 -- Handle SIGINT and SIGTERM ([#75](https://github.com/go-task/task/issues/75)); +- Handle SIGINT and SIGTERM (#75); - List: print message with there's no task with description; -- Expand home dir ("~" symbol) on paths ([#74](https://github.com/go-task/task/issues/74)); +- Expand home dir ("~" symbol) on paths (#74); - Add Snap as an installation method; - Move examples to its own repo; - Watch: also walk on tasks called on on "cmds", and not only on "deps"; -- Print logs to stderr instead of stdout ([#68](https://github.com/go-task/task/issues/68)); +- Print logs to stderr instead of stdout (#68); - Remove deprecated `set` keyword; - Add checksum based status check, alternative to timestamp based. ## v1.4.3 - 2017-09-07 -- Allow assigning variables to tasks at run time via CLI ([#33](https://github.com/go-task/task/issues/33)) -- Added suport for multiline variables from sh ([#64](https://github.com/go-task/task/issues/64)) -- Fixes env: remove square braces and evaluate shell ([#62](https://github.com/go-task/task/issues/62)) +- Allow assigning variables to tasks at run time via CLI (#33) +- Added suport for multiline variables from sh (#64) +- Fixes env: remove square braces and evaluate shell (#62) - Watch: change watch library and few fixes and improvements -- When use watching, cancel and restart long running process on file change ([#59](https://github.com/go-task/task/issues/59) and [#60](https://github.com/go-task/task/issues/60)) +- When use watching, cancel and restart long running process on file change (#59 and #60) ## v1.4.2 - 2017-07-30 - Flag to set directory of execution - Always echo command if is verbose mode - Add silent mode to disable echoing of commands -- Fixes and improvements of variables ([#56](https://github.com/go-task/task/issues/56)) +- Fixes and improvements of variables (#56) ## v1.4.1 - 2017-07-15 @@ -482,28 +516,28 @@ Please, make sure to read the [Taskfile versions](https://github.com/go-task/tas - `VAR: {sh: echo Hello}` instead of `VAR: $echo Hello` - Add `--list` (or `-l`) flag to print existing tasks - OS specific Taskvars file (e.g. `Taskvars_windows.yml`, `Taskvars_linux.yml`, etc) -- Consider task up-to-date on equal timestamps ([#49](https://github.com/go-task/task/issues/49)) -- Allow absolute path in generates section ([#48](https://github.com/go-task/task/issues/48)) -- Bugfix: allow templating when calling deps ([#42](https://github.com/go-task/task/issues/42)) +- Consider task up-to-date on equal timestamps (#49) +- Allow absolute path in generates section (#48) +- Bugfix: allow templating when calling deps (#42) - Fix panic for invalid task in cyclic dep detection -- Better error output for dynamic variables in Taskvars.yml ([#41](https://github.com/go-task/task/issues/41)) +- Better error output for dynamic variables in Taskvars.yml (#41) - Allow template evaluation in parameters ## v1.4.0 - 2017-07-06 - Cache dynamic variables - Add verbose mode (`-v` flag) -- Support to task parameters (overriding vars) ([#31](https://github.com/go-task/task/issues/31)) ([#32](https://github.com/go-task/task/issues/32)) -- Print command, also when "set:" is specified ([#35](https://github.com/go-task/task/issues/35)) -- Improve task command help text ([#35](https://github.com/go-task/task/issues/35)) +- Support to task parameters (overriding vars) (#31) (#32) +- Print command, also when "set:" is specified (#35) +- Improve task command help text (#35) ## v1.3.1 - 2017-06-14 -- Fix glob not working on commands ([#28](https://github.com/go-task/task/issues/28)) +- Fix glob not working on commands (#28) - Add ExeExt template function - Add `--init` flag to create a new Taskfile -- Add status option to prevent task from running ([#27](https://github.com/go-task/task/issues/27)) -- Allow interpolation on `generates` and `sources` attributes ([#26](https://github.com/go-task/task/issues/26)) +- Add status option to prevent task from running (#27) +- Allow interpolation on `generates` and `sources` attributes (#26) ## v1.3.0 - 2017-04-24 @@ -521,18 +555,18 @@ Please, make sure to read the [Taskfile versions](https://github.com/go-task/tas - Watch a task (experimental) - Possibility to call another task - Fix "=" not being reconized in variables/environment variables -- Tasks can now have a description, and help will print them ([#10](https://github.com/go-task/task/issues/10)) +- Tasks can now have a description, and help will print them (#10) - Task dependencies now run concurrently -- Support for a default task ([#16](https://github.com/go-task/task/issues/16)) +- Support for a default task (#16) ## v1.1.0 - 2017-03-08 -- Support for YAML, TOML and JSON ([#1](https://github.com/go-task/task/issues/1)) -- Support running command in another directory ([#4](https://github.com/go-task/task/issues/4)) +- Support for YAML, TOML and JSON (#1) +- Support running command in another directory (#4) - `--force` or `-f` flag to force execution of task even when it's up-to-date -- Detection of cyclic dependencies ([#5](https://github.com/go-task/task/issues/5)) -- Support for variables ([#6](https://github.com/go-task/task/issues/6), [#9](https://github.com/go-task/task/issues/9), [#14](https://github.com/go-task/task/issues/14)) -- Operation System specific commands and variables ([#13](https://github.com/go-task/task/issues/13)) +- Detection of cyclic dependencies (#5) +- Support for variables (#6, #9, #14) +- Operation System specific commands and variables (#13) ## v1.0.0 - 2017-02-28 diff --git a/docs/i18n/es-ES/docusaurus-plugin-content-docs/current/community.md b/docs/i18n/es-ES/docusaurus-plugin-content-docs/current/community.md index 07f47646..c069c2be 100644 --- a/docs/i18n/es-ES/docusaurus-plugin-content-docs/current/community.md +++ b/docs/i18n/es-ES/docusaurus-plugin-content-docs/current/community.md @@ -19,8 +19,8 @@ Many of our integrations are contributed and maintained by the community. You ca Some installation methods are maintained by third party: -- [GitHub Actions](https://github.com/arduino/setup-task) by [@arduino](https://github.com/arduino) -- [AUR](https://aur.archlinux.org/packages/go-task-bin) by [@carlsmedstad](https://github.com/carlsmedstad) +- [GitHub Actions](https://github.com/arduino/setup-task) by @arduino +- [AUR](https://aur.archlinux.org/packages/go-task-bin) by @carlsmedstad - [Scoop](https://github.com/ScoopInstaller/Main/blob/master/bucket/task.json) - [Fedora](https://packages.fedoraproject.org/pkgs/golang-github-task/go-task/) - [NixOS](https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/tools/go-task/default.nix) diff --git a/docs/i18n/es-ES/docusaurus-plugin-content-docs/current/contributing.md b/docs/i18n/es-ES/docusaurus-plugin-content-docs/current/contributing.md index 1ad9bc85..57b2aa7b 100644 --- a/docs/i18n/es-ES/docusaurus-plugin-content-docs/current/contributing.md +++ b/docs/i18n/es-ES/docusaurus-plugin-content-docs/current/contributing.md @@ -41,9 +41,9 @@ To run Task for Visual Studio Code, you can open the project in VSCode and hit F Task uses [Docusaurus][docusaurus] to host a documentation server. The code for this is located in the core Task repository. This can be setup and run locally by using `task docs` (requires `nodejs` & `yarn`). All content is written in Markdown and is located in the `docs/docs` directory. All Markdown documents should have an 80 character line wrap limit (enforced by Prettier). -When making a change, consider whether a change to the [Usage Guide](./usage.md) is necessary. This document contains descriptions and examples of how to use Task features. If you're adding a new feature, try to find an appropriate place to add a new section. If you're updating an existing feature, ensure that the documentation and any examples are up-to-date. Ensure that any examples follow the [Taskfile Styleguide](./styleguide.md). +When making a change, consider whether a change to the [Usage Guide](/usage) is necessary. This document contains descriptions and examples of how to use Task features. If you're adding a new feature, try to find an appropriate place to add a new section. If you're updating an existing feature, ensure that the documentation and any examples are up-to-date. Ensure that any examples follow the [Taskfile Styleguide](/styleguide). -If you added a new field, command or flag, ensure that you add it to the [API Reference](./api_reference.md). New fields also need to be added to the [JSON Schema][json-schema]. The descriptions for fields in the API reference and the schema should match. +If you added a new field, command or flag, ensure that you add it to the [API Reference](/api). New fields also need to be added to the [JSON Schema][json-schema]. The descriptions for fields in the API reference and the schema should match. ### Writing tests @@ -72,7 +72,7 @@ If you're not sure how to format your commit message, check out [Conventional Co Take a look at the list of [open issues for Task][task-open-issues] or [Task for Visual Studio Code][vscode-task-open-issues]. We have a [good first issue][good-first-issue] label for simpler issues that are ideal for first time contributions. -All kinds of contributions are welcome, whether its a typo fix or a shiny new feature. You can also contribute by upvoting/commenting on issues, helping to answer questions or contributing to other [community projects](./community.md). +All kinds of contributions are welcome, whether its a typo fix or a shiny new feature. You can also contribute by upvoting/commenting on issues, helping to answer questions or contributing to other [community projects](/community). > I'm stuck, where can I get help? diff --git a/docs/i18n/es-ES/docusaurus-plugin-content-docs/current/deprecations/template.md b/docs/i18n/es-ES/docusaurus-plugin-content-docs/current/deprecations/template.md index 43ed4d3b..646e45c6 100644 --- a/docs/i18n/es-ES/docusaurus-plugin-content-docs/current/deprecations/template.md +++ b/docs/i18n/es-ES/docusaurus-plugin-content-docs/current/deprecations/template.md @@ -6,12 +6,17 @@ sidebar_position: -1 #Always push to the top draft: true #Hide in production --- -# {Name of Deprecated Feature} +# \{Name of Deprecated Feature\} (#\{Issue\}) -- Issue: [#{issue}](https://github.com/go-task/task/issues/{issue}) -- Breaks: - - {list any existing functionality that will be broken by this experiment} +:::warning -{Short description of the feature/behavior and why it is being deprecated} +This deprecation breaks the following functionality: -{Short explanation of any replacement features/behaviors and how users should migrate to it} +- \{list any existing functionality that will be broken by this deprecation\} +- \{if there are no breaking changes, remove this admonition\} + +::: + +\{Short description of the feature/behavior and why it is being deprecated\} + +\{Short explanation of any replacement features/behaviors and how users should migrate to it\} diff --git a/docs/i18n/es-ES/docusaurus-plugin-content-docs/current/deprecations/version_2_schema.md b/docs/i18n/es-ES/docusaurus-plugin-content-docs/current/deprecations/version_2_schema.md index 79ea75cf..c45fb65d 100644 --- a/docs/i18n/es-ES/docusaurus-plugin-content-docs/current/deprecations/version_2_schema.md +++ b/docs/i18n/es-ES/docusaurus-plugin-content-docs/current/deprecations/version_2_schema.md @@ -2,21 +2,24 @@ slug: /deprecations/version-2-schema/ --- -# Version 2 Schema +# Version 2 Schema (#1197) -- Issue: [#1197][deprecate-version-2-schema] -- Breaks: - - Any Taskfiles that use the version 2 schema - - `Taskvar.yml` files +:::warning -The Taskfile v2 schema was introduced in March 2018 and replaced by version 3 in August the following year. Users have had a long time to update and so we feel that it is time to tidy up the codebase and focus on new functionality instead. +This deprecation breaks the following functionality: -This notice does not mean that we are immediately removing support for version 2 schemas. However, support will not be extended to future major releases and we _strongly recommend_ that anybody still using a version 2 schema upgrades to version 3 as soon as possible. +- Any Taskfiles that use the version 2 schema +- `Taskvar.yml` files -A list of changes between version 2 and version 3 are available in the [Task v3 Release Notes][version-3-release-notes]. +::: + +The Taskfile version 2 schema was introduced in March 2018 and replaced by version 3 in August 2019. In May 2023 [we published a deprecation notice][deprecation-notice] for the version 2 schema on the basis that the vast majority of users had already upgraded to version 3 and removing support for version 2 would allow us to tidy up the codebase and focus on new functionality instead. + +In December 2023, the final version of Task that supports the version 2 schema ([v3.33.0][v3.33.0]) was published and all legacy code was removed from Task's main branch. To use a more recent version of Task, you will need to ensure that your Taskfile uses the version 3 schema instead. A list of changes between version 2 and version 3 are available in the [Task v3 Release Notes][v3.0.0]. -[deprecate-version-2-schema]: https://github.com/go-task/task/issues/1197 -[version-3-release-notes]: https://github.com/go-task/task/releases/tag/v3.0.0 +[v3.0.0]: https://github.com/go-task/task/releases/tag/v3.0.0 +[v3.33.0]: https://github.com/go-task/task/releases/tag/v3.33.0 +[deprecation-notice]: https://github.com/go-task/task/issues/1197 diff --git a/docs/i18n/es-ES/docusaurus-plugin-content-docs/current/experiments/any_variables.md b/docs/i18n/es-ES/docusaurus-plugin-content-docs/current/experiments/any_variables.md new file mode 100644 index 00000000..cf2521c7 --- /dev/null +++ b/docs/i18n/es-ES/docusaurus-plugin-content-docs/current/experiments/any_variables.md @@ -0,0 +1,206 @@ +--- +slug: /experiments/any-variables/ +--- + +# Any Variables (#1415) + +:::caution + +All experimental features are subject to breaking changes and/or removal _at any +time_. We strongly recommend that you do not use these features in a production +environment. They are intended for testing and feedback only. + +::: + +:::warning + +This experiment breaks the following functionality: + +- Dynamically defined variables (using the `sh` keyword) + +::: + +:::info + +To enable this experiment, set the environment variable: +`TASK_X_ANY_VARIABLES=1`. Check out [our guide to enabling experiments +][enabling-experiments] for more information. + +::: + +Currently, Task only supports string variables. This experiment allows you to +specify and use the following variable types: + +- `string` +- `bool` +- `int` +- `float` +- `array` +- `map` + +This allows you to have a lot more flexibility in how you use variables in +Task's templating engine. For example: + +Evaluating booleans: + +```yaml +version: 3 + +tasks: + foo: + vars: + BOOL: false + cmds: + - '{{if .BOOL}}echo foo{{end}}' +``` + +Arithmetic: + +```yaml +version: 3 + +tasks: + foo: + vars: + INT: 10 + FLOAT: 3.14159 + cmds: + - 'echo {{add .INT .FLOAT}}' +``` + +Ranging: + +```yaml +version: 3 + +tasks: + foo: + vars: + ARRAY: [1, 2, 3] + cmds: + - 'echo {{range .ARRAY}}{{.}}{{end}}' +``` + +There are many more templating functions which can be used with the new types of +variables. For a full list, see the [slim-sprig][slim-sprig] documentation. + +## Looping over variables + +Previously, you would have to use a delimiter separated string to loop over an +arbitrary list of items in a variable and split them by using the `split` subkey +to specify the delimiter: + +```yaml +version: 3 + +tasks: + foo: + vars: + LIST: 'foo,bar,baz' + cmds: + - for: + var: LIST + split: ',' + cmd: echo {{.ITEM}} +``` + +Because this experiment adds support for "collection-type" variables, the `for` +keyword has been updated to support looping over arrays directly: + +```yaml +version: 3 + +tasks: + foo: + vars: + LIST: [foo, bar, baz] + cmds: + - for: + var: LIST + cmd: echo {{.ITEM}} +``` + +This also works for maps. When looping over a map we also make an additional +`{{.KEY}}` variable availabe that holds the string value of the map key. +Remember that maps are unordered, so the order in which the items are looped +over is random: + +```yaml +version: 3 + +tasks: + foo: + vars: + MAP: + KEY_1: + SUBKEY: sub_value_1 + KEY_2: + SUBKEY: sub_value_2 + KEY_3: + SUBKEY: sub_value_3 + cmds: + - for: + var: MAP + cmd: echo {{.KEY}} {{.ITEM.SUBKEY}} +``` + +String splitting is still supported and remember that for simple cases, you have +always been able to loop over an array without using variables at all: + +```yaml +version: 3 + +tasks: + foo: + cmds: + - for: [foo, bar, baz] + cmd: echo {{.ITEM}} +``` + +## Migration + +Taskfiles with dynamically defined variables via the `sh` subkey will no longer +work with this experiment enabled. In order to keep using dynamically defined +variables, you will need to migrate your Taskfile to use the new syntax. + +Previously, you might have defined a dynamic variable like this: + +```yaml +version: 3 + +task: + foo: + vars: + CALCULATED_VAR: + sh: 'echo hello' + cmds: + - 'echo {{.CALCULATED_VAR}}' +``` + +With this experiment enabled, you will need to remove the `sh` subkey and define +your command as a string that begins with a `$`. This will instruct Task to +interpret the string as a command instead of a literal value and the variable +will be populated with the output of the command. For example: + +```yaml +version: 3 + +task: + foo: + vars: + CALCULATED_VAR: '$echo hello' + cmds: + - 'echo {{.CALCULATED_VAR}}' +``` + +If your current Taskfile contains a string variable that begins with a `$`, you +will now need to escape the `$` with a backslash (`\`) to stop Task from +executing it as a command. + + + +[enabling-experiments]: /experiments/#enabling-experiments + +[slim-sprig]: https://go-task.github.io/slim-sprig/ + + diff --git a/docs/i18n/es-ES/docusaurus-plugin-content-docs/current/experiments/experiments.md b/docs/i18n/es-ES/docusaurus-plugin-content-docs/current/experiments/experiments.md index b32a7570..b1a70473 100644 --- a/docs/i18n/es-ES/docusaurus-plugin-content-docs/current/experiments/experiments.md +++ b/docs/i18n/es-ES/docusaurus-plugin-content-docs/current/experiments/experiments.md @@ -15,14 +15,15 @@ In order to allow Task to evolve quickly, we roll out breaking changes to minor You can view a full list of active experiments in the "Experiments" section of the sidebar. -You can enable an experimental feature by: +## Enabling Experiments + +You can enable an experimental feature by doing one of the following: 1. Using the relevant environment variable in front of a task command. For example, `TASK_X_{FEATURE}=1 task {my-task}`. This is intended for one-off invocations of Task to test out experimental features. 1. Using the relevant environment variable in your "dotfiles" (e.g. `.bashrc`, `.zshrc` etc.). This is intended for permanently enabling experimental features in your environment. -1. Creating a `.env` file in the same directory as your root Taskfile that contains the relevant environment variables. e.g. +1. Creating a `.env` file in the same directory as your root Taskfile that contains the relevant environment variables. This allows you to enable an experimental feature at a project level. For example: -```shell -# .env +```shell title=".env" TASK_X_FEATURE=1 ``` diff --git a/docs/i18n/es-ES/docusaurus-plugin-content-docs/current/experiments/gentle_force.md b/docs/i18n/es-ES/docusaurus-plugin-content-docs/current/experiments/gentle_force.md index d1eada74..514602bb 100644 --- a/docs/i18n/es-ES/docusaurus-plugin-content-docs/current/experiments/gentle_force.md +++ b/docs/i18n/es-ES/docusaurus-plugin-content-docs/current/experiments/gentle_force.md @@ -2,12 +2,27 @@ slug: /experiments/gentle-force/ --- -# Gentle Force +# Gentle Force (#1200) -- Issue: [#1200][gentle-force-experiment] -- Environment variable: `TASK_X_FORCE=1` -- Breaks: - - `--force` flag +:::caution + +All experimental features are subject to breaking changes and/or removal _at any time_. We strongly recommend that you do not use these features in a production environment. They are intended for testing and feedback only. + +::: + +:::warning + +This experiment breaks the following functionality: + +- The `--force` flag + +::: + +:::info + +To enable this experiment, set the environment variable: `TASK_X_FORCE=1`. Check out [our guide to enabling experiments ][enabling-experiments] for more information. + +::: The `--force` flag currently forces _all_ tasks to run regardless of the status checks. This can be useful, but we have found that most of the time users only expect the direct task they are calling to be forced and _not_ all of its dependant tasks. @@ -18,4 +33,4 @@ If you want to migrate, but continue to force all dependant tasks to run, you sh -[gentle-force-experiment]: https://github.com/go-task/task/issues/1200 +[enabling-experiments]: /experiments/#enabling-experiments diff --git a/docs/i18n/es-ES/docusaurus-plugin-content-docs/current/experiments/remote_taskfiles.md b/docs/i18n/es-ES/docusaurus-plugin-content-docs/current/experiments/remote_taskfiles.md index 76d21173..73a934d8 100644 --- a/docs/i18n/es-ES/docusaurus-plugin-content-docs/current/experiments/remote_taskfiles.md +++ b/docs/i18n/es-ES/docusaurus-plugin-content-docs/current/experiments/remote_taskfiles.md @@ -2,10 +2,19 @@ slug: /experiments/remote-taskfiles/ --- -# Remote Taskfiles +# Remote Taskfiles (#1317) -- Issue: [#1317][remote-taskfiles-experiment] -- Environment variable: `TASK_X_REMOTE_TASKFILES=1` +:::caution + +All experimental features are subject to breaking changes and/or removal _at any time_. We strongly recommend that you do not use these features in a production environment. They are intended for testing and feedback only. + +::: + +:::info + +To enable this experiment, set the environment variable: `TASK_X_REMOTE_TASKFILES=1`. Check out [our guide to enabling experiments ][enabling-experiments] for more information. + +::: This experiment allows you to specify a remote Taskfile URL when including a Taskfile. For example: @@ -53,5 +62,5 @@ By default, Task will timeout requests to download remote files after 10 seconds -[remote-taskfiles-experiment]: https://github.com/go-task/task/issues/1317 +[enabling-experiments]: /experiments/#enabling-experiments [man-in-the-middle-attacks]: https://en.wikipedia.org/wiki/Man-in-the-middle_attack diff --git a/docs/i18n/es-ES/docusaurus-plugin-content-docs/current/experiments/template.md b/docs/i18n/es-ES/docusaurus-plugin-content-docs/current/experiments/template.md index 6ae94c06..59246cf5 100644 --- a/docs/i18n/es-ES/docusaurus-plugin-content-docs/current/experiments/template.md +++ b/docs/i18n/es-ES/docusaurus-plugin-content-docs/current/experiments/template.md @@ -6,15 +6,34 @@ sidebar_position: -1 #Always push to the top draft: true #Hide in production --- -# {Name of Experiment} +# \{Name of Experiment\} (#\{Issue\}) -- Issue: [#{issue}](https://github.com/go-task/task/issues/{issue}) -- Environment variable: `TASK_X_{feature}` -- Breaks: - - {list any existing functionality that will be broken by this experiment} -- Deprecations: - - {link to any deprecation pages related to this experiment} +:::caution -{Short description of the feature} +All experimental features are subject to breaking changes and/or removal _at any time_. We strongly recommend that you do not use these features in a production environment. They are intended for testing and feedback only. -{Short explanation of how users should migrate to the new behavior} +::: + +:::warning + +This experiment breaks the following functionality: + +- \{list any existing functionality that will be broken by this experiment\} +- \{if there are no breaking changes, remove this admonition\} + +::: + +:::info + +To enable this experiment, set the environment variable: `TASK_X_{feature}=1`. Check out [our guide to enabling experiments ][enabling-experiments] for more information. + +::: + +\{Short description of the feature\} + +\{Short explanation of how users should migrate to the new behavior\} + + + + +[enabling-experiments]: /experiments/#enabling-experiments diff --git a/docs/i18n/es-ES/docusaurus-plugin-content-docs/current/faq.md b/docs/i18n/es-ES/docusaurus-plugin-content-docs/current/faq.md index 5a9a3cc1..b6aa46f9 100644 --- a/docs/i18n/es-ES/docusaurus-plugin-content-docs/current/faq.md +++ b/docs/i18n/es-ES/docusaurus-plugin-content-docs/current/faq.md @@ -78,7 +78,7 @@ The default shell on Windows (`cmd` and `powershell`) do not have commands like We want to make improvements to this part of Task and the issues below track this work. Constructive comments and contributions are very welcome! -- [#197](https://github.com/go-task/task/issues/197) +- #197 - [mvdan/sh#93](https://github.com/mvdan/sh/issues/93) - [mvdan/sh#97](https://github.com/mvdan/sh/issues/97) diff --git a/docs/i18n/es-ES/docusaurus-plugin-content-docs/current/integrations.md b/docs/i18n/es-ES/docusaurus-plugin-content-docs/current/integrations.md index 5d3f835a..873da703 100644 --- a/docs/i18n/es-ES/docusaurus-plugin-content-docs/current/integrations.md +++ b/docs/i18n/es-ES/docusaurus-plugin-content-docs/current/integrations.md @@ -24,7 +24,7 @@ To get autocompletion and validation for your Taskfile, see the [Schema](#schema ## Schema -This was initially created by [@KROSF](https://github.com/KROSF) in [this Gist](https://gist.github.com/KROSF/c5435acf590acd632f71bb720f685895) and is now officially maintained in [this file](https://github.com/go-task/task/blob/main/docs/static/schema.json) and made available at https://taskfile.dev/schema.json. This schema can be used to validate Taskfiles and provide autocompletion in many code editors: +This was initially created by @KROSF in [this Gist](https://gist.github.com/KROSF/c5435acf590acd632f71bb720f685895) and is now officially maintained in [this file](https://github.com/go-task/task/blob/main/docs/static/schema.json) and made available at https://taskfile.dev/schema.json. This schema can be used to validate Taskfiles and provide autocompletion in many code editors: ### Visual Studio Code @@ -55,8 +55,8 @@ You can find more information on this in the [YAML language server project](http In addition to our official integrations, there is an amazing community of developers who have created their own integrations for Task: -- [Sublime Text Plugin](https://packagecontrol.io/packages/Taskfile) [[source](https://github.com/biozz/sublime-taskfile)] by [@biozz](https://github.com/biozz) -- [IntelliJ Plugin](https://plugins.jetbrains.com/plugin/17058-taskfile) [[source](https://github.com/lechuckroh/task-intellij-plugin)] by [@lechuckroh](https://github.com/lechuckroh) +- [Sublime Text Plugin](https://packagecontrol.io/packages/Taskfile) [[source](https://github.com/biozz/sublime-taskfile)] by @biozz +- [IntelliJ Plugin](https://plugins.jetbrains.com/plugin/17058-taskfile) [[source](https://github.com/lechuckroh/task-intellij-plugin)] by @lechuckroh - [mk](https://github.com/pycontribs/mk) command line tool recognizes Taskfiles natively. If you have made something that integrates with Task, please feel free to open a PR to add it to this list. diff --git a/docs/i18n/es-ES/docusaurus-plugin-content-docs/current/intro.md b/docs/i18n/es-ES/docusaurus-plugin-content-docs/current/intro.md index 783f91c3..c06c1cf3 100644 --- a/docs/i18n/es-ES/docusaurus-plugin-content-docs/current/intro.md +++ b/docs/i18n/es-ES/docusaurus-plugin-content-docs/current/intro.md @@ -14,7 +14,7 @@ Task is a task runner / build tool that aims to be simpler and easier to use tha Since it's written in [Go][go], Task is just a single binary and has no other dependencies, which means you don't need to mess with any complicated install setups just to use a build tool. -Once [installed](installation.md), you just need to describe your build tasks using a simple [YAML][yaml] schema in a file called `Taskfile.yml`: +Once [installed](/installation), you just need to describe your build tasks using a simple [YAML][yaml] schema in a file called `Taskfile.yml`: ```yaml title="Taskfile.yml" version: '3' @@ -32,8 +32,8 @@ The above example is just the start, you can take a look at the [usage](/usage) ## Features -- [Easy installation](installation.md): just download a single binary, add to `$PATH` and you're done! Or you can also install using [Homebrew][homebrew], [Snapcraft][snapcraft], or [Scoop][scoop] if you want. -- Available on CIs: by adding [this simple command](installation.md#install-script) to install on your CI script and you're ready to use Task as part of your CI pipeline; +- [Easy installation](/installation): just download a single binary, add to `$PATH` and you're done! Or you can also install using [Homebrew][homebrew], [Snapcraft][snapcraft], or [Scoop][scoop] if you want. +- Available on CIs: by adding [this simple command](/installation#install-script) to install on your CI script and you're ready to use Task as part of your CI pipeline; - Truly cross-platform: while most build tools only work well on Linux or macOS, Task also supports Windows thanks to [this shell interpreter for Go][sh]. - Great for code generation: you can easily [prevent a task from running](/usage#prevent-unnecessary-work) if a given set of files haven't changed since last run (based either on its timestamp or content). diff --git a/docs/i18n/es-ES/docusaurus-plugin-content-docs/current/styleguide.md b/docs/i18n/es-ES/docusaurus-plugin-content-docs/current/styleguide.md index a310d561..753477a4 100644 --- a/docs/i18n/es-ES/docusaurus-plugin-content-docs/current/styleguide.md +++ b/docs/i18n/es-ES/docusaurus-plugin-content-docs/current/styleguide.md @@ -9,19 +9,6 @@ This is the official Task styleguide for `Taskfile.yml` files. This guide contai This contains general guidelines, but they don't necessarily need to be strictly followed. Feel free to disagree and proceed differently at some point if you need or want to. Also, feel free to open issues or pull requests with improvements to this guide. -## Use `Taskfile.yml` and not `taskfile.yml` - -```yaml -# bad -taskfile.yml - - -# good -Taskfile.yml -``` - -This is important especially for Linux users. Windows and macOS have case insensitive filesystems, so `taskfile.yml` will end up working, even that not officially supported. On Linux, only `Taskfile.yml` will work, though. - ## Use the correct order of keywords - `version:` diff --git a/docs/i18n/es-ES/docusaurus-plugin-content-docs/current/taskfile_versions.md b/docs/i18n/es-ES/docusaurus-plugin-content-docs/current/taskfile_versions.md index 1c9b552e..aaa1ab71 100644 --- a/docs/i18n/es-ES/docusaurus-plugin-content-docs/current/taskfile_versions.md +++ b/docs/i18n/es-ES/docusaurus-plugin-content-docs/current/taskfile_versions.md @@ -69,7 +69,7 @@ tasks: :::caution -v2 schema support is [deprecated][deprecate-version-2-schema] and will be removed in a future release. +v2 schemas are [no longer supported by the latest version of Task][deprecate-version-2-schema]. ::: @@ -92,7 +92,7 @@ Please check the [documentation][includes] :::caution -v2 schema support is [deprecated][deprecate-version-2-schema] and will be removed in a future release. +v2 schemas are [no longer supported by the latest version of Task][deprecate-version-2-schema]. ::: @@ -110,7 +110,7 @@ includes: :::caution -v2 schema support is [deprecated][deprecate-version-2-schema] and will be removed in a future release. +v2 schemas are [no longer supported by the latest version of Task][deprecate-version-2-schema]. ::: @@ -151,7 +151,7 @@ tasks: :::caution -v2 schema support is [deprecated][deprecate-version-2-schema] and will be removed in a future release. +v2 schemas are [no longer supported by the latest version of Task][deprecate-version-2-schema]. ::: @@ -234,7 +234,7 @@ The variable priority order was also different: -[output]: usage.md#output-syntax -[ignore_errors]: usage.md#ignore-errors -[includes]: usage.md#including-other-taskfiles -[deprecate-version-2-schema]: https://github.com/go-task/task/issues/1197 +[deprecate-version-2-schema]: /deprecations/version-2-schema/ +[output]: /usage#output-syntax +[ignore_errors]: /usage#ignore-errors +[includes]: /usage#including-other-taskfiles diff --git a/docs/i18n/es-ES/docusaurus-plugin-content-docs/current/usage.md b/docs/i18n/es-ES/docusaurus-plugin-content-docs/current/usage.md index f6354bc5..0691dc63 100644 --- a/docs/i18n/es-ES/docusaurus-plugin-content-docs/current/usage.md +++ b/docs/i18n/es-ES/docusaurus-plugin-content-docs/current/usage.md @@ -1298,7 +1298,7 @@ tasks: task: "This is a dangerous command... Do you want to continue?" [y/N] ``` -Warning prompts are called before executing a task. If a prompt is denied Task will exit with [exit code](api_reference.md#exit-codes) 205. If approved, Task will continue as normal. +Warning prompts are called before executing a task. If a prompt is denied Task will exit with [exit code](/api#exit-codes) 205. If approved, Task will continue as normal. ```bash ❯ task example diff --git a/docs/i18n/fr-FR/docusaurus-plugin-content-blog/2023-09-02-introducing-experiments.md b/docs/i18n/fr-FR/docusaurus-plugin-content-blog/2023-09-02-introducing-experiments.md index 3c358a4e..42d99117 100644 --- a/docs/i18n/fr-FR/docusaurus-plugin-content-blog/2023-09-02-introducing-experiments.md +++ b/docs/i18n/fr-FR/docusaurus-plugin-content-blog/2023-09-02-introducing-experiments.md @@ -36,7 +36,7 @@ None of this would have been possible without the [150 or so (and growing) contr [![Star History Chart](https://api.star-history.com/svg?repos=go-task/task&type=Date)](https://star-history.com/#go-task/task&Date) -## What's next? :thinking_face: +## What's next? :thinking: It's extremely motivating to see so many people using and loving Task. However, in this time we've also seen an increase in the number of issues and feature requests. In particular, issues that require some kind of breaking change to Task. This isn't a bad thing, but as we grow we need to be more responsible about how we address these changes in a way that ensures stability and compatibility for existing users and their Taskfiles. @@ -46,7 +46,7 @@ At this point you're probably thinking something like: And you'd be right... sort of. In theory, this sounds great, but the reality is that we don't have the time to commit to a major overhaul of Task in one big bang release. This would require a colossal amount of time and coordination and with full time jobs and personal lives to tend to, this is a difficult commitment to make. Smaller, more frequent major releases are also a significant inconvenience for users as they have to constantly keep up-to-date with our breaking changes. Fortunately, there is a better way. -## What's going to change? :face_with_monocle: +## What's going to change? :monocle: Going forwards, breaking changes will be allowed into _minor_ versions of Task as "experimental features". To access these features users will need opt-in by enabling feature flags. This will allow us to release new features slowly and gather feedback from the community before making them the default behavior in a future major release. @@ -62,7 +62,7 @@ When v4 is released, we will continue to support v3 for a period of time (bug fi ## v4 When? :eyes: -:shrug: When it's ready. +:man_shrugging: When it's ready. In all seriousness, we don't have a timeline for this yet. We'll be working on the most serious deficiencies of the v3 API first and regularly evaluating the state of the project. When we feel its in a good, stable place and we have a clear upgrade path for users and a number of stable experiments, we'll start to think about v4. diff --git a/docs/i18n/fr-FR/docusaurus-plugin-content-docs/current/api_reference.md b/docs/i18n/fr-FR/docusaurus-plugin-content-docs/current/api_reference.md index c342875e..08cc7511 100644 --- a/docs/i18n/fr-FR/docusaurus-plugin-content-docs/current/api_reference.md +++ b/docs/i18n/fr-FR/docusaurus-plugin-content-docs/current/api_reference.md @@ -120,6 +120,7 @@ There are some special variables that is available on the templating system: | Var | Description | | ------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------- | | `CLI_ARGS` | Contain all extra arguments passed after `--` when calling Task through the CLI. | +| `CLI_FORCE` | A boolean containing whether the `--force` or `--force-all` flags were set. | | `TASK` | The name of the current task. | | `ROOT_DIR` | The absolute path of the root Taskfile. | | `TASKFILE_DIR` | The absolute path of the included Taskfile. | diff --git a/docs/i18n/fr-FR/docusaurus-plugin-content-docs/current/changelog.md b/docs/i18n/fr-FR/docusaurus-plugin-content-docs/current/changelog.md index a5c20b20..628d35e1 100644 --- a/docs/i18n/fr-FR/docusaurus-plugin-content-docs/current/changelog.md +++ b/docs/i18n/fr-FR/docusaurus-plugin-content-docs/current/changelog.md @@ -5,435 +5,469 @@ sidebar_position: 14 # Changelog +## v3.33.1 - 2023-12-21 + +- Added support for looping over map variables with the [Any Variables experiment](https://taskfile.dev/experiments/any_variables) enabled (#1435, #1437 by @pd93). +- Fixed a bug where dynamic variables were causing errors during fast compilation (#1435, #1437 by @pd93) + +## v3.33.0 - 2023-12-20 + +- Added [Any Variables experiment](https://taskfile.dev/experiments/any-variables) (#1415, #1421 by @pd93). +- Updated Docusaurus to v3 (#1432 by @pd93). +- Added `aliases` to `--json` flag output (#1430, #1431 by @pd93). +- Added new `CLI_FORCE` special variable containing whether the `--force` or `--force-all` flags were set (#1412, #1434 by @pd93). + ## v3.32.0 - 2023-11-29 -- Added ability to exclude some files from `sources:` by using `exclude:` ([#225](https://github.com/go-task/task/issues/225), [#1324](https://github.com/go-task/task/issues/1324) by [@pd93](https://github.com/pd93) and [@andreynering](https://github.com/andreynering)). -- The [Remote Taskfiles experiment](https://taskfile.dev/experiments/remote-taskfiles) now prefers remote files over cached ones by default ([#1317](https://github.com/go-task/task/issues/1317), [#1345](https://github.com/go-task/task/issues/1345) by [@pd93](https://github.com/pd93)). -- Added `--timeout` flag to the [Remote Taskfiles experiment](https://taskfile.dev/experiments/remote-taskfiles) ([#1317](https://github.com/go-task/task/issues/1317), [#1345](https://github.com/go-task/task/issues/1345) by [@pd93](https://github.com/pd93)). -- Fix bug where dynamic `vars:` and `env:` were being executed when they should actually be skipped by `platforms:` ([#1273](https://github.com/go-task/task/issues/1273), [#1377](https://github.com/go-task/task/issues/1377) by [@andreynering](https://github.com/andreynering)). -- Fix `schema.json` to make `silent` valid in `cmds` that use `for` ([#1385](https://github.com/go-task/task/issues/1385), [#1386](https://github.com/go-task/task/issues/1386) by [@iainvm](https://github.com/iainvm)). -- Add new `--no-status` flag to skip expensive status checks when running `task --list --json` ([#1348](https://github.com/go-task/task/issues/1348), [#1368](https://github.com/go-task/task/issues/1368) by [@amancevice](https://github.com/amancevice)). +- Added ability to exclude some files from `sources:` by using `exclude:` (#225, + + # 1324 by @pd93 and @andreynering). +- The [Remote Taskfiles experiment](https://taskfile.dev/experiments/remote-taskfiles) now prefers remote files over cached ones by default (#1317, #1345 by @pd93). +- Added `--timeout` flag to the [Remote Taskfiles experiment](https://taskfile.dev/experiments/remote-taskfiles) (#1317, #1345 by @pd93). +- Fix bug where dynamic `vars:` and `env:` were being executed when they should actually be skipped by `platforms:` (#1273, #1377 by @andreynering). +- Fix `schema.json` to make `silent` valid in `cmds` that use `for` (#1385, + + # 1386 by @iainvm). +- Add new `--no-status` flag to skip expensive status checks when running `task --list --json` (#1348, #1368 by @amancevice). ## v3.31.0 - 2023-10-07 -- Enabled the `--yes` flag for the [Remote Taskfiles experiment](https://taskfile.dev/experiments/remote-taskfiles) ([#1317](https://github.com/go-task/task/issues/1317), [#1344](https://github.com/go-task/task/issues/1344) by [@pd93](https://github.com/pd93)). -- Add ability to set `watch: true` in a task to automatically run it in watch mode ([#231](https://github.com/go-task/task/issues/231), [#1361](https://github.com/go-task/task/issues/1361) by [@andreynering](https://github.com/andreynering)). -- Fixed a bug on the watch mode where paths that contained `.git` (like `.github`), for example, were also being ignored ([#1356](https://github.com/go-task/task/issues/1356) by [@butuzov](https://github.com/butuzov)). -- Fixed a nil pointer error when running a Taskfile with no contents ([#1341](https://github.com/go-task/task/issues/1341), [#1342](https://github.com/go-task/task/issues/1342) by [@pd93](https://github.com/pd93)). -- Added a new [exit code](https://taskfile.dev/api/#exit-codes) (107) for when a Taskfile does not contain a schema version ([#1342](https://github.com/go-task/task/issues/1342) by [@pd93](https://github.com/pd93)). -- Increased limit of maximum task calls from 100 to 1000 for now, as some people have been reaching this limit organically now that we have loops. This check exists to detect recursive calls, but will be removed in favor of a better algorithm soon ([#1321](https://github.com/go-task/task/issues/1321), [#1332](https://github.com/go-task/task/issues/1332)). -- Fixed templating on descriptions on `task --list` ([#1343](https://github.com/go-task/task/issues/1343) by [@blackjid](https://github.com/blackjid)). -- Fixed a bug where precondition errors were incorrectly being printed when task execution was aborted ([#1337](https://github.com/go-task/task/issues/1337), [#1338](https://github.com/go-task/task/issues/1338) by [@sylv](https://github.com/sylv)-io). +- Enabled the `--yes` flag for the [Remote Taskfiles experiment](https://taskfile.dev/experiments/remote-taskfiles) (#1317, #1344 by @pd93). +- Add ability to set `watch: true` in a task to automatically run it in watch mode (#231, #1361 by @andreynering). +- Fixed a bug on the watch mode where paths that contained `.git` (like `.github`), for example, were also being ignored (#1356 by @butuzov). +- Fixed a nil pointer error when running a Taskfile with no contents (#1341, + + # 1342 by @pd93). +- Added a new [exit code](https://taskfile.dev/api/#exit-codes) (107) for when a Taskfile does not contain a schema version (#1342 by @pd93). +- Increased limit of maximum task calls from 100 to 1000 for now, as some people have been reaching this limit organically now that we have loops. This check exists to detect recursive calls, but will be removed in favor of a better algorithm soon (#1321, #1332). +- Fixed templating on descriptions on `task --list` (#1343 by @blackjid). +- Fixed a bug where precondition errors were incorrectly being printed when task execution was aborted (#1337, #1338 by @sylv-io). ## v3.30.1 - 2023-09-14 -- Fixed a regression where some special variables weren't being set correctly ([#1331](https://github.com/go-task/task/issues/1331), [#1334](https://github.com/go-task/task/issues/1334) by [@pd93](https://github.com/pd93)). +- Fixed a regression where some special variables weren't being set correctly (#1331, #1334 by @pd93). ## v3.30.0 - 2023-09-13 -- Prep work for Remote Taskfiles ([#1316](https://github.com/go-task/task/issues/1316) by [@pd93](https://github.com/pd93)). -- Added the [Remote Taskfiles experiment](https://taskfile.dev/experiments/remote-taskfiles) as a draft ([#1152](https://github.com/go-task/task/issues/1152), [#1317](https://github.com/go-task/task/issues/1317) by [@pd93](https://github.com/pd93)). -- Improve performance of content checksuming on `sources:` by replacing md5 with [XXH3](https://xxhash.com/) which is much faster. This is a soft breaking change because checksums will be invalidated when upgrading to this release ([#1325](https://github.com/go-task/task/issues/1325) by [@ReillyBrogan](https://github.com/ReillyBrogan)). +- Prep work for Remote Taskfiles (#1316 by @pd93). +- Added the [Remote Taskfiles experiment](https://taskfile.dev/experiments/remote-taskfiles) as a draft (#1152, #1317 by @pd93). +- Improve performance of content checksuming on `sources:` by replacing md5 with [XXH3](https://xxhash.com/) which is much faster. This is a soft breaking change because checksums will be invalidated when upgrading to this release (#1325 by @ReillyBrogan). ## v3.29.1 - 2023-08-26 -- Update to Go 1.21 (bump minimum version to 1.20) ([#1302](https://github.com/go-task/task/issues/1302) by [@pd93](https://github.com/pd93)) -- Fix a missing a line break on log when using `--watch` mode ([#1285](https://github.com/go-task/task/issues/1285), [#1297](https://github.com/go-task/task/issues/1297) by [@FilipSolich](https://github.com/FilipSolich)). -- Fix `defer` on JSON Schema ([#1288](https://github.com/go-task/task/issues/1288) by [@calvinmclean](https://github.com/calvinmclean) and [@andreynering](https://github.com/andreynering)). -- Fix bug in usage of special variables like `{{.USER_WORKING_DIR}}` in combination with `includes` ([#1046](https://github.com/go-task/task/issues/1046), [#1205](https://github.com/go-task/task/issues/1205), [#1250](https://github.com/go-task/task/issues/1250), [#1293](https://github.com/go-task/task/issues/1293), [#1312](https://github.com/go-task/task/issues/1312), [#1274](https://github.com/go-task/task/issues/1274) by [@andarto](https://github.com/andarto), [#1309](https://github.com/go-task/task/issues/1309) by [@andreynering](https://github.com/andreynering)). -- Fix bug on `--status` flag. Running this flag should not have side-effects: it should not update the checksum on `.task`, only report its status ([#1305](https://github.com/go-task/task/issues/1305), [#1307](https://github.com/go-task/task/issues/1307) by [@visciang](https://github.com/visciang), [#1313](https://github.com/go-task/task/issues/1313) by [@andreynering](https://github.com/andreynering)). +- Update to Go 1.21 (bump minimum version to 1.20) (#1302 by @pd93) +- Fix a missing a line break on log when using `--watch` mode (#1285, #1297 by @FilipSolich). +- Fix `defer` on JSON Schema (#1288 by @calvinmclean and @andreynering). +- Fix bug in usage of special variables like `{{.USER_WORKING_DIR}}` in combination with `includes` (#1046, #1205, #1250, #1293, #1312, #1274 by @andarto, #1309 by @andreynering). +- Fix bug on `--status` flag. Running this flag should not have side-effects: it should not update the checksum on `.task`, only report its status (#1305, + + # 1307 by @visciang, #1313 by @andreynering). ## v3.28.0 - 2023-07-24 -- Added the ability to [loop over commands and tasks](https://taskfile.dev/usage/#looping-over-values) using `for` ([#82](https://github.com/go-task/task/issues/82), [#1220](https://github.com/go-task/task/issues/1220) by [@pd93](https://github.com/pd93)). -- Fixed variable propagation in multi-level includes ([#778](https://github.com/go-task/task/issues/778), [#996](https://github.com/go-task/task/issues/996), [#1256](https://github.com/go-task/task/issues/1256) by [@hudclark](https://github.com/hudclark)). -- Fixed a bug where the `--exit-code` code flag was not returning the correct exit code when calling commands indirectly ([#1266](https://github.com/go-task/task/issues/1266), [#1270](https://github.com/go-task/task/issues/1270) by [@pd93](https://github.com/pd93)). -- Fixed a `nil` panic when a dependency was commented out or left empty ([#1263](https://github.com/go-task/task/issues/1263) by [@neomantra](https://github.com/neomantra)). +- Added the ability to [loop over commands and tasks](https://taskfile.dev/usage/#looping-over-values) using `for` (#82, #1220 by @pd93). +- Fixed variable propagation in multi-level includes (#778, #996, #1256 by @hudclark). +- Fixed a bug where the `--exit-code` code flag was not returning the correct exit code when calling commands indirectly (#1266, #1270 by @pd93). +- Fixed a `nil` panic when a dependency was commented out or left empty (#1263 by @neomantra). ## v3.27.1 - 2023-06-30 -- Fix panic when a `.env` directory (not file) is present on current directory ([#1244](https://github.com/go-task/task/issues/1244), [#1245](https://github.com/go-task/task/issues/1245) by [@pd93](https://github.com/pd93)). +- Fix panic when a `.env` directory (not file) is present on current directory (#1244, #1245 by @pd93). ## v3.27.0 - 2023-06-29 -- Allow Taskfiles starting with lowercase characters ([#947](https://github.com/go-task/task/issues/947), [#1221](https://github.com/go-task/task/issues/1221) by [@pd93](https://github.com/pd93)). +- Allow Taskfiles starting with lowercase characters (#947, #1221 by @pd93). - e.g. `taskfile.yml`, `taskfile.yaml`, `taskfile.dist.yml` & `taskfile.dist.yaml` -- Bug fixes were made to the [npm installation method](https://taskfile.dev/installation/#npm). ([#1190](https://github.com/go-task/task/issues/1190), by [@sounisi5011](https://github.com/sounisi5011)). -- Added the [gentle force experiment](https://taskfile.dev/experiments/gentle-force) as a draft ([#1200](https://github.com/go-task/task/issues/1200), [#1216](https://github.com/go-task/task/issues/1216) by [@pd93](https://github.com/pd93)). -- Added an `--experiments` flag to allow you to see which experiments are enabled ([#1242](https://github.com/go-task/task/issues/1242) by [@pd93](https://github.com/pd93)). -- Added ability to specify which variables are required in a task ([#1203](https://github.com/go-task/task/issues/1203), [#1204](https://github.com/go-task/task/issues/1204) by [@benc](https://github.com/benc)-uk). +- Bug fixes were made to the [npm installation method](https://taskfile.dev/installation/#npm). (#1190, by @sounisi5011). +- Added the [gentle force experiment](https://taskfile.dev/experiments/gentle-force) as a draft (#1200, #1216 by @pd93). +- Added an `--experiments` flag to allow you to see which experiments are enabled (#1242 by @pd93). +- Added ability to specify which variables are required in a task (#1203, #1204 by @benc-uk). ## v3.26.0 - 2023-06-10 -- Only rewrite checksum files in `.task` if the checksum has changed ([#1185](https://github.com/go-task/task/issues/1185), [#1194](https://github.com/go-task/task/issues/1194) by [@deviantintegral](https://github.com/deviantintegral)). -- Added [experiments documentation](https://taskfile.dev/experiments) to the website ([#1198](https://github.com/go-task/task/issues/1198) by [@pd93](https://github.com/pd93)). -- Deprecated `version: 2` schema. This will be removed in the next major release ([#1197](https://github.com/go-task/task/issues/1197), [#1198](https://github.com/go-task/task/issues/1198), [#1199](https://github.com/go-task/task/issues/1199) by [@pd93](https://github.com/pd93)). -- Added a new `prompt:` prop to set a warning prompt to be shown before running a potential dangurous task ([#100](https://github.com/go-task/task/issues/100), [#1163](https://github.com/go-task/task/issues/1163) by [@MaxCheetham](https://github.com/MaxCheetham), [Documentation](https://taskfile.dev/usage/#warning-prompts)). -- Added support for single command task syntax. With this change, it's now possible to declare just `cmd:` in a task, avoiding the more complex `cmds: []` when you have only a single command for that task ([#1130](https://github.com/go-task/task/issues/1130), [#1131](https://github.com/go-task/task/issues/1131) by [@timdp](https://github.com/timdp)). +- Only rewrite checksum files in `.task` if the checksum has changed (#1185, + + # 1194 by @deviantintegral). +- Added [experiments documentation](https://taskfile.dev/experiments) to the website (#1198 by @pd93). +- Deprecated `version: 2` schema. This will be removed in the next major release (#1197, #1198, #1199 by @pd93). +- Added a new `prompt:` prop to set a warning prompt to be shown before running a potential dangurous task (#100, #1163 by @MaxCheetham, [Documentation](https://taskfile.dev/usage/#warning-prompts)). +- Added support for single command task syntax. With this change, it's now possible to declare just `cmd:` in a task, avoiding the more complex `cmds: []` when you have only a single command for that task (#1130, #1131 by @timdp). ## v3.25.0 - 2023-05-22 -- Support `silent:` when calling another tasks ([#680](https://github.com/go-task/task/issues/680), [#1142](https://github.com/go-task/task/issues/1142) by [@danquah](https://github.com/danquah)). -- Improve PowerShell completion script ([#1168](https://github.com/go-task/task/issues/1168) by [@trim21](https://github.com/trim21)). -- Add more languages to the website menu and show translation progress percentage ([#1173](https://github.com/go-task/task/issues/1173) by [@misitebao](https://github.com/misitebao)). -- Starting on this release, official binaries for FreeBSD will be available to download ([#1068](https://github.com/go-task/task/issues/1068) by [@andreynering](https://github.com/andreynering)). -- Fix some errors being unintendedly supressed ([#1134](https://github.com/go-task/task/issues/1134) by [@clintmod](https://github.com/clintmod)). -- Fix a nil pointer error when `version` is omitted from a Taskfile ([#1148](https://github.com/go-task/task/issues/1148), [#1149](https://github.com/go-task/task/issues/1149) by [@pd93](https://github.com/pd93)). -- Fix duplicate error message when a task does not exists ([#1141](https://github.com/go-task/task/issues/1141), [#1144](https://github.com/go-task/task/issues/1144) by [@pd93](https://github.com/pd93)). +- Support `silent:` when calling another tasks (#680, #1142 by @danquah). +- Improve PowerShell completion script (#1168 by @trim21). +- Add more languages to the website menu and show translation progress percentage (#1173 by @misitebao). +- Starting on this release, official binaries for FreeBSD will be available to download (#1068 by @andreynering). +- Fix some errors being unintendedly supressed (#1134 by @clintmod). +- Fix a nil pointer error when `version` is omitted from a Taskfile (#1148, + + # 1149 by @pd93). +- Fix duplicate error message when a task does not exists (#1141, #1144 by @pd93). ## v3.24.0 - 2023-04-15 -- Fix Fish shell completion for tasks with aliases ([#1113](https://github.com/go-task/task/issues/1113) by [@patricksjackson](https://github.com/patricksjackson)). -- The default branch was renamed from `master` to `main` ([#1049](https://github.com/go-task/task/issues/1049), [#1048](https://github.com/go-task/task/issues/1048) by [@pd93](https://github.com/pd93)). -- Fix bug where "up-to-date" logs were not being omitted for silent tasks ([#546](https://github.com/go-task/task/issues/546), [#1107](https://github.com/go-task/task/issues/1107) by [@danquah](https://github.com/danquah)). -- Add `.hg` (Mercurial) to the list of ignored directories when using `--watch` ([#1098](https://github.com/go-task/task/issues/1098) by [@misery](https://github.com/misery)). -- More improvements to the release tool ([#1096](https://github.com/go-task/task/issues/1096) by [@pd93](https://github.com/pd93)). -- Enforce [gofumpt](https://github.com/mvdan/gofumpt) linter ([#1099](https://github.com/go-task/task/issues/1099) by [@pd93](https://github.com/pd93)) -- Add `--sort` flag for use with `--list` and `--list-all` ([#946](https://github.com/go-task/task/issues/946), [#1105](https://github.com/go-task/task/issues/1105) by [@pd93](https://github.com/pd93)). -- Task now has [custom exit codes](https://taskfile.dev/api/#exit-codes) depending on the error ([#1114](https://github.com/go-task/task/issues/1114) by [@pd93](https://github.com/pd93)). +- Fix Fish shell completion for tasks with aliases (#1113 by @patricksjackson). +- The default branch was renamed from `master` to `main` (#1049, #1048 by @pd93). +- Fix bug where "up-to-date" logs were not being omitted for silent tasks (#546, + + # 1107 by @danquah). +- Add `.hg` (Mercurial) to the list of ignored directories when using `--watch` (#1098 by @misery). +- More improvements to the release tool (#1096 by @pd93). +- Enforce [gofumpt](https://github.com/mvdan/gofumpt) linter (#1099 by @pd93) +- Add `--sort` flag for use with `--list` and `--list-all` (#946, #1105 by @pd93). +- Task now has [custom exit codes](https://taskfile.dev/api/#exit-codes) depending on the error (#1114 by @pd93). ## v3.23.0 - 2023-03-26 -Task now has an [official extension for Visual Studio Code](https://marketplace.visualstudio.com/items?itemName=task.vscode-task) contributed by [@pd93](https://github.com/pd93)! :tada: The extension is maintained in a [new repository](https://github.com/go-task/vscode-task) under the `go-task` organization. We're looking to gather feedback from the community so please give it a go and let us know what you think via a [discussion](https://github.com/go-task/vscode-task/discussions), [issue](https://github.com/go-task/vscode-task/issues) or on our [Discord](https://discord.gg/6TY36E39UK)! +Task now has an [official extension for Visual Studio Code](https://marketplace.visualstudio.com/items?itemName=task.vscode-task) contributed by @pd93! :tada: The extension is maintained in a [new repository](https://github.com/go-task/vscode-task) under the `go-task` organization. We're looking to gather feedback from the community so please give it a go and let us know what you think via a [discussion](https://github.com/go-task/vscode-task/discussions), [issue](https://github.com/go-task/vscode-task/issues) or on our [Discord](https://discord.gg/6TY36E39UK)! > **NOTE:** The extension _requires_ v3.23.0 to be installed in order to work. -- The website was integrated with [Crowdin](https://crowdin.com/project/taskfile) to allow the community to contribute with translations! [Chinese](https://taskfile.dev/zh-Hans/) is the first language available ([#1057](https://github.com/go-task/task/issues/1057), [#1058](https://github.com/go-task/task/issues/1058) by [@misitebao](https://github.com/misitebao)). -- Added task location data to the `--json` flag output ([#1056](https://github.com/go-task/task/issues/1056) by [@pd93](https://github.com/pd93)) -- Change the name of the file generated by `task --init` from `Taskfile.yaml` to `Taskfile.yml` ([#1062](https://github.com/go-task/task/issues/1062) by [@misitebao](https://github.com/misitebao)). -- Added new `splitArgs` template function (`{{splitArgs "foo bar 'foo bar baz'"}}`) to ensure string is split as arguments ([#1040](https://github.com/go-task/task/issues/1040), [#1059](https://github.com/go-task/task/issues/1059) by [@dhanusaputra](https://github.com/dhanusaputra)). -- Fix the value of `{{.CHECKSUM}}` variable in status ([#1076](https://github.com/go-task/task/issues/1076), [#1080](https://github.com/go-task/task/issues/1080) by [@pd93](https://github.com/pd93)). -- Fixed deep copy implementation ([#1072](https://github.com/go-task/task/issues/1072) by [@pd93](https://github.com/pd93)) -- Created a tool to assist with releases ([#1086](https://github.com/go-task/task/issues/1086) by [@pd93](https://github.com/pd93)). +- The website was integrated with [Crowdin](https://crowdin.com/project/taskfile) to allow the community to contribute with translations! [Chinese](https://taskfile.dev/zh-Hans/) is the first language available (#1057, #1058 by @misitebao). +- Added task location data to the `--json` flag output (#1056 by @pd93) +- Change the name of the file generated by `task --init` from `Taskfile.yaml` to `Taskfile.yml` (#1062 by @misitebao). +- Added new `splitArgs` template function (`{{splitArgs "foo bar 'foo bar baz'"}}`) to ensure string is split as arguments (#1040, #1059 by @dhanusaputra). +- Fix the value of `{{.CHECKSUM}}` variable in status (#1076, #1080 by @pd93). +- Fixed deep copy implementation (#1072 by @pd93) +- Created a tool to assist with releases (#1086 by @pd93). ## v3.22.0 - 2023-03-10 -- Add a brand new `--global` (`-g`) flag that will run a Taskfile from your `$HOME` directory. This is useful to have automation that you can run from anywhere in your system! ([Documentation](https://taskfile.dev/usage/#running-a-global-taskfile), [#1029](https://github.com/go-task/task/issues/1029) by [@andreynering](https://github.com/andreynering)). -- Add ability to set `error_only: true` on the `group` output mode. This will instruct Task to only print a command output if it returned with a non-zero exit code ([#664](https://github.com/go-task/task/issues/664), [#1022](https://github.com/go-task/task/issues/1022) by [@jaedle](https://github.com/jaedle)). -- Fixed bug where `.task/checksum` file was sometimes not being created when task also declares a `status:` ([#840](https://github.com/go-task/task/issues/840), [#1035](https://github.com/go-task/task/issues/1035) by [@harelwa](https://github.com/harelwa), [#1037](https://github.com/go-task/task/issues/1037) by [@pd93](https://github.com/pd93)). -- Refactored and decoupled fingerprinting from the main Task executor ([#1039](https://github.com/go-task/task/issues/1039) by [@pd93](https://github.com/pd93)). -- Fixed deadlock issue when using `run: once` ([#715](https://github.com/go-task/task/issues/715), [#1025](https://github.com/go-task/task/issues/1025) by [@theunrepentantgeek](https://github.com/theunrepentantgeek)). +- Add a brand new `--global` (`-g`) flag that will run a Taskfile from your `$HOME` directory. This is useful to have automation that you can run from anywhere in your system! ([Documentation](https://taskfile.dev/usage/#running-a-global-taskfile), #1029 by @andreynering). +- Add ability to set `error_only: true` on the `group` output mode. This will instruct Task to only print a command output if it returned with a non-zero exit code (#664, #1022 by @jaedle). +- Fixed bug where `.task/checksum` file was sometimes not being created when task also declares a `status:` (#840, #1035 by @harelwa, #1037 by @pd93). +- Refactored and decoupled fingerprinting from the main Task executor (#1039 by @pd93). +- Fixed deadlock issue when using `run: once` (#715, #1025 by @theunrepentantgeek). ## v3.21.0 - 2023-02-22 -- Added new `TASK_VERSION` special variable ([#990](https://github.com/go-task/task/issues/990), [#1014](https://github.com/go-task/task/issues/1014) by [@ja1code](https://github.com/ja1code)). -- Fixed a bug where tasks were sometimes incorrectly marked as internal ([#1007](https://github.com/go-task/task/issues/1007) by [@pd93](https://github.com/pd93)). -- Update to Go 1.20 (bump minimum version to 1.19) ([#1010](https://github.com/go-task/task/issues/1010) by [@pd93](https://github.com/pd93)) -- Added environment variable `FORCE_COLOR` support to force color output. Usefull for environments without TTY ([#1003](https://github.com/go-task/task/issues/1003) by [@automation](https://github.com/automation)-stack) +- Added new `TASK_VERSION` special variable (#990, #1014 by @ja1code). +- Fixed a bug where tasks were sometimes incorrectly marked as internal (#1007 by @pd93). +- Update to Go 1.20 (bump minimum version to 1.19) (#1010 by @pd93) +- Added environment variable `FORCE_COLOR` support to force color output. Usefull for environments without TTY (#1003 by @automation-stack) ## v3.20.0 - 2023-01-14 -- Improve behavior and performance of status checking when using the `timestamp` mode ([#976](https://github.com/go-task/task/issues/976), [#977](https://github.com/go-task/task/issues/977) by [@aminya](https://github.com/aminya)). -- Performance optimizations were made for large Taskfiles ([#982](https://github.com/go-task/task/issues/982) by [@pd93](https://github.com/pd93)). -- Add ability to configure options for the [`set`](https://www.gnu.org/software/bash/manual/html_node/The-Set-Builtin.html) and [`shopt`](https://www.gnu.org/software/bash/manual/html_node/The-Shopt-Builtin.html) builtins ([#908](https://github.com/go-task/task/issues/908), [#929](https://github.com/go-task/task/issues/929) by [@pd93](https://github.com/pd93), [Documentation](http://taskfile.dev/usage/#set-and-shopt)). -- Add new `platforms:` attribute to `task` and `cmd`, so it's now possible to choose in which platforms that given task or command will be run on. Possible values are operating system (GOOS), architecture (GOARCH) or a combination of the two. Example: `platforms: [linux]`, `platforms: [amd64]` or `platforms: [linux/amd64]`. Other platforms will be skipped ([#978](https://github.com/go-task/task/issues/978), [#980](https://github.com/go-task/task/issues/980) by [@leaanthony](https://github.com/leaanthony)). +- Improve behavior and performance of status checking when using the `timestamp` mode (#976, #977 by @aminya). +- Performance optimizations were made for large Taskfiles (#982 by @pd93). +- Add ability to configure options for the [`set`](https://www.gnu.org/software/bash/manual/html_node/The-Set-Builtin.html) and [`shopt`](https://www.gnu.org/software/bash/manual/html_node/The-Shopt-Builtin.html) builtins (#908, #929 by @pd93, [Documentation](http://taskfile.dev/usage/#set-and-shopt)). +- Add new `platforms:` attribute to `task` and `cmd`, so it's now possible to choose in which platforms that given task or command will be run on. Possible values are operating system (GOOS), architecture (GOARCH) or a combination of the two. Example: `platforms: [linux]`, `platforms: [amd64]` or `platforms: [linux/amd64]`. Other platforms will be skipped (#978, #980 by @leaanthony). ## v3.19.1 - 2022-12-31 -- Small bug fix: closing `Taskfile.yml` once we're done reading it ([#963](https://github.com/go-task/task/issues/963), [#964](https://github.com/go-task/task/issues/964) by [@HeCorr](https://github.com/HeCorr)). -- Fixes a bug in v2 that caused a panic when using a `Taskfile_{{OS}}.yml` file ([#961](https://github.com/go-task/task/issues/961), [#971](https://github.com/go-task/task/issues/971) by [@pd93](https://github.com/pd93)). -- Fixed a bug where watch intervals set in the Taskfile were not being respected ([#969](https://github.com/go-task/task/issues/969), [#970](https://github.com/go-task/task/issues/970) by [@pd93](https://github.com/pd93)) -- Add `--json` flag (alias `-j`) with the intent to improve support for code editors and add room to other possible integrations. This is basic for now, but we plan to add more info in the near future ([#936](https://github.com/go-task/task/issues/936) by [@davidalpert](https://github.com/davidalpert), [#764](https://github.com/go-task/task/issues/764)). +- Small bug fix: closing `Taskfile.yml` once we're done reading it (#963, #964 by @HeCorr). +- Fixes a bug in v2 that caused a panic when using a `Taskfile_{{OS}}.yml` file (#961, #971 by @pd93). +- Fixed a bug where watch intervals set in the Taskfile were not being respected (#969, #970 by @pd93) +- Add `--json` flag (alias `-j`) with the intent to improve support for code editors and add room to other possible integrations. This is basic for now, but we plan to add more info in the near future (#936 by @davidalpert, #764). ## v3.19.0 - 2022-12-05 -- Installation via npm now supports [pnpm](https://pnpm.io/) as well ([go-task/go-npm\[#2\](https://github.com/go-task/task/issues/2)](https://github.com/go-task/go-npm/issues/2), [go-task/go-npm\[#3\](https://github.com/go-task/task/issues/3)](https://github.com/go-task/go-npm/pull/3)). -- It's now possible to run Taskfiles from subdirectories! A new `USER_WORKING_DIR` special variable was added to add even more flexibility for monorepos ([#289](https://github.com/go-task/task/issues/289), [#920](https://github.com/go-task/task/issues/920)). -- Add task-level `dotenv` support ([#389](https://github.com/go-task/task/issues/389), [#904](https://github.com/go-task/task/issues/904)). -- It's now possible to use global level variables on `includes` ([#942](https://github.com/go-task/task/issues/942), [#943](https://github.com/go-task/task/issues/943)). -- The website got a brand new [translation to Chinese](https://task-zh.readthedocs.io/zh_CN/latest/) by [\[@DeronW\](https://github.com/DeronW)](https://github.com/DeronW). Thanks! +- Installation via npm now supports [pnpm](https://pnpm.io/) as well ([go-task/go-npm#2](https://github.com/go-task/go-npm/issues/2), [go-task/go-npm#3](https://github.com/go-task/go-npm/pull/3)). +- It's now possible to run Taskfiles from subdirectories! A new `USER_WORKING_DIR` special variable was added to add even more flexibility for monorepos (#289, #920). +- Add task-level `dotenv` support (#389, #904). +- It's now possible to use global level variables on `includes` (#942, #943). +- The website got a brand new [translation to Chinese](https://task-zh.readthedocs.io/zh_CN/latest/) by [@DeronW](https://github.com/DeronW). Thanks! ## v3.18.0 - 2022-11-12 -- Show aliases on `task --list --silent` (`task --ls`). This means that aliases will be completed by the completion scripts ([#919](https://github.com/go-task/task/issues/919)). -- Tasks in the root Taskfile will now be displayed first in `--list`/`--list-all` output ([#806](https://github.com/go-task/task/issues/806), [#890](https://github.com/go-task/task/issues/890)). -- It's now possible to call a `default` task in an included Taskfile by using just the namespace. For example: `docs:default` is now automatically aliased to `docs` ([#661](https://github.com/go-task/task/issues/661), [#815](https://github.com/go-task/task/issues/815)). +- Show aliases on `task --list --silent` (`task --ls`). This means that aliases will be completed by the completion scripts (#919). +- Tasks in the root Taskfile will now be displayed first in `--list`/`--list-all` output (#806, #890). +- It's now possible to call a `default` task in an included Taskfile by using just the namespace. For example: `docs:default` is now automatically aliased to `docs` (#661, #815). ## v3.17.0 - 2022-10-14 -- Add a "Did you mean ...?" suggestion when a task does not exits another one with a similar name is found ([#867](https://github.com/go-task/task/issues/867), [#880](https://github.com/go-task/task/issues/880)). -- Now YAML parse errors will print which Taskfile failed to parse ([#885](https://github.com/go-task/task/issues/885), [#887](https://github.com/go-task/task/issues/887)). -- Add ability to set `aliases` for tasks and namespaces ([#268](https://github.com/go-task/task/issues/268), [#340](https://github.com/go-task/task/issues/340), [#879](https://github.com/go-task/task/issues/879)). -- Improvements to Fish shell completion ([#897](https://github.com/go-task/task/issues/897)). -- Added ability to set a different watch interval by setting `interval: '500ms'` or using the `--interval=500ms` flag ([#813](https://github.com/go-task/task/issues/813), [#865](https://github.com/go-task/task/issues/865)). -- Add colored output to `--list`, `--list-all` and `--summary` flags ([#845](https://github.com/go-task/task/issues/845), [#874](https://github.com/go-task/task/issues/874)). -- Fix unexpected behavior where `label:` was being shown instead of the task name on `--list` ([#603](https://github.com/go-task/task/issues/603), [#877](https://github.com/go-task/task/issues/877)). +- Add a "Did you mean ...?" suggestion when a task does not exits another one with a similar name is found (#867, #880). +- Now YAML parse errors will print which Taskfile failed to parse (#885, #887). +- Add ability to set `aliases` for tasks and namespaces (#268, #340, #879). +- Improvements to Fish shell completion (#897). +- Added ability to set a different watch interval by setting `interval: '500ms'` or using the `--interval=500ms` flag (#813, #865). +- Add colored output to `--list`, `--list-all` and `--summary` flags (#845, + + # 874). +- Fix unexpected behavior where `label:` was being shown instead of the task name on `--list` (#603, #877). ## v3.16.0 - 2022-09-29 -- Add `npm` as new installation method: `npm i -g [@go](https://github.com/go)-task/cli` ([#870](https://github.com/go-task/task/issues/870), [#871](https://github.com/go-task/task/issues/871), [npm package](https://www.npmjs.com/package/[@go](https://github.com/go)-task/cli)). -- Add support to marking tasks and includes as internal, which will hide them from `--list` and `--list-all` ([#818](https://github.com/go-task/task/issues/818)). +- Add `npm` as new installation method: `npm i -g @go-task/cli` (#870, #871, [npm package](https://www.npmjs.com/package/@go-task/cli)). +- Add support to marking tasks and includes as internal, which will hide them from `--list` and `--list-all` (#818). ## v3.15.2 - 2022-09-08 -- Fix error when using variable in `env:` introduced in the previous release ([#858](https://github.com/go-task/task/issues/858), [#866](https://github.com/go-task/task/issues/866)). -- Fix handling of `CLI_ARGS` (`--`) in Bash completion ([#863](https://github.com/go-task/task/issues/863)). -- On zsh completion, add ability to replace `--list-all` with `--list` as already possible on the Bash completion ([#861](https://github.com/go-task/task/issues/861)). +- Fix error when using variable in `env:` introduced in the previous release (#858, #866). +- Fix handling of `CLI_ARGS` (`--`) in Bash completion (#863). +- On zsh completion, add ability to replace `--list-all` with `--list` as already possible on the Bash completion (#861). ## v3.15.0 - 2022-09-03 -- Add new special variables `ROOT_DIR` and `TASKFILE_DIR`. This was a highly requested feature ([#215](https://github.com/go-task/task/issues/215), [#857](https://github.com/go-task/task/issues/857), [Documentation](https://taskfile.dev/api/#special-variables)). -- Follow symlinks on `sources` ([#826](https://github.com/go-task/task/issues/826), [#831](https://github.com/go-task/task/issues/831)). -- Improvements and fixes to Bash completion ([#835](https://github.com/go-task/task/issues/835), [#844](https://github.com/go-task/task/issues/844)). +- Add new special variables `ROOT_DIR` and `TASKFILE_DIR`. This was a highly requested feature (#215, #857, [Documentation](https://taskfile.dev/api/#special-variables)). +- Follow symlinks on `sources` (#826, #831). +- Improvements and fixes to Bash completion (#835, #844). ## v3.14.1 - 2022-08-03 -- Always resolve relative include paths relative to the including Taskfile ([#822](https://github.com/go-task/task/issues/822), [#823](https://github.com/go-task/task/issues/823)). -- Fix ZSH and PowerShell completions to consider all tasks instead of just the public ones (those with descriptions) ([#803](https://github.com/go-task/task/issues/803)). +- Always resolve relative include paths relative to the including Taskfile (#822, #823). +- Fix ZSH and PowerShell completions to consider all tasks instead of just the public ones (those with descriptions) (#803). ## v3.14.0 - 2022-07-08 - Add ability to override the `.task` directory location with the `TASK_TEMP_DIR` environment variable. -- Allow to override Task colors using environment variables: `TASK_COLOR_RESET`, `TASK_COLOR_BLUE`, `TASK_COLOR_GREEN`, `TASK_COLOR_CYAN`, `TASK_COLOR_YELLOW`, `TASK_COLOR_MAGENTA` and `TASK_COLOR_RED` ([#568](https://github.com/go-task/task/issues/568), [#792](https://github.com/go-task/task/issues/792)). -- Fixed bug when using the `output: group` mode where STDOUT and STDERR were being print in separated blocks instead of in the right order ([#779](https://github.com/go-task/task/issues/779)). -- Starting on this release, ARM architecture binaries are been released to Snap as well ([#795](https://github.com/go-task/task/issues/795)). +- Allow to override Task colors using environment variables: `TASK_COLOR_RESET`, `TASK_COLOR_BLUE`, `TASK_COLOR_GREEN`, `TASK_COLOR_CYAN`, `TASK_COLOR_YELLOW`, `TASK_COLOR_MAGENTA` and `TASK_COLOR_RED` (#568, #792). +- Fixed bug when using the `output: group` mode where STDOUT and STDERR were being print in separated blocks instead of in the right order (#779). +- Starting on this release, ARM architecture binaries are been released to Snap as well (#795). - i386 binaries won't be available anymore on Snap because Ubuntu removed the support for this architecture. -- Upgrade mvdan.cc/sh, which fixes a bug with associative arrays ([#785](https://github.com/go-task/task/issues/785), [mvdan/sh\[#884\](https://github.com/go-task/task/issues/884)](https://github.com/mvdan/sh/issues/884), [mvdan/sh\[#893\](https://github.com/go-task/task/issues/893)](https://github.com/mvdan/sh/pull/893)). +- Upgrade mvdan.cc/sh, which fixes a bug with associative arrays (#785, [mvdan/sh#884](https://github.com/mvdan/sh/issues/884), [mvdan/sh#893](https://github.com/mvdan/sh/pull/893)). ## v3.13.0 - 2022-06-13 -- Added `-n` as an alias to `--dry` ([#776](https://github.com/go-task/task/issues/776), [#777](https://github.com/go-task/task/issues/777)). -- Fix behavior of interrupt (SIGINT, SIGTERM) signals. Task will now give time for the processes running to do cleanup work ([#458](https://github.com/go-task/task/issues/458), [#479](https://github.com/go-task/task/issues/479), [#728](https://github.com/go-task/task/issues/728), [#769](https://github.com/go-task/task/issues/769)). -- Add new `--exit-code` (`-x`) flag that will pass-through the exit form the command being ran ([#755](https://github.com/go-task/task/issues/755)). +- Added `-n` as an alias to `--dry` (#776, #777). +- Fix behavior of interrupt (SIGINT, SIGTERM) signals. Task will now give time for the processes running to do cleanup work (#458, #479, #728, #769). +- Add new `--exit-code` (`-x`) flag that will pass-through the exit form the command being ran (#755). ## v3.12.1 - 2022-05-10 -- Fixed bug where, on Windows, variables were ending with `\r` because we were only removing the final `\n` but not `\r\n` ([#717](https://github.com/go-task/task/issues/717)). +- Fixed bug where, on Windows, variables were ending with `\r` because we were only removing the final `\n` but not `\r\n` (#717). ## v3.12.0 - 2022-03-31 -- The `--list` and `--list-all` flags can now be combined with the `--silent` flag to print the task names only, without their description ([#691](https://github.com/go-task/task/issues/691)). -- Added support for multi-level inclusion of Taskfiles. This means that included Taskfiles can also include other Taskfiles. Before this was limited to one level ([#390](https://github.com/go-task/task/issues/390), [#623](https://github.com/go-task/task/issues/623), [#656](https://github.com/go-task/task/issues/656)). -- Add ability to specify vars when including a Taskfile. [Check out the documentation](https://taskfile.dev/#/usage?id=vars-of-included-taskfiles) for more information ([#677](https://github.com/go-task/task/issues/677)). +- The `--list` and `--list-all` flags can now be combined with the `--silent` flag to print the task names only, without their description (#691). +- Added support for multi-level inclusion of Taskfiles. This means that included Taskfiles can also include other Taskfiles. Before this was limited to one level (#390, #623, #656). +- Add ability to specify vars when including a Taskfile. [Check out the documentation](https://taskfile.dev/#/usage?id=vars-of-included-taskfiles) for more information (#677). ## v3.11.0 - 2022-02-19 -- Task now supports printing begin and end messages when using the `group` output mode, useful for grouping tasks in CI systems. [Check out the documentation](http://taskfile.dev/#/usage?id=output-syntax) for more information ([#647](https://github.com/go-task/task/issues/647), [#651](https://github.com/go-task/task/issues/651)). -- Add `Taskfile.dist.yml` and `Taskfile.dist.yaml` to the supported file name list. [Check out the documentation](https://taskfile.dev/#/usage?id=supported-file-names) for more information ([#498](https://github.com/go-task/task/issues/498), [#666](https://github.com/go-task/task/issues/666)). +- Task now supports printing begin and end messages when using the `group` output mode, useful for grouping tasks in CI systems. [Check out the documentation](http://taskfile.dev/#/usage?id=output-syntax) for more information (#647, #651). +- Add `Taskfile.dist.yml` and `Taskfile.dist.yaml` to the supported file name list. [Check out the documentation](https://taskfile.dev/#/usage?id=supported-file-names) for more information (#498, #666). ## v3.10.0 - 2022-01-04 -- A new `--list-all` (alias `-a`) flag is now available. It's similar to the exiting `--list` (`-l`) but prints all tasks, even those without a description ([#383](https://github.com/go-task/task/issues/383), [#401](https://github.com/go-task/task/issues/401)). -- It's now possible to schedule cleanup commands to run once a task finishes with the `defer:` keyword ([Documentation](https://taskfile.dev/#/usage?id=doing-task-cleanup-with-defer), [#475](https://github.com/go-task/task/issues/475), [#626](https://github.com/go-task/task/issues/626)). -- Remove long deprecated and undocumented `$` variable prefix and `^` command prefix ([#642](https://github.com/go-task/task/issues/642), [#644](https://github.com/go-task/task/issues/644), [#645](https://github.com/go-task/task/issues/645)). -- Add support for `.yaml` extension (as an alternative to `.yml`). This was requested multiple times throughout the years. Enjoy! ([#183](https://github.com/go-task/task/issues/183), [#184](https://github.com/go-task/task/issues/184), [#369](https://github.com/go-task/task/issues/369), [#584](https://github.com/go-task/task/issues/584), [#621](https://github.com/go-task/task/issues/621)). -- Fixed error when computing a variable when the task directory do not exist yet ([#481](https://github.com/go-task/task/issues/481), [#579](https://github.com/go-task/task/issues/579)). +- A new `--list-all` (alias `-a`) flag is now available. It's similar to the exiting `--list` (`-l`) but prints all tasks, even those without a description (#383, #401). +- It's now possible to schedule cleanup commands to run once a task finishes with the `defer:` keyword ([Documentation](https://taskfile.dev/#/usage?id=doing-task-cleanup-with-defer), + + # 475, #626). +- Remove long deprecated and undocumented `$` variable prefix and `^` command prefix (#642, #644, #645). +- Add support for `.yaml` extension (as an alternative to `.yml`). This was requested multiple times throughout the years. Enjoy! (#183, #184, #369, #584, + + # 621). +- Fixed error when computing a variable when the task directory do not exist yet (#481, #579). ## v3.9.2 - 2021-12-02 -- Upgrade [mvdan/sh](https://github.com/mvdan/sh) which contains a fix a for a important regression on Windows ([#619](https://github.com/go-task/task/issues/619), [mvdan/sh\[#768\](https://github.com/go-task/task/issues/768)](https://github.com/mvdan/sh/issues/768), [mvdan/sh\[#769\](https://github.com/go-task/task/issues/769)](https://github.com/mvdan/sh/pull/769)). +- Upgrade [mvdan/sh](https://github.com/mvdan/sh) which contains a fix a for a important regression on Windows (#619, [mvdan/sh#768](https://github.com/mvdan/sh/issues/768), [mvdan/sh#769](https://github.com/mvdan/sh/pull/769)). ## v3.9.1 - 2021-11-28 -- Add logging in verbose mode for when a task starts and finishes ([#533](https://github.com/go-task/task/issues/533), [#588](https://github.com/go-task/task/issues/588)). -- Fix an issue with preconditions and context errors ([#597](https://github.com/go-task/task/issues/597), [#598](https://github.com/go-task/task/issues/598)). -- Quote each `{{.CLI_ARGS}}` argument to prevent one with spaces to become many ([#613](https://github.com/go-task/task/issues/613)). -- Fix nil pointer when `cmd:` was left empty ([#612](https://github.com/go-task/task/issues/612), [#614](https://github.com/go-task/task/issues/614)). +- Add logging in verbose mode for when a task starts and finishes (#533, #588). +- Fix an issue with preconditions and context errors (#597, #598). +- Quote each `{{.CLI_ARGS}}` argument to prevent one with spaces to become many (#613). +- Fix nil pointer when `cmd:` was left empty (#612, #614). - Upgrade [mvdan/sh](https://github.com/mvdan/sh) which contains two relevant fixes: - - Fix quote of empty strings in `shellQuote` ([#609](https://github.com/go-task/task/issues/609), [mvdan/sh\[#763\](https://github.com/go-task/task/issues/763)](https://github.com/mvdan/sh/issues/763)). - - Fix issue of wrong environment variable being picked when there's another very similar one ([#586](https://github.com/go-task/task/issues/586), [mvdan/sh\[#745\](https://github.com/go-task/task/issues/745)](https://github.com/mvdan/sh/pull/745)). -- Install shell completions automatically when installing via Homebrew ([#264](https://github.com/go-task/task/issues/264), [#592](https://github.com/go-task/task/issues/592), [go-task/homebrew-tap\[#2\](https://github.com/go-task/task/issues/2)](https://github.com/go-task/homebrew-tap/pull/2)). + - Fix quote of empty strings in `shellQuote` (#609, [mvdan/sh#763](https://github.com/mvdan/sh/issues/763)). + - Fix issue of wrong environment variable being picked when there's another very similar one (#586, [mvdan/sh#745](https://github.com/mvdan/sh/pull/745)). +- Install shell completions automatically when installing via Homebrew (#264, #592, [go-task/homebrew-tap#2](https://github.com/go-task/homebrew-tap/pull/2)). ## v3.9.0 - 2021-10-02 -- A new `shellQuote` function was added to the template system (`{{shellQuote "a string"}}`) to ensure a string is safe for use in shell ([mvdan/sh\[#727\](https://github.com/go-task/task/issues/727)](https://github.com/mvdan/sh/pull/727), [mvdan/sh\[#737\](https://github.com/go-task/task/issues/737)](https://github.com/mvdan/sh/pull/737), [Documentation](https://pkg.go.dev/mvdan.cc/sh/v3[@v3](https://github.com/v3).4.0/syntax#Quote)) +- A new `shellQuote` function was added to the template system (`{{shellQuote "a string"}}`) to ensure a string is safe for use in shell ([mvdan/sh#727](https://github.com/mvdan/sh/pull/727), [mvdan/sh#737](https://github.com/mvdan/sh/pull/737), [Documentation](https://pkg.go.dev/mvdan.cc/sh/v3@v3.4.0/syntax#Quote)) - In this version [mvdan.cc/sh](https://github.com/mvdan/sh) was upgraded with some small fixes and features - - The `read -p` flag is now supported ([#314](https://github.com/go-task/task/issues/314), [mvdan/sh\[#551\](https://github.com/go-task/task/issues/551)](https://github.com/mvdan/sh/issues/551), [mvdan/sh\[#772\](https://github.com/go-task/task/issues/772)](https://github.com/mvdan/sh/pull/722)) - - The `pwd -P` and `pwd -L` flags are now supported ([#553](https://github.com/go-task/task/issues/553), [mvdan/sh\[#724\](https://github.com/go-task/task/issues/724)](https://github.com/mvdan/sh/issues/724), [mvdan/sh\[#728\](https://github.com/go-task/task/issues/728)](https://github.com/mvdan/sh/pull/728)) - - The `$GID` environment variable is now correctly being set ([#561](https://github.com/go-task/task/issues/561), [mvdan/sh\[#723\](https://github.com/go-task/task/issues/723)](https://github.com/mvdan/sh/pull/723)) + - The `read -p` flag is now supported (#314, [mvdan/sh#551](https://github.com/mvdan/sh/issues/551), [mvdan/sh#772](https://github.com/mvdan/sh/pull/722)) + - The `pwd -P` and `pwd -L` flags are now supported (#553, [mvdan/sh#724](https://github.com/mvdan/sh/issues/724), [mvdan/sh#728](https://github.com/mvdan/sh/pull/728)) + - The `$GID` environment variable is now correctly being set (#561, [mvdan/sh#723](https://github.com/mvdan/sh/pull/723)) ## v3.8.0 - 2021-09-26 -- Add `interactive: true` setting to improve support for interactive CLI apps ([#217](https://github.com/go-task/task/issues/217), [#563](https://github.com/go-task/task/issues/563)). -- Fix some `nil` errors ([#534](https://github.com/go-task/task/issues/534), [#573](https://github.com/go-task/task/issues/573)). -- Add ability to declare an included Taskfile as optional ([#519](https://github.com/go-task/task/issues/519), [#552](https://github.com/go-task/task/issues/552)). -- Add support for including Taskfiles in the home directory by using `~` ([#539](https://github.com/go-task/task/issues/539), [#557](https://github.com/go-task/task/issues/557)). +- Add `interactive: true` setting to improve support for interactive CLI apps (#217, #563). +- Fix some `nil` errors (#534, #573). +- Add ability to declare an included Taskfile as optional (#519, #552). +- Add support for including Taskfiles in the home directory by using `~` (#539, #557). ## v3.7.3 - 2021-09-04 -- Add official support to Apple M1 ([#564](https://github.com/go-task/task/issues/564), [#567](https://github.com/go-task/task/issues/567)). +- Add official support to Apple M1 (#564, #567). - Our [official Homebrew tap](https://github.com/go-task/homebrew-tap) will support more platforms, including Apple M1 ## v3.7.0 - 2021-07-31 -- Add `run:` setting to control if tasks should run multiple times or not. Available options are `always` (the default), `when_changed` (if a variable modified the task) and `once` (run only once no matter what). This is a long time requested feature. Enjoy! ([#53](https://github.com/go-task/task/issues/53), [#359](https://github.com/go-task/task/issues/359)). +- Add `run:` setting to control if tasks should run multiple times or not. Available options are `always` (the default), `when_changed` (if a variable modified the task) and `once` (run only once no matter what). This is a long time requested feature. Enjoy! (#53, #359). ## v3.6.0 - 2021-07-10 -- Allow using both `sources:` and `status:` in the same task ([#411](https://github.com/go-task/task/issues/411), [#427](https://github.com/go-task/task/issues/427), [#477](https://github.com/go-task/task/issues/477)). -- Small optimization and bug fix: don't compute variables if not needed for `dotenv:` ([#517](https://github.com/go-task/task/issues/517)). +- Allow using both `sources:` and `status:` in the same task (#411, #427, #477). +- Small optimization and bug fix: don't compute variables if not needed for `dotenv:` (#517). ## v3.5.0 - 2021-07-04 -- Add support for interpolation in `dotenv:` ([#433](https://github.com/go-task/task/issues/433), [#434](https://github.com/go-task/task/issues/434), [#453](https://github.com/go-task/task/issues/453)). +- Add support for interpolation in `dotenv:` (#433, #434, #453). ## v3.4.3 - 2021-05-30 -- Add support for the `NO_COLOR` environment variable. ([#459](https://github.com/go-task/task/issues/459), [fatih/color\[#137\](https://github.com/go-task/task/issues/137)](https://github.com/fatih/color/pull/137)). -- Fix bug where sources were not considering the right directory in `--watch` mode ([#484](https://github.com/go-task/task/issues/484), [#485](https://github.com/go-task/task/issues/485)). +- Add support for the `NO_COLOR` environment variable. (#459, [fatih/color#137](https://github.com/fatih/color/pull/137)). +- Fix bug where sources were not considering the right directory in `--watch` mode (#484, #485). ## v3.4.2 - 2021-04-23 -- On watch, report which file failed to read ([#472](https://github.com/go-task/task/issues/472)). -- Do not try to catch SIGKILL signal, which are not actually possible ([#476](https://github.com/go-task/task/issues/476)). -- Improve version reporting when building Task from source using Go Modules ([#462](https://github.com/go-task/task/issues/462), [#473](https://github.com/go-task/task/issues/473)). +- On watch, report which file failed to read (#472). +- Do not try to catch SIGKILL signal, which are not actually possible (#476). +- Improve version reporting when building Task from source using Go Modules (#462, #473). ## v3.4.1 - 2021-04-17 -- Improve error reporting when parsing YAML: in some situations where you would just see an generic error, you'll now see the actual error with more detail: the YAML line the failed to parse, for example ([#467](https://github.com/go-task/task/issues/467)). -- A JSON Schema was published [here](https://json.schemastore.org/taskfile.json) and is automatically being used by some editors like Visual Studio Code ([#135](https://github.com/go-task/task/issues/135)). -- Print task name before the command in the log output ([#398](https://github.com/go-task/task/issues/398)). +- Improve error reporting when parsing YAML: in some situations where you would just see an generic error, you'll now see the actual error with more detail: the YAML line the failed to parse, for example (#467). +- A JSON Schema was published [here](https://json.schemastore.org/taskfile.json) and is automatically being used by some editors like Visual Studio Code (#135). +- Print task name before the command in the log output (#398). ## v3.3.0 - 2021-03-20 -- Add support for delegating CLI arguments to commands with `--` and a special `CLI_ARGS` variable ([#327](https://github.com/go-task/task/issues/327)). -- Add a `--concurrency` (alias `-C`) flag, to limit the number of tasks that run concurrently. This is useful for heavy workloads. ([#345](https://github.com/go-task/task/issues/345)). +- Add support for delegating CLI arguments to commands with `--` and a special `CLI_ARGS` variable (#327). +- Add a `--concurrency` (alias `-C`) flag, to limit the number of tasks that run concurrently. This is useful for heavy workloads. (#345). ## v3.2.2 - 2021-01-12 -- Improve performance of `--list` and `--summary` by skipping running shell variables for these flags ([#332](https://github.com/go-task/task/issues/332)). -- Fixed a bug where an environment in a Taskfile was not always overridable by the system environment ([#425](https://github.com/go-task/task/issues/425)). -- Fixed environment from .env files not being available as variables ([#379](https://github.com/go-task/task/issues/379)). -- The install script is now working for ARM platforms ([#428](https://github.com/go-task/task/issues/428)). +- Improve performance of `--list` and `--summary` by skipping running shell variables for these flags (#332). +- Fixed a bug where an environment in a Taskfile was not always overridable by the system environment (#425). +- Fixed environment from .env files not being available as variables (#379). +- The install script is now working for ARM platforms (#428). ## v3.2.1 - 2021-01-09 -- Fixed some bugs and regressions regarding dynamic variables and directories ([#426](https://github.com/go-task/task/issues/426)). +- Fixed some bugs and regressions regarding dynamic variables and directories (#426). - The [slim-sprig](https://github.com/go-task/slim-sprig) package was updated with the upstream [sprig](https://github.com/Masterminds/sprig). ## v3.2.0 - 2021-01-07 -- Fix the `.task` directory being created in the task directory instead of the Taskfile directory ([#247](https://github.com/go-task/task/issues/247)). -- Fix a bug where dynamic variables (those declared with `sh:`) were not running in the task directory when the task has a custom dir or it was in an included Taskfile ([#384](https://github.com/go-task/task/issues/384)). -- The watch feature (via the `--watch` flag) got a few different bug fixes and should be more stable now ([#423](https://github.com/go-task/task/issues/423), [#365](https://github.com/go-task/task/issues/365)). +- Fix the `.task` directory being created in the task directory instead of the Taskfile directory (#247). +- Fix a bug where dynamic variables (those declared with `sh:`) were not running in the task directory when the task has a custom dir or it was in an included Taskfile (#384). +- The watch feature (via the `--watch` flag) got a few different bug fixes and should be more stable now (#423, #365). ## v3.1.0 - 2021-01-03 -- Fix a bug when the checksum up-to-date resolution is used by a task with a custom `label:` attribute ([#412](https://github.com/go-task/task/issues/412)). -- Starting from this release, we're releasing official ARMv6 and ARM64 binaries for Linux ([#375](https://github.com/go-task/task/issues/375), [#418](https://github.com/go-task/task/issues/418)). -- Task now respects the order of declaration of included Taskfiles when evaluating variables declaring by them ([#393](https://github.com/go-task/task/issues/393)). -- `set -e` is now automatically set on every command. This was done to fix an issue where multiline string commands wouldn't really fail unless the sentence was in the last line ([#403](https://github.com/go-task/task/issues/403)). +- Fix a bug when the checksum up-to-date resolution is used by a task with a custom `label:` attribute (#412). +- Starting from this release, we're releasing official ARMv6 and ARM64 binaries for Linux (#375, #418). +- Task now respects the order of declaration of included Taskfiles when evaluating variables declaring by them (#393). +- `set -e` is now automatically set on every command. This was done to fix an issue where multiline string commands wouldn't really fail unless the sentence was in the last line (#403). ## v3.0.1 - 2020-12-26 -- Allow use as a library by moving the required packages out of the `internal` directory ([#358](https://github.com/go-task/task/issues/358)). -- Do not error if a specified dotenv file does not exist ([#378](https://github.com/go-task/task/issues/378), [#385](https://github.com/go-task/task/issues/385)). -- Fix panic when you have empty tasks in your Taskfile ([#338](https://github.com/go-task/task/issues/338), [#362](https://github.com/go-task/task/issues/362)). +- Allow use as a library by moving the required packages out of the `internal` directory (#358). +- Do not error if a specified dotenv file does not exist (#378, #385). +- Fix panic when you have empty tasks in your Taskfile (#338, #362). ## v3.0.0 - 2020-08-16 -- On `v3`, all CLI variables will be considered global variables ([#336](https://github.com/go-task/task/issues/336), [#341](https://github.com/go-task/task/issues/341)) -- Add support to `.env` like files ([#324](https://github.com/go-task/task/issues/324), [#356](https://github.com/go-task/task/issues/356)). -- Add `label:` to task so you can override the task name in the logs ([\[#321\](https://github.com/go-task/task/issues/321)](https://github.com/go-task/task/issues/321]), [#337](https://github.com/go-task/task/issues/337)). -- Refactor how variables work on version 3 ([#311](https://github.com/go-task/task/issues/311)). +- On `v3`, all CLI variables will be considered global variables (#336, #341) +- Add support to `.env` like files (#324, #356). +- Add `label:` to task so you can override the task name in the logs (#321, + + # 337). +- Refactor how variables work on version 3 (#311). - Disallow `expansions` on v3 since it has no effect. - `Taskvars.yml` is not automatically included anymore. - `Taskfile_{{OS}}.yml` is not automatically included anymore. - Allow interpolation on `includes`, so you can manually include a Taskfile based on operation system, for example. -- Expose `.TASK` variable in templates with the task name ([#252](https://github.com/go-task/task/issues/252)). -- Implement short task syntax ([#194](https://github.com/go-task/task/issues/194), [#240](https://github.com/go-task/task/issues/240)). -- Added option to make included Taskfile run commands on its own directory ([#260](https://github.com/go-task/task/issues/260), [#144](https://github.com/go-task/task/issues/144)) -- Taskfiles in version 1 are not supported anymore ([#237](https://github.com/go-task/task/issues/237)). -- Added global `method:` option. With this option, you can set a default method to all tasks in a Taskfile ([#246](https://github.com/go-task/task/issues/246)). -- Changed default method from `timestamp` to `checksum` ([#246](https://github.com/go-task/task/issues/246)). -- New magic variables are now available when using `status:`: `.TIMESTAMP` which contains the greatest modification date from the files listed in `sources:`, and `.CHECKSUM`, which contains a checksum of all files listed in `status:`. This is useful for manual checking when using external, or even remote, artifacts when using `status:` ([#216](https://github.com/go-task/task/issues/216)). -- We're now using [slim-sprig](https://github.com/go-task/slim-sprig) instead of [sprig](https://github.com/Masterminds/sprig), which allowed a file size reduction of about 22% ([#219](https://github.com/go-task/task/issues/219)). -- We now use some colors on Task output to better distinguish message types - commands are green, errors are red, etc ([#207](https://github.com/go-task/task/issues/207)). +- Expose `.TASK` variable in templates with the task name (#252). +- Implement short task syntax (#194, #240). +- Added option to make included Taskfile run commands on its own directory (#260, #144) +- Taskfiles in version 1 are not supported anymore (#237). +- Added global `method:` option. With this option, you can set a default method to all tasks in a Taskfile (#246). +- Changed default method from `timestamp` to `checksum` (#246). +- New magic variables are now available when using `status:`: `.TIMESTAMP` which contains the greatest modification date from the files listed in `sources:`, and `.CHECKSUM`, which contains a checksum of all files listed in `status:`. This is useful for manual checking when using external, or even remote, artifacts when using `status:` (#216). +- We're now using [slim-sprig](https://github.com/go-task/slim-sprig) instead of [sprig](https://github.com/Masterminds/sprig), which allowed a file size reduction of about 22% (#219). +- We now use some colors on Task output to better distinguish message types - commands are green, errors are red, etc (#207). ## v2.8.1 - 2020-05-20 -- Fix error code for the `--help` flag ([#300](https://github.com/go-task/task/issues/300), [#330](https://github.com/go-task/task/issues/330)). -- Print version to stdout instead of stderr ([#299](https://github.com/go-task/task/issues/299), [#329](https://github.com/go-task/task/issues/329)). -- Supress `context` errors when using the `--watch` flag ([#313](https://github.com/go-task/task/issues/313), [#317](https://github.com/go-task/task/issues/317)). -- Support templating on description ([#276](https://github.com/go-task/task/issues/276), [#283](https://github.com/go-task/task/issues/283)). +- Fix error code for the `--help` flag (#300, #330). +- Print version to stdout instead of stderr (#299, #329). +- Supress `context` errors when using the `--watch` flag (#313, #317). +- Support templating on description (#276, #283). ## v2.8.0 - 2019-12-07 -- Add `--parallel` flag (alias `-p`) to run tasks given by the command line in parallel ([#266](https://github.com/go-task/task/issues/266)). +- Add `--parallel` flag (alias `-p`) to run tasks given by the command line in parallel (#266). - Fixed bug where calling the `task` CLI only informing global vars would not execute the `default` task. - Add hability to silent all tasks by adding `silent: true` a the root of the Taskfile. ## v2.7.1 - 2019-11-10 -- Fix error being raised when `exit 0` was called ([#251](https://github.com/go-task/task/issues/251)). +- Fix error being raised when `exit 0` was called (#251). ## v2.7.0 - 2019-09-22 -- Fixed panic bug when assigning a global variable ([#229](https://github.com/go-task/task/issues/229), [#243](https://github.com/go-task/task/issues/243)). -- A task with `method: checksum` will now re-run if generated files are deleted ([#228](https://github.com/go-task/task/issues/228), [#238](https://github.com/go-task/task/issues/238)). +- Fixed panic bug when assigning a global variable (#229, #243). +- A task with `method: checksum` will now re-run if generated files are deleted (#228, #238). ## v2.6.0 - 2019-07-21 - Fixed some bugs regarding minor version checks on `version:`. -- Add `preconditions:` to task ([#205](https://github.com/go-task/task/issues/205)). -- Create directory informed on `dir:` if it doesn't exist ([#209](https://github.com/go-task/task/issues/209), [#211](https://github.com/go-task/task/issues/211)). -- We now have a `--taskfile` flag (alias `-t`), which can be used to run another Taskfile (other than the default `Taskfile.yml`) ([#221](https://github.com/go-task/task/issues/221)). -- It's now possible to install Task using Homebrew on Linux ([go-task/homebrew-tap\[#1\](https://github.com/go-task/task/issues/1)](https://github.com/go-task/homebrew-tap/pull/1)). +- Add `preconditions:` to task (#205). +- Create directory informed on `dir:` if it doesn't exist (#209, #211). +- We now have a `--taskfile` flag (alias `-t`), which can be used to run another Taskfile (other than the default `Taskfile.yml`) (#221). +- It's now possible to install Task using Homebrew on Linux ([go-task/homebrew-tap#1](https://github.com/go-task/homebrew-tap/pull/1)). ## v2.5.2 - 2019-05-11 -- Reverted YAML upgrade due issues with CRLF on Windows ([#201](https://github.com/go-task/task/issues/201), [go-yaml/yaml\[#450\](https://github.com/go-task/task/issues/450)](https://github.com/go-yaml/yaml/issues/450)). -- Allow setting global variables through the CLI ([#192](https://github.com/go-task/task/issues/192)). +- Reverted YAML upgrade due issues with CRLF on Windows (#201, [go-yaml/yaml#450](https://github.com/go-yaml/yaml/issues/450)). +- Allow setting global variables through the CLI (#192). ## 2.5.1 - 2019-04-27 -- Fixed some issues with interactive command line tools, where sometimes the output were not being shown, and similar issues ([#114](https://github.com/go-task/task/issues/114), [#190](https://github.com/go-task/task/issues/190), [#200](https://github.com/go-task/task/issues/200)). +- Fixed some issues with interactive command line tools, where sometimes the output were not being shown, and similar issues (#114, #190, #200). - Upgraded [go-yaml/yaml](https://github.com/go-yaml/yaml) from v2 to v3. ## v2.5.0 - 2019-03-16 - We moved from the taskfile.org domain to the new fancy taskfile.dev domain. While stuff is being redirected, we strongly recommend to everyone that use [this install script](https://taskfile.dev/#/installation?id=install-script) to use the new taskfile.dev domain on scripts from now on. -- Fixed to the ZSH completion ([#182](https://github.com/go-task/task/issues/182)). -- Add [`--summary` flag along with `summary:` task attribute](https://taskfile.org/#/usage?id=display-summary-of-task) ([#180](https://github.com/go-task/task/issues/180)). +- Fixed to the ZSH completion (#182). +- Add [`--summary` flag along with `summary:` task attribute](https://taskfile.org/#/usage?id=display-summary-of-task) (#180). ## v2.4.0 - 2019-02-21 -- Allow calling a task of the root Taskfile from an included Taskfile by prefixing it with `:` ([#161](https://github.com/go-task/task/issues/161), [#172](https://github.com/go-task/task/issues/172)). -- Add flag to override the `output` option ([#173](https://github.com/go-task/task/issues/173)). -- Fix bug where Task was persisting the new checksum on the disk when the Dry Mode is enabled ([#166](https://github.com/go-task/task/issues/166)). -- Fix file timestamp issue when the file name has spaces ([#176](https://github.com/go-task/task/issues/176)). -- Mitigating path expanding issues on Windows ([#170](https://github.com/go-task/task/issues/170)). +- Allow calling a task of the root Taskfile from an included Taskfile by prefixing it with `:` (#161, #172). +- Add flag to override the `output` option (#173). +- Fix bug where Task was persisting the new checksum on the disk when the Dry Mode is enabled (#166). +- Fix file timestamp issue when the file name has spaces (#176). +- Mitigating path expanding issues on Windows (#170). ## v2.3.0 - 2019-01-02 -- On Windows, Task can now be installed using [Scoop](https://scoop.sh/) ([#152](https://github.com/go-task/task/issues/152)). -- Fixed issue with file/directory globing ([#153](https://github.com/go-task/task/issues/153)). -- Added ability to globally set environment variables ([#138](https://github.com/go-task/task/issues/138), [#159](https://github.com/go-task/task/issues/159)). +- On Windows, Task can now be installed using [Scoop](https://scoop.sh/) (#152). +- Fixed issue with file/directory globing (#153). +- Added ability to globally set environment variables (#138, #159). ## v2.2.1 - 2018-12-09 -- This repository now uses Go Modules ([#143](https://github.com/go-task/task/issues/143)). We'll still keep the `vendor` directory in sync for some time, though; -- Fixing a bug when the Taskfile has no tasks but includes another Taskfile ([#150](https://github.com/go-task/task/issues/150)); -- Fix a bug when calling another task or a dependency in an included Taskfile ([#151](https://github.com/go-task/task/issues/151)). +- This repository now uses Go Modules (#143). We'll still keep the `vendor` directory in sync for some time, though; +- Fixing a bug when the Taskfile has no tasks but includes another Taskfile (#150); +- Fix a bug when calling another task or a dependency in an included Taskfile (#151). ## v2.2.0 - 2018-10-25 -- Added support for [including other Taskfiles](https://taskfile.org/#/usage?id=including-other-taskfiles) ([#98](https://github.com/go-task/task/issues/98)) - - 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](https://github.com/go-task/task/issues/98). +- Added support for [including other Taskfiles](https://taskfile.org/#/usage?id=including-other-taskfiles) (#98) + - 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. - Task now have a dedicated documentation site: https://taskfile.org - Thanks to [Docsify](https://docsify.js.org/) for making this pretty easy. To check the source code, just take a look at the [docs](https://github.com/go-task/task/tree/main/docs) directory of this repository. Contributions to the documentation is really appreciated. ## v2.1.1 - 2018-09-17 - Fix suggestion to use `task --init` not being shown anymore (when a `Taskfile.yml` is not found) -- Fix error when using checksum method and no file exists for a source glob ([#131](https://github.com/go-task/task/issues/131)) -- Fix signal handling when the `--watch` flag is given ([#132](https://github.com/go-task/task/issues/132)) +- Fix error when using checksum method and no file exists for a source glob (#131) +- Fix signal handling when the `--watch` flag is given (#132) ## v2.1.0 - 2018-08-19 -- Add a `ignore_error` option to task and command ([#123](https://github.com/go-task/task/issues/123)) -- Add a dry run mode (`--dry` flag) ([#126](https://github.com/go-task/task/issues/126)) +- Add a `ignore_error` option to task and command (#123) +- Add a dry run mode (`--dry` flag) (#126) ## v2.0.3 - 2018-06-24 -- Expand environment variables on "dir", "sources" and "generates" ([#116](https://github.com/go-task/task/issues/116)) -- Fix YAML merging syntax ([#112](https://github.com/go-task/task/issues/112)) -- Add ZSH completion ([#111](https://github.com/go-task/task/issues/111)) +- Expand environment variables on "dir", "sources" and "generates" (#116) +- Fix YAML merging syntax (#112) +- Add ZSH completion (#111) - Implement new `output` option. Please check out the [documentation](https://github.com/go-task/task#output-syntax) ## v2.0.2 - 2018-05-01 -- Fix merging of YAML anchors ([#112](https://github.com/go-task/task/issues/112)) +- Fix merging of YAML anchors (#112) ## v2.0.1 - 2018-03-11 @@ -445,36 +479,36 @@ Version 2.0.0 is here, with a new Taskfile format. Please, make sure to read the [Taskfile versions](https://github.com/go-task/task/blob/main/TASKFILE_VERSIONS.md) document, since it describes in depth what changed for this version. -- New Taskfile version 2 ([#77](https://github.com/go-task/task/issues/77)) -- Possibility to have global variables in the `Taskfile.yml` instead of `Taskvars.yml` ([#66](https://github.com/go-task/task/issues/66)) +- New Taskfile version 2 (#77) +- Possibility to have global variables in the `Taskfile.yml` instead of `Taskvars.yml` (#66) - Small improvements and fixes ## v1.4.4 - 2017-11-19 -- Handle SIGINT and SIGTERM ([#75](https://github.com/go-task/task/issues/75)); +- Handle SIGINT and SIGTERM (#75); - List: print message with there's no task with description; -- Expand home dir ("~" symbol) on paths ([#74](https://github.com/go-task/task/issues/74)); +- Expand home dir ("~" symbol) on paths (#74); - Add Snap as an installation method; - Move examples to its own repo; - Watch: also walk on tasks called on on "cmds", and not only on "deps"; -- Print logs to stderr instead of stdout ([#68](https://github.com/go-task/task/issues/68)); +- Print logs to stderr instead of stdout (#68); - Remove deprecated `set` keyword; - Add checksum based status check, alternative to timestamp based. ## v1.4.3 - 2017-09-07 -- Allow assigning variables to tasks at run time via CLI ([#33](https://github.com/go-task/task/issues/33)) -- Added suport for multiline variables from sh ([#64](https://github.com/go-task/task/issues/64)) -- Fixes env: remove square braces and evaluate shell ([#62](https://github.com/go-task/task/issues/62)) +- Allow assigning variables to tasks at run time via CLI (#33) +- Added suport for multiline variables from sh (#64) +- Fixes env: remove square braces and evaluate shell (#62) - Watch: change watch library and few fixes and improvements -- When use watching, cancel and restart long running process on file change ([#59](https://github.com/go-task/task/issues/59) and [#60](https://github.com/go-task/task/issues/60)) +- When use watching, cancel and restart long running process on file change (#59 and #60) ## v1.4.2 - 2017-07-30 - Flag to set directory of execution - Always echo command if is verbose mode - Add silent mode to disable echoing of commands -- Fixes and improvements of variables ([#56](https://github.com/go-task/task/issues/56)) +- Fixes and improvements of variables (#56) ## v1.4.1 - 2017-07-15 @@ -482,28 +516,28 @@ Please, make sure to read the [Taskfile versions](https://github.com/go-task/tas - `VAR: {sh: echo Hello}` instead of `VAR: $echo Hello` - Add `--list` (or `-l`) flag to print existing tasks - OS specific Taskvars file (e.g. `Taskvars_windows.yml`, `Taskvars_linux.yml`, etc) -- Consider task up-to-date on equal timestamps ([#49](https://github.com/go-task/task/issues/49)) -- Allow absolute path in generates section ([#48](https://github.com/go-task/task/issues/48)) -- Bugfix: allow templating when calling deps ([#42](https://github.com/go-task/task/issues/42)) +- Consider task up-to-date on equal timestamps (#49) +- Allow absolute path in generates section (#48) +- Bugfix: allow templating when calling deps (#42) - Fix panic for invalid task in cyclic dep detection -- Better error output for dynamic variables in Taskvars.yml ([#41](https://github.com/go-task/task/issues/41)) +- Better error output for dynamic variables in Taskvars.yml (#41) - Allow template evaluation in parameters ## v1.4.0 - 2017-07-06 - Cache dynamic variables - Add verbose mode (`-v` flag) -- Support to task parameters (overriding vars) ([#31](https://github.com/go-task/task/issues/31)) ([#32](https://github.com/go-task/task/issues/32)) -- Print command, also when "set:" is specified ([#35](https://github.com/go-task/task/issues/35)) -- Improve task command help text ([#35](https://github.com/go-task/task/issues/35)) +- Support to task parameters (overriding vars) (#31) (#32) +- Print command, also when "set:" is specified (#35) +- Improve task command help text (#35) ## v1.3.1 - 2017-06-14 -- Fix glob not working on commands ([#28](https://github.com/go-task/task/issues/28)) +- Fix glob not working on commands (#28) - Add ExeExt template function - Add `--init` flag to create a new Taskfile -- Add status option to prevent task from running ([#27](https://github.com/go-task/task/issues/27)) -- Allow interpolation on `generates` and `sources` attributes ([#26](https://github.com/go-task/task/issues/26)) +- Add status option to prevent task from running (#27) +- Allow interpolation on `generates` and `sources` attributes (#26) ## v1.3.0 - 2017-04-24 @@ -521,18 +555,18 @@ Please, make sure to read the [Taskfile versions](https://github.com/go-task/tas - Watch a task (experimental) - Possibility to call another task - Fix "=" not being reconized in variables/environment variables -- Tasks can now have a description, and help will print them ([#10](https://github.com/go-task/task/issues/10)) +- Tasks can now have a description, and help will print them (#10) - Task dependencies now run concurrently -- Support for a default task ([#16](https://github.com/go-task/task/issues/16)) +- Support for a default task (#16) ## v1.1.0 - 2017-03-08 -- Support for YAML, TOML and JSON ([#1](https://github.com/go-task/task/issues/1)) -- Support running command in another directory ([#4](https://github.com/go-task/task/issues/4)) +- Support for YAML, TOML and JSON (#1) +- Support running command in another directory (#4) - `--force` or `-f` flag to force execution of task even when it's up-to-date -- Detection of cyclic dependencies ([#5](https://github.com/go-task/task/issues/5)) -- Support for variables ([#6](https://github.com/go-task/task/issues/6), [#9](https://github.com/go-task/task/issues/9), [#14](https://github.com/go-task/task/issues/14)) -- Operation System specific commands and variables ([#13](https://github.com/go-task/task/issues/13)) +- Detection of cyclic dependencies (#5) +- Support for variables (#6, #9, #14) +- Operation System specific commands and variables (#13) ## v1.0.0 - 2017-02-28 diff --git a/docs/i18n/fr-FR/docusaurus-plugin-content-docs/current/community.md b/docs/i18n/fr-FR/docusaurus-plugin-content-docs/current/community.md index f7bb5d63..4946d681 100644 --- a/docs/i18n/fr-FR/docusaurus-plugin-content-docs/current/community.md +++ b/docs/i18n/fr-FR/docusaurus-plugin-content-docs/current/community.md @@ -19,8 +19,8 @@ Un grand nombre de nos intégrations sont apportées et maintenues par la commun Certaines méthodes d'installation sont maintenues par un tiers : -- [Actions GitHub](https://github.com/arduino/setup-task) par [@arduino](https://github.com/arduino) -- [AUR](https://aur.archlinux.org/packages/go-task-bin) par [@carlsmedstad](https://github.com/carlsmedstad) +- [GitHub Actions](https://github.com/arduino/setup-task) by @arduino +- [AUR](https://aur.archlinux.org/packages/go-task-bin) by @carlsmedstad - [Scoop](https://github.com/ScoopInstaller/Main/blob/master/bucket/task.json) - [Fedora](https://packages.fedoraproject.org/pkgs/golang-github-task/go-task/) - [NixOS](https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/tools/go-task/default.nix) diff --git a/docs/i18n/fr-FR/docusaurus-plugin-content-docs/current/contributing.md b/docs/i18n/fr-FR/docusaurus-plugin-content-docs/current/contributing.md index 1ad9bc85..57b2aa7b 100644 --- a/docs/i18n/fr-FR/docusaurus-plugin-content-docs/current/contributing.md +++ b/docs/i18n/fr-FR/docusaurus-plugin-content-docs/current/contributing.md @@ -41,9 +41,9 @@ To run Task for Visual Studio Code, you can open the project in VSCode and hit F Task uses [Docusaurus][docusaurus] to host a documentation server. The code for this is located in the core Task repository. This can be setup and run locally by using `task docs` (requires `nodejs` & `yarn`). All content is written in Markdown and is located in the `docs/docs` directory. All Markdown documents should have an 80 character line wrap limit (enforced by Prettier). -When making a change, consider whether a change to the [Usage Guide](./usage.md) is necessary. This document contains descriptions and examples of how to use Task features. If you're adding a new feature, try to find an appropriate place to add a new section. If you're updating an existing feature, ensure that the documentation and any examples are up-to-date. Ensure that any examples follow the [Taskfile Styleguide](./styleguide.md). +When making a change, consider whether a change to the [Usage Guide](/usage) is necessary. This document contains descriptions and examples of how to use Task features. If you're adding a new feature, try to find an appropriate place to add a new section. If you're updating an existing feature, ensure that the documentation and any examples are up-to-date. Ensure that any examples follow the [Taskfile Styleguide](/styleguide). -If you added a new field, command or flag, ensure that you add it to the [API Reference](./api_reference.md). New fields also need to be added to the [JSON Schema][json-schema]. The descriptions for fields in the API reference and the schema should match. +If you added a new field, command or flag, ensure that you add it to the [API Reference](/api). New fields also need to be added to the [JSON Schema][json-schema]. The descriptions for fields in the API reference and the schema should match. ### Writing tests @@ -72,7 +72,7 @@ If you're not sure how to format your commit message, check out [Conventional Co Take a look at the list of [open issues for Task][task-open-issues] or [Task for Visual Studio Code][vscode-task-open-issues]. We have a [good first issue][good-first-issue] label for simpler issues that are ideal for first time contributions. -All kinds of contributions are welcome, whether its a typo fix or a shiny new feature. You can also contribute by upvoting/commenting on issues, helping to answer questions or contributing to other [community projects](./community.md). +All kinds of contributions are welcome, whether its a typo fix or a shiny new feature. You can also contribute by upvoting/commenting on issues, helping to answer questions or contributing to other [community projects](/community). > I'm stuck, where can I get help? diff --git a/docs/i18n/fr-FR/docusaurus-plugin-content-docs/current/deprecations/template.md b/docs/i18n/fr-FR/docusaurus-plugin-content-docs/current/deprecations/template.md index c8332e74..646e45c6 100644 --- a/docs/i18n/fr-FR/docusaurus-plugin-content-docs/current/deprecations/template.md +++ b/docs/i18n/fr-FR/docusaurus-plugin-content-docs/current/deprecations/template.md @@ -6,12 +6,17 @@ sidebar_position: -1 #Always push to the top draft: true #Hide in production --- -# {Nom de la fonctionnalité obsolète} +# \{Name of Deprecated Feature\} (#\{Issue\}) -- Issue: [#{issue}](https://github.com/go-task/task/issues/{issue}) -- Breaks: - - {lister toutes les fonctionnalités qui vont être brisées par ce changement} +:::warning -{Description rapide de la fonctionnalité et de la raison de sa dépréciation} +This deprecation breaks the following functionality: -{Courte explication des fonctionnalités à utiliser à la place, et comment les utilisateurs peuvent migrer vers cette autre fonctionnalité} +- \{list any existing functionality that will be broken by this deprecation\} +- \{if there are no breaking changes, remove this admonition\} + +::: + +\{Short description of the feature/behavior and why it is being deprecated\} + +\{Short explanation of any replacement features/behaviors and how users should migrate to it\} diff --git a/docs/i18n/fr-FR/docusaurus-plugin-content-docs/current/deprecations/version_2_schema.md b/docs/i18n/fr-FR/docusaurus-plugin-content-docs/current/deprecations/version_2_schema.md index 79ea75cf..c45fb65d 100644 --- a/docs/i18n/fr-FR/docusaurus-plugin-content-docs/current/deprecations/version_2_schema.md +++ b/docs/i18n/fr-FR/docusaurus-plugin-content-docs/current/deprecations/version_2_schema.md @@ -2,21 +2,24 @@ slug: /deprecations/version-2-schema/ --- -# Version 2 Schema +# Version 2 Schema (#1197) -- Issue: [#1197][deprecate-version-2-schema] -- Breaks: - - Any Taskfiles that use the version 2 schema - - `Taskvar.yml` files +:::warning -The Taskfile v2 schema was introduced in March 2018 and replaced by version 3 in August the following year. Users have had a long time to update and so we feel that it is time to tidy up the codebase and focus on new functionality instead. +This deprecation breaks the following functionality: -This notice does not mean that we are immediately removing support for version 2 schemas. However, support will not be extended to future major releases and we _strongly recommend_ that anybody still using a version 2 schema upgrades to version 3 as soon as possible. +- Any Taskfiles that use the version 2 schema +- `Taskvar.yml` files -A list of changes between version 2 and version 3 are available in the [Task v3 Release Notes][version-3-release-notes]. +::: + +The Taskfile version 2 schema was introduced in March 2018 and replaced by version 3 in August 2019. In May 2023 [we published a deprecation notice][deprecation-notice] for the version 2 schema on the basis that the vast majority of users had already upgraded to version 3 and removing support for version 2 would allow us to tidy up the codebase and focus on new functionality instead. + +In December 2023, the final version of Task that supports the version 2 schema ([v3.33.0][v3.33.0]) was published and all legacy code was removed from Task's main branch. To use a more recent version of Task, you will need to ensure that your Taskfile uses the version 3 schema instead. A list of changes between version 2 and version 3 are available in the [Task v3 Release Notes][v3.0.0]. -[deprecate-version-2-schema]: https://github.com/go-task/task/issues/1197 -[version-3-release-notes]: https://github.com/go-task/task/releases/tag/v3.0.0 +[v3.0.0]: https://github.com/go-task/task/releases/tag/v3.0.0 +[v3.33.0]: https://github.com/go-task/task/releases/tag/v3.33.0 +[deprecation-notice]: https://github.com/go-task/task/issues/1197 diff --git a/docs/i18n/fr-FR/docusaurus-plugin-content-docs/current/donate.md b/docs/i18n/fr-FR/docusaurus-plugin-content-docs/current/donate.md index 18bb2a1b..278ec516 100644 --- a/docs/i18n/fr-FR/docusaurus-plugin-content-docs/current/donate.md +++ b/docs/i18n/fr-FR/docusaurus-plugin-content-docs/current/donate.md @@ -13,7 +13,7 @@ Les entreprises qui font un don d'au moins 50$/mois seront présentées comme un ## Sponsors GitHub -La façon préférée de faire un don aux mainteneurs du projet est d'utiliser les sponsors GitHub. Vous pouvez utiliser le lien suivant pour faire votre don. Nous suggérons de donner 50% à chaque mainteneur du montant total que vous prévoyez de donner. +La façon préférée de faire un don aux mainteneurs du projet est d'utiliser les sponsors GitHub. Vous pouvez utiliser le lien suivant pour faire votre don. We suggest a 50/50 split to each maintainer of the total amount you plan to donate to the project. - [@andreynering](https://github.com/sponsors/andreynering) - [@pd93](https://github.com/sponsors/pd93) diff --git a/docs/i18n/fr-FR/docusaurus-plugin-content-docs/current/experiments/any_variables.md b/docs/i18n/fr-FR/docusaurus-plugin-content-docs/current/experiments/any_variables.md new file mode 100644 index 00000000..cf2521c7 --- /dev/null +++ b/docs/i18n/fr-FR/docusaurus-plugin-content-docs/current/experiments/any_variables.md @@ -0,0 +1,206 @@ +--- +slug: /experiments/any-variables/ +--- + +# Any Variables (#1415) + +:::caution + +All experimental features are subject to breaking changes and/or removal _at any +time_. We strongly recommend that you do not use these features in a production +environment. They are intended for testing and feedback only. + +::: + +:::warning + +This experiment breaks the following functionality: + +- Dynamically defined variables (using the `sh` keyword) + +::: + +:::info + +To enable this experiment, set the environment variable: +`TASK_X_ANY_VARIABLES=1`. Check out [our guide to enabling experiments +][enabling-experiments] for more information. + +::: + +Currently, Task only supports string variables. This experiment allows you to +specify and use the following variable types: + +- `string` +- `bool` +- `int` +- `float` +- `array` +- `map` + +This allows you to have a lot more flexibility in how you use variables in +Task's templating engine. For example: + +Evaluating booleans: + +```yaml +version: 3 + +tasks: + foo: + vars: + BOOL: false + cmds: + - '{{if .BOOL}}echo foo{{end}}' +``` + +Arithmetic: + +```yaml +version: 3 + +tasks: + foo: + vars: + INT: 10 + FLOAT: 3.14159 + cmds: + - 'echo {{add .INT .FLOAT}}' +``` + +Ranging: + +```yaml +version: 3 + +tasks: + foo: + vars: + ARRAY: [1, 2, 3] + cmds: + - 'echo {{range .ARRAY}}{{.}}{{end}}' +``` + +There are many more templating functions which can be used with the new types of +variables. For a full list, see the [slim-sprig][slim-sprig] documentation. + +## Looping over variables + +Previously, you would have to use a delimiter separated string to loop over an +arbitrary list of items in a variable and split them by using the `split` subkey +to specify the delimiter: + +```yaml +version: 3 + +tasks: + foo: + vars: + LIST: 'foo,bar,baz' + cmds: + - for: + var: LIST + split: ',' + cmd: echo {{.ITEM}} +``` + +Because this experiment adds support for "collection-type" variables, the `for` +keyword has been updated to support looping over arrays directly: + +```yaml +version: 3 + +tasks: + foo: + vars: + LIST: [foo, bar, baz] + cmds: + - for: + var: LIST + cmd: echo {{.ITEM}} +``` + +This also works for maps. When looping over a map we also make an additional +`{{.KEY}}` variable availabe that holds the string value of the map key. +Remember that maps are unordered, so the order in which the items are looped +over is random: + +```yaml +version: 3 + +tasks: + foo: + vars: + MAP: + KEY_1: + SUBKEY: sub_value_1 + KEY_2: + SUBKEY: sub_value_2 + KEY_3: + SUBKEY: sub_value_3 + cmds: + - for: + var: MAP + cmd: echo {{.KEY}} {{.ITEM.SUBKEY}} +``` + +String splitting is still supported and remember that for simple cases, you have +always been able to loop over an array without using variables at all: + +```yaml +version: 3 + +tasks: + foo: + cmds: + - for: [foo, bar, baz] + cmd: echo {{.ITEM}} +``` + +## Migration + +Taskfiles with dynamically defined variables via the `sh` subkey will no longer +work with this experiment enabled. In order to keep using dynamically defined +variables, you will need to migrate your Taskfile to use the new syntax. + +Previously, you might have defined a dynamic variable like this: + +```yaml +version: 3 + +task: + foo: + vars: + CALCULATED_VAR: + sh: 'echo hello' + cmds: + - 'echo {{.CALCULATED_VAR}}' +``` + +With this experiment enabled, you will need to remove the `sh` subkey and define +your command as a string that begins with a `$`. This will instruct Task to +interpret the string as a command instead of a literal value and the variable +will be populated with the output of the command. For example: + +```yaml +version: 3 + +task: + foo: + vars: + CALCULATED_VAR: '$echo hello' + cmds: + - 'echo {{.CALCULATED_VAR}}' +``` + +If your current Taskfile contains a string variable that begins with a `$`, you +will now need to escape the `$` with a backslash (`\`) to stop Task from +executing it as a command. + + + +[enabling-experiments]: /experiments/#enabling-experiments + +[slim-sprig]: https://go-task.github.io/slim-sprig/ + + diff --git a/docs/i18n/fr-FR/docusaurus-plugin-content-docs/current/experiments/experiments.md b/docs/i18n/fr-FR/docusaurus-plugin-content-docs/current/experiments/experiments.md index 1e76dcac..1a15dbd7 100644 --- a/docs/i18n/fr-FR/docusaurus-plugin-content-docs/current/experiments/experiments.md +++ b/docs/i18n/fr-FR/docusaurus-plugin-content-docs/current/experiments/experiments.md @@ -15,14 +15,15 @@ Afin de permettre à Task d'évoluer rapidement, nous déployons des changements Vous pouvez consulter une liste complète des expérimentations en cours dans la section "Expérimentations" de la barre latérale . -Vous pouvez activer une fonctionnalité expérimentale par: +## Enabling Experiments + +You can enable an experimental feature by doing one of the following: 1. Utiliser la variable d'environnement pertinente devant une commande Task. Par exemple, `TASK_X_{FEATURE}=1 task {my-task}`. Ceci est prévu pour faire appel à une expérimentation durant une seule commande Task afin de tester une fonctionnalité expérimentale. 1. Utiliser la variable d'environnement pertinente dans vos "dotfiles" (par exemple `.bashrc`, `.zshrc` etc.). Ceci est destiné à l'activation permanente des fonctionnalités expérimentales dans votre environnement. -1. Création d'un fichier `.env` dans le même répertoire que votre fichier Taskfile contenant les variables d'environnement pertinentes pour vos tests. Par exemple : +1. Création d'un fichier `.env` dans le même répertoire que votre fichier Taskfile contenant les variables d'environnement pertinentes pour vos tests. This allows you to enable an experimental feature at a project level. For example: -```shell -# .env +```shell title=".env" TASK_X_FEATURE=1 ``` diff --git a/docs/i18n/fr-FR/docusaurus-plugin-content-docs/current/experiments/gentle_force.md b/docs/i18n/fr-FR/docusaurus-plugin-content-docs/current/experiments/gentle_force.md index d1eada74..514602bb 100644 --- a/docs/i18n/fr-FR/docusaurus-plugin-content-docs/current/experiments/gentle_force.md +++ b/docs/i18n/fr-FR/docusaurus-plugin-content-docs/current/experiments/gentle_force.md @@ -2,12 +2,27 @@ slug: /experiments/gentle-force/ --- -# Gentle Force +# Gentle Force (#1200) -- Issue: [#1200][gentle-force-experiment] -- Environment variable: `TASK_X_FORCE=1` -- Breaks: - - `--force` flag +:::caution + +All experimental features are subject to breaking changes and/or removal _at any time_. We strongly recommend that you do not use these features in a production environment. They are intended for testing and feedback only. + +::: + +:::warning + +This experiment breaks the following functionality: + +- The `--force` flag + +::: + +:::info + +To enable this experiment, set the environment variable: `TASK_X_FORCE=1`. Check out [our guide to enabling experiments ][enabling-experiments] for more information. + +::: The `--force` flag currently forces _all_ tasks to run regardless of the status checks. This can be useful, but we have found that most of the time users only expect the direct task they are calling to be forced and _not_ all of its dependant tasks. @@ -18,4 +33,4 @@ If you want to migrate, but continue to force all dependant tasks to run, you sh -[gentle-force-experiment]: https://github.com/go-task/task/issues/1200 +[enabling-experiments]: /experiments/#enabling-experiments diff --git a/docs/i18n/fr-FR/docusaurus-plugin-content-docs/current/experiments/remote_taskfiles.md b/docs/i18n/fr-FR/docusaurus-plugin-content-docs/current/experiments/remote_taskfiles.md index 76d21173..73a934d8 100644 --- a/docs/i18n/fr-FR/docusaurus-plugin-content-docs/current/experiments/remote_taskfiles.md +++ b/docs/i18n/fr-FR/docusaurus-plugin-content-docs/current/experiments/remote_taskfiles.md @@ -2,10 +2,19 @@ slug: /experiments/remote-taskfiles/ --- -# Remote Taskfiles +# Remote Taskfiles (#1317) -- Issue: [#1317][remote-taskfiles-experiment] -- Environment variable: `TASK_X_REMOTE_TASKFILES=1` +:::caution + +All experimental features are subject to breaking changes and/or removal _at any time_. We strongly recommend that you do not use these features in a production environment. They are intended for testing and feedback only. + +::: + +:::info + +To enable this experiment, set the environment variable: `TASK_X_REMOTE_TASKFILES=1`. Check out [our guide to enabling experiments ][enabling-experiments] for more information. + +::: This experiment allows you to specify a remote Taskfile URL when including a Taskfile. For example: @@ -53,5 +62,5 @@ By default, Task will timeout requests to download remote files after 10 seconds -[remote-taskfiles-experiment]: https://github.com/go-task/task/issues/1317 +[enabling-experiments]: /experiments/#enabling-experiments [man-in-the-middle-attacks]: https://en.wikipedia.org/wiki/Man-in-the-middle_attack diff --git a/docs/i18n/fr-FR/docusaurus-plugin-content-docs/current/experiments/template.md b/docs/i18n/fr-FR/docusaurus-plugin-content-docs/current/experiments/template.md index 6ae94c06..59246cf5 100644 --- a/docs/i18n/fr-FR/docusaurus-plugin-content-docs/current/experiments/template.md +++ b/docs/i18n/fr-FR/docusaurus-plugin-content-docs/current/experiments/template.md @@ -6,15 +6,34 @@ sidebar_position: -1 #Always push to the top draft: true #Hide in production --- -# {Name of Experiment} +# \{Name of Experiment\} (#\{Issue\}) -- Issue: [#{issue}](https://github.com/go-task/task/issues/{issue}) -- Environment variable: `TASK_X_{feature}` -- Breaks: - - {list any existing functionality that will be broken by this experiment} -- Deprecations: - - {link to any deprecation pages related to this experiment} +:::caution -{Short description of the feature} +All experimental features are subject to breaking changes and/or removal _at any time_. We strongly recommend that you do not use these features in a production environment. They are intended for testing and feedback only. -{Short explanation of how users should migrate to the new behavior} +::: + +:::warning + +This experiment breaks the following functionality: + +- \{list any existing functionality that will be broken by this experiment\} +- \{if there are no breaking changes, remove this admonition\} + +::: + +:::info + +To enable this experiment, set the environment variable: `TASK_X_{feature}=1`. Check out [our guide to enabling experiments ][enabling-experiments] for more information. + +::: + +\{Short description of the feature\} + +\{Short explanation of how users should migrate to the new behavior\} + + + + +[enabling-experiments]: /experiments/#enabling-experiments diff --git a/docs/i18n/fr-FR/docusaurus-plugin-content-docs/current/faq.md b/docs/i18n/fr-FR/docusaurus-plugin-content-docs/current/faq.md index 370c19ed..d3033bf2 100644 --- a/docs/i18n/fr-FR/docusaurus-plugin-content-docs/current/faq.md +++ b/docs/i18n/fr-FR/docusaurus-plugin-content-docs/current/faq.md @@ -78,7 +78,7 @@ The default shell on Windows (`cmd` and `powershell`) do not have commands like We want to make improvements to this part of Task and the issues below track this work. Constructive comments and contributions are very welcome! -- [#197](https://github.com/go-task/task/issues/197) +- #197 - [mvdan/sh#93](https://github.com/mvdan/sh/issues/93) - [mvdan/sh#97](https://github.com/mvdan/sh/issues/97) diff --git a/docs/i18n/fr-FR/docusaurus-plugin-content-docs/current/integrations.md b/docs/i18n/fr-FR/docusaurus-plugin-content-docs/current/integrations.md index 559459d1..b6e4c800 100644 --- a/docs/i18n/fr-FR/docusaurus-plugin-content-docs/current/integrations.md +++ b/docs/i18n/fr-FR/docusaurus-plugin-content-docs/current/integrations.md @@ -24,7 +24,7 @@ To get autocompletion and validation for your Taskfile, see the [Schema](#schema ## Schema -This was initially created by [@KROSF](https://github.com/KROSF) in [this Gist](https://gist.github.com/KROSF/c5435acf590acd632f71bb720f685895) and is now officially maintained in [this file](https://github.com/go-task/task/blob/main/docs/static/schema.json) and made available at https://taskfile.dev/schema.json. This schema can be used to validate Taskfiles and provide autocompletion in many code editors: +This was initially created by @KROSF in [this Gist](https://gist.github.com/KROSF/c5435acf590acd632f71bb720f685895) and is now officially maintained in [this file](https://github.com/go-task/task/blob/main/docs/static/schema.json) and made available at https://taskfile.dev/schema.json. This schema can be used to validate Taskfiles and provide autocompletion in many code editors: ### Visual Studio Code @@ -55,8 +55,8 @@ You can find more information on this in the [YAML language server project](http In addition to our official integrations, there is an amazing community of developers who have created their own integrations for Task: -- [Sublime Text Plugin](https://packagecontrol.io/packages/Taskfile) [[source](https://github.com/biozz/sublime-taskfile)] by [@biozz](https://github.com/biozz) -- [IntelliJ Plugin](https://plugins.jetbrains.com/plugin/17058-taskfile) [[source](https://github.com/lechuckroh/task-intellij-plugin)] by [@lechuckroh](https://github.com/lechuckroh) +- [Sublime Text Plugin](https://packagecontrol.io/packages/Taskfile) [[source](https://github.com/biozz/sublime-taskfile)] by @biozz +- [IntelliJ Plugin](https://plugins.jetbrains.com/plugin/17058-taskfile) [[source](https://github.com/lechuckroh/task-intellij-plugin)] by @lechuckroh - [mk](https://github.com/pycontribs/mk) command line tool recognizes Taskfiles natively. If you have made something that integrates with Task, please feel free to open a PR to add it to this list. diff --git a/docs/i18n/fr-FR/docusaurus-plugin-content-docs/current/intro.md b/docs/i18n/fr-FR/docusaurus-plugin-content-docs/current/intro.md index bc66fc41..e5228263 100644 --- a/docs/i18n/fr-FR/docusaurus-plugin-content-docs/current/intro.md +++ b/docs/i18n/fr-FR/docusaurus-plugin-content-docs/current/intro.md @@ -14,7 +14,7 @@ Task est un exécuteur de tâches / de build qui vise à être plus simple et fa Comme il est écrit en [Go][go], Task n'est qu'un binaire unique et n'a aucune dépendance. Cela signifie que vous n'avez pas besoin d'une installation compliquée simplement pour utiliser un outil de build. -Une fois [installé](installation.md), il vous suffit de décrire vos tâches de build en utilisant un simple schéma [YAML][yaml] dans un fichier appelé `Taskfile.yml`: +Once [installed](/installation), you just need to describe your build tasks using a simple [YAML][yaml] schema in a file called `Taskfile.yml`: ```yaml title="Taskfile.yml" version: '3' @@ -32,8 +32,8 @@ L'exemple ci-dessus n'est que le début, vous pouvez jeter un coup d'œil au [gu ## Fonctionnalités -- [Installation facile](installation.md): il suffit de télécharger un seul binaire, ajoutez le à `$PATH` et vous avez terminé ! Ou vous pouvez également installer en utilisant [Homebrew][homebrew], [Snapcraft][snapcraft] ou [Scoop][scoop] si vous le souhaitez. -- Disponible sur les CIs: en ajoutant [cette commande simple](installation.md#install-script) à installer sur votre script CI, vous êtes prêt à utiliser Task dans le cadre de votre pipeline CI ; +- [Easy installation](/installation): just download a single binary, add to `$PATH` and you're done! Ou vous pouvez également installer en utilisant [Homebrew][homebrew], [Snapcraft][snapcraft] ou [Scoop][scoop] si vous le souhaitez. +- Available on CIs: by adding [this simple command](/installation#install-script) to install on your CI script and you're ready to use Task as part of your CI pipeline; - Multi-plateforme : alors que la plupart des outils de compilation ne fonctionnent bien que sous Linux ou macOS, Task prend également en charge Windows grâce à [cet interpréteur shell pour Go][sh]. - Idéal pour la génération de code : vous pouvez facilement [empêcher une tâche de s'exécuter](/usage#prevent-unnecessary-work) si un ensemble donné de fichiers n'ont pas changé depuis le dernier lancement (basé soit sur son horodatage soit son contenu). diff --git a/docs/i18n/fr-FR/docusaurus-plugin-content-docs/current/styleguide.md b/docs/i18n/fr-FR/docusaurus-plugin-content-docs/current/styleguide.md index a05fda32..e1ee6016 100644 --- a/docs/i18n/fr-FR/docusaurus-plugin-content-docs/current/styleguide.md +++ b/docs/i18n/fr-FR/docusaurus-plugin-content-docs/current/styleguide.md @@ -9,19 +9,6 @@ Ceci est le guide officiel du style Task pour les fichiers `Taskfile.yml`. Ce gu Il contient des directives générales, mais elles ne doivent pas nécessairement être strictement respectées. N'hésitez pas à procéder différemment si vous en avez le besoin ou que vous le souhaitez. Aussi, n'hésitez pas à [ouvrir une issue](https://github. com/go-task/task/issues/new/choose) ou [faire une pull request](https://github. com/go-task/task/compare) pour améliorer ce guide. -## Utiliser `Taskfile.yml` et non `taskfile.yml` - -```yaml -# bad -taskfile.yml - - -# good -Taskfile.yml -``` - -C'est important, surtout pour les utilisateurs Linux. Windows et MacOS ont un système de fichiers insensibles à la casse, donc `taskfile.yml` fonctionnera, même si ce n'est pas officiellement supporté. Sur Linux, uniquement `Taskfile.yml` fonctionnera. - ## Utiliser les mots-clés dans l'ordre correct - `version:` diff --git a/docs/i18n/fr-FR/docusaurus-plugin-content-docs/current/taskfile_versions.md b/docs/i18n/fr-FR/docusaurus-plugin-content-docs/current/taskfile_versions.md index d8001325..cf920ace 100644 --- a/docs/i18n/fr-FR/docusaurus-plugin-content-docs/current/taskfile_versions.md +++ b/docs/i18n/fr-FR/docusaurus-plugin-content-docs/current/taskfile_versions.md @@ -69,7 +69,7 @@ tasks: :::caution -Le support du schéma v2 est [déprécié][deprecate-version-2-schema] et sera retiré dans une future version. +v2 schemas are [no longer supported by the latest version of Task][deprecate-version-2-schema]. ::: @@ -86,13 +86,13 @@ tasks: - aws s3 cp .env s3://myenvironment ``` -Veuillez consulter la [documentation][includes] +Please check the [documentation][includes] ## Version 2.2 :::caution -Le support du schéma v2 est [déprécié][deprecate-version-2-schema] et sera retiré dans une future version. +v2 schemas are [no longer supported by the latest version of Task][deprecate-version-2-schema]. ::: @@ -110,11 +110,11 @@ includes: :::caution -Le support du schéma v2 est [déprécié][deprecate-version-2-schema] et sera retiré dans une future version. +v2 schemas are [no longer supported by the latest version of Task][deprecate-version-2-schema]. ::: -La version 2.1 inclut une option globale `output` permettant d'avoir plus de contrôle sur la manière dont les logs sont affichés dans la console (voir la [documentation][output] pour plus d'informations): +Version 2.1 includes a global `output` option, to allow having more control over how commands output are printed to the console (see [documentation][output] for more info): ```yaml version: '2' @@ -128,7 +128,7 @@ tasks: prefix: server ``` -À partir de cette version, il est également possible d'ignorer les erreurs d'une commande ou d'une tâche (vérifiez la documentation [ici][ignore_errors] ) : +From this version it's also possible to ignore errors of a command or task (check documentation [here][ignore_errors]): ```yaml version: '2' @@ -151,7 +151,7 @@ tasks: :::caution -Le support du schéma v2 est [déprécié][deprecate-version-2-schema] et sera retiré dans une future version. +v2 schemas are [no longer supported by the latest version of Task][deprecate-version-2-schema]. ::: @@ -234,7 +234,7 @@ L'ordre de priorité de la variable était également différent : -[output]: usage.md#output-syntax -[ignore_errors]: usage.md#ignore-errors -[includes]: usage.md#including-other-taskfiles -[deprecate-version-2-schema]: https://github.com/go-task/task/issues/1197 +[deprecate-version-2-schema]: /deprecations/version-2-schema/ +[output]: /usage#output-syntax +[ignore_errors]: /usage#ignore-errors +[includes]: /usage#including-other-taskfiles diff --git a/docs/i18n/fr-FR/docusaurus-plugin-content-docs/current/usage.md b/docs/i18n/fr-FR/docusaurus-plugin-content-docs/current/usage.md index f6354bc5..0691dc63 100644 --- a/docs/i18n/fr-FR/docusaurus-plugin-content-docs/current/usage.md +++ b/docs/i18n/fr-FR/docusaurus-plugin-content-docs/current/usage.md @@ -1298,7 +1298,7 @@ tasks: task: "This is a dangerous command... Do you want to continue?" [y/N] ``` -Warning prompts are called before executing a task. If a prompt is denied Task will exit with [exit code](api_reference.md#exit-codes) 205. If approved, Task will continue as normal. +Warning prompts are called before executing a task. If a prompt is denied Task will exit with [exit code](/api#exit-codes) 205. If approved, Task will continue as normal. ```bash ❯ task example diff --git a/docs/i18n/ja-JP/docusaurus-plugin-content-blog/2023-09-02-introducing-experiments.md b/docs/i18n/ja-JP/docusaurus-plugin-content-blog/2023-09-02-introducing-experiments.md index 3c358a4e..42d99117 100644 --- a/docs/i18n/ja-JP/docusaurus-plugin-content-blog/2023-09-02-introducing-experiments.md +++ b/docs/i18n/ja-JP/docusaurus-plugin-content-blog/2023-09-02-introducing-experiments.md @@ -36,7 +36,7 @@ None of this would have been possible without the [150 or so (and growing) contr [![Star History Chart](https://api.star-history.com/svg?repos=go-task/task&type=Date)](https://star-history.com/#go-task/task&Date) -## What's next? :thinking_face: +## What's next? :thinking: It's extremely motivating to see so many people using and loving Task. However, in this time we've also seen an increase in the number of issues and feature requests. In particular, issues that require some kind of breaking change to Task. This isn't a bad thing, but as we grow we need to be more responsible about how we address these changes in a way that ensures stability and compatibility for existing users and their Taskfiles. @@ -46,7 +46,7 @@ At this point you're probably thinking something like: And you'd be right... sort of. In theory, this sounds great, but the reality is that we don't have the time to commit to a major overhaul of Task in one big bang release. This would require a colossal amount of time and coordination and with full time jobs and personal lives to tend to, this is a difficult commitment to make. Smaller, more frequent major releases are also a significant inconvenience for users as they have to constantly keep up-to-date with our breaking changes. Fortunately, there is a better way. -## What's going to change? :face_with_monocle: +## What's going to change? :monocle: Going forwards, breaking changes will be allowed into _minor_ versions of Task as "experimental features". To access these features users will need opt-in by enabling feature flags. This will allow us to release new features slowly and gather feedback from the community before making them the default behavior in a future major release. @@ -62,7 +62,7 @@ When v4 is released, we will continue to support v3 for a period of time (bug fi ## v4 When? :eyes: -:shrug: When it's ready. +:man_shrugging: When it's ready. In all seriousness, we don't have a timeline for this yet. We'll be working on the most serious deficiencies of the v3 API first and regularly evaluating the state of the project. When we feel its in a good, stable place and we have a clear upgrade path for users and a number of stable experiments, we'll start to think about v4. diff --git a/docs/i18n/ja-JP/docusaurus-plugin-content-docs/current/api_reference.md b/docs/i18n/ja-JP/docusaurus-plugin-content-docs/current/api_reference.md index 92ef25d5..cfd3ce9c 100644 --- a/docs/i18n/ja-JP/docusaurus-plugin-content-docs/current/api_reference.md +++ b/docs/i18n/ja-JP/docusaurus-plugin-content-docs/current/api_reference.md @@ -23,11 +23,11 @@ task [--flags] [tasks...] [-- CLI_ARGS...] | ショート | フラグ | 型 | デフォルト値 | 説明 | | ---- | --------------------------- | -------- | -------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `-c` | `--color` | `bool` | `true` | Colored output. Enabled by default. Set flag to `false` or use `NO_COLOR=1` to disable. | -| `-C` | `--concurrency` | `int` | `0` | Limit number tasks to run concurrently. Zero means unlimited. | -| `-d` | `--dir` | `string` | ワーキングディレクトリ | Sets directory of execution. | -| `-n` | `--dry` | `bool` | `false` | Compiles and prints tasks in the order that they would be run, without executing them. | -| `-x` | `--exit-code` | `bool` | `false` | Pass-through the exit code of the task command. | +| `-c` | `--color` | `bool` | `true` | 色付き出力。 デフォルトで有効。 `false`または` NO_COLOR=1`を使用することで無効にできます。 | +| `-C` | `--concurrency` | `int` | `0` | 同時に実行するタスクを制限します。 0は無制限を意味します。 | +| `-d` | `--dir` | `string` | ワーキングディレクトリ | 実行するディレクトリを指定します。 | +| `-n` | `--dry` | `bool` | `false` | タスクを実行せずに、コンパイルして実行される順番を表示します。 | +| `-x` | `--exit-code` | `bool` | `false` | taskコマンドの終了コードを変更や加工を行わずにそのまま伝えます。 | | `-f` | `--force` | `bool` | `false` | Forces execution even when the task is up-to-date. | | `-g` | `--global` | `bool` | `false` | Runs global Taskfile, from `$HOME/Taskfile.{yml,yaml}`. | | `-h` | `--help` | `bool` | `false` | Shows Task usage. | @@ -36,20 +36,20 @@ task [--flags] [tasks...] [-- CLI_ARGS...] | `-l` | `--list` | `bool` | `false` | Lists tasks with description of current Taskfile. | | `-a` | `--list-all` | `bool` | `false` | Lists tasks with or without a description. | | | `--sort` | `string` | `default` | Changes the order of the tasks when listed.
`default` - Alphanumeric with root tasks first
`alphanumeric` - Alphanumeric
`none` - No sorting (As they appear in the Taskfile) | -| | `--json` | `bool` | `false` | See [JSON Output](#json-output) | +| | `--json` | `bool` | `false` | [JSON出力](#json-output)を参照してください。 | | `-o` | `--output` | `string` | Default set in the Taskfile or `intervealed` | Sets output style: [`interleaved`/`group`/`prefixed`]. | | | `--output-group-begin` | `string` | | Message template to print before a task's grouped output. | | | `--output-group-end` | `string` | | Message template to print after a task's grouped output. | | | `--output-group-error-only` | `bool` | `false` | Swallow command output on zero exit code. | -| `-p` | `--parallel` | `bool` | `false` | Executes tasks provided on command line in parallel. | -| `-s` | `--silent` | `bool` | `false` | Disables echoing. | +| `-p` | `--parallel` | `bool` | `false` | コマンドラインで指定したタスクを並列に実行します。 | +| `-s` | `--silent` | `bool` | `false` | エコーを無効にします。 | | `-y` | `--yes` | `bool` | `false` | Assume "yes" as answer to all prompts. | | | `--status` | `bool` | `false` | Exits with non-zero exit code if any of the given tasks is not up-to-date. | -| | `--summary` | `bool` | `false` | Show summary about a task. | +| | `--summary` | `bool` | `false` | タスクのサマリーを表示します。 | | `-t` | `--taskfile` | `string` | `Taskfile.yml`または`Taskfile.yaml` | | -| `-v` | `--verbose` | `bool` | `false` | Enables verbose mode. | -| | `--version` | `bool` | `false` | Show Task version. | -| `-w` | `--watch` | `bool` | `false` | Enables watch of the given task. | +| `-v` | `--verbose` | `bool` | `false` | 冗長モードを有効にします。 | +| | `--version` | `bool` | `false` | Taskのバージョンを表示。 | +| `-w` | `--watch` | `bool` | `false` | 指定したタスクの監視を有効にします。 | ## 終了コード @@ -63,9 +63,9 @@ A full list of the exit codes and their descriptions can be found below: | コード | 説明 | | --- | ------------------------------------------------------------ | -| 0 | Success | -| 1 | An unknown error occurred | -| 100 | No Taskfile was found | +| 0 | 成功 | +| 1 | 不明なエラー | +| 100 | Taskfileが見つかりません | | 101 | A Taskfile already exists when trying to initialize one | | 102 | The Taskfile is invalid or cannot be parsed | | 103 | A remote Taskfile could not be downloaded | @@ -81,7 +81,7 @@ A full list of the exit codes and their descriptions can be found below: | 205 | A task was cancelled by the user | | 206 | A task was not executed due to missing required variables | -These codes can also be found in the repository in [`errors/errors.go`](https://github.com/go-task/task/blob/main/errors/errors.go). +これらのコードは[`errors/errors.go`](https://github.com/go-task/task/blob/main/errors/errors.go)にあります。 :::info @@ -117,9 +117,10 @@ When using the `--json` flag in combination with either the `--list` or `--list- There are some special variables that is available on the templating system: -| Var | Description | +| 変数 | 説明 | | ------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------- | | `CLI_ARGS` | Contain all extra arguments passed after `--` when calling Task through the CLI. | +| `CLI_FORCE` | A boolean containing whether the `--force` or `--force-all` flags were set. | | `TASK` | The name of the current task. | | `ROOT_DIR` | The absolute path of the root Taskfile. | | `TASKFILE_DIR` | The absolute path of the included Taskfile. | @@ -136,14 +137,14 @@ Some environment variables can be overridden to adjust Task behavior. | 環境変数 | デフォルト値 | 説明 | | -------------------- | ------- | ----------------------------------------------------------------------------------------------------------------- | | `TASK_TEMP_DIR` | `.task` | Location of the temp dir. Can relative to the project like `tmp/task` or absolute like `/tmp/.task` or `~/.task`. | -| `TASK_COLOR_RESET` | `0` | Color used for white. | -| `TASK_COLOR_BLUE` | `34` | Color used for blue. | -| `TASK_COLOR_GREEN` | `32` | Color used for green. | -| `TASK_COLOR_CYAN` | `36` | Color used for cyan. | -| `TASK_COLOR_YELLOW` | `33` | Color used for yellow. | -| `TASK_COLOR_MAGENTA` | `35` | Color used for magenta. | -| `TASK_COLOR_RED` | `31` | Color used for red. | -| `FORCE_COLOR` | | Force color output usage. | +| `TASK_COLOR_RESET` | `0` | 白色に使われる。 | +| `TASK_COLOR_BLUE` | `34` | 青色に使われる。 | +| `TASK_COLOR_GREEN` | `32` | 緑色に使われる。 | +| `TASK_COLOR_CYAN` | `36` | シアン色に使われる。 | +| `TASK_COLOR_YELLOW` | `33` | 黄色に使われる。 | +| `TASK_COLOR_MAGENTA` | `35` | マゼンタ色に使われる。 | +| `TASK_COLOR_RED` | `31` | 赤色に使われる。 | +| `FORCE_COLOR` | | 色の出力を強制します。 | ## Taskfileのスキーマ @@ -165,7 +166,7 @@ Some environment variables can be overridden to adjust Task behavior. ### Include -| Attribute | Type | Default | Description | +| 属性 | 型 | デフォルト値 | 説明 | | ---------- | --------------------- | ----------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `taskfile` | `string` | | The path for the Taskfile or directory to be included. If a directory, Task will look for files named `Taskfile.yml` or `Taskfile.yaml` inside that directory. If a relative path, resolved relative to the directory containing the including Taskfile. | | `dir` | `string` | The parent Taskfile directory | The working directory of the included tasks when run. | @@ -233,7 +234,7 @@ vars: | `prefix` | `string` | | Defines a string to prefix the output of tasks running in parallel. Only used when the output mode is `prefixed`. | | `ignore_error` | `bool` | `false` | Continue execution if errors happen while executing commands. | | `run` | `string` | The one declared globally in the Taskfile or `always` | Specifies whether the task should run again or not if called more than once. Available options: `always`, `once` and `when_changed`. | -| `platforms` | `[]string` | All platforms | Specifies which platforms the task should be run on. [Valid GOOS and GOARCH values allowed](https://github.com/golang/go/blob/main/src/go/build/syslist.go). Task will be skipped otherwise. | +| `platforms` | `[]string` | 全てのプラットフォーム | Specifies which platforms the task should be run on. [Valid GOOS and GOARCH values allowed](https://github.com/golang/go/blob/main/src/go/build/syslist.go). Task will be skipped otherwise. | | `set` | `[]string` | | Specify options for the [`set` builtin](https://www.gnu.org/software/bash/manual/html_node/The-Set-Builtin.html). | | `shopt` | `[]string` | | Specify option for the [`shopt` builtin](https://www.gnu.org/software/bash/manual/html_node/The-Shopt-Builtin.html). | @@ -257,18 +258,18 @@ tasks: #### Command -| Attribute | Type | Default | Description | -| -------------- | ---------------------------------- | ------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `cmd` | `string` | | The shell command to be executed. | -| `task` | `string` | | Set this to trigger execution of another task instead of running a command. This cannot be set together with `cmd`. | -| `for` | [`For`](#for) | | Runs the command once for each given value. | -| `silent` | `bool` | `false` | Skips some output for this command. Note that STDOUT and STDERR of the commands will still be redirected. | -| `vars` | [`map[string]Variable`](#variable) | | Optional additional variables to be passed to the referenced task. Only relevant when setting `task` instead of `cmd`. | -| `ignore_error` | `bool` | `false` | Continue execution if errors happen while executing the command. | -| `defer` | `string` | | Alternative to `cmd`, but schedules the command to be executed at the end of this task instead of immediately. This cannot be used together with `cmd`. | -| `platforms` | `[]string` | All platforms | Specifies which platforms the command should be run on. [Valid GOOS and GOARCH values allowed](https://github.com/golang/go/blob/main/src/go/build/syslist.go). Command will be skipped otherwise. | -| `set` | `[]string` | | Specify options for the [`set` builtin](https://www.gnu.org/software/bash/manual/html_node/The-Set-Builtin.html). | -| `shopt` | `[]string` | | Specify option for the [`shopt` builtin](https://www.gnu.org/software/bash/manual/html_node/The-Shopt-Builtin.html). | +| 属性 | 型 | デフォルト値 | 説明 | +| -------------- | ---------------------------------- | ----------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `cmd` | `string` | | The shell command to be executed. | +| `task` | `string` | | Set this to trigger execution of another task instead of running a command. This cannot be set together with `cmd`. | +| `for` | [`For`](#for) | | Runs the command once for each given value. | +| `silent` | `bool` | `false` | Skips some output for this command. Note that STDOUT and STDERR of the commands will still be redirected. | +| `vars` | [`map[string]Variable`](#variable) | | Optional additional variables to be passed to the referenced task. Only relevant when setting `task` instead of `cmd`. | +| `ignore_error` | `bool` | `false` | Continue execution if errors happen while executing the command. | +| `defer` | `string` | | Alternative to `cmd`, but schedules the command to be executed at the end of this task instead of immediately. This cannot be used together with `cmd`. | +| `platforms` | `[]string` | 全てのプラットフォーム | Specifies which platforms the command should be run on. [Valid GOOS and GOARCH values allowed](https://github.com/golang/go/blob/main/src/go/build/syslist.go). Command will be skipped otherwise. | +| `set` | `[]string` | | Specify options for the [`set` builtin](https://www.gnu.org/software/bash/manual/html_node/The-Set-Builtin.html). | +| `shopt` | `[]string` | | Specify option for the [`shopt` builtin](https://www.gnu.org/software/bash/manual/html_node/The-Shopt-Builtin.html). | :::info @@ -286,11 +287,11 @@ tasks: #### Dependency -| Attribute | Type | Default | Description | -| --------- | ---------------------------------- | ------- | ---------------------------------------------------------------------------------------------------------------- | -| `task` | `string` | | The task to be execute as a dependency. | -| `vars` | [`map[string]Variable`](#variable) | | Optional additional variables to be passed to this task. | -| `silent` | `bool` | `false` | Hides task name and command from output. The command's output will still be redirected to `STDOUT` and `STDERR`. | +| 属性 | 型 | デフォルト値 | 説明 | +| -------- | ---------------------------------- | ------- | ---------------------------------------------------------------------------------------------------------------- | +| `task` | `string` | | The task to be execute as a dependency. | +| `vars` | [`map[string]Variable`](#variable) | | Optional additional variables to be passed to this task. | +| `silent` | `bool` | `false` | Hides task name and command from output. The command's output will still be redirected to `STDOUT` and `STDERR`. | :::tip @@ -322,10 +323,10 @@ Finally, the `for` parameter can be defined as a map when you want to use a vari #### Precondition -| Attribute | Type | Default | Description | -| --------- | -------- | ------- | ------------------------------------------------------------------------------------------------------------ | -| `sh` | `string` | | Command to be executed. If a non-zero exit code is returned, the task errors without executing its commands. | -| `msg` | `string` | | Optional message to print if the precondition isn't met. | +| 属性 | 型 | デフォルト値 | 説明 | +| ----- | -------- | ------ | ------------------------------------------------------------------------------------------------------------ | +| `sh` | `string` | | Command to be executed. If a non-zero exit code is returned, the task errors without executing its commands. | +| `msg` | `string` | | Optional message to print if the precondition isn't met. | :::tip @@ -339,8 +340,8 @@ tasks: ::: -#### Requires +#### 必須 -| Attribute | Type | Default | Description | -| --------- | ---------- | ------- | -------------------------------------------------------------------------------------------------- | -| `vars` | `[]string` | | List of variable or environment variable names that must be set if this task is to execute and run | +| 属性 | 型 | デフォルト値 | 説明 | +| ------ | ---------- | ------ | -------------------------------- | +| `vars` | `[]string` | | タスクが実行されるために設定する必要がある変数や環境変数のリスト | diff --git a/docs/i18n/ja-JP/docusaurus-plugin-content-docs/current/changelog.md b/docs/i18n/ja-JP/docusaurus-plugin-content-docs/current/changelog.md index a5c20b20..628d35e1 100644 --- a/docs/i18n/ja-JP/docusaurus-plugin-content-docs/current/changelog.md +++ b/docs/i18n/ja-JP/docusaurus-plugin-content-docs/current/changelog.md @@ -5,435 +5,469 @@ sidebar_position: 14 # Changelog +## v3.33.1 - 2023-12-21 + +- Added support for looping over map variables with the [Any Variables experiment](https://taskfile.dev/experiments/any_variables) enabled (#1435, #1437 by @pd93). +- Fixed a bug where dynamic variables were causing errors during fast compilation (#1435, #1437 by @pd93) + +## v3.33.0 - 2023-12-20 + +- Added [Any Variables experiment](https://taskfile.dev/experiments/any-variables) (#1415, #1421 by @pd93). +- Updated Docusaurus to v3 (#1432 by @pd93). +- Added `aliases` to `--json` flag output (#1430, #1431 by @pd93). +- Added new `CLI_FORCE` special variable containing whether the `--force` or `--force-all` flags were set (#1412, #1434 by @pd93). + ## v3.32.0 - 2023-11-29 -- Added ability to exclude some files from `sources:` by using `exclude:` ([#225](https://github.com/go-task/task/issues/225), [#1324](https://github.com/go-task/task/issues/1324) by [@pd93](https://github.com/pd93) and [@andreynering](https://github.com/andreynering)). -- The [Remote Taskfiles experiment](https://taskfile.dev/experiments/remote-taskfiles) now prefers remote files over cached ones by default ([#1317](https://github.com/go-task/task/issues/1317), [#1345](https://github.com/go-task/task/issues/1345) by [@pd93](https://github.com/pd93)). -- Added `--timeout` flag to the [Remote Taskfiles experiment](https://taskfile.dev/experiments/remote-taskfiles) ([#1317](https://github.com/go-task/task/issues/1317), [#1345](https://github.com/go-task/task/issues/1345) by [@pd93](https://github.com/pd93)). -- Fix bug where dynamic `vars:` and `env:` were being executed when they should actually be skipped by `platforms:` ([#1273](https://github.com/go-task/task/issues/1273), [#1377](https://github.com/go-task/task/issues/1377) by [@andreynering](https://github.com/andreynering)). -- Fix `schema.json` to make `silent` valid in `cmds` that use `for` ([#1385](https://github.com/go-task/task/issues/1385), [#1386](https://github.com/go-task/task/issues/1386) by [@iainvm](https://github.com/iainvm)). -- Add new `--no-status` flag to skip expensive status checks when running `task --list --json` ([#1348](https://github.com/go-task/task/issues/1348), [#1368](https://github.com/go-task/task/issues/1368) by [@amancevice](https://github.com/amancevice)). +- Added ability to exclude some files from `sources:` by using `exclude:` (#225, + + # 1324 by @pd93 and @andreynering). +- The [Remote Taskfiles experiment](https://taskfile.dev/experiments/remote-taskfiles) now prefers remote files over cached ones by default (#1317, #1345 by @pd93). +- Added `--timeout` flag to the [Remote Taskfiles experiment](https://taskfile.dev/experiments/remote-taskfiles) (#1317, #1345 by @pd93). +- Fix bug where dynamic `vars:` and `env:` were being executed when they should actually be skipped by `platforms:` (#1273, #1377 by @andreynering). +- Fix `schema.json` to make `silent` valid in `cmds` that use `for` (#1385, + + # 1386 by @iainvm). +- Add new `--no-status` flag to skip expensive status checks when running `task --list --json` (#1348, #1368 by @amancevice). ## v3.31.0 - 2023-10-07 -- Enabled the `--yes` flag for the [Remote Taskfiles experiment](https://taskfile.dev/experiments/remote-taskfiles) ([#1317](https://github.com/go-task/task/issues/1317), [#1344](https://github.com/go-task/task/issues/1344) by [@pd93](https://github.com/pd93)). -- Add ability to set `watch: true` in a task to automatically run it in watch mode ([#231](https://github.com/go-task/task/issues/231), [#1361](https://github.com/go-task/task/issues/1361) by [@andreynering](https://github.com/andreynering)). -- Fixed a bug on the watch mode where paths that contained `.git` (like `.github`), for example, were also being ignored ([#1356](https://github.com/go-task/task/issues/1356) by [@butuzov](https://github.com/butuzov)). -- Fixed a nil pointer error when running a Taskfile with no contents ([#1341](https://github.com/go-task/task/issues/1341), [#1342](https://github.com/go-task/task/issues/1342) by [@pd93](https://github.com/pd93)). -- Added a new [exit code](https://taskfile.dev/api/#exit-codes) (107) for when a Taskfile does not contain a schema version ([#1342](https://github.com/go-task/task/issues/1342) by [@pd93](https://github.com/pd93)). -- Increased limit of maximum task calls from 100 to 1000 for now, as some people have been reaching this limit organically now that we have loops. This check exists to detect recursive calls, but will be removed in favor of a better algorithm soon ([#1321](https://github.com/go-task/task/issues/1321), [#1332](https://github.com/go-task/task/issues/1332)). -- Fixed templating on descriptions on `task --list` ([#1343](https://github.com/go-task/task/issues/1343) by [@blackjid](https://github.com/blackjid)). -- Fixed a bug where precondition errors were incorrectly being printed when task execution was aborted ([#1337](https://github.com/go-task/task/issues/1337), [#1338](https://github.com/go-task/task/issues/1338) by [@sylv](https://github.com/sylv)-io). +- Enabled the `--yes` flag for the [Remote Taskfiles experiment](https://taskfile.dev/experiments/remote-taskfiles) (#1317, #1344 by @pd93). +- Add ability to set `watch: true` in a task to automatically run it in watch mode (#231, #1361 by @andreynering). +- Fixed a bug on the watch mode where paths that contained `.git` (like `.github`), for example, were also being ignored (#1356 by @butuzov). +- Fixed a nil pointer error when running a Taskfile with no contents (#1341, + + # 1342 by @pd93). +- Added a new [exit code](https://taskfile.dev/api/#exit-codes) (107) for when a Taskfile does not contain a schema version (#1342 by @pd93). +- Increased limit of maximum task calls from 100 to 1000 for now, as some people have been reaching this limit organically now that we have loops. This check exists to detect recursive calls, but will be removed in favor of a better algorithm soon (#1321, #1332). +- Fixed templating on descriptions on `task --list` (#1343 by @blackjid). +- Fixed a bug where precondition errors were incorrectly being printed when task execution was aborted (#1337, #1338 by @sylv-io). ## v3.30.1 - 2023-09-14 -- Fixed a regression where some special variables weren't being set correctly ([#1331](https://github.com/go-task/task/issues/1331), [#1334](https://github.com/go-task/task/issues/1334) by [@pd93](https://github.com/pd93)). +- Fixed a regression where some special variables weren't being set correctly (#1331, #1334 by @pd93). ## v3.30.0 - 2023-09-13 -- Prep work for Remote Taskfiles ([#1316](https://github.com/go-task/task/issues/1316) by [@pd93](https://github.com/pd93)). -- Added the [Remote Taskfiles experiment](https://taskfile.dev/experiments/remote-taskfiles) as a draft ([#1152](https://github.com/go-task/task/issues/1152), [#1317](https://github.com/go-task/task/issues/1317) by [@pd93](https://github.com/pd93)). -- Improve performance of content checksuming on `sources:` by replacing md5 with [XXH3](https://xxhash.com/) which is much faster. This is a soft breaking change because checksums will be invalidated when upgrading to this release ([#1325](https://github.com/go-task/task/issues/1325) by [@ReillyBrogan](https://github.com/ReillyBrogan)). +- Prep work for Remote Taskfiles (#1316 by @pd93). +- Added the [Remote Taskfiles experiment](https://taskfile.dev/experiments/remote-taskfiles) as a draft (#1152, #1317 by @pd93). +- Improve performance of content checksuming on `sources:` by replacing md5 with [XXH3](https://xxhash.com/) which is much faster. This is a soft breaking change because checksums will be invalidated when upgrading to this release (#1325 by @ReillyBrogan). ## v3.29.1 - 2023-08-26 -- Update to Go 1.21 (bump minimum version to 1.20) ([#1302](https://github.com/go-task/task/issues/1302) by [@pd93](https://github.com/pd93)) -- Fix a missing a line break on log when using `--watch` mode ([#1285](https://github.com/go-task/task/issues/1285), [#1297](https://github.com/go-task/task/issues/1297) by [@FilipSolich](https://github.com/FilipSolich)). -- Fix `defer` on JSON Schema ([#1288](https://github.com/go-task/task/issues/1288) by [@calvinmclean](https://github.com/calvinmclean) and [@andreynering](https://github.com/andreynering)). -- Fix bug in usage of special variables like `{{.USER_WORKING_DIR}}` in combination with `includes` ([#1046](https://github.com/go-task/task/issues/1046), [#1205](https://github.com/go-task/task/issues/1205), [#1250](https://github.com/go-task/task/issues/1250), [#1293](https://github.com/go-task/task/issues/1293), [#1312](https://github.com/go-task/task/issues/1312), [#1274](https://github.com/go-task/task/issues/1274) by [@andarto](https://github.com/andarto), [#1309](https://github.com/go-task/task/issues/1309) by [@andreynering](https://github.com/andreynering)). -- Fix bug on `--status` flag. Running this flag should not have side-effects: it should not update the checksum on `.task`, only report its status ([#1305](https://github.com/go-task/task/issues/1305), [#1307](https://github.com/go-task/task/issues/1307) by [@visciang](https://github.com/visciang), [#1313](https://github.com/go-task/task/issues/1313) by [@andreynering](https://github.com/andreynering)). +- Update to Go 1.21 (bump minimum version to 1.20) (#1302 by @pd93) +- Fix a missing a line break on log when using `--watch` mode (#1285, #1297 by @FilipSolich). +- Fix `defer` on JSON Schema (#1288 by @calvinmclean and @andreynering). +- Fix bug in usage of special variables like `{{.USER_WORKING_DIR}}` in combination with `includes` (#1046, #1205, #1250, #1293, #1312, #1274 by @andarto, #1309 by @andreynering). +- Fix bug on `--status` flag. Running this flag should not have side-effects: it should not update the checksum on `.task`, only report its status (#1305, + + # 1307 by @visciang, #1313 by @andreynering). ## v3.28.0 - 2023-07-24 -- Added the ability to [loop over commands and tasks](https://taskfile.dev/usage/#looping-over-values) using `for` ([#82](https://github.com/go-task/task/issues/82), [#1220](https://github.com/go-task/task/issues/1220) by [@pd93](https://github.com/pd93)). -- Fixed variable propagation in multi-level includes ([#778](https://github.com/go-task/task/issues/778), [#996](https://github.com/go-task/task/issues/996), [#1256](https://github.com/go-task/task/issues/1256) by [@hudclark](https://github.com/hudclark)). -- Fixed a bug where the `--exit-code` code flag was not returning the correct exit code when calling commands indirectly ([#1266](https://github.com/go-task/task/issues/1266), [#1270](https://github.com/go-task/task/issues/1270) by [@pd93](https://github.com/pd93)). -- Fixed a `nil` panic when a dependency was commented out or left empty ([#1263](https://github.com/go-task/task/issues/1263) by [@neomantra](https://github.com/neomantra)). +- Added the ability to [loop over commands and tasks](https://taskfile.dev/usage/#looping-over-values) using `for` (#82, #1220 by @pd93). +- Fixed variable propagation in multi-level includes (#778, #996, #1256 by @hudclark). +- Fixed a bug where the `--exit-code` code flag was not returning the correct exit code when calling commands indirectly (#1266, #1270 by @pd93). +- Fixed a `nil` panic when a dependency was commented out or left empty (#1263 by @neomantra). ## v3.27.1 - 2023-06-30 -- Fix panic when a `.env` directory (not file) is present on current directory ([#1244](https://github.com/go-task/task/issues/1244), [#1245](https://github.com/go-task/task/issues/1245) by [@pd93](https://github.com/pd93)). +- Fix panic when a `.env` directory (not file) is present on current directory (#1244, #1245 by @pd93). ## v3.27.0 - 2023-06-29 -- Allow Taskfiles starting with lowercase characters ([#947](https://github.com/go-task/task/issues/947), [#1221](https://github.com/go-task/task/issues/1221) by [@pd93](https://github.com/pd93)). +- Allow Taskfiles starting with lowercase characters (#947, #1221 by @pd93). - e.g. `taskfile.yml`, `taskfile.yaml`, `taskfile.dist.yml` & `taskfile.dist.yaml` -- Bug fixes were made to the [npm installation method](https://taskfile.dev/installation/#npm). ([#1190](https://github.com/go-task/task/issues/1190), by [@sounisi5011](https://github.com/sounisi5011)). -- Added the [gentle force experiment](https://taskfile.dev/experiments/gentle-force) as a draft ([#1200](https://github.com/go-task/task/issues/1200), [#1216](https://github.com/go-task/task/issues/1216) by [@pd93](https://github.com/pd93)). -- Added an `--experiments` flag to allow you to see which experiments are enabled ([#1242](https://github.com/go-task/task/issues/1242) by [@pd93](https://github.com/pd93)). -- Added ability to specify which variables are required in a task ([#1203](https://github.com/go-task/task/issues/1203), [#1204](https://github.com/go-task/task/issues/1204) by [@benc](https://github.com/benc)-uk). +- Bug fixes were made to the [npm installation method](https://taskfile.dev/installation/#npm). (#1190, by @sounisi5011). +- Added the [gentle force experiment](https://taskfile.dev/experiments/gentle-force) as a draft (#1200, #1216 by @pd93). +- Added an `--experiments` flag to allow you to see which experiments are enabled (#1242 by @pd93). +- Added ability to specify which variables are required in a task (#1203, #1204 by @benc-uk). ## v3.26.0 - 2023-06-10 -- Only rewrite checksum files in `.task` if the checksum has changed ([#1185](https://github.com/go-task/task/issues/1185), [#1194](https://github.com/go-task/task/issues/1194) by [@deviantintegral](https://github.com/deviantintegral)). -- Added [experiments documentation](https://taskfile.dev/experiments) to the website ([#1198](https://github.com/go-task/task/issues/1198) by [@pd93](https://github.com/pd93)). -- Deprecated `version: 2` schema. This will be removed in the next major release ([#1197](https://github.com/go-task/task/issues/1197), [#1198](https://github.com/go-task/task/issues/1198), [#1199](https://github.com/go-task/task/issues/1199) by [@pd93](https://github.com/pd93)). -- Added a new `prompt:` prop to set a warning prompt to be shown before running a potential dangurous task ([#100](https://github.com/go-task/task/issues/100), [#1163](https://github.com/go-task/task/issues/1163) by [@MaxCheetham](https://github.com/MaxCheetham), [Documentation](https://taskfile.dev/usage/#warning-prompts)). -- Added support for single command task syntax. With this change, it's now possible to declare just `cmd:` in a task, avoiding the more complex `cmds: []` when you have only a single command for that task ([#1130](https://github.com/go-task/task/issues/1130), [#1131](https://github.com/go-task/task/issues/1131) by [@timdp](https://github.com/timdp)). +- Only rewrite checksum files in `.task` if the checksum has changed (#1185, + + # 1194 by @deviantintegral). +- Added [experiments documentation](https://taskfile.dev/experiments) to the website (#1198 by @pd93). +- Deprecated `version: 2` schema. This will be removed in the next major release (#1197, #1198, #1199 by @pd93). +- Added a new `prompt:` prop to set a warning prompt to be shown before running a potential dangurous task (#100, #1163 by @MaxCheetham, [Documentation](https://taskfile.dev/usage/#warning-prompts)). +- Added support for single command task syntax. With this change, it's now possible to declare just `cmd:` in a task, avoiding the more complex `cmds: []` when you have only a single command for that task (#1130, #1131 by @timdp). ## v3.25.0 - 2023-05-22 -- Support `silent:` when calling another tasks ([#680](https://github.com/go-task/task/issues/680), [#1142](https://github.com/go-task/task/issues/1142) by [@danquah](https://github.com/danquah)). -- Improve PowerShell completion script ([#1168](https://github.com/go-task/task/issues/1168) by [@trim21](https://github.com/trim21)). -- Add more languages to the website menu and show translation progress percentage ([#1173](https://github.com/go-task/task/issues/1173) by [@misitebao](https://github.com/misitebao)). -- Starting on this release, official binaries for FreeBSD will be available to download ([#1068](https://github.com/go-task/task/issues/1068) by [@andreynering](https://github.com/andreynering)). -- Fix some errors being unintendedly supressed ([#1134](https://github.com/go-task/task/issues/1134) by [@clintmod](https://github.com/clintmod)). -- Fix a nil pointer error when `version` is omitted from a Taskfile ([#1148](https://github.com/go-task/task/issues/1148), [#1149](https://github.com/go-task/task/issues/1149) by [@pd93](https://github.com/pd93)). -- Fix duplicate error message when a task does not exists ([#1141](https://github.com/go-task/task/issues/1141), [#1144](https://github.com/go-task/task/issues/1144) by [@pd93](https://github.com/pd93)). +- Support `silent:` when calling another tasks (#680, #1142 by @danquah). +- Improve PowerShell completion script (#1168 by @trim21). +- Add more languages to the website menu and show translation progress percentage (#1173 by @misitebao). +- Starting on this release, official binaries for FreeBSD will be available to download (#1068 by @andreynering). +- Fix some errors being unintendedly supressed (#1134 by @clintmod). +- Fix a nil pointer error when `version` is omitted from a Taskfile (#1148, + + # 1149 by @pd93). +- Fix duplicate error message when a task does not exists (#1141, #1144 by @pd93). ## v3.24.0 - 2023-04-15 -- Fix Fish shell completion for tasks with aliases ([#1113](https://github.com/go-task/task/issues/1113) by [@patricksjackson](https://github.com/patricksjackson)). -- The default branch was renamed from `master` to `main` ([#1049](https://github.com/go-task/task/issues/1049), [#1048](https://github.com/go-task/task/issues/1048) by [@pd93](https://github.com/pd93)). -- Fix bug where "up-to-date" logs were not being omitted for silent tasks ([#546](https://github.com/go-task/task/issues/546), [#1107](https://github.com/go-task/task/issues/1107) by [@danquah](https://github.com/danquah)). -- Add `.hg` (Mercurial) to the list of ignored directories when using `--watch` ([#1098](https://github.com/go-task/task/issues/1098) by [@misery](https://github.com/misery)). -- More improvements to the release tool ([#1096](https://github.com/go-task/task/issues/1096) by [@pd93](https://github.com/pd93)). -- Enforce [gofumpt](https://github.com/mvdan/gofumpt) linter ([#1099](https://github.com/go-task/task/issues/1099) by [@pd93](https://github.com/pd93)) -- Add `--sort` flag for use with `--list` and `--list-all` ([#946](https://github.com/go-task/task/issues/946), [#1105](https://github.com/go-task/task/issues/1105) by [@pd93](https://github.com/pd93)). -- Task now has [custom exit codes](https://taskfile.dev/api/#exit-codes) depending on the error ([#1114](https://github.com/go-task/task/issues/1114) by [@pd93](https://github.com/pd93)). +- Fix Fish shell completion for tasks with aliases (#1113 by @patricksjackson). +- The default branch was renamed from `master` to `main` (#1049, #1048 by @pd93). +- Fix bug where "up-to-date" logs were not being omitted for silent tasks (#546, + + # 1107 by @danquah). +- Add `.hg` (Mercurial) to the list of ignored directories when using `--watch` (#1098 by @misery). +- More improvements to the release tool (#1096 by @pd93). +- Enforce [gofumpt](https://github.com/mvdan/gofumpt) linter (#1099 by @pd93) +- Add `--sort` flag for use with `--list` and `--list-all` (#946, #1105 by @pd93). +- Task now has [custom exit codes](https://taskfile.dev/api/#exit-codes) depending on the error (#1114 by @pd93). ## v3.23.0 - 2023-03-26 -Task now has an [official extension for Visual Studio Code](https://marketplace.visualstudio.com/items?itemName=task.vscode-task) contributed by [@pd93](https://github.com/pd93)! :tada: The extension is maintained in a [new repository](https://github.com/go-task/vscode-task) under the `go-task` organization. We're looking to gather feedback from the community so please give it a go and let us know what you think via a [discussion](https://github.com/go-task/vscode-task/discussions), [issue](https://github.com/go-task/vscode-task/issues) or on our [Discord](https://discord.gg/6TY36E39UK)! +Task now has an [official extension for Visual Studio Code](https://marketplace.visualstudio.com/items?itemName=task.vscode-task) contributed by @pd93! :tada: The extension is maintained in a [new repository](https://github.com/go-task/vscode-task) under the `go-task` organization. We're looking to gather feedback from the community so please give it a go and let us know what you think via a [discussion](https://github.com/go-task/vscode-task/discussions), [issue](https://github.com/go-task/vscode-task/issues) or on our [Discord](https://discord.gg/6TY36E39UK)! > **NOTE:** The extension _requires_ v3.23.0 to be installed in order to work. -- The website was integrated with [Crowdin](https://crowdin.com/project/taskfile) to allow the community to contribute with translations! [Chinese](https://taskfile.dev/zh-Hans/) is the first language available ([#1057](https://github.com/go-task/task/issues/1057), [#1058](https://github.com/go-task/task/issues/1058) by [@misitebao](https://github.com/misitebao)). -- Added task location data to the `--json` flag output ([#1056](https://github.com/go-task/task/issues/1056) by [@pd93](https://github.com/pd93)) -- Change the name of the file generated by `task --init` from `Taskfile.yaml` to `Taskfile.yml` ([#1062](https://github.com/go-task/task/issues/1062) by [@misitebao](https://github.com/misitebao)). -- Added new `splitArgs` template function (`{{splitArgs "foo bar 'foo bar baz'"}}`) to ensure string is split as arguments ([#1040](https://github.com/go-task/task/issues/1040), [#1059](https://github.com/go-task/task/issues/1059) by [@dhanusaputra](https://github.com/dhanusaputra)). -- Fix the value of `{{.CHECKSUM}}` variable in status ([#1076](https://github.com/go-task/task/issues/1076), [#1080](https://github.com/go-task/task/issues/1080) by [@pd93](https://github.com/pd93)). -- Fixed deep copy implementation ([#1072](https://github.com/go-task/task/issues/1072) by [@pd93](https://github.com/pd93)) -- Created a tool to assist with releases ([#1086](https://github.com/go-task/task/issues/1086) by [@pd93](https://github.com/pd93)). +- The website was integrated with [Crowdin](https://crowdin.com/project/taskfile) to allow the community to contribute with translations! [Chinese](https://taskfile.dev/zh-Hans/) is the first language available (#1057, #1058 by @misitebao). +- Added task location data to the `--json` flag output (#1056 by @pd93) +- Change the name of the file generated by `task --init` from `Taskfile.yaml` to `Taskfile.yml` (#1062 by @misitebao). +- Added new `splitArgs` template function (`{{splitArgs "foo bar 'foo bar baz'"}}`) to ensure string is split as arguments (#1040, #1059 by @dhanusaputra). +- Fix the value of `{{.CHECKSUM}}` variable in status (#1076, #1080 by @pd93). +- Fixed deep copy implementation (#1072 by @pd93) +- Created a tool to assist with releases (#1086 by @pd93). ## v3.22.0 - 2023-03-10 -- Add a brand new `--global` (`-g`) flag that will run a Taskfile from your `$HOME` directory. This is useful to have automation that you can run from anywhere in your system! ([Documentation](https://taskfile.dev/usage/#running-a-global-taskfile), [#1029](https://github.com/go-task/task/issues/1029) by [@andreynering](https://github.com/andreynering)). -- Add ability to set `error_only: true` on the `group` output mode. This will instruct Task to only print a command output if it returned with a non-zero exit code ([#664](https://github.com/go-task/task/issues/664), [#1022](https://github.com/go-task/task/issues/1022) by [@jaedle](https://github.com/jaedle)). -- Fixed bug where `.task/checksum` file was sometimes not being created when task also declares a `status:` ([#840](https://github.com/go-task/task/issues/840), [#1035](https://github.com/go-task/task/issues/1035) by [@harelwa](https://github.com/harelwa), [#1037](https://github.com/go-task/task/issues/1037) by [@pd93](https://github.com/pd93)). -- Refactored and decoupled fingerprinting from the main Task executor ([#1039](https://github.com/go-task/task/issues/1039) by [@pd93](https://github.com/pd93)). -- Fixed deadlock issue when using `run: once` ([#715](https://github.com/go-task/task/issues/715), [#1025](https://github.com/go-task/task/issues/1025) by [@theunrepentantgeek](https://github.com/theunrepentantgeek)). +- Add a brand new `--global` (`-g`) flag that will run a Taskfile from your `$HOME` directory. This is useful to have automation that you can run from anywhere in your system! ([Documentation](https://taskfile.dev/usage/#running-a-global-taskfile), #1029 by @andreynering). +- Add ability to set `error_only: true` on the `group` output mode. This will instruct Task to only print a command output if it returned with a non-zero exit code (#664, #1022 by @jaedle). +- Fixed bug where `.task/checksum` file was sometimes not being created when task also declares a `status:` (#840, #1035 by @harelwa, #1037 by @pd93). +- Refactored and decoupled fingerprinting from the main Task executor (#1039 by @pd93). +- Fixed deadlock issue when using `run: once` (#715, #1025 by @theunrepentantgeek). ## v3.21.0 - 2023-02-22 -- Added new `TASK_VERSION` special variable ([#990](https://github.com/go-task/task/issues/990), [#1014](https://github.com/go-task/task/issues/1014) by [@ja1code](https://github.com/ja1code)). -- Fixed a bug where tasks were sometimes incorrectly marked as internal ([#1007](https://github.com/go-task/task/issues/1007) by [@pd93](https://github.com/pd93)). -- Update to Go 1.20 (bump minimum version to 1.19) ([#1010](https://github.com/go-task/task/issues/1010) by [@pd93](https://github.com/pd93)) -- Added environment variable `FORCE_COLOR` support to force color output. Usefull for environments without TTY ([#1003](https://github.com/go-task/task/issues/1003) by [@automation](https://github.com/automation)-stack) +- Added new `TASK_VERSION` special variable (#990, #1014 by @ja1code). +- Fixed a bug where tasks were sometimes incorrectly marked as internal (#1007 by @pd93). +- Update to Go 1.20 (bump minimum version to 1.19) (#1010 by @pd93) +- Added environment variable `FORCE_COLOR` support to force color output. Usefull for environments without TTY (#1003 by @automation-stack) ## v3.20.0 - 2023-01-14 -- Improve behavior and performance of status checking when using the `timestamp` mode ([#976](https://github.com/go-task/task/issues/976), [#977](https://github.com/go-task/task/issues/977) by [@aminya](https://github.com/aminya)). -- Performance optimizations were made for large Taskfiles ([#982](https://github.com/go-task/task/issues/982) by [@pd93](https://github.com/pd93)). -- Add ability to configure options for the [`set`](https://www.gnu.org/software/bash/manual/html_node/The-Set-Builtin.html) and [`shopt`](https://www.gnu.org/software/bash/manual/html_node/The-Shopt-Builtin.html) builtins ([#908](https://github.com/go-task/task/issues/908), [#929](https://github.com/go-task/task/issues/929) by [@pd93](https://github.com/pd93), [Documentation](http://taskfile.dev/usage/#set-and-shopt)). -- Add new `platforms:` attribute to `task` and `cmd`, so it's now possible to choose in which platforms that given task or command will be run on. Possible values are operating system (GOOS), architecture (GOARCH) or a combination of the two. Example: `platforms: [linux]`, `platforms: [amd64]` or `platforms: [linux/amd64]`. Other platforms will be skipped ([#978](https://github.com/go-task/task/issues/978), [#980](https://github.com/go-task/task/issues/980) by [@leaanthony](https://github.com/leaanthony)). +- Improve behavior and performance of status checking when using the `timestamp` mode (#976, #977 by @aminya). +- Performance optimizations were made for large Taskfiles (#982 by @pd93). +- Add ability to configure options for the [`set`](https://www.gnu.org/software/bash/manual/html_node/The-Set-Builtin.html) and [`shopt`](https://www.gnu.org/software/bash/manual/html_node/The-Shopt-Builtin.html) builtins (#908, #929 by @pd93, [Documentation](http://taskfile.dev/usage/#set-and-shopt)). +- Add new `platforms:` attribute to `task` and `cmd`, so it's now possible to choose in which platforms that given task or command will be run on. Possible values are operating system (GOOS), architecture (GOARCH) or a combination of the two. Example: `platforms: [linux]`, `platforms: [amd64]` or `platforms: [linux/amd64]`. Other platforms will be skipped (#978, #980 by @leaanthony). ## v3.19.1 - 2022-12-31 -- Small bug fix: closing `Taskfile.yml` once we're done reading it ([#963](https://github.com/go-task/task/issues/963), [#964](https://github.com/go-task/task/issues/964) by [@HeCorr](https://github.com/HeCorr)). -- Fixes a bug in v2 that caused a panic when using a `Taskfile_{{OS}}.yml` file ([#961](https://github.com/go-task/task/issues/961), [#971](https://github.com/go-task/task/issues/971) by [@pd93](https://github.com/pd93)). -- Fixed a bug where watch intervals set in the Taskfile were not being respected ([#969](https://github.com/go-task/task/issues/969), [#970](https://github.com/go-task/task/issues/970) by [@pd93](https://github.com/pd93)) -- Add `--json` flag (alias `-j`) with the intent to improve support for code editors and add room to other possible integrations. This is basic for now, but we plan to add more info in the near future ([#936](https://github.com/go-task/task/issues/936) by [@davidalpert](https://github.com/davidalpert), [#764](https://github.com/go-task/task/issues/764)). +- Small bug fix: closing `Taskfile.yml` once we're done reading it (#963, #964 by @HeCorr). +- Fixes a bug in v2 that caused a panic when using a `Taskfile_{{OS}}.yml` file (#961, #971 by @pd93). +- Fixed a bug where watch intervals set in the Taskfile were not being respected (#969, #970 by @pd93) +- Add `--json` flag (alias `-j`) with the intent to improve support for code editors and add room to other possible integrations. This is basic for now, but we plan to add more info in the near future (#936 by @davidalpert, #764). ## v3.19.0 - 2022-12-05 -- Installation via npm now supports [pnpm](https://pnpm.io/) as well ([go-task/go-npm\[#2\](https://github.com/go-task/task/issues/2)](https://github.com/go-task/go-npm/issues/2), [go-task/go-npm\[#3\](https://github.com/go-task/task/issues/3)](https://github.com/go-task/go-npm/pull/3)). -- It's now possible to run Taskfiles from subdirectories! A new `USER_WORKING_DIR` special variable was added to add even more flexibility for monorepos ([#289](https://github.com/go-task/task/issues/289), [#920](https://github.com/go-task/task/issues/920)). -- Add task-level `dotenv` support ([#389](https://github.com/go-task/task/issues/389), [#904](https://github.com/go-task/task/issues/904)). -- It's now possible to use global level variables on `includes` ([#942](https://github.com/go-task/task/issues/942), [#943](https://github.com/go-task/task/issues/943)). -- The website got a brand new [translation to Chinese](https://task-zh.readthedocs.io/zh_CN/latest/) by [\[@DeronW\](https://github.com/DeronW)](https://github.com/DeronW). Thanks! +- Installation via npm now supports [pnpm](https://pnpm.io/) as well ([go-task/go-npm#2](https://github.com/go-task/go-npm/issues/2), [go-task/go-npm#3](https://github.com/go-task/go-npm/pull/3)). +- It's now possible to run Taskfiles from subdirectories! A new `USER_WORKING_DIR` special variable was added to add even more flexibility for monorepos (#289, #920). +- Add task-level `dotenv` support (#389, #904). +- It's now possible to use global level variables on `includes` (#942, #943). +- The website got a brand new [translation to Chinese](https://task-zh.readthedocs.io/zh_CN/latest/) by [@DeronW](https://github.com/DeronW). Thanks! ## v3.18.0 - 2022-11-12 -- Show aliases on `task --list --silent` (`task --ls`). This means that aliases will be completed by the completion scripts ([#919](https://github.com/go-task/task/issues/919)). -- Tasks in the root Taskfile will now be displayed first in `--list`/`--list-all` output ([#806](https://github.com/go-task/task/issues/806), [#890](https://github.com/go-task/task/issues/890)). -- It's now possible to call a `default` task in an included Taskfile by using just the namespace. For example: `docs:default` is now automatically aliased to `docs` ([#661](https://github.com/go-task/task/issues/661), [#815](https://github.com/go-task/task/issues/815)). +- Show aliases on `task --list --silent` (`task --ls`). This means that aliases will be completed by the completion scripts (#919). +- Tasks in the root Taskfile will now be displayed first in `--list`/`--list-all` output (#806, #890). +- It's now possible to call a `default` task in an included Taskfile by using just the namespace. For example: `docs:default` is now automatically aliased to `docs` (#661, #815). ## v3.17.0 - 2022-10-14 -- Add a "Did you mean ...?" suggestion when a task does not exits another one with a similar name is found ([#867](https://github.com/go-task/task/issues/867), [#880](https://github.com/go-task/task/issues/880)). -- Now YAML parse errors will print which Taskfile failed to parse ([#885](https://github.com/go-task/task/issues/885), [#887](https://github.com/go-task/task/issues/887)). -- Add ability to set `aliases` for tasks and namespaces ([#268](https://github.com/go-task/task/issues/268), [#340](https://github.com/go-task/task/issues/340), [#879](https://github.com/go-task/task/issues/879)). -- Improvements to Fish shell completion ([#897](https://github.com/go-task/task/issues/897)). -- Added ability to set a different watch interval by setting `interval: '500ms'` or using the `--interval=500ms` flag ([#813](https://github.com/go-task/task/issues/813), [#865](https://github.com/go-task/task/issues/865)). -- Add colored output to `--list`, `--list-all` and `--summary` flags ([#845](https://github.com/go-task/task/issues/845), [#874](https://github.com/go-task/task/issues/874)). -- Fix unexpected behavior where `label:` was being shown instead of the task name on `--list` ([#603](https://github.com/go-task/task/issues/603), [#877](https://github.com/go-task/task/issues/877)). +- Add a "Did you mean ...?" suggestion when a task does not exits another one with a similar name is found (#867, #880). +- Now YAML parse errors will print which Taskfile failed to parse (#885, #887). +- Add ability to set `aliases` for tasks and namespaces (#268, #340, #879). +- Improvements to Fish shell completion (#897). +- Added ability to set a different watch interval by setting `interval: '500ms'` or using the `--interval=500ms` flag (#813, #865). +- Add colored output to `--list`, `--list-all` and `--summary` flags (#845, + + # 874). +- Fix unexpected behavior where `label:` was being shown instead of the task name on `--list` (#603, #877). ## v3.16.0 - 2022-09-29 -- Add `npm` as new installation method: `npm i -g [@go](https://github.com/go)-task/cli` ([#870](https://github.com/go-task/task/issues/870), [#871](https://github.com/go-task/task/issues/871), [npm package](https://www.npmjs.com/package/[@go](https://github.com/go)-task/cli)). -- Add support to marking tasks and includes as internal, which will hide them from `--list` and `--list-all` ([#818](https://github.com/go-task/task/issues/818)). +- Add `npm` as new installation method: `npm i -g @go-task/cli` (#870, #871, [npm package](https://www.npmjs.com/package/@go-task/cli)). +- Add support to marking tasks and includes as internal, which will hide them from `--list` and `--list-all` (#818). ## v3.15.2 - 2022-09-08 -- Fix error when using variable in `env:` introduced in the previous release ([#858](https://github.com/go-task/task/issues/858), [#866](https://github.com/go-task/task/issues/866)). -- Fix handling of `CLI_ARGS` (`--`) in Bash completion ([#863](https://github.com/go-task/task/issues/863)). -- On zsh completion, add ability to replace `--list-all` with `--list` as already possible on the Bash completion ([#861](https://github.com/go-task/task/issues/861)). +- Fix error when using variable in `env:` introduced in the previous release (#858, #866). +- Fix handling of `CLI_ARGS` (`--`) in Bash completion (#863). +- On zsh completion, add ability to replace `--list-all` with `--list` as already possible on the Bash completion (#861). ## v3.15.0 - 2022-09-03 -- Add new special variables `ROOT_DIR` and `TASKFILE_DIR`. This was a highly requested feature ([#215](https://github.com/go-task/task/issues/215), [#857](https://github.com/go-task/task/issues/857), [Documentation](https://taskfile.dev/api/#special-variables)). -- Follow symlinks on `sources` ([#826](https://github.com/go-task/task/issues/826), [#831](https://github.com/go-task/task/issues/831)). -- Improvements and fixes to Bash completion ([#835](https://github.com/go-task/task/issues/835), [#844](https://github.com/go-task/task/issues/844)). +- Add new special variables `ROOT_DIR` and `TASKFILE_DIR`. This was a highly requested feature (#215, #857, [Documentation](https://taskfile.dev/api/#special-variables)). +- Follow symlinks on `sources` (#826, #831). +- Improvements and fixes to Bash completion (#835, #844). ## v3.14.1 - 2022-08-03 -- Always resolve relative include paths relative to the including Taskfile ([#822](https://github.com/go-task/task/issues/822), [#823](https://github.com/go-task/task/issues/823)). -- Fix ZSH and PowerShell completions to consider all tasks instead of just the public ones (those with descriptions) ([#803](https://github.com/go-task/task/issues/803)). +- Always resolve relative include paths relative to the including Taskfile (#822, #823). +- Fix ZSH and PowerShell completions to consider all tasks instead of just the public ones (those with descriptions) (#803). ## v3.14.0 - 2022-07-08 - Add ability to override the `.task` directory location with the `TASK_TEMP_DIR` environment variable. -- Allow to override Task colors using environment variables: `TASK_COLOR_RESET`, `TASK_COLOR_BLUE`, `TASK_COLOR_GREEN`, `TASK_COLOR_CYAN`, `TASK_COLOR_YELLOW`, `TASK_COLOR_MAGENTA` and `TASK_COLOR_RED` ([#568](https://github.com/go-task/task/issues/568), [#792](https://github.com/go-task/task/issues/792)). -- Fixed bug when using the `output: group` mode where STDOUT and STDERR were being print in separated blocks instead of in the right order ([#779](https://github.com/go-task/task/issues/779)). -- Starting on this release, ARM architecture binaries are been released to Snap as well ([#795](https://github.com/go-task/task/issues/795)). +- Allow to override Task colors using environment variables: `TASK_COLOR_RESET`, `TASK_COLOR_BLUE`, `TASK_COLOR_GREEN`, `TASK_COLOR_CYAN`, `TASK_COLOR_YELLOW`, `TASK_COLOR_MAGENTA` and `TASK_COLOR_RED` (#568, #792). +- Fixed bug when using the `output: group` mode where STDOUT and STDERR were being print in separated blocks instead of in the right order (#779). +- Starting on this release, ARM architecture binaries are been released to Snap as well (#795). - i386 binaries won't be available anymore on Snap because Ubuntu removed the support for this architecture. -- Upgrade mvdan.cc/sh, which fixes a bug with associative arrays ([#785](https://github.com/go-task/task/issues/785), [mvdan/sh\[#884\](https://github.com/go-task/task/issues/884)](https://github.com/mvdan/sh/issues/884), [mvdan/sh\[#893\](https://github.com/go-task/task/issues/893)](https://github.com/mvdan/sh/pull/893)). +- Upgrade mvdan.cc/sh, which fixes a bug with associative arrays (#785, [mvdan/sh#884](https://github.com/mvdan/sh/issues/884), [mvdan/sh#893](https://github.com/mvdan/sh/pull/893)). ## v3.13.0 - 2022-06-13 -- Added `-n` as an alias to `--dry` ([#776](https://github.com/go-task/task/issues/776), [#777](https://github.com/go-task/task/issues/777)). -- Fix behavior of interrupt (SIGINT, SIGTERM) signals. Task will now give time for the processes running to do cleanup work ([#458](https://github.com/go-task/task/issues/458), [#479](https://github.com/go-task/task/issues/479), [#728](https://github.com/go-task/task/issues/728), [#769](https://github.com/go-task/task/issues/769)). -- Add new `--exit-code` (`-x`) flag that will pass-through the exit form the command being ran ([#755](https://github.com/go-task/task/issues/755)). +- Added `-n` as an alias to `--dry` (#776, #777). +- Fix behavior of interrupt (SIGINT, SIGTERM) signals. Task will now give time for the processes running to do cleanup work (#458, #479, #728, #769). +- Add new `--exit-code` (`-x`) flag that will pass-through the exit form the command being ran (#755). ## v3.12.1 - 2022-05-10 -- Fixed bug where, on Windows, variables were ending with `\r` because we were only removing the final `\n` but not `\r\n` ([#717](https://github.com/go-task/task/issues/717)). +- Fixed bug where, on Windows, variables were ending with `\r` because we were only removing the final `\n` but not `\r\n` (#717). ## v3.12.0 - 2022-03-31 -- The `--list` and `--list-all` flags can now be combined with the `--silent` flag to print the task names only, without their description ([#691](https://github.com/go-task/task/issues/691)). -- Added support for multi-level inclusion of Taskfiles. This means that included Taskfiles can also include other Taskfiles. Before this was limited to one level ([#390](https://github.com/go-task/task/issues/390), [#623](https://github.com/go-task/task/issues/623), [#656](https://github.com/go-task/task/issues/656)). -- Add ability to specify vars when including a Taskfile. [Check out the documentation](https://taskfile.dev/#/usage?id=vars-of-included-taskfiles) for more information ([#677](https://github.com/go-task/task/issues/677)). +- The `--list` and `--list-all` flags can now be combined with the `--silent` flag to print the task names only, without their description (#691). +- Added support for multi-level inclusion of Taskfiles. This means that included Taskfiles can also include other Taskfiles. Before this was limited to one level (#390, #623, #656). +- Add ability to specify vars when including a Taskfile. [Check out the documentation](https://taskfile.dev/#/usage?id=vars-of-included-taskfiles) for more information (#677). ## v3.11.0 - 2022-02-19 -- Task now supports printing begin and end messages when using the `group` output mode, useful for grouping tasks in CI systems. [Check out the documentation](http://taskfile.dev/#/usage?id=output-syntax) for more information ([#647](https://github.com/go-task/task/issues/647), [#651](https://github.com/go-task/task/issues/651)). -- Add `Taskfile.dist.yml` and `Taskfile.dist.yaml` to the supported file name list. [Check out the documentation](https://taskfile.dev/#/usage?id=supported-file-names) for more information ([#498](https://github.com/go-task/task/issues/498), [#666](https://github.com/go-task/task/issues/666)). +- Task now supports printing begin and end messages when using the `group` output mode, useful for grouping tasks in CI systems. [Check out the documentation](http://taskfile.dev/#/usage?id=output-syntax) for more information (#647, #651). +- Add `Taskfile.dist.yml` and `Taskfile.dist.yaml` to the supported file name list. [Check out the documentation](https://taskfile.dev/#/usage?id=supported-file-names) for more information (#498, #666). ## v3.10.0 - 2022-01-04 -- A new `--list-all` (alias `-a`) flag is now available. It's similar to the exiting `--list` (`-l`) but prints all tasks, even those without a description ([#383](https://github.com/go-task/task/issues/383), [#401](https://github.com/go-task/task/issues/401)). -- It's now possible to schedule cleanup commands to run once a task finishes with the `defer:` keyword ([Documentation](https://taskfile.dev/#/usage?id=doing-task-cleanup-with-defer), [#475](https://github.com/go-task/task/issues/475), [#626](https://github.com/go-task/task/issues/626)). -- Remove long deprecated and undocumented `$` variable prefix and `^` command prefix ([#642](https://github.com/go-task/task/issues/642), [#644](https://github.com/go-task/task/issues/644), [#645](https://github.com/go-task/task/issues/645)). -- Add support for `.yaml` extension (as an alternative to `.yml`). This was requested multiple times throughout the years. Enjoy! ([#183](https://github.com/go-task/task/issues/183), [#184](https://github.com/go-task/task/issues/184), [#369](https://github.com/go-task/task/issues/369), [#584](https://github.com/go-task/task/issues/584), [#621](https://github.com/go-task/task/issues/621)). -- Fixed error when computing a variable when the task directory do not exist yet ([#481](https://github.com/go-task/task/issues/481), [#579](https://github.com/go-task/task/issues/579)). +- A new `--list-all` (alias `-a`) flag is now available. It's similar to the exiting `--list` (`-l`) but prints all tasks, even those without a description (#383, #401). +- It's now possible to schedule cleanup commands to run once a task finishes with the `defer:` keyword ([Documentation](https://taskfile.dev/#/usage?id=doing-task-cleanup-with-defer), + + # 475, #626). +- Remove long deprecated and undocumented `$` variable prefix and `^` command prefix (#642, #644, #645). +- Add support for `.yaml` extension (as an alternative to `.yml`). This was requested multiple times throughout the years. Enjoy! (#183, #184, #369, #584, + + # 621). +- Fixed error when computing a variable when the task directory do not exist yet (#481, #579). ## v3.9.2 - 2021-12-02 -- Upgrade [mvdan/sh](https://github.com/mvdan/sh) which contains a fix a for a important regression on Windows ([#619](https://github.com/go-task/task/issues/619), [mvdan/sh\[#768\](https://github.com/go-task/task/issues/768)](https://github.com/mvdan/sh/issues/768), [mvdan/sh\[#769\](https://github.com/go-task/task/issues/769)](https://github.com/mvdan/sh/pull/769)). +- Upgrade [mvdan/sh](https://github.com/mvdan/sh) which contains a fix a for a important regression on Windows (#619, [mvdan/sh#768](https://github.com/mvdan/sh/issues/768), [mvdan/sh#769](https://github.com/mvdan/sh/pull/769)). ## v3.9.1 - 2021-11-28 -- Add logging in verbose mode for when a task starts and finishes ([#533](https://github.com/go-task/task/issues/533), [#588](https://github.com/go-task/task/issues/588)). -- Fix an issue with preconditions and context errors ([#597](https://github.com/go-task/task/issues/597), [#598](https://github.com/go-task/task/issues/598)). -- Quote each `{{.CLI_ARGS}}` argument to prevent one with spaces to become many ([#613](https://github.com/go-task/task/issues/613)). -- Fix nil pointer when `cmd:` was left empty ([#612](https://github.com/go-task/task/issues/612), [#614](https://github.com/go-task/task/issues/614)). +- Add logging in verbose mode for when a task starts and finishes (#533, #588). +- Fix an issue with preconditions and context errors (#597, #598). +- Quote each `{{.CLI_ARGS}}` argument to prevent one with spaces to become many (#613). +- Fix nil pointer when `cmd:` was left empty (#612, #614). - Upgrade [mvdan/sh](https://github.com/mvdan/sh) which contains two relevant fixes: - - Fix quote of empty strings in `shellQuote` ([#609](https://github.com/go-task/task/issues/609), [mvdan/sh\[#763\](https://github.com/go-task/task/issues/763)](https://github.com/mvdan/sh/issues/763)). - - Fix issue of wrong environment variable being picked when there's another very similar one ([#586](https://github.com/go-task/task/issues/586), [mvdan/sh\[#745\](https://github.com/go-task/task/issues/745)](https://github.com/mvdan/sh/pull/745)). -- Install shell completions automatically when installing via Homebrew ([#264](https://github.com/go-task/task/issues/264), [#592](https://github.com/go-task/task/issues/592), [go-task/homebrew-tap\[#2\](https://github.com/go-task/task/issues/2)](https://github.com/go-task/homebrew-tap/pull/2)). + - Fix quote of empty strings in `shellQuote` (#609, [mvdan/sh#763](https://github.com/mvdan/sh/issues/763)). + - Fix issue of wrong environment variable being picked when there's another very similar one (#586, [mvdan/sh#745](https://github.com/mvdan/sh/pull/745)). +- Install shell completions automatically when installing via Homebrew (#264, #592, [go-task/homebrew-tap#2](https://github.com/go-task/homebrew-tap/pull/2)). ## v3.9.0 - 2021-10-02 -- A new `shellQuote` function was added to the template system (`{{shellQuote "a string"}}`) to ensure a string is safe for use in shell ([mvdan/sh\[#727\](https://github.com/go-task/task/issues/727)](https://github.com/mvdan/sh/pull/727), [mvdan/sh\[#737\](https://github.com/go-task/task/issues/737)](https://github.com/mvdan/sh/pull/737), [Documentation](https://pkg.go.dev/mvdan.cc/sh/v3[@v3](https://github.com/v3).4.0/syntax#Quote)) +- A new `shellQuote` function was added to the template system (`{{shellQuote "a string"}}`) to ensure a string is safe for use in shell ([mvdan/sh#727](https://github.com/mvdan/sh/pull/727), [mvdan/sh#737](https://github.com/mvdan/sh/pull/737), [Documentation](https://pkg.go.dev/mvdan.cc/sh/v3@v3.4.0/syntax#Quote)) - In this version [mvdan.cc/sh](https://github.com/mvdan/sh) was upgraded with some small fixes and features - - The `read -p` flag is now supported ([#314](https://github.com/go-task/task/issues/314), [mvdan/sh\[#551\](https://github.com/go-task/task/issues/551)](https://github.com/mvdan/sh/issues/551), [mvdan/sh\[#772\](https://github.com/go-task/task/issues/772)](https://github.com/mvdan/sh/pull/722)) - - The `pwd -P` and `pwd -L` flags are now supported ([#553](https://github.com/go-task/task/issues/553), [mvdan/sh\[#724\](https://github.com/go-task/task/issues/724)](https://github.com/mvdan/sh/issues/724), [mvdan/sh\[#728\](https://github.com/go-task/task/issues/728)](https://github.com/mvdan/sh/pull/728)) - - The `$GID` environment variable is now correctly being set ([#561](https://github.com/go-task/task/issues/561), [mvdan/sh\[#723\](https://github.com/go-task/task/issues/723)](https://github.com/mvdan/sh/pull/723)) + - The `read -p` flag is now supported (#314, [mvdan/sh#551](https://github.com/mvdan/sh/issues/551), [mvdan/sh#772](https://github.com/mvdan/sh/pull/722)) + - The `pwd -P` and `pwd -L` flags are now supported (#553, [mvdan/sh#724](https://github.com/mvdan/sh/issues/724), [mvdan/sh#728](https://github.com/mvdan/sh/pull/728)) + - The `$GID` environment variable is now correctly being set (#561, [mvdan/sh#723](https://github.com/mvdan/sh/pull/723)) ## v3.8.0 - 2021-09-26 -- Add `interactive: true` setting to improve support for interactive CLI apps ([#217](https://github.com/go-task/task/issues/217), [#563](https://github.com/go-task/task/issues/563)). -- Fix some `nil` errors ([#534](https://github.com/go-task/task/issues/534), [#573](https://github.com/go-task/task/issues/573)). -- Add ability to declare an included Taskfile as optional ([#519](https://github.com/go-task/task/issues/519), [#552](https://github.com/go-task/task/issues/552)). -- Add support for including Taskfiles in the home directory by using `~` ([#539](https://github.com/go-task/task/issues/539), [#557](https://github.com/go-task/task/issues/557)). +- Add `interactive: true` setting to improve support for interactive CLI apps (#217, #563). +- Fix some `nil` errors (#534, #573). +- Add ability to declare an included Taskfile as optional (#519, #552). +- Add support for including Taskfiles in the home directory by using `~` (#539, #557). ## v3.7.3 - 2021-09-04 -- Add official support to Apple M1 ([#564](https://github.com/go-task/task/issues/564), [#567](https://github.com/go-task/task/issues/567)). +- Add official support to Apple M1 (#564, #567). - Our [official Homebrew tap](https://github.com/go-task/homebrew-tap) will support more platforms, including Apple M1 ## v3.7.0 - 2021-07-31 -- Add `run:` setting to control if tasks should run multiple times or not. Available options are `always` (the default), `when_changed` (if a variable modified the task) and `once` (run only once no matter what). This is a long time requested feature. Enjoy! ([#53](https://github.com/go-task/task/issues/53), [#359](https://github.com/go-task/task/issues/359)). +- Add `run:` setting to control if tasks should run multiple times or not. Available options are `always` (the default), `when_changed` (if a variable modified the task) and `once` (run only once no matter what). This is a long time requested feature. Enjoy! (#53, #359). ## v3.6.0 - 2021-07-10 -- Allow using both `sources:` and `status:` in the same task ([#411](https://github.com/go-task/task/issues/411), [#427](https://github.com/go-task/task/issues/427), [#477](https://github.com/go-task/task/issues/477)). -- Small optimization and bug fix: don't compute variables if not needed for `dotenv:` ([#517](https://github.com/go-task/task/issues/517)). +- Allow using both `sources:` and `status:` in the same task (#411, #427, #477). +- Small optimization and bug fix: don't compute variables if not needed for `dotenv:` (#517). ## v3.5.0 - 2021-07-04 -- Add support for interpolation in `dotenv:` ([#433](https://github.com/go-task/task/issues/433), [#434](https://github.com/go-task/task/issues/434), [#453](https://github.com/go-task/task/issues/453)). +- Add support for interpolation in `dotenv:` (#433, #434, #453). ## v3.4.3 - 2021-05-30 -- Add support for the `NO_COLOR` environment variable. ([#459](https://github.com/go-task/task/issues/459), [fatih/color\[#137\](https://github.com/go-task/task/issues/137)](https://github.com/fatih/color/pull/137)). -- Fix bug where sources were not considering the right directory in `--watch` mode ([#484](https://github.com/go-task/task/issues/484), [#485](https://github.com/go-task/task/issues/485)). +- Add support for the `NO_COLOR` environment variable. (#459, [fatih/color#137](https://github.com/fatih/color/pull/137)). +- Fix bug where sources were not considering the right directory in `--watch` mode (#484, #485). ## v3.4.2 - 2021-04-23 -- On watch, report which file failed to read ([#472](https://github.com/go-task/task/issues/472)). -- Do not try to catch SIGKILL signal, which are not actually possible ([#476](https://github.com/go-task/task/issues/476)). -- Improve version reporting when building Task from source using Go Modules ([#462](https://github.com/go-task/task/issues/462), [#473](https://github.com/go-task/task/issues/473)). +- On watch, report which file failed to read (#472). +- Do not try to catch SIGKILL signal, which are not actually possible (#476). +- Improve version reporting when building Task from source using Go Modules (#462, #473). ## v3.4.1 - 2021-04-17 -- Improve error reporting when parsing YAML: in some situations where you would just see an generic error, you'll now see the actual error with more detail: the YAML line the failed to parse, for example ([#467](https://github.com/go-task/task/issues/467)). -- A JSON Schema was published [here](https://json.schemastore.org/taskfile.json) and is automatically being used by some editors like Visual Studio Code ([#135](https://github.com/go-task/task/issues/135)). -- Print task name before the command in the log output ([#398](https://github.com/go-task/task/issues/398)). +- Improve error reporting when parsing YAML: in some situations where you would just see an generic error, you'll now see the actual error with more detail: the YAML line the failed to parse, for example (#467). +- A JSON Schema was published [here](https://json.schemastore.org/taskfile.json) and is automatically being used by some editors like Visual Studio Code (#135). +- Print task name before the command in the log output (#398). ## v3.3.0 - 2021-03-20 -- Add support for delegating CLI arguments to commands with `--` and a special `CLI_ARGS` variable ([#327](https://github.com/go-task/task/issues/327)). -- Add a `--concurrency` (alias `-C`) flag, to limit the number of tasks that run concurrently. This is useful for heavy workloads. ([#345](https://github.com/go-task/task/issues/345)). +- Add support for delegating CLI arguments to commands with `--` and a special `CLI_ARGS` variable (#327). +- Add a `--concurrency` (alias `-C`) flag, to limit the number of tasks that run concurrently. This is useful for heavy workloads. (#345). ## v3.2.2 - 2021-01-12 -- Improve performance of `--list` and `--summary` by skipping running shell variables for these flags ([#332](https://github.com/go-task/task/issues/332)). -- Fixed a bug where an environment in a Taskfile was not always overridable by the system environment ([#425](https://github.com/go-task/task/issues/425)). -- Fixed environment from .env files not being available as variables ([#379](https://github.com/go-task/task/issues/379)). -- The install script is now working for ARM platforms ([#428](https://github.com/go-task/task/issues/428)). +- Improve performance of `--list` and `--summary` by skipping running shell variables for these flags (#332). +- Fixed a bug where an environment in a Taskfile was not always overridable by the system environment (#425). +- Fixed environment from .env files not being available as variables (#379). +- The install script is now working for ARM platforms (#428). ## v3.2.1 - 2021-01-09 -- Fixed some bugs and regressions regarding dynamic variables and directories ([#426](https://github.com/go-task/task/issues/426)). +- Fixed some bugs and regressions regarding dynamic variables and directories (#426). - The [slim-sprig](https://github.com/go-task/slim-sprig) package was updated with the upstream [sprig](https://github.com/Masterminds/sprig). ## v3.2.0 - 2021-01-07 -- Fix the `.task` directory being created in the task directory instead of the Taskfile directory ([#247](https://github.com/go-task/task/issues/247)). -- Fix a bug where dynamic variables (those declared with `sh:`) were not running in the task directory when the task has a custom dir or it was in an included Taskfile ([#384](https://github.com/go-task/task/issues/384)). -- The watch feature (via the `--watch` flag) got a few different bug fixes and should be more stable now ([#423](https://github.com/go-task/task/issues/423), [#365](https://github.com/go-task/task/issues/365)). +- Fix the `.task` directory being created in the task directory instead of the Taskfile directory (#247). +- Fix a bug where dynamic variables (those declared with `sh:`) were not running in the task directory when the task has a custom dir or it was in an included Taskfile (#384). +- The watch feature (via the `--watch` flag) got a few different bug fixes and should be more stable now (#423, #365). ## v3.1.0 - 2021-01-03 -- Fix a bug when the checksum up-to-date resolution is used by a task with a custom `label:` attribute ([#412](https://github.com/go-task/task/issues/412)). -- Starting from this release, we're releasing official ARMv6 and ARM64 binaries for Linux ([#375](https://github.com/go-task/task/issues/375), [#418](https://github.com/go-task/task/issues/418)). -- Task now respects the order of declaration of included Taskfiles when evaluating variables declaring by them ([#393](https://github.com/go-task/task/issues/393)). -- `set -e` is now automatically set on every command. This was done to fix an issue where multiline string commands wouldn't really fail unless the sentence was in the last line ([#403](https://github.com/go-task/task/issues/403)). +- Fix a bug when the checksum up-to-date resolution is used by a task with a custom `label:` attribute (#412). +- Starting from this release, we're releasing official ARMv6 and ARM64 binaries for Linux (#375, #418). +- Task now respects the order of declaration of included Taskfiles when evaluating variables declaring by them (#393). +- `set -e` is now automatically set on every command. This was done to fix an issue where multiline string commands wouldn't really fail unless the sentence was in the last line (#403). ## v3.0.1 - 2020-12-26 -- Allow use as a library by moving the required packages out of the `internal` directory ([#358](https://github.com/go-task/task/issues/358)). -- Do not error if a specified dotenv file does not exist ([#378](https://github.com/go-task/task/issues/378), [#385](https://github.com/go-task/task/issues/385)). -- Fix panic when you have empty tasks in your Taskfile ([#338](https://github.com/go-task/task/issues/338), [#362](https://github.com/go-task/task/issues/362)). +- Allow use as a library by moving the required packages out of the `internal` directory (#358). +- Do not error if a specified dotenv file does not exist (#378, #385). +- Fix panic when you have empty tasks in your Taskfile (#338, #362). ## v3.0.0 - 2020-08-16 -- On `v3`, all CLI variables will be considered global variables ([#336](https://github.com/go-task/task/issues/336), [#341](https://github.com/go-task/task/issues/341)) -- Add support to `.env` like files ([#324](https://github.com/go-task/task/issues/324), [#356](https://github.com/go-task/task/issues/356)). -- Add `label:` to task so you can override the task name in the logs ([\[#321\](https://github.com/go-task/task/issues/321)](https://github.com/go-task/task/issues/321]), [#337](https://github.com/go-task/task/issues/337)). -- Refactor how variables work on version 3 ([#311](https://github.com/go-task/task/issues/311)). +- On `v3`, all CLI variables will be considered global variables (#336, #341) +- Add support to `.env` like files (#324, #356). +- Add `label:` to task so you can override the task name in the logs (#321, + + # 337). +- Refactor how variables work on version 3 (#311). - Disallow `expansions` on v3 since it has no effect. - `Taskvars.yml` is not automatically included anymore. - `Taskfile_{{OS}}.yml` is not automatically included anymore. - Allow interpolation on `includes`, so you can manually include a Taskfile based on operation system, for example. -- Expose `.TASK` variable in templates with the task name ([#252](https://github.com/go-task/task/issues/252)). -- Implement short task syntax ([#194](https://github.com/go-task/task/issues/194), [#240](https://github.com/go-task/task/issues/240)). -- Added option to make included Taskfile run commands on its own directory ([#260](https://github.com/go-task/task/issues/260), [#144](https://github.com/go-task/task/issues/144)) -- Taskfiles in version 1 are not supported anymore ([#237](https://github.com/go-task/task/issues/237)). -- Added global `method:` option. With this option, you can set a default method to all tasks in a Taskfile ([#246](https://github.com/go-task/task/issues/246)). -- Changed default method from `timestamp` to `checksum` ([#246](https://github.com/go-task/task/issues/246)). -- New magic variables are now available when using `status:`: `.TIMESTAMP` which contains the greatest modification date from the files listed in `sources:`, and `.CHECKSUM`, which contains a checksum of all files listed in `status:`. This is useful for manual checking when using external, or even remote, artifacts when using `status:` ([#216](https://github.com/go-task/task/issues/216)). -- We're now using [slim-sprig](https://github.com/go-task/slim-sprig) instead of [sprig](https://github.com/Masterminds/sprig), which allowed a file size reduction of about 22% ([#219](https://github.com/go-task/task/issues/219)). -- We now use some colors on Task output to better distinguish message types - commands are green, errors are red, etc ([#207](https://github.com/go-task/task/issues/207)). +- Expose `.TASK` variable in templates with the task name (#252). +- Implement short task syntax (#194, #240). +- Added option to make included Taskfile run commands on its own directory (#260, #144) +- Taskfiles in version 1 are not supported anymore (#237). +- Added global `method:` option. With this option, you can set a default method to all tasks in a Taskfile (#246). +- Changed default method from `timestamp` to `checksum` (#246). +- New magic variables are now available when using `status:`: `.TIMESTAMP` which contains the greatest modification date from the files listed in `sources:`, and `.CHECKSUM`, which contains a checksum of all files listed in `status:`. This is useful for manual checking when using external, or even remote, artifacts when using `status:` (#216). +- We're now using [slim-sprig](https://github.com/go-task/slim-sprig) instead of [sprig](https://github.com/Masterminds/sprig), which allowed a file size reduction of about 22% (#219). +- We now use some colors on Task output to better distinguish message types - commands are green, errors are red, etc (#207). ## v2.8.1 - 2020-05-20 -- Fix error code for the `--help` flag ([#300](https://github.com/go-task/task/issues/300), [#330](https://github.com/go-task/task/issues/330)). -- Print version to stdout instead of stderr ([#299](https://github.com/go-task/task/issues/299), [#329](https://github.com/go-task/task/issues/329)). -- Supress `context` errors when using the `--watch` flag ([#313](https://github.com/go-task/task/issues/313), [#317](https://github.com/go-task/task/issues/317)). -- Support templating on description ([#276](https://github.com/go-task/task/issues/276), [#283](https://github.com/go-task/task/issues/283)). +- Fix error code for the `--help` flag (#300, #330). +- Print version to stdout instead of stderr (#299, #329). +- Supress `context` errors when using the `--watch` flag (#313, #317). +- Support templating on description (#276, #283). ## v2.8.0 - 2019-12-07 -- Add `--parallel` flag (alias `-p`) to run tasks given by the command line in parallel ([#266](https://github.com/go-task/task/issues/266)). +- Add `--parallel` flag (alias `-p`) to run tasks given by the command line in parallel (#266). - Fixed bug where calling the `task` CLI only informing global vars would not execute the `default` task. - Add hability to silent all tasks by adding `silent: true` a the root of the Taskfile. ## v2.7.1 - 2019-11-10 -- Fix error being raised when `exit 0` was called ([#251](https://github.com/go-task/task/issues/251)). +- Fix error being raised when `exit 0` was called (#251). ## v2.7.0 - 2019-09-22 -- Fixed panic bug when assigning a global variable ([#229](https://github.com/go-task/task/issues/229), [#243](https://github.com/go-task/task/issues/243)). -- A task with `method: checksum` will now re-run if generated files are deleted ([#228](https://github.com/go-task/task/issues/228), [#238](https://github.com/go-task/task/issues/238)). +- Fixed panic bug when assigning a global variable (#229, #243). +- A task with `method: checksum` will now re-run if generated files are deleted (#228, #238). ## v2.6.0 - 2019-07-21 - Fixed some bugs regarding minor version checks on `version:`. -- Add `preconditions:` to task ([#205](https://github.com/go-task/task/issues/205)). -- Create directory informed on `dir:` if it doesn't exist ([#209](https://github.com/go-task/task/issues/209), [#211](https://github.com/go-task/task/issues/211)). -- We now have a `--taskfile` flag (alias `-t`), which can be used to run another Taskfile (other than the default `Taskfile.yml`) ([#221](https://github.com/go-task/task/issues/221)). -- It's now possible to install Task using Homebrew on Linux ([go-task/homebrew-tap\[#1\](https://github.com/go-task/task/issues/1)](https://github.com/go-task/homebrew-tap/pull/1)). +- Add `preconditions:` to task (#205). +- Create directory informed on `dir:` if it doesn't exist (#209, #211). +- We now have a `--taskfile` flag (alias `-t`), which can be used to run another Taskfile (other than the default `Taskfile.yml`) (#221). +- It's now possible to install Task using Homebrew on Linux ([go-task/homebrew-tap#1](https://github.com/go-task/homebrew-tap/pull/1)). ## v2.5.2 - 2019-05-11 -- Reverted YAML upgrade due issues with CRLF on Windows ([#201](https://github.com/go-task/task/issues/201), [go-yaml/yaml\[#450\](https://github.com/go-task/task/issues/450)](https://github.com/go-yaml/yaml/issues/450)). -- Allow setting global variables through the CLI ([#192](https://github.com/go-task/task/issues/192)). +- Reverted YAML upgrade due issues with CRLF on Windows (#201, [go-yaml/yaml#450](https://github.com/go-yaml/yaml/issues/450)). +- Allow setting global variables through the CLI (#192). ## 2.5.1 - 2019-04-27 -- Fixed some issues with interactive command line tools, where sometimes the output were not being shown, and similar issues ([#114](https://github.com/go-task/task/issues/114), [#190](https://github.com/go-task/task/issues/190), [#200](https://github.com/go-task/task/issues/200)). +- Fixed some issues with interactive command line tools, where sometimes the output were not being shown, and similar issues (#114, #190, #200). - Upgraded [go-yaml/yaml](https://github.com/go-yaml/yaml) from v2 to v3. ## v2.5.0 - 2019-03-16 - We moved from the taskfile.org domain to the new fancy taskfile.dev domain. While stuff is being redirected, we strongly recommend to everyone that use [this install script](https://taskfile.dev/#/installation?id=install-script) to use the new taskfile.dev domain on scripts from now on. -- Fixed to the ZSH completion ([#182](https://github.com/go-task/task/issues/182)). -- Add [`--summary` flag along with `summary:` task attribute](https://taskfile.org/#/usage?id=display-summary-of-task) ([#180](https://github.com/go-task/task/issues/180)). +- Fixed to the ZSH completion (#182). +- Add [`--summary` flag along with `summary:` task attribute](https://taskfile.org/#/usage?id=display-summary-of-task) (#180). ## v2.4.0 - 2019-02-21 -- Allow calling a task of the root Taskfile from an included Taskfile by prefixing it with `:` ([#161](https://github.com/go-task/task/issues/161), [#172](https://github.com/go-task/task/issues/172)). -- Add flag to override the `output` option ([#173](https://github.com/go-task/task/issues/173)). -- Fix bug where Task was persisting the new checksum on the disk when the Dry Mode is enabled ([#166](https://github.com/go-task/task/issues/166)). -- Fix file timestamp issue when the file name has spaces ([#176](https://github.com/go-task/task/issues/176)). -- Mitigating path expanding issues on Windows ([#170](https://github.com/go-task/task/issues/170)). +- Allow calling a task of the root Taskfile from an included Taskfile by prefixing it with `:` (#161, #172). +- Add flag to override the `output` option (#173). +- Fix bug where Task was persisting the new checksum on the disk when the Dry Mode is enabled (#166). +- Fix file timestamp issue when the file name has spaces (#176). +- Mitigating path expanding issues on Windows (#170). ## v2.3.0 - 2019-01-02 -- On Windows, Task can now be installed using [Scoop](https://scoop.sh/) ([#152](https://github.com/go-task/task/issues/152)). -- Fixed issue with file/directory globing ([#153](https://github.com/go-task/task/issues/153)). -- Added ability to globally set environment variables ([#138](https://github.com/go-task/task/issues/138), [#159](https://github.com/go-task/task/issues/159)). +- On Windows, Task can now be installed using [Scoop](https://scoop.sh/) (#152). +- Fixed issue with file/directory globing (#153). +- Added ability to globally set environment variables (#138, #159). ## v2.2.1 - 2018-12-09 -- This repository now uses Go Modules ([#143](https://github.com/go-task/task/issues/143)). We'll still keep the `vendor` directory in sync for some time, though; -- Fixing a bug when the Taskfile has no tasks but includes another Taskfile ([#150](https://github.com/go-task/task/issues/150)); -- Fix a bug when calling another task or a dependency in an included Taskfile ([#151](https://github.com/go-task/task/issues/151)). +- This repository now uses Go Modules (#143). We'll still keep the `vendor` directory in sync for some time, though; +- Fixing a bug when the Taskfile has no tasks but includes another Taskfile (#150); +- Fix a bug when calling another task or a dependency in an included Taskfile (#151). ## v2.2.0 - 2018-10-25 -- Added support for [including other Taskfiles](https://taskfile.org/#/usage?id=including-other-taskfiles) ([#98](https://github.com/go-task/task/issues/98)) - - 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](https://github.com/go-task/task/issues/98). +- Added support for [including other Taskfiles](https://taskfile.org/#/usage?id=including-other-taskfiles) (#98) + - 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. - Task now have a dedicated documentation site: https://taskfile.org - Thanks to [Docsify](https://docsify.js.org/) for making this pretty easy. To check the source code, just take a look at the [docs](https://github.com/go-task/task/tree/main/docs) directory of this repository. Contributions to the documentation is really appreciated. ## v2.1.1 - 2018-09-17 - Fix suggestion to use `task --init` not being shown anymore (when a `Taskfile.yml` is not found) -- Fix error when using checksum method and no file exists for a source glob ([#131](https://github.com/go-task/task/issues/131)) -- Fix signal handling when the `--watch` flag is given ([#132](https://github.com/go-task/task/issues/132)) +- Fix error when using checksum method and no file exists for a source glob (#131) +- Fix signal handling when the `--watch` flag is given (#132) ## v2.1.0 - 2018-08-19 -- Add a `ignore_error` option to task and command ([#123](https://github.com/go-task/task/issues/123)) -- Add a dry run mode (`--dry` flag) ([#126](https://github.com/go-task/task/issues/126)) +- Add a `ignore_error` option to task and command (#123) +- Add a dry run mode (`--dry` flag) (#126) ## v2.0.3 - 2018-06-24 -- Expand environment variables on "dir", "sources" and "generates" ([#116](https://github.com/go-task/task/issues/116)) -- Fix YAML merging syntax ([#112](https://github.com/go-task/task/issues/112)) -- Add ZSH completion ([#111](https://github.com/go-task/task/issues/111)) +- Expand environment variables on "dir", "sources" and "generates" (#116) +- Fix YAML merging syntax (#112) +- Add ZSH completion (#111) - Implement new `output` option. Please check out the [documentation](https://github.com/go-task/task#output-syntax) ## v2.0.2 - 2018-05-01 -- Fix merging of YAML anchors ([#112](https://github.com/go-task/task/issues/112)) +- Fix merging of YAML anchors (#112) ## v2.0.1 - 2018-03-11 @@ -445,36 +479,36 @@ Version 2.0.0 is here, with a new Taskfile format. Please, make sure to read the [Taskfile versions](https://github.com/go-task/task/blob/main/TASKFILE_VERSIONS.md) document, since it describes in depth what changed for this version. -- New Taskfile version 2 ([#77](https://github.com/go-task/task/issues/77)) -- Possibility to have global variables in the `Taskfile.yml` instead of `Taskvars.yml` ([#66](https://github.com/go-task/task/issues/66)) +- New Taskfile version 2 (#77) +- Possibility to have global variables in the `Taskfile.yml` instead of `Taskvars.yml` (#66) - Small improvements and fixes ## v1.4.4 - 2017-11-19 -- Handle SIGINT and SIGTERM ([#75](https://github.com/go-task/task/issues/75)); +- Handle SIGINT and SIGTERM (#75); - List: print message with there's no task with description; -- Expand home dir ("~" symbol) on paths ([#74](https://github.com/go-task/task/issues/74)); +- Expand home dir ("~" symbol) on paths (#74); - Add Snap as an installation method; - Move examples to its own repo; - Watch: also walk on tasks called on on "cmds", and not only on "deps"; -- Print logs to stderr instead of stdout ([#68](https://github.com/go-task/task/issues/68)); +- Print logs to stderr instead of stdout (#68); - Remove deprecated `set` keyword; - Add checksum based status check, alternative to timestamp based. ## v1.4.3 - 2017-09-07 -- Allow assigning variables to tasks at run time via CLI ([#33](https://github.com/go-task/task/issues/33)) -- Added suport for multiline variables from sh ([#64](https://github.com/go-task/task/issues/64)) -- Fixes env: remove square braces and evaluate shell ([#62](https://github.com/go-task/task/issues/62)) +- Allow assigning variables to tasks at run time via CLI (#33) +- Added suport for multiline variables from sh (#64) +- Fixes env: remove square braces and evaluate shell (#62) - Watch: change watch library and few fixes and improvements -- When use watching, cancel and restart long running process on file change ([#59](https://github.com/go-task/task/issues/59) and [#60](https://github.com/go-task/task/issues/60)) +- When use watching, cancel and restart long running process on file change (#59 and #60) ## v1.4.2 - 2017-07-30 - Flag to set directory of execution - Always echo command if is verbose mode - Add silent mode to disable echoing of commands -- Fixes and improvements of variables ([#56](https://github.com/go-task/task/issues/56)) +- Fixes and improvements of variables (#56) ## v1.4.1 - 2017-07-15 @@ -482,28 +516,28 @@ Please, make sure to read the [Taskfile versions](https://github.com/go-task/tas - `VAR: {sh: echo Hello}` instead of `VAR: $echo Hello` - Add `--list` (or `-l`) flag to print existing tasks - OS specific Taskvars file (e.g. `Taskvars_windows.yml`, `Taskvars_linux.yml`, etc) -- Consider task up-to-date on equal timestamps ([#49](https://github.com/go-task/task/issues/49)) -- Allow absolute path in generates section ([#48](https://github.com/go-task/task/issues/48)) -- Bugfix: allow templating when calling deps ([#42](https://github.com/go-task/task/issues/42)) +- Consider task up-to-date on equal timestamps (#49) +- Allow absolute path in generates section (#48) +- Bugfix: allow templating when calling deps (#42) - Fix panic for invalid task in cyclic dep detection -- Better error output for dynamic variables in Taskvars.yml ([#41](https://github.com/go-task/task/issues/41)) +- Better error output for dynamic variables in Taskvars.yml (#41) - Allow template evaluation in parameters ## v1.4.0 - 2017-07-06 - Cache dynamic variables - Add verbose mode (`-v` flag) -- Support to task parameters (overriding vars) ([#31](https://github.com/go-task/task/issues/31)) ([#32](https://github.com/go-task/task/issues/32)) -- Print command, also when "set:" is specified ([#35](https://github.com/go-task/task/issues/35)) -- Improve task command help text ([#35](https://github.com/go-task/task/issues/35)) +- Support to task parameters (overriding vars) (#31) (#32) +- Print command, also when "set:" is specified (#35) +- Improve task command help text (#35) ## v1.3.1 - 2017-06-14 -- Fix glob not working on commands ([#28](https://github.com/go-task/task/issues/28)) +- Fix glob not working on commands (#28) - Add ExeExt template function - Add `--init` flag to create a new Taskfile -- Add status option to prevent task from running ([#27](https://github.com/go-task/task/issues/27)) -- Allow interpolation on `generates` and `sources` attributes ([#26](https://github.com/go-task/task/issues/26)) +- Add status option to prevent task from running (#27) +- Allow interpolation on `generates` and `sources` attributes (#26) ## v1.3.0 - 2017-04-24 @@ -521,18 +555,18 @@ Please, make sure to read the [Taskfile versions](https://github.com/go-task/tas - Watch a task (experimental) - Possibility to call another task - Fix "=" not being reconized in variables/environment variables -- Tasks can now have a description, and help will print them ([#10](https://github.com/go-task/task/issues/10)) +- Tasks can now have a description, and help will print them (#10) - Task dependencies now run concurrently -- Support for a default task ([#16](https://github.com/go-task/task/issues/16)) +- Support for a default task (#16) ## v1.1.0 - 2017-03-08 -- Support for YAML, TOML and JSON ([#1](https://github.com/go-task/task/issues/1)) -- Support running command in another directory ([#4](https://github.com/go-task/task/issues/4)) +- Support for YAML, TOML and JSON (#1) +- Support running command in another directory (#4) - `--force` or `-f` flag to force execution of task even when it's up-to-date -- Detection of cyclic dependencies ([#5](https://github.com/go-task/task/issues/5)) -- Support for variables ([#6](https://github.com/go-task/task/issues/6), [#9](https://github.com/go-task/task/issues/9), [#14](https://github.com/go-task/task/issues/14)) -- Operation System specific commands and variables ([#13](https://github.com/go-task/task/issues/13)) +- Detection of cyclic dependencies (#5) +- Support for variables (#6, #9, #14) +- Operation System specific commands and variables (#13) ## v1.0.0 - 2017-02-28 diff --git a/docs/i18n/ja-JP/docusaurus-plugin-content-docs/current/community.md b/docs/i18n/ja-JP/docusaurus-plugin-content-docs/current/community.md index 07f47646..c069c2be 100644 --- a/docs/i18n/ja-JP/docusaurus-plugin-content-docs/current/community.md +++ b/docs/i18n/ja-JP/docusaurus-plugin-content-docs/current/community.md @@ -19,8 +19,8 @@ Many of our integrations are contributed and maintained by the community. You ca Some installation methods are maintained by third party: -- [GitHub Actions](https://github.com/arduino/setup-task) by [@arduino](https://github.com/arduino) -- [AUR](https://aur.archlinux.org/packages/go-task-bin) by [@carlsmedstad](https://github.com/carlsmedstad) +- [GitHub Actions](https://github.com/arduino/setup-task) by @arduino +- [AUR](https://aur.archlinux.org/packages/go-task-bin) by @carlsmedstad - [Scoop](https://github.com/ScoopInstaller/Main/blob/master/bucket/task.json) - [Fedora](https://packages.fedoraproject.org/pkgs/golang-github-task/go-task/) - [NixOS](https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/tools/go-task/default.nix) diff --git a/docs/i18n/ja-JP/docusaurus-plugin-content-docs/current/contributing.md b/docs/i18n/ja-JP/docusaurus-plugin-content-docs/current/contributing.md index 35b1d58b..18720e72 100644 --- a/docs/i18n/ja-JP/docusaurus-plugin-content-docs/current/contributing.md +++ b/docs/i18n/ja-JP/docusaurus-plugin-content-docs/current/contributing.md @@ -41,9 +41,9 @@ To run Task for Visual Studio Code, you can open the project in VSCode and hit F Task uses [Docusaurus][docusaurus] to host a documentation server. The code for this is located in the core Task repository. This can be setup and run locally by using `task docs` (requires `nodejs` & `yarn`). All content is written in Markdown and is located in the `docs/docs` directory. All Markdown documents should have an 80 character line wrap limit (enforced by Prettier). -When making a change, consider whether a change to the [Usage Guide](./usage.md) is necessary. This document contains descriptions and examples of how to use Task features. If you're adding a new feature, try to find an appropriate place to add a new section. If you're updating an existing feature, ensure that the documentation and any examples are up-to-date. Ensure that any examples follow the [Taskfile Styleguide](./styleguide.md). +When making a change, consider whether a change to the [Usage Guide](/usage) is necessary. This document contains descriptions and examples of how to use Task features. If you're adding a new feature, try to find an appropriate place to add a new section. If you're updating an existing feature, ensure that the documentation and any examples are up-to-date. Ensure that any examples follow the [Taskfile Styleguide](/styleguide). -If you added a new field, command or flag, ensure that you add it to the [API Reference](./api_reference.md). New fields also need to be added to the [JSON Schema][json-schema]. The descriptions for fields in the API reference and the schema should match. +If you added a new field, command or flag, ensure that you add it to the [API Reference](/api). New fields also need to be added to the [JSON Schema][json-schema]. The descriptions for fields in the API reference and the schema should match. ### Writing tests @@ -72,7 +72,7 @@ If you're not sure how to format your commit message, check out [Conventional Co Take a look at the list of [open issues for Task][task-open-issues] or [Task for Visual Studio Code][vscode-task-open-issues]. We have a [good first issue][good-first-issue] label for simpler issues that are ideal for first time contributions. -All kinds of contributions are welcome, whether its a typo fix or a shiny new feature. You can also contribute by upvoting/commenting on issues, helping to answer questions or contributing to other [community projects](./community.md). +All kinds of contributions are welcome, whether its a typo fix or a shiny new feature. You can also contribute by upvoting/commenting on issues, helping to answer questions or contributing to other [community projects](/community). > I'm stuck, where can I get help? diff --git a/docs/i18n/ja-JP/docusaurus-plugin-content-docs/current/deprecations/template.md b/docs/i18n/ja-JP/docusaurus-plugin-content-docs/current/deprecations/template.md index 43ed4d3b..646e45c6 100644 --- a/docs/i18n/ja-JP/docusaurus-plugin-content-docs/current/deprecations/template.md +++ b/docs/i18n/ja-JP/docusaurus-plugin-content-docs/current/deprecations/template.md @@ -6,12 +6,17 @@ sidebar_position: -1 #Always push to the top draft: true #Hide in production --- -# {Name of Deprecated Feature} +# \{Name of Deprecated Feature\} (#\{Issue\}) -- Issue: [#{issue}](https://github.com/go-task/task/issues/{issue}) -- Breaks: - - {list any existing functionality that will be broken by this experiment} +:::warning -{Short description of the feature/behavior and why it is being deprecated} +This deprecation breaks the following functionality: -{Short explanation of any replacement features/behaviors and how users should migrate to it} +- \{list any existing functionality that will be broken by this deprecation\} +- \{if there are no breaking changes, remove this admonition\} + +::: + +\{Short description of the feature/behavior and why it is being deprecated\} + +\{Short explanation of any replacement features/behaviors and how users should migrate to it\} diff --git a/docs/i18n/ja-JP/docusaurus-plugin-content-docs/current/deprecations/version_2_schema.md b/docs/i18n/ja-JP/docusaurus-plugin-content-docs/current/deprecations/version_2_schema.md index 79ea75cf..c45fb65d 100644 --- a/docs/i18n/ja-JP/docusaurus-plugin-content-docs/current/deprecations/version_2_schema.md +++ b/docs/i18n/ja-JP/docusaurus-plugin-content-docs/current/deprecations/version_2_schema.md @@ -2,21 +2,24 @@ slug: /deprecations/version-2-schema/ --- -# Version 2 Schema +# Version 2 Schema (#1197) -- Issue: [#1197][deprecate-version-2-schema] -- Breaks: - - Any Taskfiles that use the version 2 schema - - `Taskvar.yml` files +:::warning -The Taskfile v2 schema was introduced in March 2018 and replaced by version 3 in August the following year. Users have had a long time to update and so we feel that it is time to tidy up the codebase and focus on new functionality instead. +This deprecation breaks the following functionality: -This notice does not mean that we are immediately removing support for version 2 schemas. However, support will not be extended to future major releases and we _strongly recommend_ that anybody still using a version 2 schema upgrades to version 3 as soon as possible. +- Any Taskfiles that use the version 2 schema +- `Taskvar.yml` files -A list of changes between version 2 and version 3 are available in the [Task v3 Release Notes][version-3-release-notes]. +::: + +The Taskfile version 2 schema was introduced in March 2018 and replaced by version 3 in August 2019. In May 2023 [we published a deprecation notice][deprecation-notice] for the version 2 schema on the basis that the vast majority of users had already upgraded to version 3 and removing support for version 2 would allow us to tidy up the codebase and focus on new functionality instead. + +In December 2023, the final version of Task that supports the version 2 schema ([v3.33.0][v3.33.0]) was published and all legacy code was removed from Task's main branch. To use a more recent version of Task, you will need to ensure that your Taskfile uses the version 3 schema instead. A list of changes between version 2 and version 3 are available in the [Task v3 Release Notes][v3.0.0]. -[deprecate-version-2-schema]: https://github.com/go-task/task/issues/1197 -[version-3-release-notes]: https://github.com/go-task/task/releases/tag/v3.0.0 +[v3.0.0]: https://github.com/go-task/task/releases/tag/v3.0.0 +[v3.33.0]: https://github.com/go-task/task/releases/tag/v3.33.0 +[deprecation-notice]: https://github.com/go-task/task/issues/1197 diff --git a/docs/i18n/ja-JP/docusaurus-plugin-content-docs/current/experiments/any_variables.md b/docs/i18n/ja-JP/docusaurus-plugin-content-docs/current/experiments/any_variables.md new file mode 100644 index 00000000..cf2521c7 --- /dev/null +++ b/docs/i18n/ja-JP/docusaurus-plugin-content-docs/current/experiments/any_variables.md @@ -0,0 +1,206 @@ +--- +slug: /experiments/any-variables/ +--- + +# Any Variables (#1415) + +:::caution + +All experimental features are subject to breaking changes and/or removal _at any +time_. We strongly recommend that you do not use these features in a production +environment. They are intended for testing and feedback only. + +::: + +:::warning + +This experiment breaks the following functionality: + +- Dynamically defined variables (using the `sh` keyword) + +::: + +:::info + +To enable this experiment, set the environment variable: +`TASK_X_ANY_VARIABLES=1`. Check out [our guide to enabling experiments +][enabling-experiments] for more information. + +::: + +Currently, Task only supports string variables. This experiment allows you to +specify and use the following variable types: + +- `string` +- `bool` +- `int` +- `float` +- `array` +- `map` + +This allows you to have a lot more flexibility in how you use variables in +Task's templating engine. For example: + +Evaluating booleans: + +```yaml +version: 3 + +tasks: + foo: + vars: + BOOL: false + cmds: + - '{{if .BOOL}}echo foo{{end}}' +``` + +Arithmetic: + +```yaml +version: 3 + +tasks: + foo: + vars: + INT: 10 + FLOAT: 3.14159 + cmds: + - 'echo {{add .INT .FLOAT}}' +``` + +Ranging: + +```yaml +version: 3 + +tasks: + foo: + vars: + ARRAY: [1, 2, 3] + cmds: + - 'echo {{range .ARRAY}}{{.}}{{end}}' +``` + +There are many more templating functions which can be used with the new types of +variables. For a full list, see the [slim-sprig][slim-sprig] documentation. + +## Looping over variables + +Previously, you would have to use a delimiter separated string to loop over an +arbitrary list of items in a variable and split them by using the `split` subkey +to specify the delimiter: + +```yaml +version: 3 + +tasks: + foo: + vars: + LIST: 'foo,bar,baz' + cmds: + - for: + var: LIST + split: ',' + cmd: echo {{.ITEM}} +``` + +Because this experiment adds support for "collection-type" variables, the `for` +keyword has been updated to support looping over arrays directly: + +```yaml +version: 3 + +tasks: + foo: + vars: + LIST: [foo, bar, baz] + cmds: + - for: + var: LIST + cmd: echo {{.ITEM}} +``` + +This also works for maps. When looping over a map we also make an additional +`{{.KEY}}` variable availabe that holds the string value of the map key. +Remember that maps are unordered, so the order in which the items are looped +over is random: + +```yaml +version: 3 + +tasks: + foo: + vars: + MAP: + KEY_1: + SUBKEY: sub_value_1 + KEY_2: + SUBKEY: sub_value_2 + KEY_3: + SUBKEY: sub_value_3 + cmds: + - for: + var: MAP + cmd: echo {{.KEY}} {{.ITEM.SUBKEY}} +``` + +String splitting is still supported and remember that for simple cases, you have +always been able to loop over an array without using variables at all: + +```yaml +version: 3 + +tasks: + foo: + cmds: + - for: [foo, bar, baz] + cmd: echo {{.ITEM}} +``` + +## Migration + +Taskfiles with dynamically defined variables via the `sh` subkey will no longer +work with this experiment enabled. In order to keep using dynamically defined +variables, you will need to migrate your Taskfile to use the new syntax. + +Previously, you might have defined a dynamic variable like this: + +```yaml +version: 3 + +task: + foo: + vars: + CALCULATED_VAR: + sh: 'echo hello' + cmds: + - 'echo {{.CALCULATED_VAR}}' +``` + +With this experiment enabled, you will need to remove the `sh` subkey and define +your command as a string that begins with a `$`. This will instruct Task to +interpret the string as a command instead of a literal value and the variable +will be populated with the output of the command. For example: + +```yaml +version: 3 + +task: + foo: + vars: + CALCULATED_VAR: '$echo hello' + cmds: + - 'echo {{.CALCULATED_VAR}}' +``` + +If your current Taskfile contains a string variable that begins with a `$`, you +will now need to escape the `$` with a backslash (`\`) to stop Task from +executing it as a command. + + + +[enabling-experiments]: /experiments/#enabling-experiments + +[slim-sprig]: https://go-task.github.io/slim-sprig/ + + diff --git a/docs/i18n/ja-JP/docusaurus-plugin-content-docs/current/experiments/experiments.md b/docs/i18n/ja-JP/docusaurus-plugin-content-docs/current/experiments/experiments.md index b32a7570..b1a70473 100644 --- a/docs/i18n/ja-JP/docusaurus-plugin-content-docs/current/experiments/experiments.md +++ b/docs/i18n/ja-JP/docusaurus-plugin-content-docs/current/experiments/experiments.md @@ -15,14 +15,15 @@ In order to allow Task to evolve quickly, we roll out breaking changes to minor You can view a full list of active experiments in the "Experiments" section of the sidebar. -You can enable an experimental feature by: +## Enabling Experiments + +You can enable an experimental feature by doing one of the following: 1. Using the relevant environment variable in front of a task command. For example, `TASK_X_{FEATURE}=1 task {my-task}`. This is intended for one-off invocations of Task to test out experimental features. 1. Using the relevant environment variable in your "dotfiles" (e.g. `.bashrc`, `.zshrc` etc.). This is intended for permanently enabling experimental features in your environment. -1. Creating a `.env` file in the same directory as your root Taskfile that contains the relevant environment variables. e.g. +1. Creating a `.env` file in the same directory as your root Taskfile that contains the relevant environment variables. This allows you to enable an experimental feature at a project level. For example: -```shell -# .env +```shell title=".env" TASK_X_FEATURE=1 ``` diff --git a/docs/i18n/ja-JP/docusaurus-plugin-content-docs/current/experiments/gentle_force.md b/docs/i18n/ja-JP/docusaurus-plugin-content-docs/current/experiments/gentle_force.md index d1eada74..514602bb 100644 --- a/docs/i18n/ja-JP/docusaurus-plugin-content-docs/current/experiments/gentle_force.md +++ b/docs/i18n/ja-JP/docusaurus-plugin-content-docs/current/experiments/gentle_force.md @@ -2,12 +2,27 @@ slug: /experiments/gentle-force/ --- -# Gentle Force +# Gentle Force (#1200) -- Issue: [#1200][gentle-force-experiment] -- Environment variable: `TASK_X_FORCE=1` -- Breaks: - - `--force` flag +:::caution + +All experimental features are subject to breaking changes and/or removal _at any time_. We strongly recommend that you do not use these features in a production environment. They are intended for testing and feedback only. + +::: + +:::warning + +This experiment breaks the following functionality: + +- The `--force` flag + +::: + +:::info + +To enable this experiment, set the environment variable: `TASK_X_FORCE=1`. Check out [our guide to enabling experiments ][enabling-experiments] for more information. + +::: The `--force` flag currently forces _all_ tasks to run regardless of the status checks. This can be useful, but we have found that most of the time users only expect the direct task they are calling to be forced and _not_ all of its dependant tasks. @@ -18,4 +33,4 @@ If you want to migrate, but continue to force all dependant tasks to run, you sh -[gentle-force-experiment]: https://github.com/go-task/task/issues/1200 +[enabling-experiments]: /experiments/#enabling-experiments diff --git a/docs/i18n/ja-JP/docusaurus-plugin-content-docs/current/experiments/remote_taskfiles.md b/docs/i18n/ja-JP/docusaurus-plugin-content-docs/current/experiments/remote_taskfiles.md index 76d21173..73a934d8 100644 --- a/docs/i18n/ja-JP/docusaurus-plugin-content-docs/current/experiments/remote_taskfiles.md +++ b/docs/i18n/ja-JP/docusaurus-plugin-content-docs/current/experiments/remote_taskfiles.md @@ -2,10 +2,19 @@ slug: /experiments/remote-taskfiles/ --- -# Remote Taskfiles +# Remote Taskfiles (#1317) -- Issue: [#1317][remote-taskfiles-experiment] -- Environment variable: `TASK_X_REMOTE_TASKFILES=1` +:::caution + +All experimental features are subject to breaking changes and/or removal _at any time_. We strongly recommend that you do not use these features in a production environment. They are intended for testing and feedback only. + +::: + +:::info + +To enable this experiment, set the environment variable: `TASK_X_REMOTE_TASKFILES=1`. Check out [our guide to enabling experiments ][enabling-experiments] for more information. + +::: This experiment allows you to specify a remote Taskfile URL when including a Taskfile. For example: @@ -53,5 +62,5 @@ By default, Task will timeout requests to download remote files after 10 seconds -[remote-taskfiles-experiment]: https://github.com/go-task/task/issues/1317 +[enabling-experiments]: /experiments/#enabling-experiments [man-in-the-middle-attacks]: https://en.wikipedia.org/wiki/Man-in-the-middle_attack diff --git a/docs/i18n/ja-JP/docusaurus-plugin-content-docs/current/experiments/template.md b/docs/i18n/ja-JP/docusaurus-plugin-content-docs/current/experiments/template.md index 6ae94c06..59246cf5 100644 --- a/docs/i18n/ja-JP/docusaurus-plugin-content-docs/current/experiments/template.md +++ b/docs/i18n/ja-JP/docusaurus-plugin-content-docs/current/experiments/template.md @@ -6,15 +6,34 @@ sidebar_position: -1 #Always push to the top draft: true #Hide in production --- -# {Name of Experiment} +# \{Name of Experiment\} (#\{Issue\}) -- Issue: [#{issue}](https://github.com/go-task/task/issues/{issue}) -- Environment variable: `TASK_X_{feature}` -- Breaks: - - {list any existing functionality that will be broken by this experiment} -- Deprecations: - - {link to any deprecation pages related to this experiment} +:::caution -{Short description of the feature} +All experimental features are subject to breaking changes and/or removal _at any time_. We strongly recommend that you do not use these features in a production environment. They are intended for testing and feedback only. -{Short explanation of how users should migrate to the new behavior} +::: + +:::warning + +This experiment breaks the following functionality: + +- \{list any existing functionality that will be broken by this experiment\} +- \{if there are no breaking changes, remove this admonition\} + +::: + +:::info + +To enable this experiment, set the environment variable: `TASK_X_{feature}=1`. Check out [our guide to enabling experiments ][enabling-experiments] for more information. + +::: + +\{Short description of the feature\} + +\{Short explanation of how users should migrate to the new behavior\} + + + + +[enabling-experiments]: /experiments/#enabling-experiments diff --git a/docs/i18n/ja-JP/docusaurus-plugin-content-docs/current/faq.md b/docs/i18n/ja-JP/docusaurus-plugin-content-docs/current/faq.md index d1857bde..66acce49 100644 --- a/docs/i18n/ja-JP/docusaurus-plugin-content-docs/current/faq.md +++ b/docs/i18n/ja-JP/docusaurus-plugin-content-docs/current/faq.md @@ -78,7 +78,7 @@ Windowsのデフォルトシェル(`cmd`と`powershell`)は、組み込みシェ 私たちはTaskのこの部分に改善したいと思っており、以下のIssueがそれを追跡するものです。 建設的なコメントやコントリビュートは大歓迎です! -- [#197](https://github.com/go-task/task/issues/197) +- #197 - [mvdan/sh#93](https://github.com/mvdan/sh/issues/93) - [mvdan/sh#97](https://github.com/mvdan/sh/issues/97) diff --git a/docs/i18n/ja-JP/docusaurus-plugin-content-docs/current/integrations.md b/docs/i18n/ja-JP/docusaurus-plugin-content-docs/current/integrations.md index 559459d1..b6e4c800 100644 --- a/docs/i18n/ja-JP/docusaurus-plugin-content-docs/current/integrations.md +++ b/docs/i18n/ja-JP/docusaurus-plugin-content-docs/current/integrations.md @@ -24,7 +24,7 @@ To get autocompletion and validation for your Taskfile, see the [Schema](#schema ## Schema -This was initially created by [@KROSF](https://github.com/KROSF) in [this Gist](https://gist.github.com/KROSF/c5435acf590acd632f71bb720f685895) and is now officially maintained in [this file](https://github.com/go-task/task/blob/main/docs/static/schema.json) and made available at https://taskfile.dev/schema.json. This schema can be used to validate Taskfiles and provide autocompletion in many code editors: +This was initially created by @KROSF in [this Gist](https://gist.github.com/KROSF/c5435acf590acd632f71bb720f685895) and is now officially maintained in [this file](https://github.com/go-task/task/blob/main/docs/static/schema.json) and made available at https://taskfile.dev/schema.json. This schema can be used to validate Taskfiles and provide autocompletion in many code editors: ### Visual Studio Code @@ -55,8 +55,8 @@ You can find more information on this in the [YAML language server project](http In addition to our official integrations, there is an amazing community of developers who have created their own integrations for Task: -- [Sublime Text Plugin](https://packagecontrol.io/packages/Taskfile) [[source](https://github.com/biozz/sublime-taskfile)] by [@biozz](https://github.com/biozz) -- [IntelliJ Plugin](https://plugins.jetbrains.com/plugin/17058-taskfile) [[source](https://github.com/lechuckroh/task-intellij-plugin)] by [@lechuckroh](https://github.com/lechuckroh) +- [Sublime Text Plugin](https://packagecontrol.io/packages/Taskfile) [[source](https://github.com/biozz/sublime-taskfile)] by @biozz +- [IntelliJ Plugin](https://plugins.jetbrains.com/plugin/17058-taskfile) [[source](https://github.com/lechuckroh/task-intellij-plugin)] by @lechuckroh - [mk](https://github.com/pycontribs/mk) command line tool recognizes Taskfiles natively. If you have made something that integrates with Task, please feel free to open a PR to add it to this list. diff --git a/docs/i18n/ja-JP/docusaurus-plugin-content-docs/current/intro.md b/docs/i18n/ja-JP/docusaurus-plugin-content-docs/current/intro.md index db2a77c3..f3b8214f 100644 --- a/docs/i18n/ja-JP/docusaurus-plugin-content-docs/current/intro.md +++ b/docs/i18n/ja-JP/docusaurus-plugin-content-docs/current/intro.md @@ -14,7 +14,7 @@ Taskは[GNU Make][make]のようにシンプルで簡単に使えるタスクラ [Go][go]で書かれているため、Taskはシングルバイナリで他の依存関係がありません。つまり、複雑なインストールセットアップがありません。 -一度[インストール](installation.md)したら、シンプルな[YAML][yaml]スキーマを利用して、`Taskfile.yml`というファイルにビルドタスクを記述するだけでいいです。 +Once [installed](/installation), you just need to describe your build tasks using a simple [YAML][yaml] schema in a file called `Taskfile.yml`: ```yaml title="Taskfile.yml" version: '3' @@ -32,8 +32,8 @@ tasks: ## 特徴 -- [簡単なインストール方法](installation.md): シングルバイナリをダウンロードして、`$PATH`に追加するだけで完了です! または[Homebrew][homebrew]、[Snapcraft][snapcraft]、[Scoop][scoop]を使ってインストールすることができます。 -- Clで使用可能: [シンプルなコマンド](installation.md#install-script)でCIスクリプトに追加することでCIパイプラインでTaskを使うことができます。 +- [Easy installation](/installation): just download a single binary, add to `$PATH` and you're done! または[Homebrew][homebrew]、[Snapcraft][snapcraft]、[Scoop][scoop]を使ってインストールすることができます。 +- Available on CIs: by adding [this simple command](/installation#install-script) to install on your CI script and you're ready to use Task as part of your CI pipeline; - 真のクロスプラットフォーム: ほとんどのビルドツールはLinuxまたはmacOSだけで使用可能ですが、Taskは[Goのシェルインタープリタ][sh]を使うことでWindowsもサポートしています。 - コード生成に適している: 特定のファイル群が最後に実行されてから変更されていない場合(タイムスタンプや内容に基づき)、簡単に[タスクの実行を防ぐ](/usage#prevent-unnecessary-work)ことができます。 diff --git a/docs/i18n/ja-JP/docusaurus-plugin-content-docs/current/styleguide.md b/docs/i18n/ja-JP/docusaurus-plugin-content-docs/current/styleguide.md index c7f7330e..3a19a11a 100644 --- a/docs/i18n/ja-JP/docusaurus-plugin-content-docs/current/styleguide.md +++ b/docs/i18n/ja-JP/docusaurus-plugin-content-docs/current/styleguide.md @@ -9,19 +9,6 @@ sidebar_position: 10 これには一般的なガイドラインが含まれていますが、必ずしも厳密に従う必要はありません。 必要であったり、あるいは違う方法を取りたい場合は自由にしてください。 また、このガイドの改善点について、IssueまたはPull Requestを開くことも自由です。 -## `taskfile.yml`ではなく`Taskfile.yml`を使用する - -```yaml -# bad -taskfile.yml - - -# good -Taskfile.yml -``` - -これはLinuxユーザーにとって特に重要です。 WindowsとmacOSは大文字と小文字を区別しないファイルシステム持っているので、公式にはサポートされていないにもかかわらず、`taskfile.yml`は正常に動作します。 Linuxでは`Taskfile.yml`だけが動作します。 - ## キーワードを正しい順序にする - `version:` diff --git a/docs/i18n/ja-JP/docusaurus-plugin-content-docs/current/taskfile_versions.md b/docs/i18n/ja-JP/docusaurus-plugin-content-docs/current/taskfile_versions.md index 08d885d7..462e856b 100644 --- a/docs/i18n/ja-JP/docusaurus-plugin-content-docs/current/taskfile_versions.md +++ b/docs/i18n/ja-JP/docusaurus-plugin-content-docs/current/taskfile_versions.md @@ -69,7 +69,7 @@ tasks: :::caution -v2 schema support is [deprecated][deprecate-version-2-schema] and will be removed in a future release. +v2 schemas are [no longer supported by the latest version of Task][deprecate-version-2-schema]. ::: @@ -92,7 +92,7 @@ Please check the [documentation][includes] :::caution -v2 schema support is [deprecated][deprecate-version-2-schema] and will be removed in a future release. +v2 schemas are [no longer supported by the latest version of Task][deprecate-version-2-schema]. ::: @@ -110,7 +110,7 @@ includes: :::caution -v2 schema support is [deprecated][deprecate-version-2-schema] and will be removed in a future release. +v2 schemas are [no longer supported by the latest version of Task][deprecate-version-2-schema]. ::: @@ -151,7 +151,7 @@ tasks: :::caution -v2 schema support is [deprecated][deprecate-version-2-schema] and will be removed in a future release. +v2 schemas are [no longer supported by the latest version of Task][deprecate-version-2-schema]. ::: @@ -234,7 +234,7 @@ The variable priority order was also different: -[output]: usage.md#output-syntax -[ignore_errors]: usage.md#ignore-errors -[includes]: usage.md#including-other-taskfiles -[deprecate-version-2-schema]: https://github.com/go-task/task/issues/1197 +[deprecate-version-2-schema]: /deprecations/version-2-schema/ +[output]: /usage#output-syntax +[ignore_errors]: /usage#ignore-errors +[includes]: /usage#including-other-taskfiles diff --git a/docs/i18n/ja-JP/docusaurus-plugin-content-docs/current/usage.md b/docs/i18n/ja-JP/docusaurus-plugin-content-docs/current/usage.md index a9060097..02271b5d 100644 --- a/docs/i18n/ja-JP/docusaurus-plugin-content-docs/current/usage.md +++ b/docs/i18n/ja-JP/docusaurus-plugin-content-docs/current/usage.md @@ -487,7 +487,7 @@ tasks: ## 別のタスクを呼び出す -When a task has many dependencies, they are executed concurrently. This will often result in a faster build pipeline. However, in some situations, you may need to call other tasks serially. In this case, use the following syntax: +タスクに多くの依存関係がある場合、依存しているものは同時に実行されます。 これによりビルドパイプラインが速くなります。 しかし、状況によっては、他のタスクを順番に呼び出したケースがあるかもしれません。 その場合、以下の構文を使用してください: ```yaml version: '3' @@ -508,7 +508,7 @@ tasks: - echo "Another task" ``` -Using the `vars` and `silent` attributes you can choose to pass variables and toggle [silent mode](#silent-mode) on a call-by-call basis: +`vars`属性で変数をを渡すことができ、`silent`属性で[サイレントモード](#silent-mode)を切り替えることができます: ```yaml version: '3' @@ -527,11 +527,11 @@ tasks: silent: true ``` -The above syntax is also supported in `deps`. +上記の構文は`deps`属性でもサポートされています。 :::tip -NOTE: If you want to call a task declared in the root Taskfile from within an [included Taskfile](#including-other-taskfiles), add a leading `:` like this: `task: :task-name`. +[他のTaskfileをインクルードする](#including-other-taskfiles)でルートにあるTaskfileをインクルードしていて、そこに定義されたタスクを呼び出したい場合、以下のように先頭に`:`を付け加えてください。 `task: :task-name`。 ::: @@ -1298,7 +1298,7 @@ tasks: task: "This is a dangerous command... Do you want to continue?" [y/N] ``` -Warning prompts are called before executing a task. If a prompt is denied Task will exit with [exit code](api_reference.md#exit-codes) 205. If approved, Task will continue as normal. +Warning prompts are called before executing a task. If a prompt is denied Task will exit with [exit code](/api#exit-codes) 205. If approved, Task will continue as normal. ```bash ❯ task example diff --git a/docs/i18n/pt-BR/docusaurus-plugin-content-blog/2023-09-02-introducing-experiments.md b/docs/i18n/pt-BR/docusaurus-plugin-content-blog/2023-09-02-introducing-experiments.md index 3c358a4e..42d99117 100644 --- a/docs/i18n/pt-BR/docusaurus-plugin-content-blog/2023-09-02-introducing-experiments.md +++ b/docs/i18n/pt-BR/docusaurus-plugin-content-blog/2023-09-02-introducing-experiments.md @@ -36,7 +36,7 @@ None of this would have been possible without the [150 or so (and growing) contr [![Star History Chart](https://api.star-history.com/svg?repos=go-task/task&type=Date)](https://star-history.com/#go-task/task&Date) -## What's next? :thinking_face: +## What's next? :thinking: It's extremely motivating to see so many people using and loving Task. However, in this time we've also seen an increase in the number of issues and feature requests. In particular, issues that require some kind of breaking change to Task. This isn't a bad thing, but as we grow we need to be more responsible about how we address these changes in a way that ensures stability and compatibility for existing users and their Taskfiles. @@ -46,7 +46,7 @@ At this point you're probably thinking something like: And you'd be right... sort of. In theory, this sounds great, but the reality is that we don't have the time to commit to a major overhaul of Task in one big bang release. This would require a colossal amount of time and coordination and with full time jobs and personal lives to tend to, this is a difficult commitment to make. Smaller, more frequent major releases are also a significant inconvenience for users as they have to constantly keep up-to-date with our breaking changes. Fortunately, there is a better way. -## What's going to change? :face_with_monocle: +## What's going to change? :monocle: Going forwards, breaking changes will be allowed into _minor_ versions of Task as "experimental features". To access these features users will need opt-in by enabling feature flags. This will allow us to release new features slowly and gather feedback from the community before making them the default behavior in a future major release. @@ -62,7 +62,7 @@ When v4 is released, we will continue to support v3 for a period of time (bug fi ## v4 When? :eyes: -:shrug: When it's ready. +:man_shrugging: When it's ready. In all seriousness, we don't have a timeline for this yet. We'll be working on the most serious deficiencies of the v3 API first and regularly evaluating the state of the project. When we feel its in a good, stable place and we have a clear upgrade path for users and a number of stable experiments, we'll start to think about v4. diff --git a/docs/i18n/pt-BR/docusaurus-plugin-content-docs/current/api_reference.md b/docs/i18n/pt-BR/docusaurus-plugin-content-docs/current/api_reference.md index 415f35aa..9f93f037 100644 --- a/docs/i18n/pt-BR/docusaurus-plugin-content-docs/current/api_reference.md +++ b/docs/i18n/pt-BR/docusaurus-plugin-content-docs/current/api_reference.md @@ -120,6 +120,7 @@ Há algumas variáveis especiais que são acessíveis via template: | Variável | Descrição | | ------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `CLI_ARGS` | Contém todos os argumentos extras passados depois de `--` quando invocando o Task via linha de comando. | +| `CLI_FORCE` | A boolean containing whether the `--force` or `--force-all` flags were set. | | `TASK` | O nome da tarefa atual. | | `ROOT_DIR` | O caminho absoluto para o Taskfile raíz. | | `TASKFILE_DIR` | O caminho absoluto para o Taskfile incluído. | diff --git a/docs/i18n/pt-BR/docusaurus-plugin-content-docs/current/changelog.md b/docs/i18n/pt-BR/docusaurus-plugin-content-docs/current/changelog.md index a5c20b20..628d35e1 100644 --- a/docs/i18n/pt-BR/docusaurus-plugin-content-docs/current/changelog.md +++ b/docs/i18n/pt-BR/docusaurus-plugin-content-docs/current/changelog.md @@ -5,435 +5,469 @@ sidebar_position: 14 # Changelog +## v3.33.1 - 2023-12-21 + +- Added support for looping over map variables with the [Any Variables experiment](https://taskfile.dev/experiments/any_variables) enabled (#1435, #1437 by @pd93). +- Fixed a bug where dynamic variables were causing errors during fast compilation (#1435, #1437 by @pd93) + +## v3.33.0 - 2023-12-20 + +- Added [Any Variables experiment](https://taskfile.dev/experiments/any-variables) (#1415, #1421 by @pd93). +- Updated Docusaurus to v3 (#1432 by @pd93). +- Added `aliases` to `--json` flag output (#1430, #1431 by @pd93). +- Added new `CLI_FORCE` special variable containing whether the `--force` or `--force-all` flags were set (#1412, #1434 by @pd93). + ## v3.32.0 - 2023-11-29 -- Added ability to exclude some files from `sources:` by using `exclude:` ([#225](https://github.com/go-task/task/issues/225), [#1324](https://github.com/go-task/task/issues/1324) by [@pd93](https://github.com/pd93) and [@andreynering](https://github.com/andreynering)). -- The [Remote Taskfiles experiment](https://taskfile.dev/experiments/remote-taskfiles) now prefers remote files over cached ones by default ([#1317](https://github.com/go-task/task/issues/1317), [#1345](https://github.com/go-task/task/issues/1345) by [@pd93](https://github.com/pd93)). -- Added `--timeout` flag to the [Remote Taskfiles experiment](https://taskfile.dev/experiments/remote-taskfiles) ([#1317](https://github.com/go-task/task/issues/1317), [#1345](https://github.com/go-task/task/issues/1345) by [@pd93](https://github.com/pd93)). -- Fix bug where dynamic `vars:` and `env:` were being executed when they should actually be skipped by `platforms:` ([#1273](https://github.com/go-task/task/issues/1273), [#1377](https://github.com/go-task/task/issues/1377) by [@andreynering](https://github.com/andreynering)). -- Fix `schema.json` to make `silent` valid in `cmds` that use `for` ([#1385](https://github.com/go-task/task/issues/1385), [#1386](https://github.com/go-task/task/issues/1386) by [@iainvm](https://github.com/iainvm)). -- Add new `--no-status` flag to skip expensive status checks when running `task --list --json` ([#1348](https://github.com/go-task/task/issues/1348), [#1368](https://github.com/go-task/task/issues/1368) by [@amancevice](https://github.com/amancevice)). +- Added ability to exclude some files from `sources:` by using `exclude:` (#225, + + # 1324 by @pd93 and @andreynering). +- The [Remote Taskfiles experiment](https://taskfile.dev/experiments/remote-taskfiles) now prefers remote files over cached ones by default (#1317, #1345 by @pd93). +- Added `--timeout` flag to the [Remote Taskfiles experiment](https://taskfile.dev/experiments/remote-taskfiles) (#1317, #1345 by @pd93). +- Fix bug where dynamic `vars:` and `env:` were being executed when they should actually be skipped by `platforms:` (#1273, #1377 by @andreynering). +- Fix `schema.json` to make `silent` valid in `cmds` that use `for` (#1385, + + # 1386 by @iainvm). +- Add new `--no-status` flag to skip expensive status checks when running `task --list --json` (#1348, #1368 by @amancevice). ## v3.31.0 - 2023-10-07 -- Enabled the `--yes` flag for the [Remote Taskfiles experiment](https://taskfile.dev/experiments/remote-taskfiles) ([#1317](https://github.com/go-task/task/issues/1317), [#1344](https://github.com/go-task/task/issues/1344) by [@pd93](https://github.com/pd93)). -- Add ability to set `watch: true` in a task to automatically run it in watch mode ([#231](https://github.com/go-task/task/issues/231), [#1361](https://github.com/go-task/task/issues/1361) by [@andreynering](https://github.com/andreynering)). -- Fixed a bug on the watch mode where paths that contained `.git` (like `.github`), for example, were also being ignored ([#1356](https://github.com/go-task/task/issues/1356) by [@butuzov](https://github.com/butuzov)). -- Fixed a nil pointer error when running a Taskfile with no contents ([#1341](https://github.com/go-task/task/issues/1341), [#1342](https://github.com/go-task/task/issues/1342) by [@pd93](https://github.com/pd93)). -- Added a new [exit code](https://taskfile.dev/api/#exit-codes) (107) for when a Taskfile does not contain a schema version ([#1342](https://github.com/go-task/task/issues/1342) by [@pd93](https://github.com/pd93)). -- Increased limit of maximum task calls from 100 to 1000 for now, as some people have been reaching this limit organically now that we have loops. This check exists to detect recursive calls, but will be removed in favor of a better algorithm soon ([#1321](https://github.com/go-task/task/issues/1321), [#1332](https://github.com/go-task/task/issues/1332)). -- Fixed templating on descriptions on `task --list` ([#1343](https://github.com/go-task/task/issues/1343) by [@blackjid](https://github.com/blackjid)). -- Fixed a bug where precondition errors were incorrectly being printed when task execution was aborted ([#1337](https://github.com/go-task/task/issues/1337), [#1338](https://github.com/go-task/task/issues/1338) by [@sylv](https://github.com/sylv)-io). +- Enabled the `--yes` flag for the [Remote Taskfiles experiment](https://taskfile.dev/experiments/remote-taskfiles) (#1317, #1344 by @pd93). +- Add ability to set `watch: true` in a task to automatically run it in watch mode (#231, #1361 by @andreynering). +- Fixed a bug on the watch mode where paths that contained `.git` (like `.github`), for example, were also being ignored (#1356 by @butuzov). +- Fixed a nil pointer error when running a Taskfile with no contents (#1341, + + # 1342 by @pd93). +- Added a new [exit code](https://taskfile.dev/api/#exit-codes) (107) for when a Taskfile does not contain a schema version (#1342 by @pd93). +- Increased limit of maximum task calls from 100 to 1000 for now, as some people have been reaching this limit organically now that we have loops. This check exists to detect recursive calls, but will be removed in favor of a better algorithm soon (#1321, #1332). +- Fixed templating on descriptions on `task --list` (#1343 by @blackjid). +- Fixed a bug where precondition errors were incorrectly being printed when task execution was aborted (#1337, #1338 by @sylv-io). ## v3.30.1 - 2023-09-14 -- Fixed a regression where some special variables weren't being set correctly ([#1331](https://github.com/go-task/task/issues/1331), [#1334](https://github.com/go-task/task/issues/1334) by [@pd93](https://github.com/pd93)). +- Fixed a regression where some special variables weren't being set correctly (#1331, #1334 by @pd93). ## v3.30.0 - 2023-09-13 -- Prep work for Remote Taskfiles ([#1316](https://github.com/go-task/task/issues/1316) by [@pd93](https://github.com/pd93)). -- Added the [Remote Taskfiles experiment](https://taskfile.dev/experiments/remote-taskfiles) as a draft ([#1152](https://github.com/go-task/task/issues/1152), [#1317](https://github.com/go-task/task/issues/1317) by [@pd93](https://github.com/pd93)). -- Improve performance of content checksuming on `sources:` by replacing md5 with [XXH3](https://xxhash.com/) which is much faster. This is a soft breaking change because checksums will be invalidated when upgrading to this release ([#1325](https://github.com/go-task/task/issues/1325) by [@ReillyBrogan](https://github.com/ReillyBrogan)). +- Prep work for Remote Taskfiles (#1316 by @pd93). +- Added the [Remote Taskfiles experiment](https://taskfile.dev/experiments/remote-taskfiles) as a draft (#1152, #1317 by @pd93). +- Improve performance of content checksuming on `sources:` by replacing md5 with [XXH3](https://xxhash.com/) which is much faster. This is a soft breaking change because checksums will be invalidated when upgrading to this release (#1325 by @ReillyBrogan). ## v3.29.1 - 2023-08-26 -- Update to Go 1.21 (bump minimum version to 1.20) ([#1302](https://github.com/go-task/task/issues/1302) by [@pd93](https://github.com/pd93)) -- Fix a missing a line break on log when using `--watch` mode ([#1285](https://github.com/go-task/task/issues/1285), [#1297](https://github.com/go-task/task/issues/1297) by [@FilipSolich](https://github.com/FilipSolich)). -- Fix `defer` on JSON Schema ([#1288](https://github.com/go-task/task/issues/1288) by [@calvinmclean](https://github.com/calvinmclean) and [@andreynering](https://github.com/andreynering)). -- Fix bug in usage of special variables like `{{.USER_WORKING_DIR}}` in combination with `includes` ([#1046](https://github.com/go-task/task/issues/1046), [#1205](https://github.com/go-task/task/issues/1205), [#1250](https://github.com/go-task/task/issues/1250), [#1293](https://github.com/go-task/task/issues/1293), [#1312](https://github.com/go-task/task/issues/1312), [#1274](https://github.com/go-task/task/issues/1274) by [@andarto](https://github.com/andarto), [#1309](https://github.com/go-task/task/issues/1309) by [@andreynering](https://github.com/andreynering)). -- Fix bug on `--status` flag. Running this flag should not have side-effects: it should not update the checksum on `.task`, only report its status ([#1305](https://github.com/go-task/task/issues/1305), [#1307](https://github.com/go-task/task/issues/1307) by [@visciang](https://github.com/visciang), [#1313](https://github.com/go-task/task/issues/1313) by [@andreynering](https://github.com/andreynering)). +- Update to Go 1.21 (bump minimum version to 1.20) (#1302 by @pd93) +- Fix a missing a line break on log when using `--watch` mode (#1285, #1297 by @FilipSolich). +- Fix `defer` on JSON Schema (#1288 by @calvinmclean and @andreynering). +- Fix bug in usage of special variables like `{{.USER_WORKING_DIR}}` in combination with `includes` (#1046, #1205, #1250, #1293, #1312, #1274 by @andarto, #1309 by @andreynering). +- Fix bug on `--status` flag. Running this flag should not have side-effects: it should not update the checksum on `.task`, only report its status (#1305, + + # 1307 by @visciang, #1313 by @andreynering). ## v3.28.0 - 2023-07-24 -- Added the ability to [loop over commands and tasks](https://taskfile.dev/usage/#looping-over-values) using `for` ([#82](https://github.com/go-task/task/issues/82), [#1220](https://github.com/go-task/task/issues/1220) by [@pd93](https://github.com/pd93)). -- Fixed variable propagation in multi-level includes ([#778](https://github.com/go-task/task/issues/778), [#996](https://github.com/go-task/task/issues/996), [#1256](https://github.com/go-task/task/issues/1256) by [@hudclark](https://github.com/hudclark)). -- Fixed a bug where the `--exit-code` code flag was not returning the correct exit code when calling commands indirectly ([#1266](https://github.com/go-task/task/issues/1266), [#1270](https://github.com/go-task/task/issues/1270) by [@pd93](https://github.com/pd93)). -- Fixed a `nil` panic when a dependency was commented out or left empty ([#1263](https://github.com/go-task/task/issues/1263) by [@neomantra](https://github.com/neomantra)). +- Added the ability to [loop over commands and tasks](https://taskfile.dev/usage/#looping-over-values) using `for` (#82, #1220 by @pd93). +- Fixed variable propagation in multi-level includes (#778, #996, #1256 by @hudclark). +- Fixed a bug where the `--exit-code` code flag was not returning the correct exit code when calling commands indirectly (#1266, #1270 by @pd93). +- Fixed a `nil` panic when a dependency was commented out or left empty (#1263 by @neomantra). ## v3.27.1 - 2023-06-30 -- Fix panic when a `.env` directory (not file) is present on current directory ([#1244](https://github.com/go-task/task/issues/1244), [#1245](https://github.com/go-task/task/issues/1245) by [@pd93](https://github.com/pd93)). +- Fix panic when a `.env` directory (not file) is present on current directory (#1244, #1245 by @pd93). ## v3.27.0 - 2023-06-29 -- Allow Taskfiles starting with lowercase characters ([#947](https://github.com/go-task/task/issues/947), [#1221](https://github.com/go-task/task/issues/1221) by [@pd93](https://github.com/pd93)). +- Allow Taskfiles starting with lowercase characters (#947, #1221 by @pd93). - e.g. `taskfile.yml`, `taskfile.yaml`, `taskfile.dist.yml` & `taskfile.dist.yaml` -- Bug fixes were made to the [npm installation method](https://taskfile.dev/installation/#npm). ([#1190](https://github.com/go-task/task/issues/1190), by [@sounisi5011](https://github.com/sounisi5011)). -- Added the [gentle force experiment](https://taskfile.dev/experiments/gentle-force) as a draft ([#1200](https://github.com/go-task/task/issues/1200), [#1216](https://github.com/go-task/task/issues/1216) by [@pd93](https://github.com/pd93)). -- Added an `--experiments` flag to allow you to see which experiments are enabled ([#1242](https://github.com/go-task/task/issues/1242) by [@pd93](https://github.com/pd93)). -- Added ability to specify which variables are required in a task ([#1203](https://github.com/go-task/task/issues/1203), [#1204](https://github.com/go-task/task/issues/1204) by [@benc](https://github.com/benc)-uk). +- Bug fixes were made to the [npm installation method](https://taskfile.dev/installation/#npm). (#1190, by @sounisi5011). +- Added the [gentle force experiment](https://taskfile.dev/experiments/gentle-force) as a draft (#1200, #1216 by @pd93). +- Added an `--experiments` flag to allow you to see which experiments are enabled (#1242 by @pd93). +- Added ability to specify which variables are required in a task (#1203, #1204 by @benc-uk). ## v3.26.0 - 2023-06-10 -- Only rewrite checksum files in `.task` if the checksum has changed ([#1185](https://github.com/go-task/task/issues/1185), [#1194](https://github.com/go-task/task/issues/1194) by [@deviantintegral](https://github.com/deviantintegral)). -- Added [experiments documentation](https://taskfile.dev/experiments) to the website ([#1198](https://github.com/go-task/task/issues/1198) by [@pd93](https://github.com/pd93)). -- Deprecated `version: 2` schema. This will be removed in the next major release ([#1197](https://github.com/go-task/task/issues/1197), [#1198](https://github.com/go-task/task/issues/1198), [#1199](https://github.com/go-task/task/issues/1199) by [@pd93](https://github.com/pd93)). -- Added a new `prompt:` prop to set a warning prompt to be shown before running a potential dangurous task ([#100](https://github.com/go-task/task/issues/100), [#1163](https://github.com/go-task/task/issues/1163) by [@MaxCheetham](https://github.com/MaxCheetham), [Documentation](https://taskfile.dev/usage/#warning-prompts)). -- Added support for single command task syntax. With this change, it's now possible to declare just `cmd:` in a task, avoiding the more complex `cmds: []` when you have only a single command for that task ([#1130](https://github.com/go-task/task/issues/1130), [#1131](https://github.com/go-task/task/issues/1131) by [@timdp](https://github.com/timdp)). +- Only rewrite checksum files in `.task` if the checksum has changed (#1185, + + # 1194 by @deviantintegral). +- Added [experiments documentation](https://taskfile.dev/experiments) to the website (#1198 by @pd93). +- Deprecated `version: 2` schema. This will be removed in the next major release (#1197, #1198, #1199 by @pd93). +- Added a new `prompt:` prop to set a warning prompt to be shown before running a potential dangurous task (#100, #1163 by @MaxCheetham, [Documentation](https://taskfile.dev/usage/#warning-prompts)). +- Added support for single command task syntax. With this change, it's now possible to declare just `cmd:` in a task, avoiding the more complex `cmds: []` when you have only a single command for that task (#1130, #1131 by @timdp). ## v3.25.0 - 2023-05-22 -- Support `silent:` when calling another tasks ([#680](https://github.com/go-task/task/issues/680), [#1142](https://github.com/go-task/task/issues/1142) by [@danquah](https://github.com/danquah)). -- Improve PowerShell completion script ([#1168](https://github.com/go-task/task/issues/1168) by [@trim21](https://github.com/trim21)). -- Add more languages to the website menu and show translation progress percentage ([#1173](https://github.com/go-task/task/issues/1173) by [@misitebao](https://github.com/misitebao)). -- Starting on this release, official binaries for FreeBSD will be available to download ([#1068](https://github.com/go-task/task/issues/1068) by [@andreynering](https://github.com/andreynering)). -- Fix some errors being unintendedly supressed ([#1134](https://github.com/go-task/task/issues/1134) by [@clintmod](https://github.com/clintmod)). -- Fix a nil pointer error when `version` is omitted from a Taskfile ([#1148](https://github.com/go-task/task/issues/1148), [#1149](https://github.com/go-task/task/issues/1149) by [@pd93](https://github.com/pd93)). -- Fix duplicate error message when a task does not exists ([#1141](https://github.com/go-task/task/issues/1141), [#1144](https://github.com/go-task/task/issues/1144) by [@pd93](https://github.com/pd93)). +- Support `silent:` when calling another tasks (#680, #1142 by @danquah). +- Improve PowerShell completion script (#1168 by @trim21). +- Add more languages to the website menu and show translation progress percentage (#1173 by @misitebao). +- Starting on this release, official binaries for FreeBSD will be available to download (#1068 by @andreynering). +- Fix some errors being unintendedly supressed (#1134 by @clintmod). +- Fix a nil pointer error when `version` is omitted from a Taskfile (#1148, + + # 1149 by @pd93). +- Fix duplicate error message when a task does not exists (#1141, #1144 by @pd93). ## v3.24.0 - 2023-04-15 -- Fix Fish shell completion for tasks with aliases ([#1113](https://github.com/go-task/task/issues/1113) by [@patricksjackson](https://github.com/patricksjackson)). -- The default branch was renamed from `master` to `main` ([#1049](https://github.com/go-task/task/issues/1049), [#1048](https://github.com/go-task/task/issues/1048) by [@pd93](https://github.com/pd93)). -- Fix bug where "up-to-date" logs were not being omitted for silent tasks ([#546](https://github.com/go-task/task/issues/546), [#1107](https://github.com/go-task/task/issues/1107) by [@danquah](https://github.com/danquah)). -- Add `.hg` (Mercurial) to the list of ignored directories when using `--watch` ([#1098](https://github.com/go-task/task/issues/1098) by [@misery](https://github.com/misery)). -- More improvements to the release tool ([#1096](https://github.com/go-task/task/issues/1096) by [@pd93](https://github.com/pd93)). -- Enforce [gofumpt](https://github.com/mvdan/gofumpt) linter ([#1099](https://github.com/go-task/task/issues/1099) by [@pd93](https://github.com/pd93)) -- Add `--sort` flag for use with `--list` and `--list-all` ([#946](https://github.com/go-task/task/issues/946), [#1105](https://github.com/go-task/task/issues/1105) by [@pd93](https://github.com/pd93)). -- Task now has [custom exit codes](https://taskfile.dev/api/#exit-codes) depending on the error ([#1114](https://github.com/go-task/task/issues/1114) by [@pd93](https://github.com/pd93)). +- Fix Fish shell completion for tasks with aliases (#1113 by @patricksjackson). +- The default branch was renamed from `master` to `main` (#1049, #1048 by @pd93). +- Fix bug where "up-to-date" logs were not being omitted for silent tasks (#546, + + # 1107 by @danquah). +- Add `.hg` (Mercurial) to the list of ignored directories when using `--watch` (#1098 by @misery). +- More improvements to the release tool (#1096 by @pd93). +- Enforce [gofumpt](https://github.com/mvdan/gofumpt) linter (#1099 by @pd93) +- Add `--sort` flag for use with `--list` and `--list-all` (#946, #1105 by @pd93). +- Task now has [custom exit codes](https://taskfile.dev/api/#exit-codes) depending on the error (#1114 by @pd93). ## v3.23.0 - 2023-03-26 -Task now has an [official extension for Visual Studio Code](https://marketplace.visualstudio.com/items?itemName=task.vscode-task) contributed by [@pd93](https://github.com/pd93)! :tada: The extension is maintained in a [new repository](https://github.com/go-task/vscode-task) under the `go-task` organization. We're looking to gather feedback from the community so please give it a go and let us know what you think via a [discussion](https://github.com/go-task/vscode-task/discussions), [issue](https://github.com/go-task/vscode-task/issues) or on our [Discord](https://discord.gg/6TY36E39UK)! +Task now has an [official extension for Visual Studio Code](https://marketplace.visualstudio.com/items?itemName=task.vscode-task) contributed by @pd93! :tada: The extension is maintained in a [new repository](https://github.com/go-task/vscode-task) under the `go-task` organization. We're looking to gather feedback from the community so please give it a go and let us know what you think via a [discussion](https://github.com/go-task/vscode-task/discussions), [issue](https://github.com/go-task/vscode-task/issues) or on our [Discord](https://discord.gg/6TY36E39UK)! > **NOTE:** The extension _requires_ v3.23.0 to be installed in order to work. -- The website was integrated with [Crowdin](https://crowdin.com/project/taskfile) to allow the community to contribute with translations! [Chinese](https://taskfile.dev/zh-Hans/) is the first language available ([#1057](https://github.com/go-task/task/issues/1057), [#1058](https://github.com/go-task/task/issues/1058) by [@misitebao](https://github.com/misitebao)). -- Added task location data to the `--json` flag output ([#1056](https://github.com/go-task/task/issues/1056) by [@pd93](https://github.com/pd93)) -- Change the name of the file generated by `task --init` from `Taskfile.yaml` to `Taskfile.yml` ([#1062](https://github.com/go-task/task/issues/1062) by [@misitebao](https://github.com/misitebao)). -- Added new `splitArgs` template function (`{{splitArgs "foo bar 'foo bar baz'"}}`) to ensure string is split as arguments ([#1040](https://github.com/go-task/task/issues/1040), [#1059](https://github.com/go-task/task/issues/1059) by [@dhanusaputra](https://github.com/dhanusaputra)). -- Fix the value of `{{.CHECKSUM}}` variable in status ([#1076](https://github.com/go-task/task/issues/1076), [#1080](https://github.com/go-task/task/issues/1080) by [@pd93](https://github.com/pd93)). -- Fixed deep copy implementation ([#1072](https://github.com/go-task/task/issues/1072) by [@pd93](https://github.com/pd93)) -- Created a tool to assist with releases ([#1086](https://github.com/go-task/task/issues/1086) by [@pd93](https://github.com/pd93)). +- The website was integrated with [Crowdin](https://crowdin.com/project/taskfile) to allow the community to contribute with translations! [Chinese](https://taskfile.dev/zh-Hans/) is the first language available (#1057, #1058 by @misitebao). +- Added task location data to the `--json` flag output (#1056 by @pd93) +- Change the name of the file generated by `task --init` from `Taskfile.yaml` to `Taskfile.yml` (#1062 by @misitebao). +- Added new `splitArgs` template function (`{{splitArgs "foo bar 'foo bar baz'"}}`) to ensure string is split as arguments (#1040, #1059 by @dhanusaputra). +- Fix the value of `{{.CHECKSUM}}` variable in status (#1076, #1080 by @pd93). +- Fixed deep copy implementation (#1072 by @pd93) +- Created a tool to assist with releases (#1086 by @pd93). ## v3.22.0 - 2023-03-10 -- Add a brand new `--global` (`-g`) flag that will run a Taskfile from your `$HOME` directory. This is useful to have automation that you can run from anywhere in your system! ([Documentation](https://taskfile.dev/usage/#running-a-global-taskfile), [#1029](https://github.com/go-task/task/issues/1029) by [@andreynering](https://github.com/andreynering)). -- Add ability to set `error_only: true` on the `group` output mode. This will instruct Task to only print a command output if it returned with a non-zero exit code ([#664](https://github.com/go-task/task/issues/664), [#1022](https://github.com/go-task/task/issues/1022) by [@jaedle](https://github.com/jaedle)). -- Fixed bug where `.task/checksum` file was sometimes not being created when task also declares a `status:` ([#840](https://github.com/go-task/task/issues/840), [#1035](https://github.com/go-task/task/issues/1035) by [@harelwa](https://github.com/harelwa), [#1037](https://github.com/go-task/task/issues/1037) by [@pd93](https://github.com/pd93)). -- Refactored and decoupled fingerprinting from the main Task executor ([#1039](https://github.com/go-task/task/issues/1039) by [@pd93](https://github.com/pd93)). -- Fixed deadlock issue when using `run: once` ([#715](https://github.com/go-task/task/issues/715), [#1025](https://github.com/go-task/task/issues/1025) by [@theunrepentantgeek](https://github.com/theunrepentantgeek)). +- Add a brand new `--global` (`-g`) flag that will run a Taskfile from your `$HOME` directory. This is useful to have automation that you can run from anywhere in your system! ([Documentation](https://taskfile.dev/usage/#running-a-global-taskfile), #1029 by @andreynering). +- Add ability to set `error_only: true` on the `group` output mode. This will instruct Task to only print a command output if it returned with a non-zero exit code (#664, #1022 by @jaedle). +- Fixed bug where `.task/checksum` file was sometimes not being created when task also declares a `status:` (#840, #1035 by @harelwa, #1037 by @pd93). +- Refactored and decoupled fingerprinting from the main Task executor (#1039 by @pd93). +- Fixed deadlock issue when using `run: once` (#715, #1025 by @theunrepentantgeek). ## v3.21.0 - 2023-02-22 -- Added new `TASK_VERSION` special variable ([#990](https://github.com/go-task/task/issues/990), [#1014](https://github.com/go-task/task/issues/1014) by [@ja1code](https://github.com/ja1code)). -- Fixed a bug where tasks were sometimes incorrectly marked as internal ([#1007](https://github.com/go-task/task/issues/1007) by [@pd93](https://github.com/pd93)). -- Update to Go 1.20 (bump minimum version to 1.19) ([#1010](https://github.com/go-task/task/issues/1010) by [@pd93](https://github.com/pd93)) -- Added environment variable `FORCE_COLOR` support to force color output. Usefull for environments without TTY ([#1003](https://github.com/go-task/task/issues/1003) by [@automation](https://github.com/automation)-stack) +- Added new `TASK_VERSION` special variable (#990, #1014 by @ja1code). +- Fixed a bug where tasks were sometimes incorrectly marked as internal (#1007 by @pd93). +- Update to Go 1.20 (bump minimum version to 1.19) (#1010 by @pd93) +- Added environment variable `FORCE_COLOR` support to force color output. Usefull for environments without TTY (#1003 by @automation-stack) ## v3.20.0 - 2023-01-14 -- Improve behavior and performance of status checking when using the `timestamp` mode ([#976](https://github.com/go-task/task/issues/976), [#977](https://github.com/go-task/task/issues/977) by [@aminya](https://github.com/aminya)). -- Performance optimizations were made for large Taskfiles ([#982](https://github.com/go-task/task/issues/982) by [@pd93](https://github.com/pd93)). -- Add ability to configure options for the [`set`](https://www.gnu.org/software/bash/manual/html_node/The-Set-Builtin.html) and [`shopt`](https://www.gnu.org/software/bash/manual/html_node/The-Shopt-Builtin.html) builtins ([#908](https://github.com/go-task/task/issues/908), [#929](https://github.com/go-task/task/issues/929) by [@pd93](https://github.com/pd93), [Documentation](http://taskfile.dev/usage/#set-and-shopt)). -- Add new `platforms:` attribute to `task` and `cmd`, so it's now possible to choose in which platforms that given task or command will be run on. Possible values are operating system (GOOS), architecture (GOARCH) or a combination of the two. Example: `platforms: [linux]`, `platforms: [amd64]` or `platforms: [linux/amd64]`. Other platforms will be skipped ([#978](https://github.com/go-task/task/issues/978), [#980](https://github.com/go-task/task/issues/980) by [@leaanthony](https://github.com/leaanthony)). +- Improve behavior and performance of status checking when using the `timestamp` mode (#976, #977 by @aminya). +- Performance optimizations were made for large Taskfiles (#982 by @pd93). +- Add ability to configure options for the [`set`](https://www.gnu.org/software/bash/manual/html_node/The-Set-Builtin.html) and [`shopt`](https://www.gnu.org/software/bash/manual/html_node/The-Shopt-Builtin.html) builtins (#908, #929 by @pd93, [Documentation](http://taskfile.dev/usage/#set-and-shopt)). +- Add new `platforms:` attribute to `task` and `cmd`, so it's now possible to choose in which platforms that given task or command will be run on. Possible values are operating system (GOOS), architecture (GOARCH) or a combination of the two. Example: `platforms: [linux]`, `platforms: [amd64]` or `platforms: [linux/amd64]`. Other platforms will be skipped (#978, #980 by @leaanthony). ## v3.19.1 - 2022-12-31 -- Small bug fix: closing `Taskfile.yml` once we're done reading it ([#963](https://github.com/go-task/task/issues/963), [#964](https://github.com/go-task/task/issues/964) by [@HeCorr](https://github.com/HeCorr)). -- Fixes a bug in v2 that caused a panic when using a `Taskfile_{{OS}}.yml` file ([#961](https://github.com/go-task/task/issues/961), [#971](https://github.com/go-task/task/issues/971) by [@pd93](https://github.com/pd93)). -- Fixed a bug where watch intervals set in the Taskfile were not being respected ([#969](https://github.com/go-task/task/issues/969), [#970](https://github.com/go-task/task/issues/970) by [@pd93](https://github.com/pd93)) -- Add `--json` flag (alias `-j`) with the intent to improve support for code editors and add room to other possible integrations. This is basic for now, but we plan to add more info in the near future ([#936](https://github.com/go-task/task/issues/936) by [@davidalpert](https://github.com/davidalpert), [#764](https://github.com/go-task/task/issues/764)). +- Small bug fix: closing `Taskfile.yml` once we're done reading it (#963, #964 by @HeCorr). +- Fixes a bug in v2 that caused a panic when using a `Taskfile_{{OS}}.yml` file (#961, #971 by @pd93). +- Fixed a bug where watch intervals set in the Taskfile were not being respected (#969, #970 by @pd93) +- Add `--json` flag (alias `-j`) with the intent to improve support for code editors and add room to other possible integrations. This is basic for now, but we plan to add more info in the near future (#936 by @davidalpert, #764). ## v3.19.0 - 2022-12-05 -- Installation via npm now supports [pnpm](https://pnpm.io/) as well ([go-task/go-npm\[#2\](https://github.com/go-task/task/issues/2)](https://github.com/go-task/go-npm/issues/2), [go-task/go-npm\[#3\](https://github.com/go-task/task/issues/3)](https://github.com/go-task/go-npm/pull/3)). -- It's now possible to run Taskfiles from subdirectories! A new `USER_WORKING_DIR` special variable was added to add even more flexibility for monorepos ([#289](https://github.com/go-task/task/issues/289), [#920](https://github.com/go-task/task/issues/920)). -- Add task-level `dotenv` support ([#389](https://github.com/go-task/task/issues/389), [#904](https://github.com/go-task/task/issues/904)). -- It's now possible to use global level variables on `includes` ([#942](https://github.com/go-task/task/issues/942), [#943](https://github.com/go-task/task/issues/943)). -- The website got a brand new [translation to Chinese](https://task-zh.readthedocs.io/zh_CN/latest/) by [\[@DeronW\](https://github.com/DeronW)](https://github.com/DeronW). Thanks! +- Installation via npm now supports [pnpm](https://pnpm.io/) as well ([go-task/go-npm#2](https://github.com/go-task/go-npm/issues/2), [go-task/go-npm#3](https://github.com/go-task/go-npm/pull/3)). +- It's now possible to run Taskfiles from subdirectories! A new `USER_WORKING_DIR` special variable was added to add even more flexibility for monorepos (#289, #920). +- Add task-level `dotenv` support (#389, #904). +- It's now possible to use global level variables on `includes` (#942, #943). +- The website got a brand new [translation to Chinese](https://task-zh.readthedocs.io/zh_CN/latest/) by [@DeronW](https://github.com/DeronW). Thanks! ## v3.18.0 - 2022-11-12 -- Show aliases on `task --list --silent` (`task --ls`). This means that aliases will be completed by the completion scripts ([#919](https://github.com/go-task/task/issues/919)). -- Tasks in the root Taskfile will now be displayed first in `--list`/`--list-all` output ([#806](https://github.com/go-task/task/issues/806), [#890](https://github.com/go-task/task/issues/890)). -- It's now possible to call a `default` task in an included Taskfile by using just the namespace. For example: `docs:default` is now automatically aliased to `docs` ([#661](https://github.com/go-task/task/issues/661), [#815](https://github.com/go-task/task/issues/815)). +- Show aliases on `task --list --silent` (`task --ls`). This means that aliases will be completed by the completion scripts (#919). +- Tasks in the root Taskfile will now be displayed first in `--list`/`--list-all` output (#806, #890). +- It's now possible to call a `default` task in an included Taskfile by using just the namespace. For example: `docs:default` is now automatically aliased to `docs` (#661, #815). ## v3.17.0 - 2022-10-14 -- Add a "Did you mean ...?" suggestion when a task does not exits another one with a similar name is found ([#867](https://github.com/go-task/task/issues/867), [#880](https://github.com/go-task/task/issues/880)). -- Now YAML parse errors will print which Taskfile failed to parse ([#885](https://github.com/go-task/task/issues/885), [#887](https://github.com/go-task/task/issues/887)). -- Add ability to set `aliases` for tasks and namespaces ([#268](https://github.com/go-task/task/issues/268), [#340](https://github.com/go-task/task/issues/340), [#879](https://github.com/go-task/task/issues/879)). -- Improvements to Fish shell completion ([#897](https://github.com/go-task/task/issues/897)). -- Added ability to set a different watch interval by setting `interval: '500ms'` or using the `--interval=500ms` flag ([#813](https://github.com/go-task/task/issues/813), [#865](https://github.com/go-task/task/issues/865)). -- Add colored output to `--list`, `--list-all` and `--summary` flags ([#845](https://github.com/go-task/task/issues/845), [#874](https://github.com/go-task/task/issues/874)). -- Fix unexpected behavior where `label:` was being shown instead of the task name on `--list` ([#603](https://github.com/go-task/task/issues/603), [#877](https://github.com/go-task/task/issues/877)). +- Add a "Did you mean ...?" suggestion when a task does not exits another one with a similar name is found (#867, #880). +- Now YAML parse errors will print which Taskfile failed to parse (#885, #887). +- Add ability to set `aliases` for tasks and namespaces (#268, #340, #879). +- Improvements to Fish shell completion (#897). +- Added ability to set a different watch interval by setting `interval: '500ms'` or using the `--interval=500ms` flag (#813, #865). +- Add colored output to `--list`, `--list-all` and `--summary` flags (#845, + + # 874). +- Fix unexpected behavior where `label:` was being shown instead of the task name on `--list` (#603, #877). ## v3.16.0 - 2022-09-29 -- Add `npm` as new installation method: `npm i -g [@go](https://github.com/go)-task/cli` ([#870](https://github.com/go-task/task/issues/870), [#871](https://github.com/go-task/task/issues/871), [npm package](https://www.npmjs.com/package/[@go](https://github.com/go)-task/cli)). -- Add support to marking tasks and includes as internal, which will hide them from `--list` and `--list-all` ([#818](https://github.com/go-task/task/issues/818)). +- Add `npm` as new installation method: `npm i -g @go-task/cli` (#870, #871, [npm package](https://www.npmjs.com/package/@go-task/cli)). +- Add support to marking tasks and includes as internal, which will hide them from `--list` and `--list-all` (#818). ## v3.15.2 - 2022-09-08 -- Fix error when using variable in `env:` introduced in the previous release ([#858](https://github.com/go-task/task/issues/858), [#866](https://github.com/go-task/task/issues/866)). -- Fix handling of `CLI_ARGS` (`--`) in Bash completion ([#863](https://github.com/go-task/task/issues/863)). -- On zsh completion, add ability to replace `--list-all` with `--list` as already possible on the Bash completion ([#861](https://github.com/go-task/task/issues/861)). +- Fix error when using variable in `env:` introduced in the previous release (#858, #866). +- Fix handling of `CLI_ARGS` (`--`) in Bash completion (#863). +- On zsh completion, add ability to replace `--list-all` with `--list` as already possible on the Bash completion (#861). ## v3.15.0 - 2022-09-03 -- Add new special variables `ROOT_DIR` and `TASKFILE_DIR`. This was a highly requested feature ([#215](https://github.com/go-task/task/issues/215), [#857](https://github.com/go-task/task/issues/857), [Documentation](https://taskfile.dev/api/#special-variables)). -- Follow symlinks on `sources` ([#826](https://github.com/go-task/task/issues/826), [#831](https://github.com/go-task/task/issues/831)). -- Improvements and fixes to Bash completion ([#835](https://github.com/go-task/task/issues/835), [#844](https://github.com/go-task/task/issues/844)). +- Add new special variables `ROOT_DIR` and `TASKFILE_DIR`. This was a highly requested feature (#215, #857, [Documentation](https://taskfile.dev/api/#special-variables)). +- Follow symlinks on `sources` (#826, #831). +- Improvements and fixes to Bash completion (#835, #844). ## v3.14.1 - 2022-08-03 -- Always resolve relative include paths relative to the including Taskfile ([#822](https://github.com/go-task/task/issues/822), [#823](https://github.com/go-task/task/issues/823)). -- Fix ZSH and PowerShell completions to consider all tasks instead of just the public ones (those with descriptions) ([#803](https://github.com/go-task/task/issues/803)). +- Always resolve relative include paths relative to the including Taskfile (#822, #823). +- Fix ZSH and PowerShell completions to consider all tasks instead of just the public ones (those with descriptions) (#803). ## v3.14.0 - 2022-07-08 - Add ability to override the `.task` directory location with the `TASK_TEMP_DIR` environment variable. -- Allow to override Task colors using environment variables: `TASK_COLOR_RESET`, `TASK_COLOR_BLUE`, `TASK_COLOR_GREEN`, `TASK_COLOR_CYAN`, `TASK_COLOR_YELLOW`, `TASK_COLOR_MAGENTA` and `TASK_COLOR_RED` ([#568](https://github.com/go-task/task/issues/568), [#792](https://github.com/go-task/task/issues/792)). -- Fixed bug when using the `output: group` mode where STDOUT and STDERR were being print in separated blocks instead of in the right order ([#779](https://github.com/go-task/task/issues/779)). -- Starting on this release, ARM architecture binaries are been released to Snap as well ([#795](https://github.com/go-task/task/issues/795)). +- Allow to override Task colors using environment variables: `TASK_COLOR_RESET`, `TASK_COLOR_BLUE`, `TASK_COLOR_GREEN`, `TASK_COLOR_CYAN`, `TASK_COLOR_YELLOW`, `TASK_COLOR_MAGENTA` and `TASK_COLOR_RED` (#568, #792). +- Fixed bug when using the `output: group` mode where STDOUT and STDERR were being print in separated blocks instead of in the right order (#779). +- Starting on this release, ARM architecture binaries are been released to Snap as well (#795). - i386 binaries won't be available anymore on Snap because Ubuntu removed the support for this architecture. -- Upgrade mvdan.cc/sh, which fixes a bug with associative arrays ([#785](https://github.com/go-task/task/issues/785), [mvdan/sh\[#884\](https://github.com/go-task/task/issues/884)](https://github.com/mvdan/sh/issues/884), [mvdan/sh\[#893\](https://github.com/go-task/task/issues/893)](https://github.com/mvdan/sh/pull/893)). +- Upgrade mvdan.cc/sh, which fixes a bug with associative arrays (#785, [mvdan/sh#884](https://github.com/mvdan/sh/issues/884), [mvdan/sh#893](https://github.com/mvdan/sh/pull/893)). ## v3.13.0 - 2022-06-13 -- Added `-n` as an alias to `--dry` ([#776](https://github.com/go-task/task/issues/776), [#777](https://github.com/go-task/task/issues/777)). -- Fix behavior of interrupt (SIGINT, SIGTERM) signals. Task will now give time for the processes running to do cleanup work ([#458](https://github.com/go-task/task/issues/458), [#479](https://github.com/go-task/task/issues/479), [#728](https://github.com/go-task/task/issues/728), [#769](https://github.com/go-task/task/issues/769)). -- Add new `--exit-code` (`-x`) flag that will pass-through the exit form the command being ran ([#755](https://github.com/go-task/task/issues/755)). +- Added `-n` as an alias to `--dry` (#776, #777). +- Fix behavior of interrupt (SIGINT, SIGTERM) signals. Task will now give time for the processes running to do cleanup work (#458, #479, #728, #769). +- Add new `--exit-code` (`-x`) flag that will pass-through the exit form the command being ran (#755). ## v3.12.1 - 2022-05-10 -- Fixed bug where, on Windows, variables were ending with `\r` because we were only removing the final `\n` but not `\r\n` ([#717](https://github.com/go-task/task/issues/717)). +- Fixed bug where, on Windows, variables were ending with `\r` because we were only removing the final `\n` but not `\r\n` (#717). ## v3.12.0 - 2022-03-31 -- The `--list` and `--list-all` flags can now be combined with the `--silent` flag to print the task names only, without their description ([#691](https://github.com/go-task/task/issues/691)). -- Added support for multi-level inclusion of Taskfiles. This means that included Taskfiles can also include other Taskfiles. Before this was limited to one level ([#390](https://github.com/go-task/task/issues/390), [#623](https://github.com/go-task/task/issues/623), [#656](https://github.com/go-task/task/issues/656)). -- Add ability to specify vars when including a Taskfile. [Check out the documentation](https://taskfile.dev/#/usage?id=vars-of-included-taskfiles) for more information ([#677](https://github.com/go-task/task/issues/677)). +- The `--list` and `--list-all` flags can now be combined with the `--silent` flag to print the task names only, without their description (#691). +- Added support for multi-level inclusion of Taskfiles. This means that included Taskfiles can also include other Taskfiles. Before this was limited to one level (#390, #623, #656). +- Add ability to specify vars when including a Taskfile. [Check out the documentation](https://taskfile.dev/#/usage?id=vars-of-included-taskfiles) for more information (#677). ## v3.11.0 - 2022-02-19 -- Task now supports printing begin and end messages when using the `group` output mode, useful for grouping tasks in CI systems. [Check out the documentation](http://taskfile.dev/#/usage?id=output-syntax) for more information ([#647](https://github.com/go-task/task/issues/647), [#651](https://github.com/go-task/task/issues/651)). -- Add `Taskfile.dist.yml` and `Taskfile.dist.yaml` to the supported file name list. [Check out the documentation](https://taskfile.dev/#/usage?id=supported-file-names) for more information ([#498](https://github.com/go-task/task/issues/498), [#666](https://github.com/go-task/task/issues/666)). +- Task now supports printing begin and end messages when using the `group` output mode, useful for grouping tasks in CI systems. [Check out the documentation](http://taskfile.dev/#/usage?id=output-syntax) for more information (#647, #651). +- Add `Taskfile.dist.yml` and `Taskfile.dist.yaml` to the supported file name list. [Check out the documentation](https://taskfile.dev/#/usage?id=supported-file-names) for more information (#498, #666). ## v3.10.0 - 2022-01-04 -- A new `--list-all` (alias `-a`) flag is now available. It's similar to the exiting `--list` (`-l`) but prints all tasks, even those without a description ([#383](https://github.com/go-task/task/issues/383), [#401](https://github.com/go-task/task/issues/401)). -- It's now possible to schedule cleanup commands to run once a task finishes with the `defer:` keyword ([Documentation](https://taskfile.dev/#/usage?id=doing-task-cleanup-with-defer), [#475](https://github.com/go-task/task/issues/475), [#626](https://github.com/go-task/task/issues/626)). -- Remove long deprecated and undocumented `$` variable prefix and `^` command prefix ([#642](https://github.com/go-task/task/issues/642), [#644](https://github.com/go-task/task/issues/644), [#645](https://github.com/go-task/task/issues/645)). -- Add support for `.yaml` extension (as an alternative to `.yml`). This was requested multiple times throughout the years. Enjoy! ([#183](https://github.com/go-task/task/issues/183), [#184](https://github.com/go-task/task/issues/184), [#369](https://github.com/go-task/task/issues/369), [#584](https://github.com/go-task/task/issues/584), [#621](https://github.com/go-task/task/issues/621)). -- Fixed error when computing a variable when the task directory do not exist yet ([#481](https://github.com/go-task/task/issues/481), [#579](https://github.com/go-task/task/issues/579)). +- A new `--list-all` (alias `-a`) flag is now available. It's similar to the exiting `--list` (`-l`) but prints all tasks, even those without a description (#383, #401). +- It's now possible to schedule cleanup commands to run once a task finishes with the `defer:` keyword ([Documentation](https://taskfile.dev/#/usage?id=doing-task-cleanup-with-defer), + + # 475, #626). +- Remove long deprecated and undocumented `$` variable prefix and `^` command prefix (#642, #644, #645). +- Add support for `.yaml` extension (as an alternative to `.yml`). This was requested multiple times throughout the years. Enjoy! (#183, #184, #369, #584, + + # 621). +- Fixed error when computing a variable when the task directory do not exist yet (#481, #579). ## v3.9.2 - 2021-12-02 -- Upgrade [mvdan/sh](https://github.com/mvdan/sh) which contains a fix a for a important regression on Windows ([#619](https://github.com/go-task/task/issues/619), [mvdan/sh\[#768\](https://github.com/go-task/task/issues/768)](https://github.com/mvdan/sh/issues/768), [mvdan/sh\[#769\](https://github.com/go-task/task/issues/769)](https://github.com/mvdan/sh/pull/769)). +- Upgrade [mvdan/sh](https://github.com/mvdan/sh) which contains a fix a for a important regression on Windows (#619, [mvdan/sh#768](https://github.com/mvdan/sh/issues/768), [mvdan/sh#769](https://github.com/mvdan/sh/pull/769)). ## v3.9.1 - 2021-11-28 -- Add logging in verbose mode for when a task starts and finishes ([#533](https://github.com/go-task/task/issues/533), [#588](https://github.com/go-task/task/issues/588)). -- Fix an issue with preconditions and context errors ([#597](https://github.com/go-task/task/issues/597), [#598](https://github.com/go-task/task/issues/598)). -- Quote each `{{.CLI_ARGS}}` argument to prevent one with spaces to become many ([#613](https://github.com/go-task/task/issues/613)). -- Fix nil pointer when `cmd:` was left empty ([#612](https://github.com/go-task/task/issues/612), [#614](https://github.com/go-task/task/issues/614)). +- Add logging in verbose mode for when a task starts and finishes (#533, #588). +- Fix an issue with preconditions and context errors (#597, #598). +- Quote each `{{.CLI_ARGS}}` argument to prevent one with spaces to become many (#613). +- Fix nil pointer when `cmd:` was left empty (#612, #614). - Upgrade [mvdan/sh](https://github.com/mvdan/sh) which contains two relevant fixes: - - Fix quote of empty strings in `shellQuote` ([#609](https://github.com/go-task/task/issues/609), [mvdan/sh\[#763\](https://github.com/go-task/task/issues/763)](https://github.com/mvdan/sh/issues/763)). - - Fix issue of wrong environment variable being picked when there's another very similar one ([#586](https://github.com/go-task/task/issues/586), [mvdan/sh\[#745\](https://github.com/go-task/task/issues/745)](https://github.com/mvdan/sh/pull/745)). -- Install shell completions automatically when installing via Homebrew ([#264](https://github.com/go-task/task/issues/264), [#592](https://github.com/go-task/task/issues/592), [go-task/homebrew-tap\[#2\](https://github.com/go-task/task/issues/2)](https://github.com/go-task/homebrew-tap/pull/2)). + - Fix quote of empty strings in `shellQuote` (#609, [mvdan/sh#763](https://github.com/mvdan/sh/issues/763)). + - Fix issue of wrong environment variable being picked when there's another very similar one (#586, [mvdan/sh#745](https://github.com/mvdan/sh/pull/745)). +- Install shell completions automatically when installing via Homebrew (#264, #592, [go-task/homebrew-tap#2](https://github.com/go-task/homebrew-tap/pull/2)). ## v3.9.0 - 2021-10-02 -- A new `shellQuote` function was added to the template system (`{{shellQuote "a string"}}`) to ensure a string is safe for use in shell ([mvdan/sh\[#727\](https://github.com/go-task/task/issues/727)](https://github.com/mvdan/sh/pull/727), [mvdan/sh\[#737\](https://github.com/go-task/task/issues/737)](https://github.com/mvdan/sh/pull/737), [Documentation](https://pkg.go.dev/mvdan.cc/sh/v3[@v3](https://github.com/v3).4.0/syntax#Quote)) +- A new `shellQuote` function was added to the template system (`{{shellQuote "a string"}}`) to ensure a string is safe for use in shell ([mvdan/sh#727](https://github.com/mvdan/sh/pull/727), [mvdan/sh#737](https://github.com/mvdan/sh/pull/737), [Documentation](https://pkg.go.dev/mvdan.cc/sh/v3@v3.4.0/syntax#Quote)) - In this version [mvdan.cc/sh](https://github.com/mvdan/sh) was upgraded with some small fixes and features - - The `read -p` flag is now supported ([#314](https://github.com/go-task/task/issues/314), [mvdan/sh\[#551\](https://github.com/go-task/task/issues/551)](https://github.com/mvdan/sh/issues/551), [mvdan/sh\[#772\](https://github.com/go-task/task/issues/772)](https://github.com/mvdan/sh/pull/722)) - - The `pwd -P` and `pwd -L` flags are now supported ([#553](https://github.com/go-task/task/issues/553), [mvdan/sh\[#724\](https://github.com/go-task/task/issues/724)](https://github.com/mvdan/sh/issues/724), [mvdan/sh\[#728\](https://github.com/go-task/task/issues/728)](https://github.com/mvdan/sh/pull/728)) - - The `$GID` environment variable is now correctly being set ([#561](https://github.com/go-task/task/issues/561), [mvdan/sh\[#723\](https://github.com/go-task/task/issues/723)](https://github.com/mvdan/sh/pull/723)) + - The `read -p` flag is now supported (#314, [mvdan/sh#551](https://github.com/mvdan/sh/issues/551), [mvdan/sh#772](https://github.com/mvdan/sh/pull/722)) + - The `pwd -P` and `pwd -L` flags are now supported (#553, [mvdan/sh#724](https://github.com/mvdan/sh/issues/724), [mvdan/sh#728](https://github.com/mvdan/sh/pull/728)) + - The `$GID` environment variable is now correctly being set (#561, [mvdan/sh#723](https://github.com/mvdan/sh/pull/723)) ## v3.8.0 - 2021-09-26 -- Add `interactive: true` setting to improve support for interactive CLI apps ([#217](https://github.com/go-task/task/issues/217), [#563](https://github.com/go-task/task/issues/563)). -- Fix some `nil` errors ([#534](https://github.com/go-task/task/issues/534), [#573](https://github.com/go-task/task/issues/573)). -- Add ability to declare an included Taskfile as optional ([#519](https://github.com/go-task/task/issues/519), [#552](https://github.com/go-task/task/issues/552)). -- Add support for including Taskfiles in the home directory by using `~` ([#539](https://github.com/go-task/task/issues/539), [#557](https://github.com/go-task/task/issues/557)). +- Add `interactive: true` setting to improve support for interactive CLI apps (#217, #563). +- Fix some `nil` errors (#534, #573). +- Add ability to declare an included Taskfile as optional (#519, #552). +- Add support for including Taskfiles in the home directory by using `~` (#539, #557). ## v3.7.3 - 2021-09-04 -- Add official support to Apple M1 ([#564](https://github.com/go-task/task/issues/564), [#567](https://github.com/go-task/task/issues/567)). +- Add official support to Apple M1 (#564, #567). - Our [official Homebrew tap](https://github.com/go-task/homebrew-tap) will support more platforms, including Apple M1 ## v3.7.0 - 2021-07-31 -- Add `run:` setting to control if tasks should run multiple times or not. Available options are `always` (the default), `when_changed` (if a variable modified the task) and `once` (run only once no matter what). This is a long time requested feature. Enjoy! ([#53](https://github.com/go-task/task/issues/53), [#359](https://github.com/go-task/task/issues/359)). +- Add `run:` setting to control if tasks should run multiple times or not. Available options are `always` (the default), `when_changed` (if a variable modified the task) and `once` (run only once no matter what). This is a long time requested feature. Enjoy! (#53, #359). ## v3.6.0 - 2021-07-10 -- Allow using both `sources:` and `status:` in the same task ([#411](https://github.com/go-task/task/issues/411), [#427](https://github.com/go-task/task/issues/427), [#477](https://github.com/go-task/task/issues/477)). -- Small optimization and bug fix: don't compute variables if not needed for `dotenv:` ([#517](https://github.com/go-task/task/issues/517)). +- Allow using both `sources:` and `status:` in the same task (#411, #427, #477). +- Small optimization and bug fix: don't compute variables if not needed for `dotenv:` (#517). ## v3.5.0 - 2021-07-04 -- Add support for interpolation in `dotenv:` ([#433](https://github.com/go-task/task/issues/433), [#434](https://github.com/go-task/task/issues/434), [#453](https://github.com/go-task/task/issues/453)). +- Add support for interpolation in `dotenv:` (#433, #434, #453). ## v3.4.3 - 2021-05-30 -- Add support for the `NO_COLOR` environment variable. ([#459](https://github.com/go-task/task/issues/459), [fatih/color\[#137\](https://github.com/go-task/task/issues/137)](https://github.com/fatih/color/pull/137)). -- Fix bug where sources were not considering the right directory in `--watch` mode ([#484](https://github.com/go-task/task/issues/484), [#485](https://github.com/go-task/task/issues/485)). +- Add support for the `NO_COLOR` environment variable. (#459, [fatih/color#137](https://github.com/fatih/color/pull/137)). +- Fix bug where sources were not considering the right directory in `--watch` mode (#484, #485). ## v3.4.2 - 2021-04-23 -- On watch, report which file failed to read ([#472](https://github.com/go-task/task/issues/472)). -- Do not try to catch SIGKILL signal, which are not actually possible ([#476](https://github.com/go-task/task/issues/476)). -- Improve version reporting when building Task from source using Go Modules ([#462](https://github.com/go-task/task/issues/462), [#473](https://github.com/go-task/task/issues/473)). +- On watch, report which file failed to read (#472). +- Do not try to catch SIGKILL signal, which are not actually possible (#476). +- Improve version reporting when building Task from source using Go Modules (#462, #473). ## v3.4.1 - 2021-04-17 -- Improve error reporting when parsing YAML: in some situations where you would just see an generic error, you'll now see the actual error with more detail: the YAML line the failed to parse, for example ([#467](https://github.com/go-task/task/issues/467)). -- A JSON Schema was published [here](https://json.schemastore.org/taskfile.json) and is automatically being used by some editors like Visual Studio Code ([#135](https://github.com/go-task/task/issues/135)). -- Print task name before the command in the log output ([#398](https://github.com/go-task/task/issues/398)). +- Improve error reporting when parsing YAML: in some situations where you would just see an generic error, you'll now see the actual error with more detail: the YAML line the failed to parse, for example (#467). +- A JSON Schema was published [here](https://json.schemastore.org/taskfile.json) and is automatically being used by some editors like Visual Studio Code (#135). +- Print task name before the command in the log output (#398). ## v3.3.0 - 2021-03-20 -- Add support for delegating CLI arguments to commands with `--` and a special `CLI_ARGS` variable ([#327](https://github.com/go-task/task/issues/327)). -- Add a `--concurrency` (alias `-C`) flag, to limit the number of tasks that run concurrently. This is useful for heavy workloads. ([#345](https://github.com/go-task/task/issues/345)). +- Add support for delegating CLI arguments to commands with `--` and a special `CLI_ARGS` variable (#327). +- Add a `--concurrency` (alias `-C`) flag, to limit the number of tasks that run concurrently. This is useful for heavy workloads. (#345). ## v3.2.2 - 2021-01-12 -- Improve performance of `--list` and `--summary` by skipping running shell variables for these flags ([#332](https://github.com/go-task/task/issues/332)). -- Fixed a bug where an environment in a Taskfile was not always overridable by the system environment ([#425](https://github.com/go-task/task/issues/425)). -- Fixed environment from .env files not being available as variables ([#379](https://github.com/go-task/task/issues/379)). -- The install script is now working for ARM platforms ([#428](https://github.com/go-task/task/issues/428)). +- Improve performance of `--list` and `--summary` by skipping running shell variables for these flags (#332). +- Fixed a bug where an environment in a Taskfile was not always overridable by the system environment (#425). +- Fixed environment from .env files not being available as variables (#379). +- The install script is now working for ARM platforms (#428). ## v3.2.1 - 2021-01-09 -- Fixed some bugs and regressions regarding dynamic variables and directories ([#426](https://github.com/go-task/task/issues/426)). +- Fixed some bugs and regressions regarding dynamic variables and directories (#426). - The [slim-sprig](https://github.com/go-task/slim-sprig) package was updated with the upstream [sprig](https://github.com/Masterminds/sprig). ## v3.2.0 - 2021-01-07 -- Fix the `.task` directory being created in the task directory instead of the Taskfile directory ([#247](https://github.com/go-task/task/issues/247)). -- Fix a bug where dynamic variables (those declared with `sh:`) were not running in the task directory when the task has a custom dir or it was in an included Taskfile ([#384](https://github.com/go-task/task/issues/384)). -- The watch feature (via the `--watch` flag) got a few different bug fixes and should be more stable now ([#423](https://github.com/go-task/task/issues/423), [#365](https://github.com/go-task/task/issues/365)). +- Fix the `.task` directory being created in the task directory instead of the Taskfile directory (#247). +- Fix a bug where dynamic variables (those declared with `sh:`) were not running in the task directory when the task has a custom dir or it was in an included Taskfile (#384). +- The watch feature (via the `--watch` flag) got a few different bug fixes and should be more stable now (#423, #365). ## v3.1.0 - 2021-01-03 -- Fix a bug when the checksum up-to-date resolution is used by a task with a custom `label:` attribute ([#412](https://github.com/go-task/task/issues/412)). -- Starting from this release, we're releasing official ARMv6 and ARM64 binaries for Linux ([#375](https://github.com/go-task/task/issues/375), [#418](https://github.com/go-task/task/issues/418)). -- Task now respects the order of declaration of included Taskfiles when evaluating variables declaring by them ([#393](https://github.com/go-task/task/issues/393)). -- `set -e` is now automatically set on every command. This was done to fix an issue where multiline string commands wouldn't really fail unless the sentence was in the last line ([#403](https://github.com/go-task/task/issues/403)). +- Fix a bug when the checksum up-to-date resolution is used by a task with a custom `label:` attribute (#412). +- Starting from this release, we're releasing official ARMv6 and ARM64 binaries for Linux (#375, #418). +- Task now respects the order of declaration of included Taskfiles when evaluating variables declaring by them (#393). +- `set -e` is now automatically set on every command. This was done to fix an issue where multiline string commands wouldn't really fail unless the sentence was in the last line (#403). ## v3.0.1 - 2020-12-26 -- Allow use as a library by moving the required packages out of the `internal` directory ([#358](https://github.com/go-task/task/issues/358)). -- Do not error if a specified dotenv file does not exist ([#378](https://github.com/go-task/task/issues/378), [#385](https://github.com/go-task/task/issues/385)). -- Fix panic when you have empty tasks in your Taskfile ([#338](https://github.com/go-task/task/issues/338), [#362](https://github.com/go-task/task/issues/362)). +- Allow use as a library by moving the required packages out of the `internal` directory (#358). +- Do not error if a specified dotenv file does not exist (#378, #385). +- Fix panic when you have empty tasks in your Taskfile (#338, #362). ## v3.0.0 - 2020-08-16 -- On `v3`, all CLI variables will be considered global variables ([#336](https://github.com/go-task/task/issues/336), [#341](https://github.com/go-task/task/issues/341)) -- Add support to `.env` like files ([#324](https://github.com/go-task/task/issues/324), [#356](https://github.com/go-task/task/issues/356)). -- Add `label:` to task so you can override the task name in the logs ([\[#321\](https://github.com/go-task/task/issues/321)](https://github.com/go-task/task/issues/321]), [#337](https://github.com/go-task/task/issues/337)). -- Refactor how variables work on version 3 ([#311](https://github.com/go-task/task/issues/311)). +- On `v3`, all CLI variables will be considered global variables (#336, #341) +- Add support to `.env` like files (#324, #356). +- Add `label:` to task so you can override the task name in the logs (#321, + + # 337). +- Refactor how variables work on version 3 (#311). - Disallow `expansions` on v3 since it has no effect. - `Taskvars.yml` is not automatically included anymore. - `Taskfile_{{OS}}.yml` is not automatically included anymore. - Allow interpolation on `includes`, so you can manually include a Taskfile based on operation system, for example. -- Expose `.TASK` variable in templates with the task name ([#252](https://github.com/go-task/task/issues/252)). -- Implement short task syntax ([#194](https://github.com/go-task/task/issues/194), [#240](https://github.com/go-task/task/issues/240)). -- Added option to make included Taskfile run commands on its own directory ([#260](https://github.com/go-task/task/issues/260), [#144](https://github.com/go-task/task/issues/144)) -- Taskfiles in version 1 are not supported anymore ([#237](https://github.com/go-task/task/issues/237)). -- Added global `method:` option. With this option, you can set a default method to all tasks in a Taskfile ([#246](https://github.com/go-task/task/issues/246)). -- Changed default method from `timestamp` to `checksum` ([#246](https://github.com/go-task/task/issues/246)). -- New magic variables are now available when using `status:`: `.TIMESTAMP` which contains the greatest modification date from the files listed in `sources:`, and `.CHECKSUM`, which contains a checksum of all files listed in `status:`. This is useful for manual checking when using external, or even remote, artifacts when using `status:` ([#216](https://github.com/go-task/task/issues/216)). -- We're now using [slim-sprig](https://github.com/go-task/slim-sprig) instead of [sprig](https://github.com/Masterminds/sprig), which allowed a file size reduction of about 22% ([#219](https://github.com/go-task/task/issues/219)). -- We now use some colors on Task output to better distinguish message types - commands are green, errors are red, etc ([#207](https://github.com/go-task/task/issues/207)). +- Expose `.TASK` variable in templates with the task name (#252). +- Implement short task syntax (#194, #240). +- Added option to make included Taskfile run commands on its own directory (#260, #144) +- Taskfiles in version 1 are not supported anymore (#237). +- Added global `method:` option. With this option, you can set a default method to all tasks in a Taskfile (#246). +- Changed default method from `timestamp` to `checksum` (#246). +- New magic variables are now available when using `status:`: `.TIMESTAMP` which contains the greatest modification date from the files listed in `sources:`, and `.CHECKSUM`, which contains a checksum of all files listed in `status:`. This is useful for manual checking when using external, or even remote, artifacts when using `status:` (#216). +- We're now using [slim-sprig](https://github.com/go-task/slim-sprig) instead of [sprig](https://github.com/Masterminds/sprig), which allowed a file size reduction of about 22% (#219). +- We now use some colors on Task output to better distinguish message types - commands are green, errors are red, etc (#207). ## v2.8.1 - 2020-05-20 -- Fix error code for the `--help` flag ([#300](https://github.com/go-task/task/issues/300), [#330](https://github.com/go-task/task/issues/330)). -- Print version to stdout instead of stderr ([#299](https://github.com/go-task/task/issues/299), [#329](https://github.com/go-task/task/issues/329)). -- Supress `context` errors when using the `--watch` flag ([#313](https://github.com/go-task/task/issues/313), [#317](https://github.com/go-task/task/issues/317)). -- Support templating on description ([#276](https://github.com/go-task/task/issues/276), [#283](https://github.com/go-task/task/issues/283)). +- Fix error code for the `--help` flag (#300, #330). +- Print version to stdout instead of stderr (#299, #329). +- Supress `context` errors when using the `--watch` flag (#313, #317). +- Support templating on description (#276, #283). ## v2.8.0 - 2019-12-07 -- Add `--parallel` flag (alias `-p`) to run tasks given by the command line in parallel ([#266](https://github.com/go-task/task/issues/266)). +- Add `--parallel` flag (alias `-p`) to run tasks given by the command line in parallel (#266). - Fixed bug where calling the `task` CLI only informing global vars would not execute the `default` task. - Add hability to silent all tasks by adding `silent: true` a the root of the Taskfile. ## v2.7.1 - 2019-11-10 -- Fix error being raised when `exit 0` was called ([#251](https://github.com/go-task/task/issues/251)). +- Fix error being raised when `exit 0` was called (#251). ## v2.7.0 - 2019-09-22 -- Fixed panic bug when assigning a global variable ([#229](https://github.com/go-task/task/issues/229), [#243](https://github.com/go-task/task/issues/243)). -- A task with `method: checksum` will now re-run if generated files are deleted ([#228](https://github.com/go-task/task/issues/228), [#238](https://github.com/go-task/task/issues/238)). +- Fixed panic bug when assigning a global variable (#229, #243). +- A task with `method: checksum` will now re-run if generated files are deleted (#228, #238). ## v2.6.0 - 2019-07-21 - Fixed some bugs regarding minor version checks on `version:`. -- Add `preconditions:` to task ([#205](https://github.com/go-task/task/issues/205)). -- Create directory informed on `dir:` if it doesn't exist ([#209](https://github.com/go-task/task/issues/209), [#211](https://github.com/go-task/task/issues/211)). -- We now have a `--taskfile` flag (alias `-t`), which can be used to run another Taskfile (other than the default `Taskfile.yml`) ([#221](https://github.com/go-task/task/issues/221)). -- It's now possible to install Task using Homebrew on Linux ([go-task/homebrew-tap\[#1\](https://github.com/go-task/task/issues/1)](https://github.com/go-task/homebrew-tap/pull/1)). +- Add `preconditions:` to task (#205). +- Create directory informed on `dir:` if it doesn't exist (#209, #211). +- We now have a `--taskfile` flag (alias `-t`), which can be used to run another Taskfile (other than the default `Taskfile.yml`) (#221). +- It's now possible to install Task using Homebrew on Linux ([go-task/homebrew-tap#1](https://github.com/go-task/homebrew-tap/pull/1)). ## v2.5.2 - 2019-05-11 -- Reverted YAML upgrade due issues with CRLF on Windows ([#201](https://github.com/go-task/task/issues/201), [go-yaml/yaml\[#450\](https://github.com/go-task/task/issues/450)](https://github.com/go-yaml/yaml/issues/450)). -- Allow setting global variables through the CLI ([#192](https://github.com/go-task/task/issues/192)). +- Reverted YAML upgrade due issues with CRLF on Windows (#201, [go-yaml/yaml#450](https://github.com/go-yaml/yaml/issues/450)). +- Allow setting global variables through the CLI (#192). ## 2.5.1 - 2019-04-27 -- Fixed some issues with interactive command line tools, where sometimes the output were not being shown, and similar issues ([#114](https://github.com/go-task/task/issues/114), [#190](https://github.com/go-task/task/issues/190), [#200](https://github.com/go-task/task/issues/200)). +- Fixed some issues with interactive command line tools, where sometimes the output were not being shown, and similar issues (#114, #190, #200). - Upgraded [go-yaml/yaml](https://github.com/go-yaml/yaml) from v2 to v3. ## v2.5.0 - 2019-03-16 - We moved from the taskfile.org domain to the new fancy taskfile.dev domain. While stuff is being redirected, we strongly recommend to everyone that use [this install script](https://taskfile.dev/#/installation?id=install-script) to use the new taskfile.dev domain on scripts from now on. -- Fixed to the ZSH completion ([#182](https://github.com/go-task/task/issues/182)). -- Add [`--summary` flag along with `summary:` task attribute](https://taskfile.org/#/usage?id=display-summary-of-task) ([#180](https://github.com/go-task/task/issues/180)). +- Fixed to the ZSH completion (#182). +- Add [`--summary` flag along with `summary:` task attribute](https://taskfile.org/#/usage?id=display-summary-of-task) (#180). ## v2.4.0 - 2019-02-21 -- Allow calling a task of the root Taskfile from an included Taskfile by prefixing it with `:` ([#161](https://github.com/go-task/task/issues/161), [#172](https://github.com/go-task/task/issues/172)). -- Add flag to override the `output` option ([#173](https://github.com/go-task/task/issues/173)). -- Fix bug where Task was persisting the new checksum on the disk when the Dry Mode is enabled ([#166](https://github.com/go-task/task/issues/166)). -- Fix file timestamp issue when the file name has spaces ([#176](https://github.com/go-task/task/issues/176)). -- Mitigating path expanding issues on Windows ([#170](https://github.com/go-task/task/issues/170)). +- Allow calling a task of the root Taskfile from an included Taskfile by prefixing it with `:` (#161, #172). +- Add flag to override the `output` option (#173). +- Fix bug where Task was persisting the new checksum on the disk when the Dry Mode is enabled (#166). +- Fix file timestamp issue when the file name has spaces (#176). +- Mitigating path expanding issues on Windows (#170). ## v2.3.0 - 2019-01-02 -- On Windows, Task can now be installed using [Scoop](https://scoop.sh/) ([#152](https://github.com/go-task/task/issues/152)). -- Fixed issue with file/directory globing ([#153](https://github.com/go-task/task/issues/153)). -- Added ability to globally set environment variables ([#138](https://github.com/go-task/task/issues/138), [#159](https://github.com/go-task/task/issues/159)). +- On Windows, Task can now be installed using [Scoop](https://scoop.sh/) (#152). +- Fixed issue with file/directory globing (#153). +- Added ability to globally set environment variables (#138, #159). ## v2.2.1 - 2018-12-09 -- This repository now uses Go Modules ([#143](https://github.com/go-task/task/issues/143)). We'll still keep the `vendor` directory in sync for some time, though; -- Fixing a bug when the Taskfile has no tasks but includes another Taskfile ([#150](https://github.com/go-task/task/issues/150)); -- Fix a bug when calling another task or a dependency in an included Taskfile ([#151](https://github.com/go-task/task/issues/151)). +- This repository now uses Go Modules (#143). We'll still keep the `vendor` directory in sync for some time, though; +- Fixing a bug when the Taskfile has no tasks but includes another Taskfile (#150); +- Fix a bug when calling another task or a dependency in an included Taskfile (#151). ## v2.2.0 - 2018-10-25 -- Added support for [including other Taskfiles](https://taskfile.org/#/usage?id=including-other-taskfiles) ([#98](https://github.com/go-task/task/issues/98)) - - 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](https://github.com/go-task/task/issues/98). +- Added support for [including other Taskfiles](https://taskfile.org/#/usage?id=including-other-taskfiles) (#98) + - 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. - Task now have a dedicated documentation site: https://taskfile.org - Thanks to [Docsify](https://docsify.js.org/) for making this pretty easy. To check the source code, just take a look at the [docs](https://github.com/go-task/task/tree/main/docs) directory of this repository. Contributions to the documentation is really appreciated. ## v2.1.1 - 2018-09-17 - Fix suggestion to use `task --init` not being shown anymore (when a `Taskfile.yml` is not found) -- Fix error when using checksum method and no file exists for a source glob ([#131](https://github.com/go-task/task/issues/131)) -- Fix signal handling when the `--watch` flag is given ([#132](https://github.com/go-task/task/issues/132)) +- Fix error when using checksum method and no file exists for a source glob (#131) +- Fix signal handling when the `--watch` flag is given (#132) ## v2.1.0 - 2018-08-19 -- Add a `ignore_error` option to task and command ([#123](https://github.com/go-task/task/issues/123)) -- Add a dry run mode (`--dry` flag) ([#126](https://github.com/go-task/task/issues/126)) +- Add a `ignore_error` option to task and command (#123) +- Add a dry run mode (`--dry` flag) (#126) ## v2.0.3 - 2018-06-24 -- Expand environment variables on "dir", "sources" and "generates" ([#116](https://github.com/go-task/task/issues/116)) -- Fix YAML merging syntax ([#112](https://github.com/go-task/task/issues/112)) -- Add ZSH completion ([#111](https://github.com/go-task/task/issues/111)) +- Expand environment variables on "dir", "sources" and "generates" (#116) +- Fix YAML merging syntax (#112) +- Add ZSH completion (#111) - Implement new `output` option. Please check out the [documentation](https://github.com/go-task/task#output-syntax) ## v2.0.2 - 2018-05-01 -- Fix merging of YAML anchors ([#112](https://github.com/go-task/task/issues/112)) +- Fix merging of YAML anchors (#112) ## v2.0.1 - 2018-03-11 @@ -445,36 +479,36 @@ Version 2.0.0 is here, with a new Taskfile format. Please, make sure to read the [Taskfile versions](https://github.com/go-task/task/blob/main/TASKFILE_VERSIONS.md) document, since it describes in depth what changed for this version. -- New Taskfile version 2 ([#77](https://github.com/go-task/task/issues/77)) -- Possibility to have global variables in the `Taskfile.yml` instead of `Taskvars.yml` ([#66](https://github.com/go-task/task/issues/66)) +- New Taskfile version 2 (#77) +- Possibility to have global variables in the `Taskfile.yml` instead of `Taskvars.yml` (#66) - Small improvements and fixes ## v1.4.4 - 2017-11-19 -- Handle SIGINT and SIGTERM ([#75](https://github.com/go-task/task/issues/75)); +- Handle SIGINT and SIGTERM (#75); - List: print message with there's no task with description; -- Expand home dir ("~" symbol) on paths ([#74](https://github.com/go-task/task/issues/74)); +- Expand home dir ("~" symbol) on paths (#74); - Add Snap as an installation method; - Move examples to its own repo; - Watch: also walk on tasks called on on "cmds", and not only on "deps"; -- Print logs to stderr instead of stdout ([#68](https://github.com/go-task/task/issues/68)); +- Print logs to stderr instead of stdout (#68); - Remove deprecated `set` keyword; - Add checksum based status check, alternative to timestamp based. ## v1.4.3 - 2017-09-07 -- Allow assigning variables to tasks at run time via CLI ([#33](https://github.com/go-task/task/issues/33)) -- Added suport for multiline variables from sh ([#64](https://github.com/go-task/task/issues/64)) -- Fixes env: remove square braces and evaluate shell ([#62](https://github.com/go-task/task/issues/62)) +- Allow assigning variables to tasks at run time via CLI (#33) +- Added suport for multiline variables from sh (#64) +- Fixes env: remove square braces and evaluate shell (#62) - Watch: change watch library and few fixes and improvements -- When use watching, cancel and restart long running process on file change ([#59](https://github.com/go-task/task/issues/59) and [#60](https://github.com/go-task/task/issues/60)) +- When use watching, cancel and restart long running process on file change (#59 and #60) ## v1.4.2 - 2017-07-30 - Flag to set directory of execution - Always echo command if is verbose mode - Add silent mode to disable echoing of commands -- Fixes and improvements of variables ([#56](https://github.com/go-task/task/issues/56)) +- Fixes and improvements of variables (#56) ## v1.4.1 - 2017-07-15 @@ -482,28 +516,28 @@ Please, make sure to read the [Taskfile versions](https://github.com/go-task/tas - `VAR: {sh: echo Hello}` instead of `VAR: $echo Hello` - Add `--list` (or `-l`) flag to print existing tasks - OS specific Taskvars file (e.g. `Taskvars_windows.yml`, `Taskvars_linux.yml`, etc) -- Consider task up-to-date on equal timestamps ([#49](https://github.com/go-task/task/issues/49)) -- Allow absolute path in generates section ([#48](https://github.com/go-task/task/issues/48)) -- Bugfix: allow templating when calling deps ([#42](https://github.com/go-task/task/issues/42)) +- Consider task up-to-date on equal timestamps (#49) +- Allow absolute path in generates section (#48) +- Bugfix: allow templating when calling deps (#42) - Fix panic for invalid task in cyclic dep detection -- Better error output for dynamic variables in Taskvars.yml ([#41](https://github.com/go-task/task/issues/41)) +- Better error output for dynamic variables in Taskvars.yml (#41) - Allow template evaluation in parameters ## v1.4.0 - 2017-07-06 - Cache dynamic variables - Add verbose mode (`-v` flag) -- Support to task parameters (overriding vars) ([#31](https://github.com/go-task/task/issues/31)) ([#32](https://github.com/go-task/task/issues/32)) -- Print command, also when "set:" is specified ([#35](https://github.com/go-task/task/issues/35)) -- Improve task command help text ([#35](https://github.com/go-task/task/issues/35)) +- Support to task parameters (overriding vars) (#31) (#32) +- Print command, also when "set:" is specified (#35) +- Improve task command help text (#35) ## v1.3.1 - 2017-06-14 -- Fix glob not working on commands ([#28](https://github.com/go-task/task/issues/28)) +- Fix glob not working on commands (#28) - Add ExeExt template function - Add `--init` flag to create a new Taskfile -- Add status option to prevent task from running ([#27](https://github.com/go-task/task/issues/27)) -- Allow interpolation on `generates` and `sources` attributes ([#26](https://github.com/go-task/task/issues/26)) +- Add status option to prevent task from running (#27) +- Allow interpolation on `generates` and `sources` attributes (#26) ## v1.3.0 - 2017-04-24 @@ -521,18 +555,18 @@ Please, make sure to read the [Taskfile versions](https://github.com/go-task/tas - Watch a task (experimental) - Possibility to call another task - Fix "=" not being reconized in variables/environment variables -- Tasks can now have a description, and help will print them ([#10](https://github.com/go-task/task/issues/10)) +- Tasks can now have a description, and help will print them (#10) - Task dependencies now run concurrently -- Support for a default task ([#16](https://github.com/go-task/task/issues/16)) +- Support for a default task (#16) ## v1.1.0 - 2017-03-08 -- Support for YAML, TOML and JSON ([#1](https://github.com/go-task/task/issues/1)) -- Support running command in another directory ([#4](https://github.com/go-task/task/issues/4)) +- Support for YAML, TOML and JSON (#1) +- Support running command in another directory (#4) - `--force` or `-f` flag to force execution of task even when it's up-to-date -- Detection of cyclic dependencies ([#5](https://github.com/go-task/task/issues/5)) -- Support for variables ([#6](https://github.com/go-task/task/issues/6), [#9](https://github.com/go-task/task/issues/9), [#14](https://github.com/go-task/task/issues/14)) -- Operation System specific commands and variables ([#13](https://github.com/go-task/task/issues/13)) +- Detection of cyclic dependencies (#5) +- Support for variables (#6, #9, #14) +- Operation System specific commands and variables (#13) ## v1.0.0 - 2017-02-28 diff --git a/docs/i18n/pt-BR/docusaurus-plugin-content-docs/current/community.md b/docs/i18n/pt-BR/docusaurus-plugin-content-docs/current/community.md index d9cf36fd..50208692 100644 --- a/docs/i18n/pt-BR/docusaurus-plugin-content-docs/current/community.md +++ b/docs/i18n/pt-BR/docusaurus-plugin-content-docs/current/community.md @@ -19,8 +19,8 @@ Many of our integrations are contributed and maintained by the community. You ca Some installation methods are maintained by third party: -- [GitHub Actions](https://github.com/arduino/setup-task) by [@arduino](https://github.com/arduino) -- [AUR](https://aur.archlinux.org/packages/go-task-bin) by [@carlsmedstad](https://github.com/carlsmedstad) +- [GitHub Actions](https://github.com/arduino/setup-task) by @arduino +- [AUR](https://aur.archlinux.org/packages/go-task-bin) by @carlsmedstad - [Scoop](https://github.com/ScoopInstaller/Main/blob/master/bucket/task.json) - [Fedora](https://packages.fedoraproject.org/pkgs/golang-github-task/go-task/) - [NixOS](https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/tools/go-task/default.nix) diff --git a/docs/i18n/pt-BR/docusaurus-plugin-content-docs/current/contributing.md b/docs/i18n/pt-BR/docusaurus-plugin-content-docs/current/contributing.md index 1ad9bc85..57b2aa7b 100644 --- a/docs/i18n/pt-BR/docusaurus-plugin-content-docs/current/contributing.md +++ b/docs/i18n/pt-BR/docusaurus-plugin-content-docs/current/contributing.md @@ -41,9 +41,9 @@ To run Task for Visual Studio Code, you can open the project in VSCode and hit F Task uses [Docusaurus][docusaurus] to host a documentation server. The code for this is located in the core Task repository. This can be setup and run locally by using `task docs` (requires `nodejs` & `yarn`). All content is written in Markdown and is located in the `docs/docs` directory. All Markdown documents should have an 80 character line wrap limit (enforced by Prettier). -When making a change, consider whether a change to the [Usage Guide](./usage.md) is necessary. This document contains descriptions and examples of how to use Task features. If you're adding a new feature, try to find an appropriate place to add a new section. If you're updating an existing feature, ensure that the documentation and any examples are up-to-date. Ensure that any examples follow the [Taskfile Styleguide](./styleguide.md). +When making a change, consider whether a change to the [Usage Guide](/usage) is necessary. This document contains descriptions and examples of how to use Task features. If you're adding a new feature, try to find an appropriate place to add a new section. If you're updating an existing feature, ensure that the documentation and any examples are up-to-date. Ensure that any examples follow the [Taskfile Styleguide](/styleguide). -If you added a new field, command or flag, ensure that you add it to the [API Reference](./api_reference.md). New fields also need to be added to the [JSON Schema][json-schema]. The descriptions for fields in the API reference and the schema should match. +If you added a new field, command or flag, ensure that you add it to the [API Reference](/api). New fields also need to be added to the [JSON Schema][json-schema]. The descriptions for fields in the API reference and the schema should match. ### Writing tests @@ -72,7 +72,7 @@ If you're not sure how to format your commit message, check out [Conventional Co Take a look at the list of [open issues for Task][task-open-issues] or [Task for Visual Studio Code][vscode-task-open-issues]. We have a [good first issue][good-first-issue] label for simpler issues that are ideal for first time contributions. -All kinds of contributions are welcome, whether its a typo fix or a shiny new feature. You can also contribute by upvoting/commenting on issues, helping to answer questions or contributing to other [community projects](./community.md). +All kinds of contributions are welcome, whether its a typo fix or a shiny new feature. You can also contribute by upvoting/commenting on issues, helping to answer questions or contributing to other [community projects](/community). > I'm stuck, where can I get help? diff --git a/docs/i18n/pt-BR/docusaurus-plugin-content-docs/current/deprecations/template.md b/docs/i18n/pt-BR/docusaurus-plugin-content-docs/current/deprecations/template.md index 43ed4d3b..646e45c6 100644 --- a/docs/i18n/pt-BR/docusaurus-plugin-content-docs/current/deprecations/template.md +++ b/docs/i18n/pt-BR/docusaurus-plugin-content-docs/current/deprecations/template.md @@ -6,12 +6,17 @@ sidebar_position: -1 #Always push to the top draft: true #Hide in production --- -# {Name of Deprecated Feature} +# \{Name of Deprecated Feature\} (#\{Issue\}) -- Issue: [#{issue}](https://github.com/go-task/task/issues/{issue}) -- Breaks: - - {list any existing functionality that will be broken by this experiment} +:::warning -{Short description of the feature/behavior and why it is being deprecated} +This deprecation breaks the following functionality: -{Short explanation of any replacement features/behaviors and how users should migrate to it} +- \{list any existing functionality that will be broken by this deprecation\} +- \{if there are no breaking changes, remove this admonition\} + +::: + +\{Short description of the feature/behavior and why it is being deprecated\} + +\{Short explanation of any replacement features/behaviors and how users should migrate to it\} diff --git a/docs/i18n/pt-BR/docusaurus-plugin-content-docs/current/deprecations/version_2_schema.md b/docs/i18n/pt-BR/docusaurus-plugin-content-docs/current/deprecations/version_2_schema.md index 79ea75cf..c45fb65d 100644 --- a/docs/i18n/pt-BR/docusaurus-plugin-content-docs/current/deprecations/version_2_schema.md +++ b/docs/i18n/pt-BR/docusaurus-plugin-content-docs/current/deprecations/version_2_schema.md @@ -2,21 +2,24 @@ slug: /deprecations/version-2-schema/ --- -# Version 2 Schema +# Version 2 Schema (#1197) -- Issue: [#1197][deprecate-version-2-schema] -- Breaks: - - Any Taskfiles that use the version 2 schema - - `Taskvar.yml` files +:::warning -The Taskfile v2 schema was introduced in March 2018 and replaced by version 3 in August the following year. Users have had a long time to update and so we feel that it is time to tidy up the codebase and focus on new functionality instead. +This deprecation breaks the following functionality: -This notice does not mean that we are immediately removing support for version 2 schemas. However, support will not be extended to future major releases and we _strongly recommend_ that anybody still using a version 2 schema upgrades to version 3 as soon as possible. +- Any Taskfiles that use the version 2 schema +- `Taskvar.yml` files -A list of changes between version 2 and version 3 are available in the [Task v3 Release Notes][version-3-release-notes]. +::: + +The Taskfile version 2 schema was introduced in March 2018 and replaced by version 3 in August 2019. In May 2023 [we published a deprecation notice][deprecation-notice] for the version 2 schema on the basis that the vast majority of users had already upgraded to version 3 and removing support for version 2 would allow us to tidy up the codebase and focus on new functionality instead. + +In December 2023, the final version of Task that supports the version 2 schema ([v3.33.0][v3.33.0]) was published and all legacy code was removed from Task's main branch. To use a more recent version of Task, you will need to ensure that your Taskfile uses the version 3 schema instead. A list of changes between version 2 and version 3 are available in the [Task v3 Release Notes][v3.0.0]. -[deprecate-version-2-schema]: https://github.com/go-task/task/issues/1197 -[version-3-release-notes]: https://github.com/go-task/task/releases/tag/v3.0.0 +[v3.0.0]: https://github.com/go-task/task/releases/tag/v3.0.0 +[v3.33.0]: https://github.com/go-task/task/releases/tag/v3.33.0 +[deprecation-notice]: https://github.com/go-task/task/issues/1197 diff --git a/docs/i18n/pt-BR/docusaurus-plugin-content-docs/current/experiments/any_variables.md b/docs/i18n/pt-BR/docusaurus-plugin-content-docs/current/experiments/any_variables.md new file mode 100644 index 00000000..cf2521c7 --- /dev/null +++ b/docs/i18n/pt-BR/docusaurus-plugin-content-docs/current/experiments/any_variables.md @@ -0,0 +1,206 @@ +--- +slug: /experiments/any-variables/ +--- + +# Any Variables (#1415) + +:::caution + +All experimental features are subject to breaking changes and/or removal _at any +time_. We strongly recommend that you do not use these features in a production +environment. They are intended for testing and feedback only. + +::: + +:::warning + +This experiment breaks the following functionality: + +- Dynamically defined variables (using the `sh` keyword) + +::: + +:::info + +To enable this experiment, set the environment variable: +`TASK_X_ANY_VARIABLES=1`. Check out [our guide to enabling experiments +][enabling-experiments] for more information. + +::: + +Currently, Task only supports string variables. This experiment allows you to +specify and use the following variable types: + +- `string` +- `bool` +- `int` +- `float` +- `array` +- `map` + +This allows you to have a lot more flexibility in how you use variables in +Task's templating engine. For example: + +Evaluating booleans: + +```yaml +version: 3 + +tasks: + foo: + vars: + BOOL: false + cmds: + - '{{if .BOOL}}echo foo{{end}}' +``` + +Arithmetic: + +```yaml +version: 3 + +tasks: + foo: + vars: + INT: 10 + FLOAT: 3.14159 + cmds: + - 'echo {{add .INT .FLOAT}}' +``` + +Ranging: + +```yaml +version: 3 + +tasks: + foo: + vars: + ARRAY: [1, 2, 3] + cmds: + - 'echo {{range .ARRAY}}{{.}}{{end}}' +``` + +There are many more templating functions which can be used with the new types of +variables. For a full list, see the [slim-sprig][slim-sprig] documentation. + +## Looping over variables + +Previously, you would have to use a delimiter separated string to loop over an +arbitrary list of items in a variable and split them by using the `split` subkey +to specify the delimiter: + +```yaml +version: 3 + +tasks: + foo: + vars: + LIST: 'foo,bar,baz' + cmds: + - for: + var: LIST + split: ',' + cmd: echo {{.ITEM}} +``` + +Because this experiment adds support for "collection-type" variables, the `for` +keyword has been updated to support looping over arrays directly: + +```yaml +version: 3 + +tasks: + foo: + vars: + LIST: [foo, bar, baz] + cmds: + - for: + var: LIST + cmd: echo {{.ITEM}} +``` + +This also works for maps. When looping over a map we also make an additional +`{{.KEY}}` variable availabe that holds the string value of the map key. +Remember that maps are unordered, so the order in which the items are looped +over is random: + +```yaml +version: 3 + +tasks: + foo: + vars: + MAP: + KEY_1: + SUBKEY: sub_value_1 + KEY_2: + SUBKEY: sub_value_2 + KEY_3: + SUBKEY: sub_value_3 + cmds: + - for: + var: MAP + cmd: echo {{.KEY}} {{.ITEM.SUBKEY}} +``` + +String splitting is still supported and remember that for simple cases, you have +always been able to loop over an array without using variables at all: + +```yaml +version: 3 + +tasks: + foo: + cmds: + - for: [foo, bar, baz] + cmd: echo {{.ITEM}} +``` + +## Migration + +Taskfiles with dynamically defined variables via the `sh` subkey will no longer +work with this experiment enabled. In order to keep using dynamically defined +variables, you will need to migrate your Taskfile to use the new syntax. + +Previously, you might have defined a dynamic variable like this: + +```yaml +version: 3 + +task: + foo: + vars: + CALCULATED_VAR: + sh: 'echo hello' + cmds: + - 'echo {{.CALCULATED_VAR}}' +``` + +With this experiment enabled, you will need to remove the `sh` subkey and define +your command as a string that begins with a `$`. This will instruct Task to +interpret the string as a command instead of a literal value and the variable +will be populated with the output of the command. For example: + +```yaml +version: 3 + +task: + foo: + vars: + CALCULATED_VAR: '$echo hello' + cmds: + - 'echo {{.CALCULATED_VAR}}' +``` + +If your current Taskfile contains a string variable that begins with a `$`, you +will now need to escape the `$` with a backslash (`\`) to stop Task from +executing it as a command. + + + +[enabling-experiments]: /experiments/#enabling-experiments + +[slim-sprig]: https://go-task.github.io/slim-sprig/ + + diff --git a/docs/i18n/pt-BR/docusaurus-plugin-content-docs/current/experiments/experiments.md b/docs/i18n/pt-BR/docusaurus-plugin-content-docs/current/experiments/experiments.md index b32a7570..b1a70473 100644 --- a/docs/i18n/pt-BR/docusaurus-plugin-content-docs/current/experiments/experiments.md +++ b/docs/i18n/pt-BR/docusaurus-plugin-content-docs/current/experiments/experiments.md @@ -15,14 +15,15 @@ In order to allow Task to evolve quickly, we roll out breaking changes to minor You can view a full list of active experiments in the "Experiments" section of the sidebar. -You can enable an experimental feature by: +## Enabling Experiments + +You can enable an experimental feature by doing one of the following: 1. Using the relevant environment variable in front of a task command. For example, `TASK_X_{FEATURE}=1 task {my-task}`. This is intended for one-off invocations of Task to test out experimental features. 1. Using the relevant environment variable in your "dotfiles" (e.g. `.bashrc`, `.zshrc` etc.). This is intended for permanently enabling experimental features in your environment. -1. Creating a `.env` file in the same directory as your root Taskfile that contains the relevant environment variables. e.g. +1. Creating a `.env` file in the same directory as your root Taskfile that contains the relevant environment variables. This allows you to enable an experimental feature at a project level. For example: -```shell -# .env +```shell title=".env" TASK_X_FEATURE=1 ``` diff --git a/docs/i18n/pt-BR/docusaurus-plugin-content-docs/current/experiments/gentle_force.md b/docs/i18n/pt-BR/docusaurus-plugin-content-docs/current/experiments/gentle_force.md index d1eada74..514602bb 100644 --- a/docs/i18n/pt-BR/docusaurus-plugin-content-docs/current/experiments/gentle_force.md +++ b/docs/i18n/pt-BR/docusaurus-plugin-content-docs/current/experiments/gentle_force.md @@ -2,12 +2,27 @@ slug: /experiments/gentle-force/ --- -# Gentle Force +# Gentle Force (#1200) -- Issue: [#1200][gentle-force-experiment] -- Environment variable: `TASK_X_FORCE=1` -- Breaks: - - `--force` flag +:::caution + +All experimental features are subject to breaking changes and/or removal _at any time_. We strongly recommend that you do not use these features in a production environment. They are intended for testing and feedback only. + +::: + +:::warning + +This experiment breaks the following functionality: + +- The `--force` flag + +::: + +:::info + +To enable this experiment, set the environment variable: `TASK_X_FORCE=1`. Check out [our guide to enabling experiments ][enabling-experiments] for more information. + +::: The `--force` flag currently forces _all_ tasks to run regardless of the status checks. This can be useful, but we have found that most of the time users only expect the direct task they are calling to be forced and _not_ all of its dependant tasks. @@ -18,4 +33,4 @@ If you want to migrate, but continue to force all dependant tasks to run, you sh -[gentle-force-experiment]: https://github.com/go-task/task/issues/1200 +[enabling-experiments]: /experiments/#enabling-experiments diff --git a/docs/i18n/pt-BR/docusaurus-plugin-content-docs/current/experiments/remote_taskfiles.md b/docs/i18n/pt-BR/docusaurus-plugin-content-docs/current/experiments/remote_taskfiles.md index 76d21173..73a934d8 100644 --- a/docs/i18n/pt-BR/docusaurus-plugin-content-docs/current/experiments/remote_taskfiles.md +++ b/docs/i18n/pt-BR/docusaurus-plugin-content-docs/current/experiments/remote_taskfiles.md @@ -2,10 +2,19 @@ slug: /experiments/remote-taskfiles/ --- -# Remote Taskfiles +# Remote Taskfiles (#1317) -- Issue: [#1317][remote-taskfiles-experiment] -- Environment variable: `TASK_X_REMOTE_TASKFILES=1` +:::caution + +All experimental features are subject to breaking changes and/or removal _at any time_. We strongly recommend that you do not use these features in a production environment. They are intended for testing and feedback only. + +::: + +:::info + +To enable this experiment, set the environment variable: `TASK_X_REMOTE_TASKFILES=1`. Check out [our guide to enabling experiments ][enabling-experiments] for more information. + +::: This experiment allows you to specify a remote Taskfile URL when including a Taskfile. For example: @@ -53,5 +62,5 @@ By default, Task will timeout requests to download remote files after 10 seconds -[remote-taskfiles-experiment]: https://github.com/go-task/task/issues/1317 +[enabling-experiments]: /experiments/#enabling-experiments [man-in-the-middle-attacks]: https://en.wikipedia.org/wiki/Man-in-the-middle_attack diff --git a/docs/i18n/pt-BR/docusaurus-plugin-content-docs/current/experiments/template.md b/docs/i18n/pt-BR/docusaurus-plugin-content-docs/current/experiments/template.md index 6ae94c06..59246cf5 100644 --- a/docs/i18n/pt-BR/docusaurus-plugin-content-docs/current/experiments/template.md +++ b/docs/i18n/pt-BR/docusaurus-plugin-content-docs/current/experiments/template.md @@ -6,15 +6,34 @@ sidebar_position: -1 #Always push to the top draft: true #Hide in production --- -# {Name of Experiment} +# \{Name of Experiment\} (#\{Issue\}) -- Issue: [#{issue}](https://github.com/go-task/task/issues/{issue}) -- Environment variable: `TASK_X_{feature}` -- Breaks: - - {list any existing functionality that will be broken by this experiment} -- Deprecations: - - {link to any deprecation pages related to this experiment} +:::caution -{Short description of the feature} +All experimental features are subject to breaking changes and/or removal _at any time_. We strongly recommend that you do not use these features in a production environment. They are intended for testing and feedback only. -{Short explanation of how users should migrate to the new behavior} +::: + +:::warning + +This experiment breaks the following functionality: + +- \{list any existing functionality that will be broken by this experiment\} +- \{if there are no breaking changes, remove this admonition\} + +::: + +:::info + +To enable this experiment, set the environment variable: `TASK_X_{feature}=1`. Check out [our guide to enabling experiments ][enabling-experiments] for more information. + +::: + +\{Short description of the feature\} + +\{Short explanation of how users should migrate to the new behavior\} + + + + +[enabling-experiments]: /experiments/#enabling-experiments diff --git a/docs/i18n/pt-BR/docusaurus-plugin-content-docs/current/faq.md b/docs/i18n/pt-BR/docusaurus-plugin-content-docs/current/faq.md index 3a0fa348..4c443c11 100644 --- a/docs/i18n/pt-BR/docusaurus-plugin-content-docs/current/faq.md +++ b/docs/i18n/pt-BR/docusaurus-plugin-content-docs/current/faq.md @@ -78,7 +78,7 @@ The default shell on Windows (`cmd` and `powershell`) do not have commands like We want to make improvements to this part of Task and the issues below track this work. Constructive comments and contributions are very welcome! -- [#197](https://github.com/go-task/task/issues/197) +- #197 - [mvdan/sh#93](https://github.com/mvdan/sh/issues/93) - [mvdan/sh#97](https://github.com/mvdan/sh/issues/97) diff --git a/docs/i18n/pt-BR/docusaurus-plugin-content-docs/current/integrations.md b/docs/i18n/pt-BR/docusaurus-plugin-content-docs/current/integrations.md index 559459d1..b6e4c800 100644 --- a/docs/i18n/pt-BR/docusaurus-plugin-content-docs/current/integrations.md +++ b/docs/i18n/pt-BR/docusaurus-plugin-content-docs/current/integrations.md @@ -24,7 +24,7 @@ To get autocompletion and validation for your Taskfile, see the [Schema](#schema ## Schema -This was initially created by [@KROSF](https://github.com/KROSF) in [this Gist](https://gist.github.com/KROSF/c5435acf590acd632f71bb720f685895) and is now officially maintained in [this file](https://github.com/go-task/task/blob/main/docs/static/schema.json) and made available at https://taskfile.dev/schema.json. This schema can be used to validate Taskfiles and provide autocompletion in many code editors: +This was initially created by @KROSF in [this Gist](https://gist.github.com/KROSF/c5435acf590acd632f71bb720f685895) and is now officially maintained in [this file](https://github.com/go-task/task/blob/main/docs/static/schema.json) and made available at https://taskfile.dev/schema.json. This schema can be used to validate Taskfiles and provide autocompletion in many code editors: ### Visual Studio Code @@ -55,8 +55,8 @@ You can find more information on this in the [YAML language server project](http In addition to our official integrations, there is an amazing community of developers who have created their own integrations for Task: -- [Sublime Text Plugin](https://packagecontrol.io/packages/Taskfile) [[source](https://github.com/biozz/sublime-taskfile)] by [@biozz](https://github.com/biozz) -- [IntelliJ Plugin](https://plugins.jetbrains.com/plugin/17058-taskfile) [[source](https://github.com/lechuckroh/task-intellij-plugin)] by [@lechuckroh](https://github.com/lechuckroh) +- [Sublime Text Plugin](https://packagecontrol.io/packages/Taskfile) [[source](https://github.com/biozz/sublime-taskfile)] by @biozz +- [IntelliJ Plugin](https://plugins.jetbrains.com/plugin/17058-taskfile) [[source](https://github.com/lechuckroh/task-intellij-plugin)] by @lechuckroh - [mk](https://github.com/pycontribs/mk) command line tool recognizes Taskfiles natively. If you have made something that integrates with Task, please feel free to open a PR to add it to this list. diff --git a/docs/i18n/pt-BR/docusaurus-plugin-content-docs/current/intro.md b/docs/i18n/pt-BR/docusaurus-plugin-content-docs/current/intro.md index 395cdbcc..2de11624 100644 --- a/docs/i18n/pt-BR/docusaurus-plugin-content-docs/current/intro.md +++ b/docs/i18n/pt-BR/docusaurus-plugin-content-docs/current/intro.md @@ -14,7 +14,7 @@ Task é uma ferramenta de automatização que foi criada para ser mais simples d Por ser escrito em [Go][go], o Task é simplesmente um binário e não possui nenhuma outra dependência, o que significa que você não precisa lidar com um processo de instalação complicado apenas para usar uma ferramenta de automação. -Uma vez [instalado](installation.md), você só precisa só precisa escrever suas tarefas usando um esquema [YAML][yaml] simples num arquivo chamado `Taskfile.yml`: +Once [installed](/installation), you just need to describe your build tasks using a simple [YAML][yaml] schema in a file called `Taskfile.yml`: ```yaml title="Taskfile.yml" version: '3' @@ -32,8 +32,8 @@ O exemplo acima é apenas o começo. Você pode dar uma olhada no [guia de uso]( ## Features -- [Instalação fácil](installation.md): apenas baixe um único binário, adicione-o a `$PATH` e pronto! Ou você também pode instalá-lo usando [Homebrew][homebrew], [Snapcraft][snapcraft] ou [Scoop][scoop] se você quiser. -- Disponível em CIs: adicionando [este script simples](installation.md#install-script) para instalá-lo no seu CI você estará pronto para usar o Task como parte do seu pipeline de CI; +- [Easy installation](/installation): just download a single binary, add to `$PATH` and you're done! Ou você também pode instalá-lo usando [Homebrew][homebrew], [Snapcraft][snapcraft] ou [Scoop][scoop] se você quiser. +- Available on CIs: by adding [this simple command](/installation#install-script) to install on your CI script and you're ready to use Task as part of your CI pipeline; - Verdadeiramente multiplataforma: enquanto a maioria das ferramentas de compilação só funcionam bem no Linux ou macOS, o Task também suporta Windows graças [a este interpretador de shell para Go][sh]. - Ótimo para a geração de código: você pode facilmente [impedir que uma tarefa execute](/usage#prevent-unnecessary-work) se um determinado conjunto de arquivos não tiver mudado desde a última execução (baseado na data de modificação ou conteúdo dos arquivos). diff --git a/docs/i18n/pt-BR/docusaurus-plugin-content-docs/current/styleguide.md b/docs/i18n/pt-BR/docusaurus-plugin-content-docs/current/styleguide.md index 0e5c0733..b339aaaa 100644 --- a/docs/i18n/pt-BR/docusaurus-plugin-content-docs/current/styleguide.md +++ b/docs/i18n/pt-BR/docusaurus-plugin-content-docs/current/styleguide.md @@ -9,19 +9,6 @@ This is the official Task styleguide for `Taskfile.yml` files. This guide contai This contains general guidelines, but they don't necessarily need to be strictly followed. Feel free to disagree and proceed differently at some point if you need or want to. Also, feel free to open issues or pull requests with improvements to this guide. -## Use `Taskfile.yml` and not `taskfile.yml` - -```yaml -# bad -taskfile.yml - - -# good -Taskfile.yml -``` - -This is important especially for Linux users. Windows and macOS have case insensitive filesystems, so `taskfile.yml` will end up working, even that not officially supported. On Linux, only `Taskfile.yml` will work, though. - ## Use the correct order of keywords - `version:` diff --git a/docs/i18n/pt-BR/docusaurus-plugin-content-docs/current/taskfile_versions.md b/docs/i18n/pt-BR/docusaurus-plugin-content-docs/current/taskfile_versions.md index 5f94d762..05d3b4d1 100644 --- a/docs/i18n/pt-BR/docusaurus-plugin-content-docs/current/taskfile_versions.md +++ b/docs/i18n/pt-BR/docusaurus-plugin-content-docs/current/taskfile_versions.md @@ -69,7 +69,7 @@ tasks: :::caution -v2 schema support is [deprecated][deprecate-version-2-schema] and will be removed in a future release. +v2 schemas are [no longer supported by the latest version of Task][deprecate-version-2-schema]. ::: @@ -92,7 +92,7 @@ Please check the [documentation][includes] :::caution -v2 schema support is [deprecated][deprecate-version-2-schema] and will be removed in a future release. +v2 schemas are [no longer supported by the latest version of Task][deprecate-version-2-schema]. ::: @@ -110,7 +110,7 @@ includes: :::caution -v2 schema support is [deprecated][deprecate-version-2-schema] and will be removed in a future release. +v2 schemas are [no longer supported by the latest version of Task][deprecate-version-2-schema]. ::: @@ -151,7 +151,7 @@ tasks: :::caution -v2 schema support is [deprecated][deprecate-version-2-schema] and will be removed in a future release. +v2 schemas are [no longer supported by the latest version of Task][deprecate-version-2-schema]. ::: @@ -234,7 +234,7 @@ The variable priority order was also different: -[output]: usage.md#output-syntax -[ignore_errors]: usage.md#ignore-errors -[includes]: usage.md#including-other-taskfiles -[deprecate-version-2-schema]: https://github.com/go-task/task/issues/1197 +[deprecate-version-2-schema]: /deprecations/version-2-schema/ +[output]: /usage#output-syntax +[ignore_errors]: /usage#ignore-errors +[includes]: /usage#including-other-taskfiles diff --git a/docs/i18n/pt-BR/docusaurus-plugin-content-docs/current/usage.md b/docs/i18n/pt-BR/docusaurus-plugin-content-docs/current/usage.md index 0184cedd..eaf41ac0 100644 --- a/docs/i18n/pt-BR/docusaurus-plugin-content-docs/current/usage.md +++ b/docs/i18n/pt-BR/docusaurus-plugin-content-docs/current/usage.md @@ -1298,7 +1298,7 @@ tasks: task: "This is a dangerous command... Do you want to continue?" [y/N] ``` -Warning prompts are called before executing a task. If a prompt is denied Task will exit with [exit code](api_reference.md#exit-codes) 205. If approved, Task will continue as normal. +Warning prompts are called before executing a task. If a prompt is denied Task will exit with [exit code](/api#exit-codes) 205. If approved, Task will continue as normal. ```bash ❯ task example diff --git a/docs/i18n/ru-RU/docusaurus-plugin-content-blog/2023-09-02-introducing-experiments.md b/docs/i18n/ru-RU/docusaurus-plugin-content-blog/2023-09-02-introducing-experiments.md index 3c358a4e..42d99117 100644 --- a/docs/i18n/ru-RU/docusaurus-plugin-content-blog/2023-09-02-introducing-experiments.md +++ b/docs/i18n/ru-RU/docusaurus-plugin-content-blog/2023-09-02-introducing-experiments.md @@ -36,7 +36,7 @@ None of this would have been possible without the [150 or so (and growing) contr [![Star History Chart](https://api.star-history.com/svg?repos=go-task/task&type=Date)](https://star-history.com/#go-task/task&Date) -## What's next? :thinking_face: +## What's next? :thinking: It's extremely motivating to see so many people using and loving Task. However, in this time we've also seen an increase in the number of issues and feature requests. In particular, issues that require some kind of breaking change to Task. This isn't a bad thing, but as we grow we need to be more responsible about how we address these changes in a way that ensures stability and compatibility for existing users and their Taskfiles. @@ -46,7 +46,7 @@ At this point you're probably thinking something like: And you'd be right... sort of. In theory, this sounds great, but the reality is that we don't have the time to commit to a major overhaul of Task in one big bang release. This would require a colossal amount of time and coordination and with full time jobs and personal lives to tend to, this is a difficult commitment to make. Smaller, more frequent major releases are also a significant inconvenience for users as they have to constantly keep up-to-date with our breaking changes. Fortunately, there is a better way. -## What's going to change? :face_with_monocle: +## What's going to change? :monocle: Going forwards, breaking changes will be allowed into _minor_ versions of Task as "experimental features". To access these features users will need opt-in by enabling feature flags. This will allow us to release new features slowly and gather feedback from the community before making them the default behavior in a future major release. @@ -62,7 +62,7 @@ When v4 is released, we will continue to support v3 for a period of time (bug fi ## v4 When? :eyes: -:shrug: When it's ready. +:man_shrugging: When it's ready. In all seriousness, we don't have a timeline for this yet. We'll be working on the most serious deficiencies of the v3 API first and regularly evaluating the state of the project. When we feel its in a good, stable place and we have a clear upgrade path for users and a number of stable experiments, we'll start to think about v4. diff --git a/docs/i18n/ru-RU/docusaurus-plugin-content-docs/current/api_reference.md b/docs/i18n/ru-RU/docusaurus-plugin-content-docs/current/api_reference.md index 788d2db0..2831332a 100644 --- a/docs/i18n/ru-RU/docusaurus-plugin-content-docs/current/api_reference.md +++ b/docs/i18n/ru-RU/docusaurus-plugin-content-docs/current/api_reference.md @@ -120,6 +120,7 @@ There are some special variables that is available on the templating system: | Переменные | Описание | | ------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------- | | `CLI_ARGS` | Contain all extra arguments passed after `--` when calling Task through the CLI. | +| `CLI_FORCE` | A boolean containing whether the `--force` or `--force-all` flags were set. | | `TASK` | The name of the current task. | | `ROOT_DIR` | The absolute path of the root Taskfile. | | `TASKFILE_DIR` | The absolute path of the included Taskfile. | diff --git a/docs/i18n/ru-RU/docusaurus-plugin-content-docs/current/changelog.md b/docs/i18n/ru-RU/docusaurus-plugin-content-docs/current/changelog.md index a5c20b20..628d35e1 100644 --- a/docs/i18n/ru-RU/docusaurus-plugin-content-docs/current/changelog.md +++ b/docs/i18n/ru-RU/docusaurus-plugin-content-docs/current/changelog.md @@ -5,435 +5,469 @@ sidebar_position: 14 # Changelog +## v3.33.1 - 2023-12-21 + +- Added support for looping over map variables with the [Any Variables experiment](https://taskfile.dev/experiments/any_variables) enabled (#1435, #1437 by @pd93). +- Fixed a bug where dynamic variables were causing errors during fast compilation (#1435, #1437 by @pd93) + +## v3.33.0 - 2023-12-20 + +- Added [Any Variables experiment](https://taskfile.dev/experiments/any-variables) (#1415, #1421 by @pd93). +- Updated Docusaurus to v3 (#1432 by @pd93). +- Added `aliases` to `--json` flag output (#1430, #1431 by @pd93). +- Added new `CLI_FORCE` special variable containing whether the `--force` or `--force-all` flags were set (#1412, #1434 by @pd93). + ## v3.32.0 - 2023-11-29 -- Added ability to exclude some files from `sources:` by using `exclude:` ([#225](https://github.com/go-task/task/issues/225), [#1324](https://github.com/go-task/task/issues/1324) by [@pd93](https://github.com/pd93) and [@andreynering](https://github.com/andreynering)). -- The [Remote Taskfiles experiment](https://taskfile.dev/experiments/remote-taskfiles) now prefers remote files over cached ones by default ([#1317](https://github.com/go-task/task/issues/1317), [#1345](https://github.com/go-task/task/issues/1345) by [@pd93](https://github.com/pd93)). -- Added `--timeout` flag to the [Remote Taskfiles experiment](https://taskfile.dev/experiments/remote-taskfiles) ([#1317](https://github.com/go-task/task/issues/1317), [#1345](https://github.com/go-task/task/issues/1345) by [@pd93](https://github.com/pd93)). -- Fix bug where dynamic `vars:` and `env:` were being executed when they should actually be skipped by `platforms:` ([#1273](https://github.com/go-task/task/issues/1273), [#1377](https://github.com/go-task/task/issues/1377) by [@andreynering](https://github.com/andreynering)). -- Fix `schema.json` to make `silent` valid in `cmds` that use `for` ([#1385](https://github.com/go-task/task/issues/1385), [#1386](https://github.com/go-task/task/issues/1386) by [@iainvm](https://github.com/iainvm)). -- Add new `--no-status` flag to skip expensive status checks when running `task --list --json` ([#1348](https://github.com/go-task/task/issues/1348), [#1368](https://github.com/go-task/task/issues/1368) by [@amancevice](https://github.com/amancevice)). +- Added ability to exclude some files from `sources:` by using `exclude:` (#225, + + # 1324 by @pd93 and @andreynering). +- The [Remote Taskfiles experiment](https://taskfile.dev/experiments/remote-taskfiles) now prefers remote files over cached ones by default (#1317, #1345 by @pd93). +- Added `--timeout` flag to the [Remote Taskfiles experiment](https://taskfile.dev/experiments/remote-taskfiles) (#1317, #1345 by @pd93). +- Fix bug where dynamic `vars:` and `env:` were being executed when they should actually be skipped by `platforms:` (#1273, #1377 by @andreynering). +- Fix `schema.json` to make `silent` valid in `cmds` that use `for` (#1385, + + # 1386 by @iainvm). +- Add new `--no-status` flag to skip expensive status checks when running `task --list --json` (#1348, #1368 by @amancevice). ## v3.31.0 - 2023-10-07 -- Enabled the `--yes` flag for the [Remote Taskfiles experiment](https://taskfile.dev/experiments/remote-taskfiles) ([#1317](https://github.com/go-task/task/issues/1317), [#1344](https://github.com/go-task/task/issues/1344) by [@pd93](https://github.com/pd93)). -- Add ability to set `watch: true` in a task to automatically run it in watch mode ([#231](https://github.com/go-task/task/issues/231), [#1361](https://github.com/go-task/task/issues/1361) by [@andreynering](https://github.com/andreynering)). -- Fixed a bug on the watch mode where paths that contained `.git` (like `.github`), for example, were also being ignored ([#1356](https://github.com/go-task/task/issues/1356) by [@butuzov](https://github.com/butuzov)). -- Fixed a nil pointer error when running a Taskfile with no contents ([#1341](https://github.com/go-task/task/issues/1341), [#1342](https://github.com/go-task/task/issues/1342) by [@pd93](https://github.com/pd93)). -- Added a new [exit code](https://taskfile.dev/api/#exit-codes) (107) for when a Taskfile does not contain a schema version ([#1342](https://github.com/go-task/task/issues/1342) by [@pd93](https://github.com/pd93)). -- Increased limit of maximum task calls from 100 to 1000 for now, as some people have been reaching this limit organically now that we have loops. This check exists to detect recursive calls, but will be removed in favor of a better algorithm soon ([#1321](https://github.com/go-task/task/issues/1321), [#1332](https://github.com/go-task/task/issues/1332)). -- Fixed templating on descriptions on `task --list` ([#1343](https://github.com/go-task/task/issues/1343) by [@blackjid](https://github.com/blackjid)). -- Fixed a bug where precondition errors were incorrectly being printed when task execution was aborted ([#1337](https://github.com/go-task/task/issues/1337), [#1338](https://github.com/go-task/task/issues/1338) by [@sylv](https://github.com/sylv)-io). +- Enabled the `--yes` flag for the [Remote Taskfiles experiment](https://taskfile.dev/experiments/remote-taskfiles) (#1317, #1344 by @pd93). +- Add ability to set `watch: true` in a task to automatically run it in watch mode (#231, #1361 by @andreynering). +- Fixed a bug on the watch mode where paths that contained `.git` (like `.github`), for example, were also being ignored (#1356 by @butuzov). +- Fixed a nil pointer error when running a Taskfile with no contents (#1341, + + # 1342 by @pd93). +- Added a new [exit code](https://taskfile.dev/api/#exit-codes) (107) for when a Taskfile does not contain a schema version (#1342 by @pd93). +- Increased limit of maximum task calls from 100 to 1000 for now, as some people have been reaching this limit organically now that we have loops. This check exists to detect recursive calls, but will be removed in favor of a better algorithm soon (#1321, #1332). +- Fixed templating on descriptions on `task --list` (#1343 by @blackjid). +- Fixed a bug where precondition errors were incorrectly being printed when task execution was aborted (#1337, #1338 by @sylv-io). ## v3.30.1 - 2023-09-14 -- Fixed a regression where some special variables weren't being set correctly ([#1331](https://github.com/go-task/task/issues/1331), [#1334](https://github.com/go-task/task/issues/1334) by [@pd93](https://github.com/pd93)). +- Fixed a regression where some special variables weren't being set correctly (#1331, #1334 by @pd93). ## v3.30.0 - 2023-09-13 -- Prep work for Remote Taskfiles ([#1316](https://github.com/go-task/task/issues/1316) by [@pd93](https://github.com/pd93)). -- Added the [Remote Taskfiles experiment](https://taskfile.dev/experiments/remote-taskfiles) as a draft ([#1152](https://github.com/go-task/task/issues/1152), [#1317](https://github.com/go-task/task/issues/1317) by [@pd93](https://github.com/pd93)). -- Improve performance of content checksuming on `sources:` by replacing md5 with [XXH3](https://xxhash.com/) which is much faster. This is a soft breaking change because checksums will be invalidated when upgrading to this release ([#1325](https://github.com/go-task/task/issues/1325) by [@ReillyBrogan](https://github.com/ReillyBrogan)). +- Prep work for Remote Taskfiles (#1316 by @pd93). +- Added the [Remote Taskfiles experiment](https://taskfile.dev/experiments/remote-taskfiles) as a draft (#1152, #1317 by @pd93). +- Improve performance of content checksuming on `sources:` by replacing md5 with [XXH3](https://xxhash.com/) which is much faster. This is a soft breaking change because checksums will be invalidated when upgrading to this release (#1325 by @ReillyBrogan). ## v3.29.1 - 2023-08-26 -- Update to Go 1.21 (bump minimum version to 1.20) ([#1302](https://github.com/go-task/task/issues/1302) by [@pd93](https://github.com/pd93)) -- Fix a missing a line break on log when using `--watch` mode ([#1285](https://github.com/go-task/task/issues/1285), [#1297](https://github.com/go-task/task/issues/1297) by [@FilipSolich](https://github.com/FilipSolich)). -- Fix `defer` on JSON Schema ([#1288](https://github.com/go-task/task/issues/1288) by [@calvinmclean](https://github.com/calvinmclean) and [@andreynering](https://github.com/andreynering)). -- Fix bug in usage of special variables like `{{.USER_WORKING_DIR}}` in combination with `includes` ([#1046](https://github.com/go-task/task/issues/1046), [#1205](https://github.com/go-task/task/issues/1205), [#1250](https://github.com/go-task/task/issues/1250), [#1293](https://github.com/go-task/task/issues/1293), [#1312](https://github.com/go-task/task/issues/1312), [#1274](https://github.com/go-task/task/issues/1274) by [@andarto](https://github.com/andarto), [#1309](https://github.com/go-task/task/issues/1309) by [@andreynering](https://github.com/andreynering)). -- Fix bug on `--status` flag. Running this flag should not have side-effects: it should not update the checksum on `.task`, only report its status ([#1305](https://github.com/go-task/task/issues/1305), [#1307](https://github.com/go-task/task/issues/1307) by [@visciang](https://github.com/visciang), [#1313](https://github.com/go-task/task/issues/1313) by [@andreynering](https://github.com/andreynering)). +- Update to Go 1.21 (bump minimum version to 1.20) (#1302 by @pd93) +- Fix a missing a line break on log when using `--watch` mode (#1285, #1297 by @FilipSolich). +- Fix `defer` on JSON Schema (#1288 by @calvinmclean and @andreynering). +- Fix bug in usage of special variables like `{{.USER_WORKING_DIR}}` in combination with `includes` (#1046, #1205, #1250, #1293, #1312, #1274 by @andarto, #1309 by @andreynering). +- Fix bug on `--status` flag. Running this flag should not have side-effects: it should not update the checksum on `.task`, only report its status (#1305, + + # 1307 by @visciang, #1313 by @andreynering). ## v3.28.0 - 2023-07-24 -- Added the ability to [loop over commands and tasks](https://taskfile.dev/usage/#looping-over-values) using `for` ([#82](https://github.com/go-task/task/issues/82), [#1220](https://github.com/go-task/task/issues/1220) by [@pd93](https://github.com/pd93)). -- Fixed variable propagation in multi-level includes ([#778](https://github.com/go-task/task/issues/778), [#996](https://github.com/go-task/task/issues/996), [#1256](https://github.com/go-task/task/issues/1256) by [@hudclark](https://github.com/hudclark)). -- Fixed a bug where the `--exit-code` code flag was not returning the correct exit code when calling commands indirectly ([#1266](https://github.com/go-task/task/issues/1266), [#1270](https://github.com/go-task/task/issues/1270) by [@pd93](https://github.com/pd93)). -- Fixed a `nil` panic when a dependency was commented out or left empty ([#1263](https://github.com/go-task/task/issues/1263) by [@neomantra](https://github.com/neomantra)). +- Added the ability to [loop over commands and tasks](https://taskfile.dev/usage/#looping-over-values) using `for` (#82, #1220 by @pd93). +- Fixed variable propagation in multi-level includes (#778, #996, #1256 by @hudclark). +- Fixed a bug where the `--exit-code` code flag was not returning the correct exit code when calling commands indirectly (#1266, #1270 by @pd93). +- Fixed a `nil` panic when a dependency was commented out or left empty (#1263 by @neomantra). ## v3.27.1 - 2023-06-30 -- Fix panic when a `.env` directory (not file) is present on current directory ([#1244](https://github.com/go-task/task/issues/1244), [#1245](https://github.com/go-task/task/issues/1245) by [@pd93](https://github.com/pd93)). +- Fix panic when a `.env` directory (not file) is present on current directory (#1244, #1245 by @pd93). ## v3.27.0 - 2023-06-29 -- Allow Taskfiles starting with lowercase characters ([#947](https://github.com/go-task/task/issues/947), [#1221](https://github.com/go-task/task/issues/1221) by [@pd93](https://github.com/pd93)). +- Allow Taskfiles starting with lowercase characters (#947, #1221 by @pd93). - e.g. `taskfile.yml`, `taskfile.yaml`, `taskfile.dist.yml` & `taskfile.dist.yaml` -- Bug fixes were made to the [npm installation method](https://taskfile.dev/installation/#npm). ([#1190](https://github.com/go-task/task/issues/1190), by [@sounisi5011](https://github.com/sounisi5011)). -- Added the [gentle force experiment](https://taskfile.dev/experiments/gentle-force) as a draft ([#1200](https://github.com/go-task/task/issues/1200), [#1216](https://github.com/go-task/task/issues/1216) by [@pd93](https://github.com/pd93)). -- Added an `--experiments` flag to allow you to see which experiments are enabled ([#1242](https://github.com/go-task/task/issues/1242) by [@pd93](https://github.com/pd93)). -- Added ability to specify which variables are required in a task ([#1203](https://github.com/go-task/task/issues/1203), [#1204](https://github.com/go-task/task/issues/1204) by [@benc](https://github.com/benc)-uk). +- Bug fixes were made to the [npm installation method](https://taskfile.dev/installation/#npm). (#1190, by @sounisi5011). +- Added the [gentle force experiment](https://taskfile.dev/experiments/gentle-force) as a draft (#1200, #1216 by @pd93). +- Added an `--experiments` flag to allow you to see which experiments are enabled (#1242 by @pd93). +- Added ability to specify which variables are required in a task (#1203, #1204 by @benc-uk). ## v3.26.0 - 2023-06-10 -- Only rewrite checksum files in `.task` if the checksum has changed ([#1185](https://github.com/go-task/task/issues/1185), [#1194](https://github.com/go-task/task/issues/1194) by [@deviantintegral](https://github.com/deviantintegral)). -- Added [experiments documentation](https://taskfile.dev/experiments) to the website ([#1198](https://github.com/go-task/task/issues/1198) by [@pd93](https://github.com/pd93)). -- Deprecated `version: 2` schema. This will be removed in the next major release ([#1197](https://github.com/go-task/task/issues/1197), [#1198](https://github.com/go-task/task/issues/1198), [#1199](https://github.com/go-task/task/issues/1199) by [@pd93](https://github.com/pd93)). -- Added a new `prompt:` prop to set a warning prompt to be shown before running a potential dangurous task ([#100](https://github.com/go-task/task/issues/100), [#1163](https://github.com/go-task/task/issues/1163) by [@MaxCheetham](https://github.com/MaxCheetham), [Documentation](https://taskfile.dev/usage/#warning-prompts)). -- Added support for single command task syntax. With this change, it's now possible to declare just `cmd:` in a task, avoiding the more complex `cmds: []` when you have only a single command for that task ([#1130](https://github.com/go-task/task/issues/1130), [#1131](https://github.com/go-task/task/issues/1131) by [@timdp](https://github.com/timdp)). +- Only rewrite checksum files in `.task` if the checksum has changed (#1185, + + # 1194 by @deviantintegral). +- Added [experiments documentation](https://taskfile.dev/experiments) to the website (#1198 by @pd93). +- Deprecated `version: 2` schema. This will be removed in the next major release (#1197, #1198, #1199 by @pd93). +- Added a new `prompt:` prop to set a warning prompt to be shown before running a potential dangurous task (#100, #1163 by @MaxCheetham, [Documentation](https://taskfile.dev/usage/#warning-prompts)). +- Added support for single command task syntax. With this change, it's now possible to declare just `cmd:` in a task, avoiding the more complex `cmds: []` when you have only a single command for that task (#1130, #1131 by @timdp). ## v3.25.0 - 2023-05-22 -- Support `silent:` when calling another tasks ([#680](https://github.com/go-task/task/issues/680), [#1142](https://github.com/go-task/task/issues/1142) by [@danquah](https://github.com/danquah)). -- Improve PowerShell completion script ([#1168](https://github.com/go-task/task/issues/1168) by [@trim21](https://github.com/trim21)). -- Add more languages to the website menu and show translation progress percentage ([#1173](https://github.com/go-task/task/issues/1173) by [@misitebao](https://github.com/misitebao)). -- Starting on this release, official binaries for FreeBSD will be available to download ([#1068](https://github.com/go-task/task/issues/1068) by [@andreynering](https://github.com/andreynering)). -- Fix some errors being unintendedly supressed ([#1134](https://github.com/go-task/task/issues/1134) by [@clintmod](https://github.com/clintmod)). -- Fix a nil pointer error when `version` is omitted from a Taskfile ([#1148](https://github.com/go-task/task/issues/1148), [#1149](https://github.com/go-task/task/issues/1149) by [@pd93](https://github.com/pd93)). -- Fix duplicate error message when a task does not exists ([#1141](https://github.com/go-task/task/issues/1141), [#1144](https://github.com/go-task/task/issues/1144) by [@pd93](https://github.com/pd93)). +- Support `silent:` when calling another tasks (#680, #1142 by @danquah). +- Improve PowerShell completion script (#1168 by @trim21). +- Add more languages to the website menu and show translation progress percentage (#1173 by @misitebao). +- Starting on this release, official binaries for FreeBSD will be available to download (#1068 by @andreynering). +- Fix some errors being unintendedly supressed (#1134 by @clintmod). +- Fix a nil pointer error when `version` is omitted from a Taskfile (#1148, + + # 1149 by @pd93). +- Fix duplicate error message when a task does not exists (#1141, #1144 by @pd93). ## v3.24.0 - 2023-04-15 -- Fix Fish shell completion for tasks with aliases ([#1113](https://github.com/go-task/task/issues/1113) by [@patricksjackson](https://github.com/patricksjackson)). -- The default branch was renamed from `master` to `main` ([#1049](https://github.com/go-task/task/issues/1049), [#1048](https://github.com/go-task/task/issues/1048) by [@pd93](https://github.com/pd93)). -- Fix bug where "up-to-date" logs were not being omitted for silent tasks ([#546](https://github.com/go-task/task/issues/546), [#1107](https://github.com/go-task/task/issues/1107) by [@danquah](https://github.com/danquah)). -- Add `.hg` (Mercurial) to the list of ignored directories when using `--watch` ([#1098](https://github.com/go-task/task/issues/1098) by [@misery](https://github.com/misery)). -- More improvements to the release tool ([#1096](https://github.com/go-task/task/issues/1096) by [@pd93](https://github.com/pd93)). -- Enforce [gofumpt](https://github.com/mvdan/gofumpt) linter ([#1099](https://github.com/go-task/task/issues/1099) by [@pd93](https://github.com/pd93)) -- Add `--sort` flag for use with `--list` and `--list-all` ([#946](https://github.com/go-task/task/issues/946), [#1105](https://github.com/go-task/task/issues/1105) by [@pd93](https://github.com/pd93)). -- Task now has [custom exit codes](https://taskfile.dev/api/#exit-codes) depending on the error ([#1114](https://github.com/go-task/task/issues/1114) by [@pd93](https://github.com/pd93)). +- Fix Fish shell completion for tasks with aliases (#1113 by @patricksjackson). +- The default branch was renamed from `master` to `main` (#1049, #1048 by @pd93). +- Fix bug where "up-to-date" logs were not being omitted for silent tasks (#546, + + # 1107 by @danquah). +- Add `.hg` (Mercurial) to the list of ignored directories when using `--watch` (#1098 by @misery). +- More improvements to the release tool (#1096 by @pd93). +- Enforce [gofumpt](https://github.com/mvdan/gofumpt) linter (#1099 by @pd93) +- Add `--sort` flag for use with `--list` and `--list-all` (#946, #1105 by @pd93). +- Task now has [custom exit codes](https://taskfile.dev/api/#exit-codes) depending on the error (#1114 by @pd93). ## v3.23.0 - 2023-03-26 -Task now has an [official extension for Visual Studio Code](https://marketplace.visualstudio.com/items?itemName=task.vscode-task) contributed by [@pd93](https://github.com/pd93)! :tada: The extension is maintained in a [new repository](https://github.com/go-task/vscode-task) under the `go-task` organization. We're looking to gather feedback from the community so please give it a go and let us know what you think via a [discussion](https://github.com/go-task/vscode-task/discussions), [issue](https://github.com/go-task/vscode-task/issues) or on our [Discord](https://discord.gg/6TY36E39UK)! +Task now has an [official extension for Visual Studio Code](https://marketplace.visualstudio.com/items?itemName=task.vscode-task) contributed by @pd93! :tada: The extension is maintained in a [new repository](https://github.com/go-task/vscode-task) under the `go-task` organization. We're looking to gather feedback from the community so please give it a go and let us know what you think via a [discussion](https://github.com/go-task/vscode-task/discussions), [issue](https://github.com/go-task/vscode-task/issues) or on our [Discord](https://discord.gg/6TY36E39UK)! > **NOTE:** The extension _requires_ v3.23.0 to be installed in order to work. -- The website was integrated with [Crowdin](https://crowdin.com/project/taskfile) to allow the community to contribute with translations! [Chinese](https://taskfile.dev/zh-Hans/) is the first language available ([#1057](https://github.com/go-task/task/issues/1057), [#1058](https://github.com/go-task/task/issues/1058) by [@misitebao](https://github.com/misitebao)). -- Added task location data to the `--json` flag output ([#1056](https://github.com/go-task/task/issues/1056) by [@pd93](https://github.com/pd93)) -- Change the name of the file generated by `task --init` from `Taskfile.yaml` to `Taskfile.yml` ([#1062](https://github.com/go-task/task/issues/1062) by [@misitebao](https://github.com/misitebao)). -- Added new `splitArgs` template function (`{{splitArgs "foo bar 'foo bar baz'"}}`) to ensure string is split as arguments ([#1040](https://github.com/go-task/task/issues/1040), [#1059](https://github.com/go-task/task/issues/1059) by [@dhanusaputra](https://github.com/dhanusaputra)). -- Fix the value of `{{.CHECKSUM}}` variable in status ([#1076](https://github.com/go-task/task/issues/1076), [#1080](https://github.com/go-task/task/issues/1080) by [@pd93](https://github.com/pd93)). -- Fixed deep copy implementation ([#1072](https://github.com/go-task/task/issues/1072) by [@pd93](https://github.com/pd93)) -- Created a tool to assist with releases ([#1086](https://github.com/go-task/task/issues/1086) by [@pd93](https://github.com/pd93)). +- The website was integrated with [Crowdin](https://crowdin.com/project/taskfile) to allow the community to contribute with translations! [Chinese](https://taskfile.dev/zh-Hans/) is the first language available (#1057, #1058 by @misitebao). +- Added task location data to the `--json` flag output (#1056 by @pd93) +- Change the name of the file generated by `task --init` from `Taskfile.yaml` to `Taskfile.yml` (#1062 by @misitebao). +- Added new `splitArgs` template function (`{{splitArgs "foo bar 'foo bar baz'"}}`) to ensure string is split as arguments (#1040, #1059 by @dhanusaputra). +- Fix the value of `{{.CHECKSUM}}` variable in status (#1076, #1080 by @pd93). +- Fixed deep copy implementation (#1072 by @pd93) +- Created a tool to assist with releases (#1086 by @pd93). ## v3.22.0 - 2023-03-10 -- Add a brand new `--global` (`-g`) flag that will run a Taskfile from your `$HOME` directory. This is useful to have automation that you can run from anywhere in your system! ([Documentation](https://taskfile.dev/usage/#running-a-global-taskfile), [#1029](https://github.com/go-task/task/issues/1029) by [@andreynering](https://github.com/andreynering)). -- Add ability to set `error_only: true` on the `group` output mode. This will instruct Task to only print a command output if it returned with a non-zero exit code ([#664](https://github.com/go-task/task/issues/664), [#1022](https://github.com/go-task/task/issues/1022) by [@jaedle](https://github.com/jaedle)). -- Fixed bug where `.task/checksum` file was sometimes not being created when task also declares a `status:` ([#840](https://github.com/go-task/task/issues/840), [#1035](https://github.com/go-task/task/issues/1035) by [@harelwa](https://github.com/harelwa), [#1037](https://github.com/go-task/task/issues/1037) by [@pd93](https://github.com/pd93)). -- Refactored and decoupled fingerprinting from the main Task executor ([#1039](https://github.com/go-task/task/issues/1039) by [@pd93](https://github.com/pd93)). -- Fixed deadlock issue when using `run: once` ([#715](https://github.com/go-task/task/issues/715), [#1025](https://github.com/go-task/task/issues/1025) by [@theunrepentantgeek](https://github.com/theunrepentantgeek)). +- Add a brand new `--global` (`-g`) flag that will run a Taskfile from your `$HOME` directory. This is useful to have automation that you can run from anywhere in your system! ([Documentation](https://taskfile.dev/usage/#running-a-global-taskfile), #1029 by @andreynering). +- Add ability to set `error_only: true` on the `group` output mode. This will instruct Task to only print a command output if it returned with a non-zero exit code (#664, #1022 by @jaedle). +- Fixed bug where `.task/checksum` file was sometimes not being created when task also declares a `status:` (#840, #1035 by @harelwa, #1037 by @pd93). +- Refactored and decoupled fingerprinting from the main Task executor (#1039 by @pd93). +- Fixed deadlock issue when using `run: once` (#715, #1025 by @theunrepentantgeek). ## v3.21.0 - 2023-02-22 -- Added new `TASK_VERSION` special variable ([#990](https://github.com/go-task/task/issues/990), [#1014](https://github.com/go-task/task/issues/1014) by [@ja1code](https://github.com/ja1code)). -- Fixed a bug where tasks were sometimes incorrectly marked as internal ([#1007](https://github.com/go-task/task/issues/1007) by [@pd93](https://github.com/pd93)). -- Update to Go 1.20 (bump minimum version to 1.19) ([#1010](https://github.com/go-task/task/issues/1010) by [@pd93](https://github.com/pd93)) -- Added environment variable `FORCE_COLOR` support to force color output. Usefull for environments without TTY ([#1003](https://github.com/go-task/task/issues/1003) by [@automation](https://github.com/automation)-stack) +- Added new `TASK_VERSION` special variable (#990, #1014 by @ja1code). +- Fixed a bug where tasks were sometimes incorrectly marked as internal (#1007 by @pd93). +- Update to Go 1.20 (bump minimum version to 1.19) (#1010 by @pd93) +- Added environment variable `FORCE_COLOR` support to force color output. Usefull for environments without TTY (#1003 by @automation-stack) ## v3.20.0 - 2023-01-14 -- Improve behavior and performance of status checking when using the `timestamp` mode ([#976](https://github.com/go-task/task/issues/976), [#977](https://github.com/go-task/task/issues/977) by [@aminya](https://github.com/aminya)). -- Performance optimizations were made for large Taskfiles ([#982](https://github.com/go-task/task/issues/982) by [@pd93](https://github.com/pd93)). -- Add ability to configure options for the [`set`](https://www.gnu.org/software/bash/manual/html_node/The-Set-Builtin.html) and [`shopt`](https://www.gnu.org/software/bash/manual/html_node/The-Shopt-Builtin.html) builtins ([#908](https://github.com/go-task/task/issues/908), [#929](https://github.com/go-task/task/issues/929) by [@pd93](https://github.com/pd93), [Documentation](http://taskfile.dev/usage/#set-and-shopt)). -- Add new `platforms:` attribute to `task` and `cmd`, so it's now possible to choose in which platforms that given task or command will be run on. Possible values are operating system (GOOS), architecture (GOARCH) or a combination of the two. Example: `platforms: [linux]`, `platforms: [amd64]` or `platforms: [linux/amd64]`. Other platforms will be skipped ([#978](https://github.com/go-task/task/issues/978), [#980](https://github.com/go-task/task/issues/980) by [@leaanthony](https://github.com/leaanthony)). +- Improve behavior and performance of status checking when using the `timestamp` mode (#976, #977 by @aminya). +- Performance optimizations were made for large Taskfiles (#982 by @pd93). +- Add ability to configure options for the [`set`](https://www.gnu.org/software/bash/manual/html_node/The-Set-Builtin.html) and [`shopt`](https://www.gnu.org/software/bash/manual/html_node/The-Shopt-Builtin.html) builtins (#908, #929 by @pd93, [Documentation](http://taskfile.dev/usage/#set-and-shopt)). +- Add new `platforms:` attribute to `task` and `cmd`, so it's now possible to choose in which platforms that given task or command will be run on. Possible values are operating system (GOOS), architecture (GOARCH) or a combination of the two. Example: `platforms: [linux]`, `platforms: [amd64]` or `platforms: [linux/amd64]`. Other platforms will be skipped (#978, #980 by @leaanthony). ## v3.19.1 - 2022-12-31 -- Small bug fix: closing `Taskfile.yml` once we're done reading it ([#963](https://github.com/go-task/task/issues/963), [#964](https://github.com/go-task/task/issues/964) by [@HeCorr](https://github.com/HeCorr)). -- Fixes a bug in v2 that caused a panic when using a `Taskfile_{{OS}}.yml` file ([#961](https://github.com/go-task/task/issues/961), [#971](https://github.com/go-task/task/issues/971) by [@pd93](https://github.com/pd93)). -- Fixed a bug where watch intervals set in the Taskfile were not being respected ([#969](https://github.com/go-task/task/issues/969), [#970](https://github.com/go-task/task/issues/970) by [@pd93](https://github.com/pd93)) -- Add `--json` flag (alias `-j`) with the intent to improve support for code editors and add room to other possible integrations. This is basic for now, but we plan to add more info in the near future ([#936](https://github.com/go-task/task/issues/936) by [@davidalpert](https://github.com/davidalpert), [#764](https://github.com/go-task/task/issues/764)). +- Small bug fix: closing `Taskfile.yml` once we're done reading it (#963, #964 by @HeCorr). +- Fixes a bug in v2 that caused a panic when using a `Taskfile_{{OS}}.yml` file (#961, #971 by @pd93). +- Fixed a bug where watch intervals set in the Taskfile were not being respected (#969, #970 by @pd93) +- Add `--json` flag (alias `-j`) with the intent to improve support for code editors and add room to other possible integrations. This is basic for now, but we plan to add more info in the near future (#936 by @davidalpert, #764). ## v3.19.0 - 2022-12-05 -- Installation via npm now supports [pnpm](https://pnpm.io/) as well ([go-task/go-npm\[#2\](https://github.com/go-task/task/issues/2)](https://github.com/go-task/go-npm/issues/2), [go-task/go-npm\[#3\](https://github.com/go-task/task/issues/3)](https://github.com/go-task/go-npm/pull/3)). -- It's now possible to run Taskfiles from subdirectories! A new `USER_WORKING_DIR` special variable was added to add even more flexibility for monorepos ([#289](https://github.com/go-task/task/issues/289), [#920](https://github.com/go-task/task/issues/920)). -- Add task-level `dotenv` support ([#389](https://github.com/go-task/task/issues/389), [#904](https://github.com/go-task/task/issues/904)). -- It's now possible to use global level variables on `includes` ([#942](https://github.com/go-task/task/issues/942), [#943](https://github.com/go-task/task/issues/943)). -- The website got a brand new [translation to Chinese](https://task-zh.readthedocs.io/zh_CN/latest/) by [\[@DeronW\](https://github.com/DeronW)](https://github.com/DeronW). Thanks! +- Installation via npm now supports [pnpm](https://pnpm.io/) as well ([go-task/go-npm#2](https://github.com/go-task/go-npm/issues/2), [go-task/go-npm#3](https://github.com/go-task/go-npm/pull/3)). +- It's now possible to run Taskfiles from subdirectories! A new `USER_WORKING_DIR` special variable was added to add even more flexibility for monorepos (#289, #920). +- Add task-level `dotenv` support (#389, #904). +- It's now possible to use global level variables on `includes` (#942, #943). +- The website got a brand new [translation to Chinese](https://task-zh.readthedocs.io/zh_CN/latest/) by [@DeronW](https://github.com/DeronW). Thanks! ## v3.18.0 - 2022-11-12 -- Show aliases on `task --list --silent` (`task --ls`). This means that aliases will be completed by the completion scripts ([#919](https://github.com/go-task/task/issues/919)). -- Tasks in the root Taskfile will now be displayed first in `--list`/`--list-all` output ([#806](https://github.com/go-task/task/issues/806), [#890](https://github.com/go-task/task/issues/890)). -- It's now possible to call a `default` task in an included Taskfile by using just the namespace. For example: `docs:default` is now automatically aliased to `docs` ([#661](https://github.com/go-task/task/issues/661), [#815](https://github.com/go-task/task/issues/815)). +- Show aliases on `task --list --silent` (`task --ls`). This means that aliases will be completed by the completion scripts (#919). +- Tasks in the root Taskfile will now be displayed first in `--list`/`--list-all` output (#806, #890). +- It's now possible to call a `default` task in an included Taskfile by using just the namespace. For example: `docs:default` is now automatically aliased to `docs` (#661, #815). ## v3.17.0 - 2022-10-14 -- Add a "Did you mean ...?" suggestion when a task does not exits another one with a similar name is found ([#867](https://github.com/go-task/task/issues/867), [#880](https://github.com/go-task/task/issues/880)). -- Now YAML parse errors will print which Taskfile failed to parse ([#885](https://github.com/go-task/task/issues/885), [#887](https://github.com/go-task/task/issues/887)). -- Add ability to set `aliases` for tasks and namespaces ([#268](https://github.com/go-task/task/issues/268), [#340](https://github.com/go-task/task/issues/340), [#879](https://github.com/go-task/task/issues/879)). -- Improvements to Fish shell completion ([#897](https://github.com/go-task/task/issues/897)). -- Added ability to set a different watch interval by setting `interval: '500ms'` or using the `--interval=500ms` flag ([#813](https://github.com/go-task/task/issues/813), [#865](https://github.com/go-task/task/issues/865)). -- Add colored output to `--list`, `--list-all` and `--summary` flags ([#845](https://github.com/go-task/task/issues/845), [#874](https://github.com/go-task/task/issues/874)). -- Fix unexpected behavior where `label:` was being shown instead of the task name on `--list` ([#603](https://github.com/go-task/task/issues/603), [#877](https://github.com/go-task/task/issues/877)). +- Add a "Did you mean ...?" suggestion when a task does not exits another one with a similar name is found (#867, #880). +- Now YAML parse errors will print which Taskfile failed to parse (#885, #887). +- Add ability to set `aliases` for tasks and namespaces (#268, #340, #879). +- Improvements to Fish shell completion (#897). +- Added ability to set a different watch interval by setting `interval: '500ms'` or using the `--interval=500ms` flag (#813, #865). +- Add colored output to `--list`, `--list-all` and `--summary` flags (#845, + + # 874). +- Fix unexpected behavior where `label:` was being shown instead of the task name on `--list` (#603, #877). ## v3.16.0 - 2022-09-29 -- Add `npm` as new installation method: `npm i -g [@go](https://github.com/go)-task/cli` ([#870](https://github.com/go-task/task/issues/870), [#871](https://github.com/go-task/task/issues/871), [npm package](https://www.npmjs.com/package/[@go](https://github.com/go)-task/cli)). -- Add support to marking tasks and includes as internal, which will hide them from `--list` and `--list-all` ([#818](https://github.com/go-task/task/issues/818)). +- Add `npm` as new installation method: `npm i -g @go-task/cli` (#870, #871, [npm package](https://www.npmjs.com/package/@go-task/cli)). +- Add support to marking tasks and includes as internal, which will hide them from `--list` and `--list-all` (#818). ## v3.15.2 - 2022-09-08 -- Fix error when using variable in `env:` introduced in the previous release ([#858](https://github.com/go-task/task/issues/858), [#866](https://github.com/go-task/task/issues/866)). -- Fix handling of `CLI_ARGS` (`--`) in Bash completion ([#863](https://github.com/go-task/task/issues/863)). -- On zsh completion, add ability to replace `--list-all` with `--list` as already possible on the Bash completion ([#861](https://github.com/go-task/task/issues/861)). +- Fix error when using variable in `env:` introduced in the previous release (#858, #866). +- Fix handling of `CLI_ARGS` (`--`) in Bash completion (#863). +- On zsh completion, add ability to replace `--list-all` with `--list` as already possible on the Bash completion (#861). ## v3.15.0 - 2022-09-03 -- Add new special variables `ROOT_DIR` and `TASKFILE_DIR`. This was a highly requested feature ([#215](https://github.com/go-task/task/issues/215), [#857](https://github.com/go-task/task/issues/857), [Documentation](https://taskfile.dev/api/#special-variables)). -- Follow symlinks on `sources` ([#826](https://github.com/go-task/task/issues/826), [#831](https://github.com/go-task/task/issues/831)). -- Improvements and fixes to Bash completion ([#835](https://github.com/go-task/task/issues/835), [#844](https://github.com/go-task/task/issues/844)). +- Add new special variables `ROOT_DIR` and `TASKFILE_DIR`. This was a highly requested feature (#215, #857, [Documentation](https://taskfile.dev/api/#special-variables)). +- Follow symlinks on `sources` (#826, #831). +- Improvements and fixes to Bash completion (#835, #844). ## v3.14.1 - 2022-08-03 -- Always resolve relative include paths relative to the including Taskfile ([#822](https://github.com/go-task/task/issues/822), [#823](https://github.com/go-task/task/issues/823)). -- Fix ZSH and PowerShell completions to consider all tasks instead of just the public ones (those with descriptions) ([#803](https://github.com/go-task/task/issues/803)). +- Always resolve relative include paths relative to the including Taskfile (#822, #823). +- Fix ZSH and PowerShell completions to consider all tasks instead of just the public ones (those with descriptions) (#803). ## v3.14.0 - 2022-07-08 - Add ability to override the `.task` directory location with the `TASK_TEMP_DIR` environment variable. -- Allow to override Task colors using environment variables: `TASK_COLOR_RESET`, `TASK_COLOR_BLUE`, `TASK_COLOR_GREEN`, `TASK_COLOR_CYAN`, `TASK_COLOR_YELLOW`, `TASK_COLOR_MAGENTA` and `TASK_COLOR_RED` ([#568](https://github.com/go-task/task/issues/568), [#792](https://github.com/go-task/task/issues/792)). -- Fixed bug when using the `output: group` mode where STDOUT and STDERR were being print in separated blocks instead of in the right order ([#779](https://github.com/go-task/task/issues/779)). -- Starting on this release, ARM architecture binaries are been released to Snap as well ([#795](https://github.com/go-task/task/issues/795)). +- Allow to override Task colors using environment variables: `TASK_COLOR_RESET`, `TASK_COLOR_BLUE`, `TASK_COLOR_GREEN`, `TASK_COLOR_CYAN`, `TASK_COLOR_YELLOW`, `TASK_COLOR_MAGENTA` and `TASK_COLOR_RED` (#568, #792). +- Fixed bug when using the `output: group` mode where STDOUT and STDERR were being print in separated blocks instead of in the right order (#779). +- Starting on this release, ARM architecture binaries are been released to Snap as well (#795). - i386 binaries won't be available anymore on Snap because Ubuntu removed the support for this architecture. -- Upgrade mvdan.cc/sh, which fixes a bug with associative arrays ([#785](https://github.com/go-task/task/issues/785), [mvdan/sh\[#884\](https://github.com/go-task/task/issues/884)](https://github.com/mvdan/sh/issues/884), [mvdan/sh\[#893\](https://github.com/go-task/task/issues/893)](https://github.com/mvdan/sh/pull/893)). +- Upgrade mvdan.cc/sh, which fixes a bug with associative arrays (#785, [mvdan/sh#884](https://github.com/mvdan/sh/issues/884), [mvdan/sh#893](https://github.com/mvdan/sh/pull/893)). ## v3.13.0 - 2022-06-13 -- Added `-n` as an alias to `--dry` ([#776](https://github.com/go-task/task/issues/776), [#777](https://github.com/go-task/task/issues/777)). -- Fix behavior of interrupt (SIGINT, SIGTERM) signals. Task will now give time for the processes running to do cleanup work ([#458](https://github.com/go-task/task/issues/458), [#479](https://github.com/go-task/task/issues/479), [#728](https://github.com/go-task/task/issues/728), [#769](https://github.com/go-task/task/issues/769)). -- Add new `--exit-code` (`-x`) flag that will pass-through the exit form the command being ran ([#755](https://github.com/go-task/task/issues/755)). +- Added `-n` as an alias to `--dry` (#776, #777). +- Fix behavior of interrupt (SIGINT, SIGTERM) signals. Task will now give time for the processes running to do cleanup work (#458, #479, #728, #769). +- Add new `--exit-code` (`-x`) flag that will pass-through the exit form the command being ran (#755). ## v3.12.1 - 2022-05-10 -- Fixed bug where, on Windows, variables were ending with `\r` because we were only removing the final `\n` but not `\r\n` ([#717](https://github.com/go-task/task/issues/717)). +- Fixed bug where, on Windows, variables were ending with `\r` because we were only removing the final `\n` but not `\r\n` (#717). ## v3.12.0 - 2022-03-31 -- The `--list` and `--list-all` flags can now be combined with the `--silent` flag to print the task names only, without their description ([#691](https://github.com/go-task/task/issues/691)). -- Added support for multi-level inclusion of Taskfiles. This means that included Taskfiles can also include other Taskfiles. Before this was limited to one level ([#390](https://github.com/go-task/task/issues/390), [#623](https://github.com/go-task/task/issues/623), [#656](https://github.com/go-task/task/issues/656)). -- Add ability to specify vars when including a Taskfile. [Check out the documentation](https://taskfile.dev/#/usage?id=vars-of-included-taskfiles) for more information ([#677](https://github.com/go-task/task/issues/677)). +- The `--list` and `--list-all` flags can now be combined with the `--silent` flag to print the task names only, without their description (#691). +- Added support for multi-level inclusion of Taskfiles. This means that included Taskfiles can also include other Taskfiles. Before this was limited to one level (#390, #623, #656). +- Add ability to specify vars when including a Taskfile. [Check out the documentation](https://taskfile.dev/#/usage?id=vars-of-included-taskfiles) for more information (#677). ## v3.11.0 - 2022-02-19 -- Task now supports printing begin and end messages when using the `group` output mode, useful for grouping tasks in CI systems. [Check out the documentation](http://taskfile.dev/#/usage?id=output-syntax) for more information ([#647](https://github.com/go-task/task/issues/647), [#651](https://github.com/go-task/task/issues/651)). -- Add `Taskfile.dist.yml` and `Taskfile.dist.yaml` to the supported file name list. [Check out the documentation](https://taskfile.dev/#/usage?id=supported-file-names) for more information ([#498](https://github.com/go-task/task/issues/498), [#666](https://github.com/go-task/task/issues/666)). +- Task now supports printing begin and end messages when using the `group` output mode, useful for grouping tasks in CI systems. [Check out the documentation](http://taskfile.dev/#/usage?id=output-syntax) for more information (#647, #651). +- Add `Taskfile.dist.yml` and `Taskfile.dist.yaml` to the supported file name list. [Check out the documentation](https://taskfile.dev/#/usage?id=supported-file-names) for more information (#498, #666). ## v3.10.0 - 2022-01-04 -- A new `--list-all` (alias `-a`) flag is now available. It's similar to the exiting `--list` (`-l`) but prints all tasks, even those without a description ([#383](https://github.com/go-task/task/issues/383), [#401](https://github.com/go-task/task/issues/401)). -- It's now possible to schedule cleanup commands to run once a task finishes with the `defer:` keyword ([Documentation](https://taskfile.dev/#/usage?id=doing-task-cleanup-with-defer), [#475](https://github.com/go-task/task/issues/475), [#626](https://github.com/go-task/task/issues/626)). -- Remove long deprecated and undocumented `$` variable prefix and `^` command prefix ([#642](https://github.com/go-task/task/issues/642), [#644](https://github.com/go-task/task/issues/644), [#645](https://github.com/go-task/task/issues/645)). -- Add support for `.yaml` extension (as an alternative to `.yml`). This was requested multiple times throughout the years. Enjoy! ([#183](https://github.com/go-task/task/issues/183), [#184](https://github.com/go-task/task/issues/184), [#369](https://github.com/go-task/task/issues/369), [#584](https://github.com/go-task/task/issues/584), [#621](https://github.com/go-task/task/issues/621)). -- Fixed error when computing a variable when the task directory do not exist yet ([#481](https://github.com/go-task/task/issues/481), [#579](https://github.com/go-task/task/issues/579)). +- A new `--list-all` (alias `-a`) flag is now available. It's similar to the exiting `--list` (`-l`) but prints all tasks, even those without a description (#383, #401). +- It's now possible to schedule cleanup commands to run once a task finishes with the `defer:` keyword ([Documentation](https://taskfile.dev/#/usage?id=doing-task-cleanup-with-defer), + + # 475, #626). +- Remove long deprecated and undocumented `$` variable prefix and `^` command prefix (#642, #644, #645). +- Add support for `.yaml` extension (as an alternative to `.yml`). This was requested multiple times throughout the years. Enjoy! (#183, #184, #369, #584, + + # 621). +- Fixed error when computing a variable when the task directory do not exist yet (#481, #579). ## v3.9.2 - 2021-12-02 -- Upgrade [mvdan/sh](https://github.com/mvdan/sh) which contains a fix a for a important regression on Windows ([#619](https://github.com/go-task/task/issues/619), [mvdan/sh\[#768\](https://github.com/go-task/task/issues/768)](https://github.com/mvdan/sh/issues/768), [mvdan/sh\[#769\](https://github.com/go-task/task/issues/769)](https://github.com/mvdan/sh/pull/769)). +- Upgrade [mvdan/sh](https://github.com/mvdan/sh) which contains a fix a for a important regression on Windows (#619, [mvdan/sh#768](https://github.com/mvdan/sh/issues/768), [mvdan/sh#769](https://github.com/mvdan/sh/pull/769)). ## v3.9.1 - 2021-11-28 -- Add logging in verbose mode for when a task starts and finishes ([#533](https://github.com/go-task/task/issues/533), [#588](https://github.com/go-task/task/issues/588)). -- Fix an issue with preconditions and context errors ([#597](https://github.com/go-task/task/issues/597), [#598](https://github.com/go-task/task/issues/598)). -- Quote each `{{.CLI_ARGS}}` argument to prevent one with spaces to become many ([#613](https://github.com/go-task/task/issues/613)). -- Fix nil pointer when `cmd:` was left empty ([#612](https://github.com/go-task/task/issues/612), [#614](https://github.com/go-task/task/issues/614)). +- Add logging in verbose mode for when a task starts and finishes (#533, #588). +- Fix an issue with preconditions and context errors (#597, #598). +- Quote each `{{.CLI_ARGS}}` argument to prevent one with spaces to become many (#613). +- Fix nil pointer when `cmd:` was left empty (#612, #614). - Upgrade [mvdan/sh](https://github.com/mvdan/sh) which contains two relevant fixes: - - Fix quote of empty strings in `shellQuote` ([#609](https://github.com/go-task/task/issues/609), [mvdan/sh\[#763\](https://github.com/go-task/task/issues/763)](https://github.com/mvdan/sh/issues/763)). - - Fix issue of wrong environment variable being picked when there's another very similar one ([#586](https://github.com/go-task/task/issues/586), [mvdan/sh\[#745\](https://github.com/go-task/task/issues/745)](https://github.com/mvdan/sh/pull/745)). -- Install shell completions automatically when installing via Homebrew ([#264](https://github.com/go-task/task/issues/264), [#592](https://github.com/go-task/task/issues/592), [go-task/homebrew-tap\[#2\](https://github.com/go-task/task/issues/2)](https://github.com/go-task/homebrew-tap/pull/2)). + - Fix quote of empty strings in `shellQuote` (#609, [mvdan/sh#763](https://github.com/mvdan/sh/issues/763)). + - Fix issue of wrong environment variable being picked when there's another very similar one (#586, [mvdan/sh#745](https://github.com/mvdan/sh/pull/745)). +- Install shell completions automatically when installing via Homebrew (#264, #592, [go-task/homebrew-tap#2](https://github.com/go-task/homebrew-tap/pull/2)). ## v3.9.0 - 2021-10-02 -- A new `shellQuote` function was added to the template system (`{{shellQuote "a string"}}`) to ensure a string is safe for use in shell ([mvdan/sh\[#727\](https://github.com/go-task/task/issues/727)](https://github.com/mvdan/sh/pull/727), [mvdan/sh\[#737\](https://github.com/go-task/task/issues/737)](https://github.com/mvdan/sh/pull/737), [Documentation](https://pkg.go.dev/mvdan.cc/sh/v3[@v3](https://github.com/v3).4.0/syntax#Quote)) +- A new `shellQuote` function was added to the template system (`{{shellQuote "a string"}}`) to ensure a string is safe for use in shell ([mvdan/sh#727](https://github.com/mvdan/sh/pull/727), [mvdan/sh#737](https://github.com/mvdan/sh/pull/737), [Documentation](https://pkg.go.dev/mvdan.cc/sh/v3@v3.4.0/syntax#Quote)) - In this version [mvdan.cc/sh](https://github.com/mvdan/sh) was upgraded with some small fixes and features - - The `read -p` flag is now supported ([#314](https://github.com/go-task/task/issues/314), [mvdan/sh\[#551\](https://github.com/go-task/task/issues/551)](https://github.com/mvdan/sh/issues/551), [mvdan/sh\[#772\](https://github.com/go-task/task/issues/772)](https://github.com/mvdan/sh/pull/722)) - - The `pwd -P` and `pwd -L` flags are now supported ([#553](https://github.com/go-task/task/issues/553), [mvdan/sh\[#724\](https://github.com/go-task/task/issues/724)](https://github.com/mvdan/sh/issues/724), [mvdan/sh\[#728\](https://github.com/go-task/task/issues/728)](https://github.com/mvdan/sh/pull/728)) - - The `$GID` environment variable is now correctly being set ([#561](https://github.com/go-task/task/issues/561), [mvdan/sh\[#723\](https://github.com/go-task/task/issues/723)](https://github.com/mvdan/sh/pull/723)) + - The `read -p` flag is now supported (#314, [mvdan/sh#551](https://github.com/mvdan/sh/issues/551), [mvdan/sh#772](https://github.com/mvdan/sh/pull/722)) + - The `pwd -P` and `pwd -L` flags are now supported (#553, [mvdan/sh#724](https://github.com/mvdan/sh/issues/724), [mvdan/sh#728](https://github.com/mvdan/sh/pull/728)) + - The `$GID` environment variable is now correctly being set (#561, [mvdan/sh#723](https://github.com/mvdan/sh/pull/723)) ## v3.8.0 - 2021-09-26 -- Add `interactive: true` setting to improve support for interactive CLI apps ([#217](https://github.com/go-task/task/issues/217), [#563](https://github.com/go-task/task/issues/563)). -- Fix some `nil` errors ([#534](https://github.com/go-task/task/issues/534), [#573](https://github.com/go-task/task/issues/573)). -- Add ability to declare an included Taskfile as optional ([#519](https://github.com/go-task/task/issues/519), [#552](https://github.com/go-task/task/issues/552)). -- Add support for including Taskfiles in the home directory by using `~` ([#539](https://github.com/go-task/task/issues/539), [#557](https://github.com/go-task/task/issues/557)). +- Add `interactive: true` setting to improve support for interactive CLI apps (#217, #563). +- Fix some `nil` errors (#534, #573). +- Add ability to declare an included Taskfile as optional (#519, #552). +- Add support for including Taskfiles in the home directory by using `~` (#539, #557). ## v3.7.3 - 2021-09-04 -- Add official support to Apple M1 ([#564](https://github.com/go-task/task/issues/564), [#567](https://github.com/go-task/task/issues/567)). +- Add official support to Apple M1 (#564, #567). - Our [official Homebrew tap](https://github.com/go-task/homebrew-tap) will support more platforms, including Apple M1 ## v3.7.0 - 2021-07-31 -- Add `run:` setting to control if tasks should run multiple times or not. Available options are `always` (the default), `when_changed` (if a variable modified the task) and `once` (run only once no matter what). This is a long time requested feature. Enjoy! ([#53](https://github.com/go-task/task/issues/53), [#359](https://github.com/go-task/task/issues/359)). +- Add `run:` setting to control if tasks should run multiple times or not. Available options are `always` (the default), `when_changed` (if a variable modified the task) and `once` (run only once no matter what). This is a long time requested feature. Enjoy! (#53, #359). ## v3.6.0 - 2021-07-10 -- Allow using both `sources:` and `status:` in the same task ([#411](https://github.com/go-task/task/issues/411), [#427](https://github.com/go-task/task/issues/427), [#477](https://github.com/go-task/task/issues/477)). -- Small optimization and bug fix: don't compute variables if not needed for `dotenv:` ([#517](https://github.com/go-task/task/issues/517)). +- Allow using both `sources:` and `status:` in the same task (#411, #427, #477). +- Small optimization and bug fix: don't compute variables if not needed for `dotenv:` (#517). ## v3.5.0 - 2021-07-04 -- Add support for interpolation in `dotenv:` ([#433](https://github.com/go-task/task/issues/433), [#434](https://github.com/go-task/task/issues/434), [#453](https://github.com/go-task/task/issues/453)). +- Add support for interpolation in `dotenv:` (#433, #434, #453). ## v3.4.3 - 2021-05-30 -- Add support for the `NO_COLOR` environment variable. ([#459](https://github.com/go-task/task/issues/459), [fatih/color\[#137\](https://github.com/go-task/task/issues/137)](https://github.com/fatih/color/pull/137)). -- Fix bug where sources were not considering the right directory in `--watch` mode ([#484](https://github.com/go-task/task/issues/484), [#485](https://github.com/go-task/task/issues/485)). +- Add support for the `NO_COLOR` environment variable. (#459, [fatih/color#137](https://github.com/fatih/color/pull/137)). +- Fix bug where sources were not considering the right directory in `--watch` mode (#484, #485). ## v3.4.2 - 2021-04-23 -- On watch, report which file failed to read ([#472](https://github.com/go-task/task/issues/472)). -- Do not try to catch SIGKILL signal, which are not actually possible ([#476](https://github.com/go-task/task/issues/476)). -- Improve version reporting when building Task from source using Go Modules ([#462](https://github.com/go-task/task/issues/462), [#473](https://github.com/go-task/task/issues/473)). +- On watch, report which file failed to read (#472). +- Do not try to catch SIGKILL signal, which are not actually possible (#476). +- Improve version reporting when building Task from source using Go Modules (#462, #473). ## v3.4.1 - 2021-04-17 -- Improve error reporting when parsing YAML: in some situations where you would just see an generic error, you'll now see the actual error with more detail: the YAML line the failed to parse, for example ([#467](https://github.com/go-task/task/issues/467)). -- A JSON Schema was published [here](https://json.schemastore.org/taskfile.json) and is automatically being used by some editors like Visual Studio Code ([#135](https://github.com/go-task/task/issues/135)). -- Print task name before the command in the log output ([#398](https://github.com/go-task/task/issues/398)). +- Improve error reporting when parsing YAML: in some situations where you would just see an generic error, you'll now see the actual error with more detail: the YAML line the failed to parse, for example (#467). +- A JSON Schema was published [here](https://json.schemastore.org/taskfile.json) and is automatically being used by some editors like Visual Studio Code (#135). +- Print task name before the command in the log output (#398). ## v3.3.0 - 2021-03-20 -- Add support for delegating CLI arguments to commands with `--` and a special `CLI_ARGS` variable ([#327](https://github.com/go-task/task/issues/327)). -- Add a `--concurrency` (alias `-C`) flag, to limit the number of tasks that run concurrently. This is useful for heavy workloads. ([#345](https://github.com/go-task/task/issues/345)). +- Add support for delegating CLI arguments to commands with `--` and a special `CLI_ARGS` variable (#327). +- Add a `--concurrency` (alias `-C`) flag, to limit the number of tasks that run concurrently. This is useful for heavy workloads. (#345). ## v3.2.2 - 2021-01-12 -- Improve performance of `--list` and `--summary` by skipping running shell variables for these flags ([#332](https://github.com/go-task/task/issues/332)). -- Fixed a bug where an environment in a Taskfile was not always overridable by the system environment ([#425](https://github.com/go-task/task/issues/425)). -- Fixed environment from .env files not being available as variables ([#379](https://github.com/go-task/task/issues/379)). -- The install script is now working for ARM platforms ([#428](https://github.com/go-task/task/issues/428)). +- Improve performance of `--list` and `--summary` by skipping running shell variables for these flags (#332). +- Fixed a bug where an environment in a Taskfile was not always overridable by the system environment (#425). +- Fixed environment from .env files not being available as variables (#379). +- The install script is now working for ARM platforms (#428). ## v3.2.1 - 2021-01-09 -- Fixed some bugs and regressions regarding dynamic variables and directories ([#426](https://github.com/go-task/task/issues/426)). +- Fixed some bugs and regressions regarding dynamic variables and directories (#426). - The [slim-sprig](https://github.com/go-task/slim-sprig) package was updated with the upstream [sprig](https://github.com/Masterminds/sprig). ## v3.2.0 - 2021-01-07 -- Fix the `.task` directory being created in the task directory instead of the Taskfile directory ([#247](https://github.com/go-task/task/issues/247)). -- Fix a bug where dynamic variables (those declared with `sh:`) were not running in the task directory when the task has a custom dir or it was in an included Taskfile ([#384](https://github.com/go-task/task/issues/384)). -- The watch feature (via the `--watch` flag) got a few different bug fixes and should be more stable now ([#423](https://github.com/go-task/task/issues/423), [#365](https://github.com/go-task/task/issues/365)). +- Fix the `.task` directory being created in the task directory instead of the Taskfile directory (#247). +- Fix a bug where dynamic variables (those declared with `sh:`) were not running in the task directory when the task has a custom dir or it was in an included Taskfile (#384). +- The watch feature (via the `--watch` flag) got a few different bug fixes and should be more stable now (#423, #365). ## v3.1.0 - 2021-01-03 -- Fix a bug when the checksum up-to-date resolution is used by a task with a custom `label:` attribute ([#412](https://github.com/go-task/task/issues/412)). -- Starting from this release, we're releasing official ARMv6 and ARM64 binaries for Linux ([#375](https://github.com/go-task/task/issues/375), [#418](https://github.com/go-task/task/issues/418)). -- Task now respects the order of declaration of included Taskfiles when evaluating variables declaring by them ([#393](https://github.com/go-task/task/issues/393)). -- `set -e` is now automatically set on every command. This was done to fix an issue where multiline string commands wouldn't really fail unless the sentence was in the last line ([#403](https://github.com/go-task/task/issues/403)). +- Fix a bug when the checksum up-to-date resolution is used by a task with a custom `label:` attribute (#412). +- Starting from this release, we're releasing official ARMv6 and ARM64 binaries for Linux (#375, #418). +- Task now respects the order of declaration of included Taskfiles when evaluating variables declaring by them (#393). +- `set -e` is now automatically set on every command. This was done to fix an issue where multiline string commands wouldn't really fail unless the sentence was in the last line (#403). ## v3.0.1 - 2020-12-26 -- Allow use as a library by moving the required packages out of the `internal` directory ([#358](https://github.com/go-task/task/issues/358)). -- Do not error if a specified dotenv file does not exist ([#378](https://github.com/go-task/task/issues/378), [#385](https://github.com/go-task/task/issues/385)). -- Fix panic when you have empty tasks in your Taskfile ([#338](https://github.com/go-task/task/issues/338), [#362](https://github.com/go-task/task/issues/362)). +- Allow use as a library by moving the required packages out of the `internal` directory (#358). +- Do not error if a specified dotenv file does not exist (#378, #385). +- Fix panic when you have empty tasks in your Taskfile (#338, #362). ## v3.0.0 - 2020-08-16 -- On `v3`, all CLI variables will be considered global variables ([#336](https://github.com/go-task/task/issues/336), [#341](https://github.com/go-task/task/issues/341)) -- Add support to `.env` like files ([#324](https://github.com/go-task/task/issues/324), [#356](https://github.com/go-task/task/issues/356)). -- Add `label:` to task so you can override the task name in the logs ([\[#321\](https://github.com/go-task/task/issues/321)](https://github.com/go-task/task/issues/321]), [#337](https://github.com/go-task/task/issues/337)). -- Refactor how variables work on version 3 ([#311](https://github.com/go-task/task/issues/311)). +- On `v3`, all CLI variables will be considered global variables (#336, #341) +- Add support to `.env` like files (#324, #356). +- Add `label:` to task so you can override the task name in the logs (#321, + + # 337). +- Refactor how variables work on version 3 (#311). - Disallow `expansions` on v3 since it has no effect. - `Taskvars.yml` is not automatically included anymore. - `Taskfile_{{OS}}.yml` is not automatically included anymore. - Allow interpolation on `includes`, so you can manually include a Taskfile based on operation system, for example. -- Expose `.TASK` variable in templates with the task name ([#252](https://github.com/go-task/task/issues/252)). -- Implement short task syntax ([#194](https://github.com/go-task/task/issues/194), [#240](https://github.com/go-task/task/issues/240)). -- Added option to make included Taskfile run commands on its own directory ([#260](https://github.com/go-task/task/issues/260), [#144](https://github.com/go-task/task/issues/144)) -- Taskfiles in version 1 are not supported anymore ([#237](https://github.com/go-task/task/issues/237)). -- Added global `method:` option. With this option, you can set a default method to all tasks in a Taskfile ([#246](https://github.com/go-task/task/issues/246)). -- Changed default method from `timestamp` to `checksum` ([#246](https://github.com/go-task/task/issues/246)). -- New magic variables are now available when using `status:`: `.TIMESTAMP` which contains the greatest modification date from the files listed in `sources:`, and `.CHECKSUM`, which contains a checksum of all files listed in `status:`. This is useful for manual checking when using external, or even remote, artifacts when using `status:` ([#216](https://github.com/go-task/task/issues/216)). -- We're now using [slim-sprig](https://github.com/go-task/slim-sprig) instead of [sprig](https://github.com/Masterminds/sprig), which allowed a file size reduction of about 22% ([#219](https://github.com/go-task/task/issues/219)). -- We now use some colors on Task output to better distinguish message types - commands are green, errors are red, etc ([#207](https://github.com/go-task/task/issues/207)). +- Expose `.TASK` variable in templates with the task name (#252). +- Implement short task syntax (#194, #240). +- Added option to make included Taskfile run commands on its own directory (#260, #144) +- Taskfiles in version 1 are not supported anymore (#237). +- Added global `method:` option. With this option, you can set a default method to all tasks in a Taskfile (#246). +- Changed default method from `timestamp` to `checksum` (#246). +- New magic variables are now available when using `status:`: `.TIMESTAMP` which contains the greatest modification date from the files listed in `sources:`, and `.CHECKSUM`, which contains a checksum of all files listed in `status:`. This is useful for manual checking when using external, or even remote, artifacts when using `status:` (#216). +- We're now using [slim-sprig](https://github.com/go-task/slim-sprig) instead of [sprig](https://github.com/Masterminds/sprig), which allowed a file size reduction of about 22% (#219). +- We now use some colors on Task output to better distinguish message types - commands are green, errors are red, etc (#207). ## v2.8.1 - 2020-05-20 -- Fix error code for the `--help` flag ([#300](https://github.com/go-task/task/issues/300), [#330](https://github.com/go-task/task/issues/330)). -- Print version to stdout instead of stderr ([#299](https://github.com/go-task/task/issues/299), [#329](https://github.com/go-task/task/issues/329)). -- Supress `context` errors when using the `--watch` flag ([#313](https://github.com/go-task/task/issues/313), [#317](https://github.com/go-task/task/issues/317)). -- Support templating on description ([#276](https://github.com/go-task/task/issues/276), [#283](https://github.com/go-task/task/issues/283)). +- Fix error code for the `--help` flag (#300, #330). +- Print version to stdout instead of stderr (#299, #329). +- Supress `context` errors when using the `--watch` flag (#313, #317). +- Support templating on description (#276, #283). ## v2.8.0 - 2019-12-07 -- Add `--parallel` flag (alias `-p`) to run tasks given by the command line in parallel ([#266](https://github.com/go-task/task/issues/266)). +- Add `--parallel` flag (alias `-p`) to run tasks given by the command line in parallel (#266). - Fixed bug where calling the `task` CLI only informing global vars would not execute the `default` task. - Add hability to silent all tasks by adding `silent: true` a the root of the Taskfile. ## v2.7.1 - 2019-11-10 -- Fix error being raised when `exit 0` was called ([#251](https://github.com/go-task/task/issues/251)). +- Fix error being raised when `exit 0` was called (#251). ## v2.7.0 - 2019-09-22 -- Fixed panic bug when assigning a global variable ([#229](https://github.com/go-task/task/issues/229), [#243](https://github.com/go-task/task/issues/243)). -- A task with `method: checksum` will now re-run if generated files are deleted ([#228](https://github.com/go-task/task/issues/228), [#238](https://github.com/go-task/task/issues/238)). +- Fixed panic bug when assigning a global variable (#229, #243). +- A task with `method: checksum` will now re-run if generated files are deleted (#228, #238). ## v2.6.0 - 2019-07-21 - Fixed some bugs regarding minor version checks on `version:`. -- Add `preconditions:` to task ([#205](https://github.com/go-task/task/issues/205)). -- Create directory informed on `dir:` if it doesn't exist ([#209](https://github.com/go-task/task/issues/209), [#211](https://github.com/go-task/task/issues/211)). -- We now have a `--taskfile` flag (alias `-t`), which can be used to run another Taskfile (other than the default `Taskfile.yml`) ([#221](https://github.com/go-task/task/issues/221)). -- It's now possible to install Task using Homebrew on Linux ([go-task/homebrew-tap\[#1\](https://github.com/go-task/task/issues/1)](https://github.com/go-task/homebrew-tap/pull/1)). +- Add `preconditions:` to task (#205). +- Create directory informed on `dir:` if it doesn't exist (#209, #211). +- We now have a `--taskfile` flag (alias `-t`), which can be used to run another Taskfile (other than the default `Taskfile.yml`) (#221). +- It's now possible to install Task using Homebrew on Linux ([go-task/homebrew-tap#1](https://github.com/go-task/homebrew-tap/pull/1)). ## v2.5.2 - 2019-05-11 -- Reverted YAML upgrade due issues with CRLF on Windows ([#201](https://github.com/go-task/task/issues/201), [go-yaml/yaml\[#450\](https://github.com/go-task/task/issues/450)](https://github.com/go-yaml/yaml/issues/450)). -- Allow setting global variables through the CLI ([#192](https://github.com/go-task/task/issues/192)). +- Reverted YAML upgrade due issues with CRLF on Windows (#201, [go-yaml/yaml#450](https://github.com/go-yaml/yaml/issues/450)). +- Allow setting global variables through the CLI (#192). ## 2.5.1 - 2019-04-27 -- Fixed some issues with interactive command line tools, where sometimes the output were not being shown, and similar issues ([#114](https://github.com/go-task/task/issues/114), [#190](https://github.com/go-task/task/issues/190), [#200](https://github.com/go-task/task/issues/200)). +- Fixed some issues with interactive command line tools, where sometimes the output were not being shown, and similar issues (#114, #190, #200). - Upgraded [go-yaml/yaml](https://github.com/go-yaml/yaml) from v2 to v3. ## v2.5.0 - 2019-03-16 - We moved from the taskfile.org domain to the new fancy taskfile.dev domain. While stuff is being redirected, we strongly recommend to everyone that use [this install script](https://taskfile.dev/#/installation?id=install-script) to use the new taskfile.dev domain on scripts from now on. -- Fixed to the ZSH completion ([#182](https://github.com/go-task/task/issues/182)). -- Add [`--summary` flag along with `summary:` task attribute](https://taskfile.org/#/usage?id=display-summary-of-task) ([#180](https://github.com/go-task/task/issues/180)). +- Fixed to the ZSH completion (#182). +- Add [`--summary` flag along with `summary:` task attribute](https://taskfile.org/#/usage?id=display-summary-of-task) (#180). ## v2.4.0 - 2019-02-21 -- Allow calling a task of the root Taskfile from an included Taskfile by prefixing it with `:` ([#161](https://github.com/go-task/task/issues/161), [#172](https://github.com/go-task/task/issues/172)). -- Add flag to override the `output` option ([#173](https://github.com/go-task/task/issues/173)). -- Fix bug where Task was persisting the new checksum on the disk when the Dry Mode is enabled ([#166](https://github.com/go-task/task/issues/166)). -- Fix file timestamp issue when the file name has spaces ([#176](https://github.com/go-task/task/issues/176)). -- Mitigating path expanding issues on Windows ([#170](https://github.com/go-task/task/issues/170)). +- Allow calling a task of the root Taskfile from an included Taskfile by prefixing it with `:` (#161, #172). +- Add flag to override the `output` option (#173). +- Fix bug where Task was persisting the new checksum on the disk when the Dry Mode is enabled (#166). +- Fix file timestamp issue when the file name has spaces (#176). +- Mitigating path expanding issues on Windows (#170). ## v2.3.0 - 2019-01-02 -- On Windows, Task can now be installed using [Scoop](https://scoop.sh/) ([#152](https://github.com/go-task/task/issues/152)). -- Fixed issue with file/directory globing ([#153](https://github.com/go-task/task/issues/153)). -- Added ability to globally set environment variables ([#138](https://github.com/go-task/task/issues/138), [#159](https://github.com/go-task/task/issues/159)). +- On Windows, Task can now be installed using [Scoop](https://scoop.sh/) (#152). +- Fixed issue with file/directory globing (#153). +- Added ability to globally set environment variables (#138, #159). ## v2.2.1 - 2018-12-09 -- This repository now uses Go Modules ([#143](https://github.com/go-task/task/issues/143)). We'll still keep the `vendor` directory in sync for some time, though; -- Fixing a bug when the Taskfile has no tasks but includes another Taskfile ([#150](https://github.com/go-task/task/issues/150)); -- Fix a bug when calling another task or a dependency in an included Taskfile ([#151](https://github.com/go-task/task/issues/151)). +- This repository now uses Go Modules (#143). We'll still keep the `vendor` directory in sync for some time, though; +- Fixing a bug when the Taskfile has no tasks but includes another Taskfile (#150); +- Fix a bug when calling another task or a dependency in an included Taskfile (#151). ## v2.2.0 - 2018-10-25 -- Added support for [including other Taskfiles](https://taskfile.org/#/usage?id=including-other-taskfiles) ([#98](https://github.com/go-task/task/issues/98)) - - 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](https://github.com/go-task/task/issues/98). +- Added support for [including other Taskfiles](https://taskfile.org/#/usage?id=including-other-taskfiles) (#98) + - 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. - Task now have a dedicated documentation site: https://taskfile.org - Thanks to [Docsify](https://docsify.js.org/) for making this pretty easy. To check the source code, just take a look at the [docs](https://github.com/go-task/task/tree/main/docs) directory of this repository. Contributions to the documentation is really appreciated. ## v2.1.1 - 2018-09-17 - Fix suggestion to use `task --init` not being shown anymore (when a `Taskfile.yml` is not found) -- Fix error when using checksum method and no file exists for a source glob ([#131](https://github.com/go-task/task/issues/131)) -- Fix signal handling when the `--watch` flag is given ([#132](https://github.com/go-task/task/issues/132)) +- Fix error when using checksum method and no file exists for a source glob (#131) +- Fix signal handling when the `--watch` flag is given (#132) ## v2.1.0 - 2018-08-19 -- Add a `ignore_error` option to task and command ([#123](https://github.com/go-task/task/issues/123)) -- Add a dry run mode (`--dry` flag) ([#126](https://github.com/go-task/task/issues/126)) +- Add a `ignore_error` option to task and command (#123) +- Add a dry run mode (`--dry` flag) (#126) ## v2.0.3 - 2018-06-24 -- Expand environment variables on "dir", "sources" and "generates" ([#116](https://github.com/go-task/task/issues/116)) -- Fix YAML merging syntax ([#112](https://github.com/go-task/task/issues/112)) -- Add ZSH completion ([#111](https://github.com/go-task/task/issues/111)) +- Expand environment variables on "dir", "sources" and "generates" (#116) +- Fix YAML merging syntax (#112) +- Add ZSH completion (#111) - Implement new `output` option. Please check out the [documentation](https://github.com/go-task/task#output-syntax) ## v2.0.2 - 2018-05-01 -- Fix merging of YAML anchors ([#112](https://github.com/go-task/task/issues/112)) +- Fix merging of YAML anchors (#112) ## v2.0.1 - 2018-03-11 @@ -445,36 +479,36 @@ Version 2.0.0 is here, with a new Taskfile format. Please, make sure to read the [Taskfile versions](https://github.com/go-task/task/blob/main/TASKFILE_VERSIONS.md) document, since it describes in depth what changed for this version. -- New Taskfile version 2 ([#77](https://github.com/go-task/task/issues/77)) -- Possibility to have global variables in the `Taskfile.yml` instead of `Taskvars.yml` ([#66](https://github.com/go-task/task/issues/66)) +- New Taskfile version 2 (#77) +- Possibility to have global variables in the `Taskfile.yml` instead of `Taskvars.yml` (#66) - Small improvements and fixes ## v1.4.4 - 2017-11-19 -- Handle SIGINT and SIGTERM ([#75](https://github.com/go-task/task/issues/75)); +- Handle SIGINT and SIGTERM (#75); - List: print message with there's no task with description; -- Expand home dir ("~" symbol) on paths ([#74](https://github.com/go-task/task/issues/74)); +- Expand home dir ("~" symbol) on paths (#74); - Add Snap as an installation method; - Move examples to its own repo; - Watch: also walk on tasks called on on "cmds", and not only on "deps"; -- Print logs to stderr instead of stdout ([#68](https://github.com/go-task/task/issues/68)); +- Print logs to stderr instead of stdout (#68); - Remove deprecated `set` keyword; - Add checksum based status check, alternative to timestamp based. ## v1.4.3 - 2017-09-07 -- Allow assigning variables to tasks at run time via CLI ([#33](https://github.com/go-task/task/issues/33)) -- Added suport for multiline variables from sh ([#64](https://github.com/go-task/task/issues/64)) -- Fixes env: remove square braces and evaluate shell ([#62](https://github.com/go-task/task/issues/62)) +- Allow assigning variables to tasks at run time via CLI (#33) +- Added suport for multiline variables from sh (#64) +- Fixes env: remove square braces and evaluate shell (#62) - Watch: change watch library and few fixes and improvements -- When use watching, cancel and restart long running process on file change ([#59](https://github.com/go-task/task/issues/59) and [#60](https://github.com/go-task/task/issues/60)) +- When use watching, cancel and restart long running process on file change (#59 and #60) ## v1.4.2 - 2017-07-30 - Flag to set directory of execution - Always echo command if is verbose mode - Add silent mode to disable echoing of commands -- Fixes and improvements of variables ([#56](https://github.com/go-task/task/issues/56)) +- Fixes and improvements of variables (#56) ## v1.4.1 - 2017-07-15 @@ -482,28 +516,28 @@ Please, make sure to read the [Taskfile versions](https://github.com/go-task/tas - `VAR: {sh: echo Hello}` instead of `VAR: $echo Hello` - Add `--list` (or `-l`) flag to print existing tasks - OS specific Taskvars file (e.g. `Taskvars_windows.yml`, `Taskvars_linux.yml`, etc) -- Consider task up-to-date on equal timestamps ([#49](https://github.com/go-task/task/issues/49)) -- Allow absolute path in generates section ([#48](https://github.com/go-task/task/issues/48)) -- Bugfix: allow templating when calling deps ([#42](https://github.com/go-task/task/issues/42)) +- Consider task up-to-date on equal timestamps (#49) +- Allow absolute path in generates section (#48) +- Bugfix: allow templating when calling deps (#42) - Fix panic for invalid task in cyclic dep detection -- Better error output for dynamic variables in Taskvars.yml ([#41](https://github.com/go-task/task/issues/41)) +- Better error output for dynamic variables in Taskvars.yml (#41) - Allow template evaluation in parameters ## v1.4.0 - 2017-07-06 - Cache dynamic variables - Add verbose mode (`-v` flag) -- Support to task parameters (overriding vars) ([#31](https://github.com/go-task/task/issues/31)) ([#32](https://github.com/go-task/task/issues/32)) -- Print command, also when "set:" is specified ([#35](https://github.com/go-task/task/issues/35)) -- Improve task command help text ([#35](https://github.com/go-task/task/issues/35)) +- Support to task parameters (overriding vars) (#31) (#32) +- Print command, also when "set:" is specified (#35) +- Improve task command help text (#35) ## v1.3.1 - 2017-06-14 -- Fix glob not working on commands ([#28](https://github.com/go-task/task/issues/28)) +- Fix glob not working on commands (#28) - Add ExeExt template function - Add `--init` flag to create a new Taskfile -- Add status option to prevent task from running ([#27](https://github.com/go-task/task/issues/27)) -- Allow interpolation on `generates` and `sources` attributes ([#26](https://github.com/go-task/task/issues/26)) +- Add status option to prevent task from running (#27) +- Allow interpolation on `generates` and `sources` attributes (#26) ## v1.3.0 - 2017-04-24 @@ -521,18 +555,18 @@ Please, make sure to read the [Taskfile versions](https://github.com/go-task/tas - Watch a task (experimental) - Possibility to call another task - Fix "=" not being reconized in variables/environment variables -- Tasks can now have a description, and help will print them ([#10](https://github.com/go-task/task/issues/10)) +- Tasks can now have a description, and help will print them (#10) - Task dependencies now run concurrently -- Support for a default task ([#16](https://github.com/go-task/task/issues/16)) +- Support for a default task (#16) ## v1.1.0 - 2017-03-08 -- Support for YAML, TOML and JSON ([#1](https://github.com/go-task/task/issues/1)) -- Support running command in another directory ([#4](https://github.com/go-task/task/issues/4)) +- Support for YAML, TOML and JSON (#1) +- Support running command in another directory (#4) - `--force` or `-f` flag to force execution of task even when it's up-to-date -- Detection of cyclic dependencies ([#5](https://github.com/go-task/task/issues/5)) -- Support for variables ([#6](https://github.com/go-task/task/issues/6), [#9](https://github.com/go-task/task/issues/9), [#14](https://github.com/go-task/task/issues/14)) -- Operation System specific commands and variables ([#13](https://github.com/go-task/task/issues/13)) +- Detection of cyclic dependencies (#5) +- Support for variables (#6, #9, #14) +- Operation System specific commands and variables (#13) ## v1.0.0 - 2017-02-28 diff --git a/docs/i18n/ru-RU/docusaurus-plugin-content-docs/current/community.md b/docs/i18n/ru-RU/docusaurus-plugin-content-docs/current/community.md index 51f91c27..8165c0e8 100644 --- a/docs/i18n/ru-RU/docusaurus-plugin-content-docs/current/community.md +++ b/docs/i18n/ru-RU/docusaurus-plugin-content-docs/current/community.md @@ -19,8 +19,8 @@ We use [Crowdin](https://crowdin.com/project/taskfile) to translate our document Некоторые методы установки поддерживаются третьими лицами: -- [GitHub Actions](https://github.com/arduino/setup-task) от [@arduino](https://github.com/arduino) -- [AUR](https://aur.archlinux.org/packages/go-task-bin) от [@carlsmedstad](https://github.com/carlsmedstad) +- [GitHub Actions](https://github.com/arduino/setup-task) by @arduino +- [AUR](https://aur.archlinux.org/packages/go-task-bin) by @carlsmedstad - [Scoop](https://github.com/ScoopInstaller/Main/blob/master/bucket/task.json) - [Fedora](https://packages.fedoraproject.org/pkgs/golang-github-task/go-task/) - [NixOS](https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/tools/go-task/default.nix) diff --git a/docs/i18n/ru-RU/docusaurus-plugin-content-docs/current/contributing.md b/docs/i18n/ru-RU/docusaurus-plugin-content-docs/current/contributing.md index 9da0b2bb..4f6ed87b 100644 --- a/docs/i18n/ru-RU/docusaurus-plugin-content-docs/current/contributing.md +++ b/docs/i18n/ru-RU/docusaurus-plugin-content-docs/current/contributing.md @@ -41,9 +41,9 @@ sidebar_position: 11 Task использует [Docusaurus][docusaurus] для размещения сервера документации. Код для неё находится в основном Task репозитории. Документация может быть настроена и запущена локально с помощью `task docs` (требуется установка `nodejs` & `yarn`). Все содержимое написано в Markdown и находится в директории `docs/docs`. Все документы Markdown должны иметь максимальную длину строки 80 символов (этого требует Prettier). -При внесении изменений подумайте, является ли необходимым изменение [Руководства по использованию](./usage.md). Этот документ содержит описания и примеры использования Task функций. Если вы добавляете новую функцию, попробуйте найти подходящее место для добавления новой секции. Если вы обновляете существующую функцию, убедитесь, что документация и любые примеры актуальны. Убедитесь, что любые примеры следуют [Taskfile Styleguide](./styleguide.md). +When making a change, consider whether a change to the [Usage Guide](/usage) is necessary. This document contains descriptions and examples of how to use Task features. If you're adding a new feature, try to find an appropriate place to add a new section. If you're updating an existing feature, ensure that the documentation and any examples are up-to-date. Ensure that any examples follow the [Taskfile Styleguide](/styleguide). -Если вы добавили новое поле, команду или флаг, убедитесь, что вы добавляете его в [Справочник API](./api_reference.md). Новые поля также необходимо добавить в [JSON][json-schema] схему. Описания полей в справочнике API и JSON схеме должны совпадать. +If you added a new field, command or flag, ensure that you add it to the [API Reference](/api). Новые поля также необходимо добавить в [JSON][json-schema] схему. Описания полей в справочнике API и JSON схеме должны совпадать. ### Написание тестов @@ -72,7 +72,7 @@ Task использует [Docusaurus][docusaurus] для размещения Ознакомьтесь со списком [open issues for Task][task-open-issues] или [Task for Visual Studio Code][vscode-task-open-issues]. У нас есть лейбл [good first issue][good-first-issue] для простейших проблем, который идеально подходит для контрибьюторов, который первых вносят свой вклад. -Приветствуются всевозможные вклады, будь то маленький фикс или новая функция. Вы также можете внести свой вклад, комментируя вопросы, помогая ответить на вопросы или внести вклад в другие [проекты сообщества](./community.md). +Приветствуются всевозможные вклады, будь то маленький фикс или новая функция. You can also contribute by upvoting/commenting on issues, helping to answer questions or contributing to other [community projects](/community). > Где можно получить помощь? diff --git a/docs/i18n/ru-RU/docusaurus-plugin-content-docs/current/deprecations/template.md b/docs/i18n/ru-RU/docusaurus-plugin-content-docs/current/deprecations/template.md index 43ed4d3b..646e45c6 100644 --- a/docs/i18n/ru-RU/docusaurus-plugin-content-docs/current/deprecations/template.md +++ b/docs/i18n/ru-RU/docusaurus-plugin-content-docs/current/deprecations/template.md @@ -6,12 +6,17 @@ sidebar_position: -1 #Always push to the top draft: true #Hide in production --- -# {Name of Deprecated Feature} +# \{Name of Deprecated Feature\} (#\{Issue\}) -- Issue: [#{issue}](https://github.com/go-task/task/issues/{issue}) -- Breaks: - - {list any existing functionality that will be broken by this experiment} +:::warning -{Short description of the feature/behavior and why it is being deprecated} +This deprecation breaks the following functionality: -{Short explanation of any replacement features/behaviors and how users should migrate to it} +- \{list any existing functionality that will be broken by this deprecation\} +- \{if there are no breaking changes, remove this admonition\} + +::: + +\{Short description of the feature/behavior and why it is being deprecated\} + +\{Short explanation of any replacement features/behaviors and how users should migrate to it\} diff --git a/docs/i18n/ru-RU/docusaurus-plugin-content-docs/current/deprecations/version_2_schema.md b/docs/i18n/ru-RU/docusaurus-plugin-content-docs/current/deprecations/version_2_schema.md index 79ea75cf..c45fb65d 100644 --- a/docs/i18n/ru-RU/docusaurus-plugin-content-docs/current/deprecations/version_2_schema.md +++ b/docs/i18n/ru-RU/docusaurus-plugin-content-docs/current/deprecations/version_2_schema.md @@ -2,21 +2,24 @@ slug: /deprecations/version-2-schema/ --- -# Version 2 Schema +# Version 2 Schema (#1197) -- Issue: [#1197][deprecate-version-2-schema] -- Breaks: - - Any Taskfiles that use the version 2 schema - - `Taskvar.yml` files +:::warning -The Taskfile v2 schema was introduced in March 2018 and replaced by version 3 in August the following year. Users have had a long time to update and so we feel that it is time to tidy up the codebase and focus on new functionality instead. +This deprecation breaks the following functionality: -This notice does not mean that we are immediately removing support for version 2 schemas. However, support will not be extended to future major releases and we _strongly recommend_ that anybody still using a version 2 schema upgrades to version 3 as soon as possible. +- Any Taskfiles that use the version 2 schema +- `Taskvar.yml` files -A list of changes between version 2 and version 3 are available in the [Task v3 Release Notes][version-3-release-notes]. +::: + +The Taskfile version 2 schema was introduced in March 2018 and replaced by version 3 in August 2019. In May 2023 [we published a deprecation notice][deprecation-notice] for the version 2 schema on the basis that the vast majority of users had already upgraded to version 3 and removing support for version 2 would allow us to tidy up the codebase and focus on new functionality instead. + +In December 2023, the final version of Task that supports the version 2 schema ([v3.33.0][v3.33.0]) was published and all legacy code was removed from Task's main branch. To use a more recent version of Task, you will need to ensure that your Taskfile uses the version 3 schema instead. A list of changes between version 2 and version 3 are available in the [Task v3 Release Notes][v3.0.0]. -[deprecate-version-2-schema]: https://github.com/go-task/task/issues/1197 -[version-3-release-notes]: https://github.com/go-task/task/releases/tag/v3.0.0 +[v3.0.0]: https://github.com/go-task/task/releases/tag/v3.0.0 +[v3.33.0]: https://github.com/go-task/task/releases/tag/v3.33.0 +[deprecation-notice]: https://github.com/go-task/task/issues/1197 diff --git a/docs/i18n/ru-RU/docusaurus-plugin-content-docs/current/experiments/any_variables.md b/docs/i18n/ru-RU/docusaurus-plugin-content-docs/current/experiments/any_variables.md new file mode 100644 index 00000000..cf2521c7 --- /dev/null +++ b/docs/i18n/ru-RU/docusaurus-plugin-content-docs/current/experiments/any_variables.md @@ -0,0 +1,206 @@ +--- +slug: /experiments/any-variables/ +--- + +# Any Variables (#1415) + +:::caution + +All experimental features are subject to breaking changes and/or removal _at any +time_. We strongly recommend that you do not use these features in a production +environment. They are intended for testing and feedback only. + +::: + +:::warning + +This experiment breaks the following functionality: + +- Dynamically defined variables (using the `sh` keyword) + +::: + +:::info + +To enable this experiment, set the environment variable: +`TASK_X_ANY_VARIABLES=1`. Check out [our guide to enabling experiments +][enabling-experiments] for more information. + +::: + +Currently, Task only supports string variables. This experiment allows you to +specify and use the following variable types: + +- `string` +- `bool` +- `int` +- `float` +- `array` +- `map` + +This allows you to have a lot more flexibility in how you use variables in +Task's templating engine. For example: + +Evaluating booleans: + +```yaml +version: 3 + +tasks: + foo: + vars: + BOOL: false + cmds: + - '{{if .BOOL}}echo foo{{end}}' +``` + +Arithmetic: + +```yaml +version: 3 + +tasks: + foo: + vars: + INT: 10 + FLOAT: 3.14159 + cmds: + - 'echo {{add .INT .FLOAT}}' +``` + +Ranging: + +```yaml +version: 3 + +tasks: + foo: + vars: + ARRAY: [1, 2, 3] + cmds: + - 'echo {{range .ARRAY}}{{.}}{{end}}' +``` + +There are many more templating functions which can be used with the new types of +variables. For a full list, see the [slim-sprig][slim-sprig] documentation. + +## Looping over variables + +Previously, you would have to use a delimiter separated string to loop over an +arbitrary list of items in a variable and split them by using the `split` subkey +to specify the delimiter: + +```yaml +version: 3 + +tasks: + foo: + vars: + LIST: 'foo,bar,baz' + cmds: + - for: + var: LIST + split: ',' + cmd: echo {{.ITEM}} +``` + +Because this experiment adds support for "collection-type" variables, the `for` +keyword has been updated to support looping over arrays directly: + +```yaml +version: 3 + +tasks: + foo: + vars: + LIST: [foo, bar, baz] + cmds: + - for: + var: LIST + cmd: echo {{.ITEM}} +``` + +This also works for maps. When looping over a map we also make an additional +`{{.KEY}}` variable availabe that holds the string value of the map key. +Remember that maps are unordered, so the order in which the items are looped +over is random: + +```yaml +version: 3 + +tasks: + foo: + vars: + MAP: + KEY_1: + SUBKEY: sub_value_1 + KEY_2: + SUBKEY: sub_value_2 + KEY_3: + SUBKEY: sub_value_3 + cmds: + - for: + var: MAP + cmd: echo {{.KEY}} {{.ITEM.SUBKEY}} +``` + +String splitting is still supported and remember that for simple cases, you have +always been able to loop over an array without using variables at all: + +```yaml +version: 3 + +tasks: + foo: + cmds: + - for: [foo, bar, baz] + cmd: echo {{.ITEM}} +``` + +## Migration + +Taskfiles with dynamically defined variables via the `sh` subkey will no longer +work with this experiment enabled. In order to keep using dynamically defined +variables, you will need to migrate your Taskfile to use the new syntax. + +Previously, you might have defined a dynamic variable like this: + +```yaml +version: 3 + +task: + foo: + vars: + CALCULATED_VAR: + sh: 'echo hello' + cmds: + - 'echo {{.CALCULATED_VAR}}' +``` + +With this experiment enabled, you will need to remove the `sh` subkey and define +your command as a string that begins with a `$`. This will instruct Task to +interpret the string as a command instead of a literal value and the variable +will be populated with the output of the command. For example: + +```yaml +version: 3 + +task: + foo: + vars: + CALCULATED_VAR: '$echo hello' + cmds: + - 'echo {{.CALCULATED_VAR}}' +``` + +If your current Taskfile contains a string variable that begins with a `$`, you +will now need to escape the `$` with a backslash (`\`) to stop Task from +executing it as a command. + + + +[enabling-experiments]: /experiments/#enabling-experiments + +[slim-sprig]: https://go-task.github.io/slim-sprig/ + + diff --git a/docs/i18n/ru-RU/docusaurus-plugin-content-docs/current/experiments/experiments.md b/docs/i18n/ru-RU/docusaurus-plugin-content-docs/current/experiments/experiments.md index b32a7570..b1a70473 100644 --- a/docs/i18n/ru-RU/docusaurus-plugin-content-docs/current/experiments/experiments.md +++ b/docs/i18n/ru-RU/docusaurus-plugin-content-docs/current/experiments/experiments.md @@ -15,14 +15,15 @@ In order to allow Task to evolve quickly, we roll out breaking changes to minor You can view a full list of active experiments in the "Experiments" section of the sidebar. -You can enable an experimental feature by: +## Enabling Experiments + +You can enable an experimental feature by doing one of the following: 1. Using the relevant environment variable in front of a task command. For example, `TASK_X_{FEATURE}=1 task {my-task}`. This is intended for one-off invocations of Task to test out experimental features. 1. Using the relevant environment variable in your "dotfiles" (e.g. `.bashrc`, `.zshrc` etc.). This is intended for permanently enabling experimental features in your environment. -1. Creating a `.env` file in the same directory as your root Taskfile that contains the relevant environment variables. e.g. +1. Creating a `.env` file in the same directory as your root Taskfile that contains the relevant environment variables. This allows you to enable an experimental feature at a project level. For example: -```shell -# .env +```shell title=".env" TASK_X_FEATURE=1 ``` diff --git a/docs/i18n/ru-RU/docusaurus-plugin-content-docs/current/experiments/gentle_force.md b/docs/i18n/ru-RU/docusaurus-plugin-content-docs/current/experiments/gentle_force.md index d1eada74..514602bb 100644 --- a/docs/i18n/ru-RU/docusaurus-plugin-content-docs/current/experiments/gentle_force.md +++ b/docs/i18n/ru-RU/docusaurus-plugin-content-docs/current/experiments/gentle_force.md @@ -2,12 +2,27 @@ slug: /experiments/gentle-force/ --- -# Gentle Force +# Gentle Force (#1200) -- Issue: [#1200][gentle-force-experiment] -- Environment variable: `TASK_X_FORCE=1` -- Breaks: - - `--force` flag +:::caution + +All experimental features are subject to breaking changes and/or removal _at any time_. We strongly recommend that you do not use these features in a production environment. They are intended for testing and feedback only. + +::: + +:::warning + +This experiment breaks the following functionality: + +- The `--force` flag + +::: + +:::info + +To enable this experiment, set the environment variable: `TASK_X_FORCE=1`. Check out [our guide to enabling experiments ][enabling-experiments] for more information. + +::: The `--force` flag currently forces _all_ tasks to run regardless of the status checks. This can be useful, but we have found that most of the time users only expect the direct task they are calling to be forced and _not_ all of its dependant tasks. @@ -18,4 +33,4 @@ If you want to migrate, but continue to force all dependant tasks to run, you sh -[gentle-force-experiment]: https://github.com/go-task/task/issues/1200 +[enabling-experiments]: /experiments/#enabling-experiments diff --git a/docs/i18n/ru-RU/docusaurus-plugin-content-docs/current/experiments/remote_taskfiles.md b/docs/i18n/ru-RU/docusaurus-plugin-content-docs/current/experiments/remote_taskfiles.md index 76d21173..73a934d8 100644 --- a/docs/i18n/ru-RU/docusaurus-plugin-content-docs/current/experiments/remote_taskfiles.md +++ b/docs/i18n/ru-RU/docusaurus-plugin-content-docs/current/experiments/remote_taskfiles.md @@ -2,10 +2,19 @@ slug: /experiments/remote-taskfiles/ --- -# Remote Taskfiles +# Remote Taskfiles (#1317) -- Issue: [#1317][remote-taskfiles-experiment] -- Environment variable: `TASK_X_REMOTE_TASKFILES=1` +:::caution + +All experimental features are subject to breaking changes and/or removal _at any time_. We strongly recommend that you do not use these features in a production environment. They are intended for testing and feedback only. + +::: + +:::info + +To enable this experiment, set the environment variable: `TASK_X_REMOTE_TASKFILES=1`. Check out [our guide to enabling experiments ][enabling-experiments] for more information. + +::: This experiment allows you to specify a remote Taskfile URL when including a Taskfile. For example: @@ -53,5 +62,5 @@ By default, Task will timeout requests to download remote files after 10 seconds -[remote-taskfiles-experiment]: https://github.com/go-task/task/issues/1317 +[enabling-experiments]: /experiments/#enabling-experiments [man-in-the-middle-attacks]: https://en.wikipedia.org/wiki/Man-in-the-middle_attack diff --git a/docs/i18n/ru-RU/docusaurus-plugin-content-docs/current/experiments/template.md b/docs/i18n/ru-RU/docusaurus-plugin-content-docs/current/experiments/template.md index 6ae94c06..59246cf5 100644 --- a/docs/i18n/ru-RU/docusaurus-plugin-content-docs/current/experiments/template.md +++ b/docs/i18n/ru-RU/docusaurus-plugin-content-docs/current/experiments/template.md @@ -6,15 +6,34 @@ sidebar_position: -1 #Always push to the top draft: true #Hide in production --- -# {Name of Experiment} +# \{Name of Experiment\} (#\{Issue\}) -- Issue: [#{issue}](https://github.com/go-task/task/issues/{issue}) -- Environment variable: `TASK_X_{feature}` -- Breaks: - - {list any existing functionality that will be broken by this experiment} -- Deprecations: - - {link to any deprecation pages related to this experiment} +:::caution -{Short description of the feature} +All experimental features are subject to breaking changes and/or removal _at any time_. We strongly recommend that you do not use these features in a production environment. They are intended for testing and feedback only. -{Short explanation of how users should migrate to the new behavior} +::: + +:::warning + +This experiment breaks the following functionality: + +- \{list any existing functionality that will be broken by this experiment\} +- \{if there are no breaking changes, remove this admonition\} + +::: + +:::info + +To enable this experiment, set the environment variable: `TASK_X_{feature}=1`. Check out [our guide to enabling experiments ][enabling-experiments] for more information. + +::: + +\{Short description of the feature\} + +\{Short explanation of how users should migrate to the new behavior\} + + + + +[enabling-experiments]: /experiments/#enabling-experiments diff --git a/docs/i18n/ru-RU/docusaurus-plugin-content-docs/current/faq.md b/docs/i18n/ru-RU/docusaurus-plugin-content-docs/current/faq.md index 5d694f8c..64a04bee 100644 --- a/docs/i18n/ru-RU/docusaurus-plugin-content-docs/current/faq.md +++ b/docs/i18n/ru-RU/docusaurus-plugin-content-docs/current/faq.md @@ -78,7 +78,7 @@ The default shell on Windows (`cmd` and `powershell`) do not have commands like We want to make improvements to this part of Task and the issues below track this work. Constructive comments and contributions are very welcome! -- [#197](https://github.com/go-task/task/issues/197) +- #197 - [mvdan/sh#93](https://github.com/mvdan/sh/issues/93) - [mvdan/sh#97](https://github.com/mvdan/sh/issues/97) diff --git a/docs/i18n/ru-RU/docusaurus-plugin-content-docs/current/integrations.md b/docs/i18n/ru-RU/docusaurus-plugin-content-docs/current/integrations.md index 8f5fcce9..4ac94735 100644 --- a/docs/i18n/ru-RU/docusaurus-plugin-content-docs/current/integrations.md +++ b/docs/i18n/ru-RU/docusaurus-plugin-content-docs/current/integrations.md @@ -24,7 +24,7 @@ sidebar_position: 8 ## Схема -Изначально была создана [@KROSF](https://github.com/KROSF) вот тут [this Gist](https://gist.github.com/KROSF/c5435acf590acd632f71bb720f685895) и теперь официально поддерживается в этом [файле](https://github.com/go-task/task/blob/main/docs/static/schema.json) и доступна по ссылке https://taskfile.dev/schema.json. Эта схема может быть использована для проверки Task файлов и автодополнения во многих редакторах кода: +This was initially created by @KROSF in [this Gist](https://gist.github.com/KROSF/c5435acf590acd632f71bb720f685895) and is now officially maintained in [this file](https://github.com/go-task/task/blob/main/docs/static/schema.json) and made available at https://taskfile.dev/schema.json. Эта схема может быть использована для проверки Task файлов и автодополнения во многих редакторах кода: ### Visual Studio Code @@ -55,8 +55,8 @@ version: '3' В дополнение к нашей официальной интеграции, сообщество разработчиков разработало свои собственные интеграции для Task: -- Расширение для [Sublime Text](https://packagecontrol.io/packages/Taskfile) [[источник](https://github.com/biozz/sublime-taskfile)] [@biozz](https://github.com/biozz) -- Расширение для [IntelliJ](https://plugins.jetbrains.com/plugin/17058-taskfile) [[источник](https://github.com/lechuckroh/task-intellij-plugin)] [@lechuckroh](https://github.com/lechuckroh) +- [Sublime Text Plugin](https://packagecontrol.io/packages/Taskfile) [[source](https://github.com/biozz/sublime-taskfile)] by @biozz +- [IntelliJ Plugin](https://plugins.jetbrains.com/plugin/17058-taskfile) [[source](https://github.com/lechuckroh/task-intellij-plugin)] by @lechuckroh - [mk](https://github.com/pycontribs/mk) - инструмент командной строки распознает Taskfile'ы. Если вы сделали что-то, что интегрируется с Task, пожалуйста, не стесняйтесь открыть PR, чтобы добавить его в этот список. diff --git a/docs/i18n/ru-RU/docusaurus-plugin-content-docs/current/intro.md b/docs/i18n/ru-RU/docusaurus-plugin-content-docs/current/intro.md index 35ece92d..d85cf1c6 100644 --- a/docs/i18n/ru-RU/docusaurus-plugin-content-docs/current/intro.md +++ b/docs/i18n/ru-RU/docusaurus-plugin-content-docs/current/intro.md @@ -14,7 +14,7 @@ Task - это инструмент для запуска / сборки, кот Так как Task написан на [Go][go], он представляет собой единственный исполняемый файл и не имеет других зависимостей, что означает, что вам не нужно заниматься сложной настройкой установки просто для использования инструмента сборки. -После [установки](installation.md) вам просто нужно описать вашу задачу сборки, используя простую схему [YAML][yaml] в файле с именем `Taskfile.yml`: +Once [installed](/installation), you just need to describe your build tasks using a simple [YAML][yaml] schema in a file called `Taskfile.yml`: ```yaml title="Taskfile.yml" version: '3' @@ -32,8 +32,8 @@ tasks: ## Features -- [Простая установка](installation.md): просто загрузите единственный исполняемый файл, добавьте его в `$PATH` и вы готовы! Или вы можете установить с помощью [Homebrew][homebrew], [Snapcraft][snapcraft] или [Scoop][scoop], если хотите. -- Доступен на CI-серверах: просто добавьте [эту простую команду](installation.md#install-script) для установки в CI-скрипт и готово! Теперь можно использовать Task в качестве части вашего CI-пайплайна. +- [Easy installation](/installation): just download a single binary, add to `$PATH` and you're done! Или вы можете установить с помощью [Homebrew][homebrew], [Snapcraft][snapcraft] или [Scoop][scoop], если хотите. +- Available on CIs: by adding [this simple command](/installation#install-script) to install on your CI script and you're ready to use Task as part of your CI pipeline; - Полностью кроссплатформенный: в то время как большинство инструментов сборки хорошо работают только в Linux или macOS, Task также поддерживает Windows, благодаря [интерпретатору командной оболочки для Go][sh]. - Отлично подходит для кодогенерации: вы можете легко [предотвратить запуск задачи](/usage#prevent-unnecessary-work), если необходимый набор файлов не изменился с прошлого запуска (основываясь на времени изменения или содержимом). diff --git a/docs/i18n/ru-RU/docusaurus-plugin-content-docs/current/styleguide.md b/docs/i18n/ru-RU/docusaurus-plugin-content-docs/current/styleguide.md index 7a3c46e1..5d4a5267 100644 --- a/docs/i18n/ru-RU/docusaurus-plugin-content-docs/current/styleguide.md +++ b/docs/i18n/ru-RU/docusaurus-plugin-content-docs/current/styleguide.md @@ -9,19 +9,6 @@ sidebar_position: 10 Этот стайлгайд содержит общие рекомендации по написанию кода, но не обязательно требует их строгого соблюдения. Можете не соглашаться с правилами и использовать другой подход, если вам это нужно или хотите это сделать. Кроме того, не стесняйтесь создавать Issue или PR с улучшениями этого гида. -## Используйте `Taskfile.yml` вместо `taskfile.yml` - -```yaml -# bad -taskfile.yml - - -# good -Taskfile.yml -``` - -Это особенно важно для пользователей Linux. У Windows и macOS нечувствительные файловые системы, поэтому `taskfile.yml` в конечном итоге будет работать, даже если официально не поддерживается. В Linux только будет работать `Taskfile.yml`. - ## Используйте правильный порядок ключевых слов - `version:` diff --git a/docs/i18n/ru-RU/docusaurus-plugin-content-docs/current/taskfile_versions.md b/docs/i18n/ru-RU/docusaurus-plugin-content-docs/current/taskfile_versions.md index 063956d7..1d23467d 100644 --- a/docs/i18n/ru-RU/docusaurus-plugin-content-docs/current/taskfile_versions.md +++ b/docs/i18n/ru-RU/docusaurus-plugin-content-docs/current/taskfile_versions.md @@ -69,7 +69,7 @@ tasks: :::caution -v2 schema support is [deprecated][deprecate-version-2-schema] and will be removed in a future release. +v2 schemas are [no longer supported by the latest version of Task][deprecate-version-2-schema]. ::: @@ -86,13 +86,13 @@ tasks: - aws s3 cp .env s3://myenvironment ``` -Пожалуйста, проверьте [документацию][includes] +Please check the [documentation][includes] ## Версия 2.2 :::caution -v2 schema support is [deprecated][deprecate-version-2-schema] and will be removed in a future release. +v2 schemas are [no longer supported by the latest version of Task][deprecate-version-2-schema]. ::: @@ -110,11 +110,11 @@ includes: :::caution -v2 schema support is [deprecated][deprecate-version-2-schema] and will be removed in a future release. +v2 schemas are [no longer supported by the latest version of Task][deprecate-version-2-schema]. ::: -В версии 2.1 появилась глобальная опция `output`, которая позволяет иметь больше контроля над тем, как вывод команд печатается на консоли (см. [документацию][output]): +Version 2.1 includes a global `output` option, to allow having more control over how commands output are printed to the console (see [documentation][output] for more info): ```yaml version: '2' @@ -128,7 +128,7 @@ tasks: prefix: server ``` -Начиная с этой версии можно игнорировать ошибки команды или задачи (смотрите документацию [здесь][ignore_errors]): +From this version it's also possible to ignore errors of a command or task (check documentation [here][ignore_errors]): ```yaml version: '2' @@ -151,7 +151,7 @@ tasks: :::caution -v2 schema support is [deprecated][deprecate-version-2-schema] and will be removed in a future release. +v2 schemas are [no longer supported by the latest version of Task][deprecate-version-2-schema]. ::: @@ -234,7 +234,7 @@ echo: -[output]: usage.md#output-syntax -[ignore_errors]: usage.md#ignore-errors -[includes]: usage.md#including-other-taskfiles -[deprecate-version-2-schema]: https://github.com/go-task/task/issues/1197 +[deprecate-version-2-schema]: /deprecations/version-2-schema/ +[output]: /usage#output-syntax +[ignore_errors]: /usage#ignore-errors +[includes]: /usage#including-other-taskfiles diff --git a/docs/i18n/ru-RU/docusaurus-plugin-content-docs/current/usage.md b/docs/i18n/ru-RU/docusaurus-plugin-content-docs/current/usage.md index 08ba349b..1e6a914f 100644 --- a/docs/i18n/ru-RU/docusaurus-plugin-content-docs/current/usage.md +++ b/docs/i18n/ru-RU/docusaurus-plugin-content-docs/current/usage.md @@ -1298,7 +1298,7 @@ tasks: task: "This is a dangerous command... Do you want to continue?" [y/N] ``` -Warning prompts are called before executing a task. If a prompt is denied Task will exit with [exit code](api_reference.md#exit-codes) 205. If approved, Task will continue as normal. +Warning prompts are called before executing a task. If a prompt is denied Task will exit with [exit code](/api#exit-codes) 205. If approved, Task will continue as normal. ```bash ❯ task example diff --git a/docs/i18n/tr-TR/docusaurus-plugin-content-blog/2023-09-02-introducing-experiments.md b/docs/i18n/tr-TR/docusaurus-plugin-content-blog/2023-09-02-introducing-experiments.md index 3c358a4e..42d99117 100644 --- a/docs/i18n/tr-TR/docusaurus-plugin-content-blog/2023-09-02-introducing-experiments.md +++ b/docs/i18n/tr-TR/docusaurus-plugin-content-blog/2023-09-02-introducing-experiments.md @@ -36,7 +36,7 @@ None of this would have been possible without the [150 or so (and growing) contr [![Star History Chart](https://api.star-history.com/svg?repos=go-task/task&type=Date)](https://star-history.com/#go-task/task&Date) -## What's next? :thinking_face: +## What's next? :thinking: It's extremely motivating to see so many people using and loving Task. However, in this time we've also seen an increase in the number of issues and feature requests. In particular, issues that require some kind of breaking change to Task. This isn't a bad thing, but as we grow we need to be more responsible about how we address these changes in a way that ensures stability and compatibility for existing users and their Taskfiles. @@ -46,7 +46,7 @@ At this point you're probably thinking something like: And you'd be right... sort of. In theory, this sounds great, but the reality is that we don't have the time to commit to a major overhaul of Task in one big bang release. This would require a colossal amount of time and coordination and with full time jobs and personal lives to tend to, this is a difficult commitment to make. Smaller, more frequent major releases are also a significant inconvenience for users as they have to constantly keep up-to-date with our breaking changes. Fortunately, there is a better way. -## What's going to change? :face_with_monocle: +## What's going to change? :monocle: Going forwards, breaking changes will be allowed into _minor_ versions of Task as "experimental features". To access these features users will need opt-in by enabling feature flags. This will allow us to release new features slowly and gather feedback from the community before making them the default behavior in a future major release. @@ -62,7 +62,7 @@ When v4 is released, we will continue to support v3 for a period of time (bug fi ## v4 When? :eyes: -:shrug: When it's ready. +:man_shrugging: When it's ready. In all seriousness, we don't have a timeline for this yet. We'll be working on the most serious deficiencies of the v3 API first and regularly evaluating the state of the project. When we feel its in a good, stable place and we have a clear upgrade path for users and a number of stable experiments, we'll start to think about v4. diff --git a/docs/i18n/tr-TR/docusaurus-plugin-content-docs/current/api_reference.md b/docs/i18n/tr-TR/docusaurus-plugin-content-docs/current/api_reference.md index cd1ea05c..ef34badb 100644 --- a/docs/i18n/tr-TR/docusaurus-plugin-content-docs/current/api_reference.md +++ b/docs/i18n/tr-TR/docusaurus-plugin-content-docs/current/api_reference.md @@ -120,6 +120,7 @@ There are some special variables that is available on the templating system: | Var | Description | | ------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------- | | `CLI_ARGS` | Contain all extra arguments passed after `--` when calling Task through the CLI. | +| `CLI_FORCE` | A boolean containing whether the `--force` or `--force-all` flags were set. | | `TASK` | The name of the current task. | | `ROOT_DIR` | The absolute path of the root Taskfile. | | `TASKFILE_DIR` | The absolute path of the included Taskfile. | diff --git a/docs/i18n/tr-TR/docusaurus-plugin-content-docs/current/changelog.md b/docs/i18n/tr-TR/docusaurus-plugin-content-docs/current/changelog.md index a5c20b20..628d35e1 100644 --- a/docs/i18n/tr-TR/docusaurus-plugin-content-docs/current/changelog.md +++ b/docs/i18n/tr-TR/docusaurus-plugin-content-docs/current/changelog.md @@ -5,435 +5,469 @@ sidebar_position: 14 # Changelog +## v3.33.1 - 2023-12-21 + +- Added support for looping over map variables with the [Any Variables experiment](https://taskfile.dev/experiments/any_variables) enabled (#1435, #1437 by @pd93). +- Fixed a bug where dynamic variables were causing errors during fast compilation (#1435, #1437 by @pd93) + +## v3.33.0 - 2023-12-20 + +- Added [Any Variables experiment](https://taskfile.dev/experiments/any-variables) (#1415, #1421 by @pd93). +- Updated Docusaurus to v3 (#1432 by @pd93). +- Added `aliases` to `--json` flag output (#1430, #1431 by @pd93). +- Added new `CLI_FORCE` special variable containing whether the `--force` or `--force-all` flags were set (#1412, #1434 by @pd93). + ## v3.32.0 - 2023-11-29 -- Added ability to exclude some files from `sources:` by using `exclude:` ([#225](https://github.com/go-task/task/issues/225), [#1324](https://github.com/go-task/task/issues/1324) by [@pd93](https://github.com/pd93) and [@andreynering](https://github.com/andreynering)). -- The [Remote Taskfiles experiment](https://taskfile.dev/experiments/remote-taskfiles) now prefers remote files over cached ones by default ([#1317](https://github.com/go-task/task/issues/1317), [#1345](https://github.com/go-task/task/issues/1345) by [@pd93](https://github.com/pd93)). -- Added `--timeout` flag to the [Remote Taskfiles experiment](https://taskfile.dev/experiments/remote-taskfiles) ([#1317](https://github.com/go-task/task/issues/1317), [#1345](https://github.com/go-task/task/issues/1345) by [@pd93](https://github.com/pd93)). -- Fix bug where dynamic `vars:` and `env:` were being executed when they should actually be skipped by `platforms:` ([#1273](https://github.com/go-task/task/issues/1273), [#1377](https://github.com/go-task/task/issues/1377) by [@andreynering](https://github.com/andreynering)). -- Fix `schema.json` to make `silent` valid in `cmds` that use `for` ([#1385](https://github.com/go-task/task/issues/1385), [#1386](https://github.com/go-task/task/issues/1386) by [@iainvm](https://github.com/iainvm)). -- Add new `--no-status` flag to skip expensive status checks when running `task --list --json` ([#1348](https://github.com/go-task/task/issues/1348), [#1368](https://github.com/go-task/task/issues/1368) by [@amancevice](https://github.com/amancevice)). +- Added ability to exclude some files from `sources:` by using `exclude:` (#225, + + # 1324 by @pd93 and @andreynering). +- The [Remote Taskfiles experiment](https://taskfile.dev/experiments/remote-taskfiles) now prefers remote files over cached ones by default (#1317, #1345 by @pd93). +- Added `--timeout` flag to the [Remote Taskfiles experiment](https://taskfile.dev/experiments/remote-taskfiles) (#1317, #1345 by @pd93). +- Fix bug where dynamic `vars:` and `env:` were being executed when they should actually be skipped by `platforms:` (#1273, #1377 by @andreynering). +- Fix `schema.json` to make `silent` valid in `cmds` that use `for` (#1385, + + # 1386 by @iainvm). +- Add new `--no-status` flag to skip expensive status checks when running `task --list --json` (#1348, #1368 by @amancevice). ## v3.31.0 - 2023-10-07 -- Enabled the `--yes` flag for the [Remote Taskfiles experiment](https://taskfile.dev/experiments/remote-taskfiles) ([#1317](https://github.com/go-task/task/issues/1317), [#1344](https://github.com/go-task/task/issues/1344) by [@pd93](https://github.com/pd93)). -- Add ability to set `watch: true` in a task to automatically run it in watch mode ([#231](https://github.com/go-task/task/issues/231), [#1361](https://github.com/go-task/task/issues/1361) by [@andreynering](https://github.com/andreynering)). -- Fixed a bug on the watch mode where paths that contained `.git` (like `.github`), for example, were also being ignored ([#1356](https://github.com/go-task/task/issues/1356) by [@butuzov](https://github.com/butuzov)). -- Fixed a nil pointer error when running a Taskfile with no contents ([#1341](https://github.com/go-task/task/issues/1341), [#1342](https://github.com/go-task/task/issues/1342) by [@pd93](https://github.com/pd93)). -- Added a new [exit code](https://taskfile.dev/api/#exit-codes) (107) for when a Taskfile does not contain a schema version ([#1342](https://github.com/go-task/task/issues/1342) by [@pd93](https://github.com/pd93)). -- Increased limit of maximum task calls from 100 to 1000 for now, as some people have been reaching this limit organically now that we have loops. This check exists to detect recursive calls, but will be removed in favor of a better algorithm soon ([#1321](https://github.com/go-task/task/issues/1321), [#1332](https://github.com/go-task/task/issues/1332)). -- Fixed templating on descriptions on `task --list` ([#1343](https://github.com/go-task/task/issues/1343) by [@blackjid](https://github.com/blackjid)). -- Fixed a bug where precondition errors were incorrectly being printed when task execution was aborted ([#1337](https://github.com/go-task/task/issues/1337), [#1338](https://github.com/go-task/task/issues/1338) by [@sylv](https://github.com/sylv)-io). +- Enabled the `--yes` flag for the [Remote Taskfiles experiment](https://taskfile.dev/experiments/remote-taskfiles) (#1317, #1344 by @pd93). +- Add ability to set `watch: true` in a task to automatically run it in watch mode (#231, #1361 by @andreynering). +- Fixed a bug on the watch mode where paths that contained `.git` (like `.github`), for example, were also being ignored (#1356 by @butuzov). +- Fixed a nil pointer error when running a Taskfile with no contents (#1341, + + # 1342 by @pd93). +- Added a new [exit code](https://taskfile.dev/api/#exit-codes) (107) for when a Taskfile does not contain a schema version (#1342 by @pd93). +- Increased limit of maximum task calls from 100 to 1000 for now, as some people have been reaching this limit organically now that we have loops. This check exists to detect recursive calls, but will be removed in favor of a better algorithm soon (#1321, #1332). +- Fixed templating on descriptions on `task --list` (#1343 by @blackjid). +- Fixed a bug where precondition errors were incorrectly being printed when task execution was aborted (#1337, #1338 by @sylv-io). ## v3.30.1 - 2023-09-14 -- Fixed a regression where some special variables weren't being set correctly ([#1331](https://github.com/go-task/task/issues/1331), [#1334](https://github.com/go-task/task/issues/1334) by [@pd93](https://github.com/pd93)). +- Fixed a regression where some special variables weren't being set correctly (#1331, #1334 by @pd93). ## v3.30.0 - 2023-09-13 -- Prep work for Remote Taskfiles ([#1316](https://github.com/go-task/task/issues/1316) by [@pd93](https://github.com/pd93)). -- Added the [Remote Taskfiles experiment](https://taskfile.dev/experiments/remote-taskfiles) as a draft ([#1152](https://github.com/go-task/task/issues/1152), [#1317](https://github.com/go-task/task/issues/1317) by [@pd93](https://github.com/pd93)). -- Improve performance of content checksuming on `sources:` by replacing md5 with [XXH3](https://xxhash.com/) which is much faster. This is a soft breaking change because checksums will be invalidated when upgrading to this release ([#1325](https://github.com/go-task/task/issues/1325) by [@ReillyBrogan](https://github.com/ReillyBrogan)). +- Prep work for Remote Taskfiles (#1316 by @pd93). +- Added the [Remote Taskfiles experiment](https://taskfile.dev/experiments/remote-taskfiles) as a draft (#1152, #1317 by @pd93). +- Improve performance of content checksuming on `sources:` by replacing md5 with [XXH3](https://xxhash.com/) which is much faster. This is a soft breaking change because checksums will be invalidated when upgrading to this release (#1325 by @ReillyBrogan). ## v3.29.1 - 2023-08-26 -- Update to Go 1.21 (bump minimum version to 1.20) ([#1302](https://github.com/go-task/task/issues/1302) by [@pd93](https://github.com/pd93)) -- Fix a missing a line break on log when using `--watch` mode ([#1285](https://github.com/go-task/task/issues/1285), [#1297](https://github.com/go-task/task/issues/1297) by [@FilipSolich](https://github.com/FilipSolich)). -- Fix `defer` on JSON Schema ([#1288](https://github.com/go-task/task/issues/1288) by [@calvinmclean](https://github.com/calvinmclean) and [@andreynering](https://github.com/andreynering)). -- Fix bug in usage of special variables like `{{.USER_WORKING_DIR}}` in combination with `includes` ([#1046](https://github.com/go-task/task/issues/1046), [#1205](https://github.com/go-task/task/issues/1205), [#1250](https://github.com/go-task/task/issues/1250), [#1293](https://github.com/go-task/task/issues/1293), [#1312](https://github.com/go-task/task/issues/1312), [#1274](https://github.com/go-task/task/issues/1274) by [@andarto](https://github.com/andarto), [#1309](https://github.com/go-task/task/issues/1309) by [@andreynering](https://github.com/andreynering)). -- Fix bug on `--status` flag. Running this flag should not have side-effects: it should not update the checksum on `.task`, only report its status ([#1305](https://github.com/go-task/task/issues/1305), [#1307](https://github.com/go-task/task/issues/1307) by [@visciang](https://github.com/visciang), [#1313](https://github.com/go-task/task/issues/1313) by [@andreynering](https://github.com/andreynering)). +- Update to Go 1.21 (bump minimum version to 1.20) (#1302 by @pd93) +- Fix a missing a line break on log when using `--watch` mode (#1285, #1297 by @FilipSolich). +- Fix `defer` on JSON Schema (#1288 by @calvinmclean and @andreynering). +- Fix bug in usage of special variables like `{{.USER_WORKING_DIR}}` in combination with `includes` (#1046, #1205, #1250, #1293, #1312, #1274 by @andarto, #1309 by @andreynering). +- Fix bug on `--status` flag. Running this flag should not have side-effects: it should not update the checksum on `.task`, only report its status (#1305, + + # 1307 by @visciang, #1313 by @andreynering). ## v3.28.0 - 2023-07-24 -- Added the ability to [loop over commands and tasks](https://taskfile.dev/usage/#looping-over-values) using `for` ([#82](https://github.com/go-task/task/issues/82), [#1220](https://github.com/go-task/task/issues/1220) by [@pd93](https://github.com/pd93)). -- Fixed variable propagation in multi-level includes ([#778](https://github.com/go-task/task/issues/778), [#996](https://github.com/go-task/task/issues/996), [#1256](https://github.com/go-task/task/issues/1256) by [@hudclark](https://github.com/hudclark)). -- Fixed a bug where the `--exit-code` code flag was not returning the correct exit code when calling commands indirectly ([#1266](https://github.com/go-task/task/issues/1266), [#1270](https://github.com/go-task/task/issues/1270) by [@pd93](https://github.com/pd93)). -- Fixed a `nil` panic when a dependency was commented out or left empty ([#1263](https://github.com/go-task/task/issues/1263) by [@neomantra](https://github.com/neomantra)). +- Added the ability to [loop over commands and tasks](https://taskfile.dev/usage/#looping-over-values) using `for` (#82, #1220 by @pd93). +- Fixed variable propagation in multi-level includes (#778, #996, #1256 by @hudclark). +- Fixed a bug where the `--exit-code` code flag was not returning the correct exit code when calling commands indirectly (#1266, #1270 by @pd93). +- Fixed a `nil` panic when a dependency was commented out or left empty (#1263 by @neomantra). ## v3.27.1 - 2023-06-30 -- Fix panic when a `.env` directory (not file) is present on current directory ([#1244](https://github.com/go-task/task/issues/1244), [#1245](https://github.com/go-task/task/issues/1245) by [@pd93](https://github.com/pd93)). +- Fix panic when a `.env` directory (not file) is present on current directory (#1244, #1245 by @pd93). ## v3.27.0 - 2023-06-29 -- Allow Taskfiles starting with lowercase characters ([#947](https://github.com/go-task/task/issues/947), [#1221](https://github.com/go-task/task/issues/1221) by [@pd93](https://github.com/pd93)). +- Allow Taskfiles starting with lowercase characters (#947, #1221 by @pd93). - e.g. `taskfile.yml`, `taskfile.yaml`, `taskfile.dist.yml` & `taskfile.dist.yaml` -- Bug fixes were made to the [npm installation method](https://taskfile.dev/installation/#npm). ([#1190](https://github.com/go-task/task/issues/1190), by [@sounisi5011](https://github.com/sounisi5011)). -- Added the [gentle force experiment](https://taskfile.dev/experiments/gentle-force) as a draft ([#1200](https://github.com/go-task/task/issues/1200), [#1216](https://github.com/go-task/task/issues/1216) by [@pd93](https://github.com/pd93)). -- Added an `--experiments` flag to allow you to see which experiments are enabled ([#1242](https://github.com/go-task/task/issues/1242) by [@pd93](https://github.com/pd93)). -- Added ability to specify which variables are required in a task ([#1203](https://github.com/go-task/task/issues/1203), [#1204](https://github.com/go-task/task/issues/1204) by [@benc](https://github.com/benc)-uk). +- Bug fixes were made to the [npm installation method](https://taskfile.dev/installation/#npm). (#1190, by @sounisi5011). +- Added the [gentle force experiment](https://taskfile.dev/experiments/gentle-force) as a draft (#1200, #1216 by @pd93). +- Added an `--experiments` flag to allow you to see which experiments are enabled (#1242 by @pd93). +- Added ability to specify which variables are required in a task (#1203, #1204 by @benc-uk). ## v3.26.0 - 2023-06-10 -- Only rewrite checksum files in `.task` if the checksum has changed ([#1185](https://github.com/go-task/task/issues/1185), [#1194](https://github.com/go-task/task/issues/1194) by [@deviantintegral](https://github.com/deviantintegral)). -- Added [experiments documentation](https://taskfile.dev/experiments) to the website ([#1198](https://github.com/go-task/task/issues/1198) by [@pd93](https://github.com/pd93)). -- Deprecated `version: 2` schema. This will be removed in the next major release ([#1197](https://github.com/go-task/task/issues/1197), [#1198](https://github.com/go-task/task/issues/1198), [#1199](https://github.com/go-task/task/issues/1199) by [@pd93](https://github.com/pd93)). -- Added a new `prompt:` prop to set a warning prompt to be shown before running a potential dangurous task ([#100](https://github.com/go-task/task/issues/100), [#1163](https://github.com/go-task/task/issues/1163) by [@MaxCheetham](https://github.com/MaxCheetham), [Documentation](https://taskfile.dev/usage/#warning-prompts)). -- Added support for single command task syntax. With this change, it's now possible to declare just `cmd:` in a task, avoiding the more complex `cmds: []` when you have only a single command for that task ([#1130](https://github.com/go-task/task/issues/1130), [#1131](https://github.com/go-task/task/issues/1131) by [@timdp](https://github.com/timdp)). +- Only rewrite checksum files in `.task` if the checksum has changed (#1185, + + # 1194 by @deviantintegral). +- Added [experiments documentation](https://taskfile.dev/experiments) to the website (#1198 by @pd93). +- Deprecated `version: 2` schema. This will be removed in the next major release (#1197, #1198, #1199 by @pd93). +- Added a new `prompt:` prop to set a warning prompt to be shown before running a potential dangurous task (#100, #1163 by @MaxCheetham, [Documentation](https://taskfile.dev/usage/#warning-prompts)). +- Added support for single command task syntax. With this change, it's now possible to declare just `cmd:` in a task, avoiding the more complex `cmds: []` when you have only a single command for that task (#1130, #1131 by @timdp). ## v3.25.0 - 2023-05-22 -- Support `silent:` when calling another tasks ([#680](https://github.com/go-task/task/issues/680), [#1142](https://github.com/go-task/task/issues/1142) by [@danquah](https://github.com/danquah)). -- Improve PowerShell completion script ([#1168](https://github.com/go-task/task/issues/1168) by [@trim21](https://github.com/trim21)). -- Add more languages to the website menu and show translation progress percentage ([#1173](https://github.com/go-task/task/issues/1173) by [@misitebao](https://github.com/misitebao)). -- Starting on this release, official binaries for FreeBSD will be available to download ([#1068](https://github.com/go-task/task/issues/1068) by [@andreynering](https://github.com/andreynering)). -- Fix some errors being unintendedly supressed ([#1134](https://github.com/go-task/task/issues/1134) by [@clintmod](https://github.com/clintmod)). -- Fix a nil pointer error when `version` is omitted from a Taskfile ([#1148](https://github.com/go-task/task/issues/1148), [#1149](https://github.com/go-task/task/issues/1149) by [@pd93](https://github.com/pd93)). -- Fix duplicate error message when a task does not exists ([#1141](https://github.com/go-task/task/issues/1141), [#1144](https://github.com/go-task/task/issues/1144) by [@pd93](https://github.com/pd93)). +- Support `silent:` when calling another tasks (#680, #1142 by @danquah). +- Improve PowerShell completion script (#1168 by @trim21). +- Add more languages to the website menu and show translation progress percentage (#1173 by @misitebao). +- Starting on this release, official binaries for FreeBSD will be available to download (#1068 by @andreynering). +- Fix some errors being unintendedly supressed (#1134 by @clintmod). +- Fix a nil pointer error when `version` is omitted from a Taskfile (#1148, + + # 1149 by @pd93). +- Fix duplicate error message when a task does not exists (#1141, #1144 by @pd93). ## v3.24.0 - 2023-04-15 -- Fix Fish shell completion for tasks with aliases ([#1113](https://github.com/go-task/task/issues/1113) by [@patricksjackson](https://github.com/patricksjackson)). -- The default branch was renamed from `master` to `main` ([#1049](https://github.com/go-task/task/issues/1049), [#1048](https://github.com/go-task/task/issues/1048) by [@pd93](https://github.com/pd93)). -- Fix bug where "up-to-date" logs were not being omitted for silent tasks ([#546](https://github.com/go-task/task/issues/546), [#1107](https://github.com/go-task/task/issues/1107) by [@danquah](https://github.com/danquah)). -- Add `.hg` (Mercurial) to the list of ignored directories when using `--watch` ([#1098](https://github.com/go-task/task/issues/1098) by [@misery](https://github.com/misery)). -- More improvements to the release tool ([#1096](https://github.com/go-task/task/issues/1096) by [@pd93](https://github.com/pd93)). -- Enforce [gofumpt](https://github.com/mvdan/gofumpt) linter ([#1099](https://github.com/go-task/task/issues/1099) by [@pd93](https://github.com/pd93)) -- Add `--sort` flag for use with `--list` and `--list-all` ([#946](https://github.com/go-task/task/issues/946), [#1105](https://github.com/go-task/task/issues/1105) by [@pd93](https://github.com/pd93)). -- Task now has [custom exit codes](https://taskfile.dev/api/#exit-codes) depending on the error ([#1114](https://github.com/go-task/task/issues/1114) by [@pd93](https://github.com/pd93)). +- Fix Fish shell completion for tasks with aliases (#1113 by @patricksjackson). +- The default branch was renamed from `master` to `main` (#1049, #1048 by @pd93). +- Fix bug where "up-to-date" logs were not being omitted for silent tasks (#546, + + # 1107 by @danquah). +- Add `.hg` (Mercurial) to the list of ignored directories when using `--watch` (#1098 by @misery). +- More improvements to the release tool (#1096 by @pd93). +- Enforce [gofumpt](https://github.com/mvdan/gofumpt) linter (#1099 by @pd93) +- Add `--sort` flag for use with `--list` and `--list-all` (#946, #1105 by @pd93). +- Task now has [custom exit codes](https://taskfile.dev/api/#exit-codes) depending on the error (#1114 by @pd93). ## v3.23.0 - 2023-03-26 -Task now has an [official extension for Visual Studio Code](https://marketplace.visualstudio.com/items?itemName=task.vscode-task) contributed by [@pd93](https://github.com/pd93)! :tada: The extension is maintained in a [new repository](https://github.com/go-task/vscode-task) under the `go-task` organization. We're looking to gather feedback from the community so please give it a go and let us know what you think via a [discussion](https://github.com/go-task/vscode-task/discussions), [issue](https://github.com/go-task/vscode-task/issues) or on our [Discord](https://discord.gg/6TY36E39UK)! +Task now has an [official extension for Visual Studio Code](https://marketplace.visualstudio.com/items?itemName=task.vscode-task) contributed by @pd93! :tada: The extension is maintained in a [new repository](https://github.com/go-task/vscode-task) under the `go-task` organization. We're looking to gather feedback from the community so please give it a go and let us know what you think via a [discussion](https://github.com/go-task/vscode-task/discussions), [issue](https://github.com/go-task/vscode-task/issues) or on our [Discord](https://discord.gg/6TY36E39UK)! > **NOTE:** The extension _requires_ v3.23.0 to be installed in order to work. -- The website was integrated with [Crowdin](https://crowdin.com/project/taskfile) to allow the community to contribute with translations! [Chinese](https://taskfile.dev/zh-Hans/) is the first language available ([#1057](https://github.com/go-task/task/issues/1057), [#1058](https://github.com/go-task/task/issues/1058) by [@misitebao](https://github.com/misitebao)). -- Added task location data to the `--json` flag output ([#1056](https://github.com/go-task/task/issues/1056) by [@pd93](https://github.com/pd93)) -- Change the name of the file generated by `task --init` from `Taskfile.yaml` to `Taskfile.yml` ([#1062](https://github.com/go-task/task/issues/1062) by [@misitebao](https://github.com/misitebao)). -- Added new `splitArgs` template function (`{{splitArgs "foo bar 'foo bar baz'"}}`) to ensure string is split as arguments ([#1040](https://github.com/go-task/task/issues/1040), [#1059](https://github.com/go-task/task/issues/1059) by [@dhanusaputra](https://github.com/dhanusaputra)). -- Fix the value of `{{.CHECKSUM}}` variable in status ([#1076](https://github.com/go-task/task/issues/1076), [#1080](https://github.com/go-task/task/issues/1080) by [@pd93](https://github.com/pd93)). -- Fixed deep copy implementation ([#1072](https://github.com/go-task/task/issues/1072) by [@pd93](https://github.com/pd93)) -- Created a tool to assist with releases ([#1086](https://github.com/go-task/task/issues/1086) by [@pd93](https://github.com/pd93)). +- The website was integrated with [Crowdin](https://crowdin.com/project/taskfile) to allow the community to contribute with translations! [Chinese](https://taskfile.dev/zh-Hans/) is the first language available (#1057, #1058 by @misitebao). +- Added task location data to the `--json` flag output (#1056 by @pd93) +- Change the name of the file generated by `task --init` from `Taskfile.yaml` to `Taskfile.yml` (#1062 by @misitebao). +- Added new `splitArgs` template function (`{{splitArgs "foo bar 'foo bar baz'"}}`) to ensure string is split as arguments (#1040, #1059 by @dhanusaputra). +- Fix the value of `{{.CHECKSUM}}` variable in status (#1076, #1080 by @pd93). +- Fixed deep copy implementation (#1072 by @pd93) +- Created a tool to assist with releases (#1086 by @pd93). ## v3.22.0 - 2023-03-10 -- Add a brand new `--global` (`-g`) flag that will run a Taskfile from your `$HOME` directory. This is useful to have automation that you can run from anywhere in your system! ([Documentation](https://taskfile.dev/usage/#running-a-global-taskfile), [#1029](https://github.com/go-task/task/issues/1029) by [@andreynering](https://github.com/andreynering)). -- Add ability to set `error_only: true` on the `group` output mode. This will instruct Task to only print a command output if it returned with a non-zero exit code ([#664](https://github.com/go-task/task/issues/664), [#1022](https://github.com/go-task/task/issues/1022) by [@jaedle](https://github.com/jaedle)). -- Fixed bug where `.task/checksum` file was sometimes not being created when task also declares a `status:` ([#840](https://github.com/go-task/task/issues/840), [#1035](https://github.com/go-task/task/issues/1035) by [@harelwa](https://github.com/harelwa), [#1037](https://github.com/go-task/task/issues/1037) by [@pd93](https://github.com/pd93)). -- Refactored and decoupled fingerprinting from the main Task executor ([#1039](https://github.com/go-task/task/issues/1039) by [@pd93](https://github.com/pd93)). -- Fixed deadlock issue when using `run: once` ([#715](https://github.com/go-task/task/issues/715), [#1025](https://github.com/go-task/task/issues/1025) by [@theunrepentantgeek](https://github.com/theunrepentantgeek)). +- Add a brand new `--global` (`-g`) flag that will run a Taskfile from your `$HOME` directory. This is useful to have automation that you can run from anywhere in your system! ([Documentation](https://taskfile.dev/usage/#running-a-global-taskfile), #1029 by @andreynering). +- Add ability to set `error_only: true` on the `group` output mode. This will instruct Task to only print a command output if it returned with a non-zero exit code (#664, #1022 by @jaedle). +- Fixed bug where `.task/checksum` file was sometimes not being created when task also declares a `status:` (#840, #1035 by @harelwa, #1037 by @pd93). +- Refactored and decoupled fingerprinting from the main Task executor (#1039 by @pd93). +- Fixed deadlock issue when using `run: once` (#715, #1025 by @theunrepentantgeek). ## v3.21.0 - 2023-02-22 -- Added new `TASK_VERSION` special variable ([#990](https://github.com/go-task/task/issues/990), [#1014](https://github.com/go-task/task/issues/1014) by [@ja1code](https://github.com/ja1code)). -- Fixed a bug where tasks were sometimes incorrectly marked as internal ([#1007](https://github.com/go-task/task/issues/1007) by [@pd93](https://github.com/pd93)). -- Update to Go 1.20 (bump minimum version to 1.19) ([#1010](https://github.com/go-task/task/issues/1010) by [@pd93](https://github.com/pd93)) -- Added environment variable `FORCE_COLOR` support to force color output. Usefull for environments without TTY ([#1003](https://github.com/go-task/task/issues/1003) by [@automation](https://github.com/automation)-stack) +- Added new `TASK_VERSION` special variable (#990, #1014 by @ja1code). +- Fixed a bug where tasks were sometimes incorrectly marked as internal (#1007 by @pd93). +- Update to Go 1.20 (bump minimum version to 1.19) (#1010 by @pd93) +- Added environment variable `FORCE_COLOR` support to force color output. Usefull for environments without TTY (#1003 by @automation-stack) ## v3.20.0 - 2023-01-14 -- Improve behavior and performance of status checking when using the `timestamp` mode ([#976](https://github.com/go-task/task/issues/976), [#977](https://github.com/go-task/task/issues/977) by [@aminya](https://github.com/aminya)). -- Performance optimizations were made for large Taskfiles ([#982](https://github.com/go-task/task/issues/982) by [@pd93](https://github.com/pd93)). -- Add ability to configure options for the [`set`](https://www.gnu.org/software/bash/manual/html_node/The-Set-Builtin.html) and [`shopt`](https://www.gnu.org/software/bash/manual/html_node/The-Shopt-Builtin.html) builtins ([#908](https://github.com/go-task/task/issues/908), [#929](https://github.com/go-task/task/issues/929) by [@pd93](https://github.com/pd93), [Documentation](http://taskfile.dev/usage/#set-and-shopt)). -- Add new `platforms:` attribute to `task` and `cmd`, so it's now possible to choose in which platforms that given task or command will be run on. Possible values are operating system (GOOS), architecture (GOARCH) or a combination of the two. Example: `platforms: [linux]`, `platforms: [amd64]` or `platforms: [linux/amd64]`. Other platforms will be skipped ([#978](https://github.com/go-task/task/issues/978), [#980](https://github.com/go-task/task/issues/980) by [@leaanthony](https://github.com/leaanthony)). +- Improve behavior and performance of status checking when using the `timestamp` mode (#976, #977 by @aminya). +- Performance optimizations were made for large Taskfiles (#982 by @pd93). +- Add ability to configure options for the [`set`](https://www.gnu.org/software/bash/manual/html_node/The-Set-Builtin.html) and [`shopt`](https://www.gnu.org/software/bash/manual/html_node/The-Shopt-Builtin.html) builtins (#908, #929 by @pd93, [Documentation](http://taskfile.dev/usage/#set-and-shopt)). +- Add new `platforms:` attribute to `task` and `cmd`, so it's now possible to choose in which platforms that given task or command will be run on. Possible values are operating system (GOOS), architecture (GOARCH) or a combination of the two. Example: `platforms: [linux]`, `platforms: [amd64]` or `platforms: [linux/amd64]`. Other platforms will be skipped (#978, #980 by @leaanthony). ## v3.19.1 - 2022-12-31 -- Small bug fix: closing `Taskfile.yml` once we're done reading it ([#963](https://github.com/go-task/task/issues/963), [#964](https://github.com/go-task/task/issues/964) by [@HeCorr](https://github.com/HeCorr)). -- Fixes a bug in v2 that caused a panic when using a `Taskfile_{{OS}}.yml` file ([#961](https://github.com/go-task/task/issues/961), [#971](https://github.com/go-task/task/issues/971) by [@pd93](https://github.com/pd93)). -- Fixed a bug where watch intervals set in the Taskfile were not being respected ([#969](https://github.com/go-task/task/issues/969), [#970](https://github.com/go-task/task/issues/970) by [@pd93](https://github.com/pd93)) -- Add `--json` flag (alias `-j`) with the intent to improve support for code editors and add room to other possible integrations. This is basic for now, but we plan to add more info in the near future ([#936](https://github.com/go-task/task/issues/936) by [@davidalpert](https://github.com/davidalpert), [#764](https://github.com/go-task/task/issues/764)). +- Small bug fix: closing `Taskfile.yml` once we're done reading it (#963, #964 by @HeCorr). +- Fixes a bug in v2 that caused a panic when using a `Taskfile_{{OS}}.yml` file (#961, #971 by @pd93). +- Fixed a bug where watch intervals set in the Taskfile were not being respected (#969, #970 by @pd93) +- Add `--json` flag (alias `-j`) with the intent to improve support for code editors and add room to other possible integrations. This is basic for now, but we plan to add more info in the near future (#936 by @davidalpert, #764). ## v3.19.0 - 2022-12-05 -- Installation via npm now supports [pnpm](https://pnpm.io/) as well ([go-task/go-npm\[#2\](https://github.com/go-task/task/issues/2)](https://github.com/go-task/go-npm/issues/2), [go-task/go-npm\[#3\](https://github.com/go-task/task/issues/3)](https://github.com/go-task/go-npm/pull/3)). -- It's now possible to run Taskfiles from subdirectories! A new `USER_WORKING_DIR` special variable was added to add even more flexibility for monorepos ([#289](https://github.com/go-task/task/issues/289), [#920](https://github.com/go-task/task/issues/920)). -- Add task-level `dotenv` support ([#389](https://github.com/go-task/task/issues/389), [#904](https://github.com/go-task/task/issues/904)). -- It's now possible to use global level variables on `includes` ([#942](https://github.com/go-task/task/issues/942), [#943](https://github.com/go-task/task/issues/943)). -- The website got a brand new [translation to Chinese](https://task-zh.readthedocs.io/zh_CN/latest/) by [\[@DeronW\](https://github.com/DeronW)](https://github.com/DeronW). Thanks! +- Installation via npm now supports [pnpm](https://pnpm.io/) as well ([go-task/go-npm#2](https://github.com/go-task/go-npm/issues/2), [go-task/go-npm#3](https://github.com/go-task/go-npm/pull/3)). +- It's now possible to run Taskfiles from subdirectories! A new `USER_WORKING_DIR` special variable was added to add even more flexibility for monorepos (#289, #920). +- Add task-level `dotenv` support (#389, #904). +- It's now possible to use global level variables on `includes` (#942, #943). +- The website got a brand new [translation to Chinese](https://task-zh.readthedocs.io/zh_CN/latest/) by [@DeronW](https://github.com/DeronW). Thanks! ## v3.18.0 - 2022-11-12 -- Show aliases on `task --list --silent` (`task --ls`). This means that aliases will be completed by the completion scripts ([#919](https://github.com/go-task/task/issues/919)). -- Tasks in the root Taskfile will now be displayed first in `--list`/`--list-all` output ([#806](https://github.com/go-task/task/issues/806), [#890](https://github.com/go-task/task/issues/890)). -- It's now possible to call a `default` task in an included Taskfile by using just the namespace. For example: `docs:default` is now automatically aliased to `docs` ([#661](https://github.com/go-task/task/issues/661), [#815](https://github.com/go-task/task/issues/815)). +- Show aliases on `task --list --silent` (`task --ls`). This means that aliases will be completed by the completion scripts (#919). +- Tasks in the root Taskfile will now be displayed first in `--list`/`--list-all` output (#806, #890). +- It's now possible to call a `default` task in an included Taskfile by using just the namespace. For example: `docs:default` is now automatically aliased to `docs` (#661, #815). ## v3.17.0 - 2022-10-14 -- Add a "Did you mean ...?" suggestion when a task does not exits another one with a similar name is found ([#867](https://github.com/go-task/task/issues/867), [#880](https://github.com/go-task/task/issues/880)). -- Now YAML parse errors will print which Taskfile failed to parse ([#885](https://github.com/go-task/task/issues/885), [#887](https://github.com/go-task/task/issues/887)). -- Add ability to set `aliases` for tasks and namespaces ([#268](https://github.com/go-task/task/issues/268), [#340](https://github.com/go-task/task/issues/340), [#879](https://github.com/go-task/task/issues/879)). -- Improvements to Fish shell completion ([#897](https://github.com/go-task/task/issues/897)). -- Added ability to set a different watch interval by setting `interval: '500ms'` or using the `--interval=500ms` flag ([#813](https://github.com/go-task/task/issues/813), [#865](https://github.com/go-task/task/issues/865)). -- Add colored output to `--list`, `--list-all` and `--summary` flags ([#845](https://github.com/go-task/task/issues/845), [#874](https://github.com/go-task/task/issues/874)). -- Fix unexpected behavior where `label:` was being shown instead of the task name on `--list` ([#603](https://github.com/go-task/task/issues/603), [#877](https://github.com/go-task/task/issues/877)). +- Add a "Did you mean ...?" suggestion when a task does not exits another one with a similar name is found (#867, #880). +- Now YAML parse errors will print which Taskfile failed to parse (#885, #887). +- Add ability to set `aliases` for tasks and namespaces (#268, #340, #879). +- Improvements to Fish shell completion (#897). +- Added ability to set a different watch interval by setting `interval: '500ms'` or using the `--interval=500ms` flag (#813, #865). +- Add colored output to `--list`, `--list-all` and `--summary` flags (#845, + + # 874). +- Fix unexpected behavior where `label:` was being shown instead of the task name on `--list` (#603, #877). ## v3.16.0 - 2022-09-29 -- Add `npm` as new installation method: `npm i -g [@go](https://github.com/go)-task/cli` ([#870](https://github.com/go-task/task/issues/870), [#871](https://github.com/go-task/task/issues/871), [npm package](https://www.npmjs.com/package/[@go](https://github.com/go)-task/cli)). -- Add support to marking tasks and includes as internal, which will hide them from `--list` and `--list-all` ([#818](https://github.com/go-task/task/issues/818)). +- Add `npm` as new installation method: `npm i -g @go-task/cli` (#870, #871, [npm package](https://www.npmjs.com/package/@go-task/cli)). +- Add support to marking tasks and includes as internal, which will hide them from `--list` and `--list-all` (#818). ## v3.15.2 - 2022-09-08 -- Fix error when using variable in `env:` introduced in the previous release ([#858](https://github.com/go-task/task/issues/858), [#866](https://github.com/go-task/task/issues/866)). -- Fix handling of `CLI_ARGS` (`--`) in Bash completion ([#863](https://github.com/go-task/task/issues/863)). -- On zsh completion, add ability to replace `--list-all` with `--list` as already possible on the Bash completion ([#861](https://github.com/go-task/task/issues/861)). +- Fix error when using variable in `env:` introduced in the previous release (#858, #866). +- Fix handling of `CLI_ARGS` (`--`) in Bash completion (#863). +- On zsh completion, add ability to replace `--list-all` with `--list` as already possible on the Bash completion (#861). ## v3.15.0 - 2022-09-03 -- Add new special variables `ROOT_DIR` and `TASKFILE_DIR`. This was a highly requested feature ([#215](https://github.com/go-task/task/issues/215), [#857](https://github.com/go-task/task/issues/857), [Documentation](https://taskfile.dev/api/#special-variables)). -- Follow symlinks on `sources` ([#826](https://github.com/go-task/task/issues/826), [#831](https://github.com/go-task/task/issues/831)). -- Improvements and fixes to Bash completion ([#835](https://github.com/go-task/task/issues/835), [#844](https://github.com/go-task/task/issues/844)). +- Add new special variables `ROOT_DIR` and `TASKFILE_DIR`. This was a highly requested feature (#215, #857, [Documentation](https://taskfile.dev/api/#special-variables)). +- Follow symlinks on `sources` (#826, #831). +- Improvements and fixes to Bash completion (#835, #844). ## v3.14.1 - 2022-08-03 -- Always resolve relative include paths relative to the including Taskfile ([#822](https://github.com/go-task/task/issues/822), [#823](https://github.com/go-task/task/issues/823)). -- Fix ZSH and PowerShell completions to consider all tasks instead of just the public ones (those with descriptions) ([#803](https://github.com/go-task/task/issues/803)). +- Always resolve relative include paths relative to the including Taskfile (#822, #823). +- Fix ZSH and PowerShell completions to consider all tasks instead of just the public ones (those with descriptions) (#803). ## v3.14.0 - 2022-07-08 - Add ability to override the `.task` directory location with the `TASK_TEMP_DIR` environment variable. -- Allow to override Task colors using environment variables: `TASK_COLOR_RESET`, `TASK_COLOR_BLUE`, `TASK_COLOR_GREEN`, `TASK_COLOR_CYAN`, `TASK_COLOR_YELLOW`, `TASK_COLOR_MAGENTA` and `TASK_COLOR_RED` ([#568](https://github.com/go-task/task/issues/568), [#792](https://github.com/go-task/task/issues/792)). -- Fixed bug when using the `output: group` mode where STDOUT and STDERR were being print in separated blocks instead of in the right order ([#779](https://github.com/go-task/task/issues/779)). -- Starting on this release, ARM architecture binaries are been released to Snap as well ([#795](https://github.com/go-task/task/issues/795)). +- Allow to override Task colors using environment variables: `TASK_COLOR_RESET`, `TASK_COLOR_BLUE`, `TASK_COLOR_GREEN`, `TASK_COLOR_CYAN`, `TASK_COLOR_YELLOW`, `TASK_COLOR_MAGENTA` and `TASK_COLOR_RED` (#568, #792). +- Fixed bug when using the `output: group` mode where STDOUT and STDERR were being print in separated blocks instead of in the right order (#779). +- Starting on this release, ARM architecture binaries are been released to Snap as well (#795). - i386 binaries won't be available anymore on Snap because Ubuntu removed the support for this architecture. -- Upgrade mvdan.cc/sh, which fixes a bug with associative arrays ([#785](https://github.com/go-task/task/issues/785), [mvdan/sh\[#884\](https://github.com/go-task/task/issues/884)](https://github.com/mvdan/sh/issues/884), [mvdan/sh\[#893\](https://github.com/go-task/task/issues/893)](https://github.com/mvdan/sh/pull/893)). +- Upgrade mvdan.cc/sh, which fixes a bug with associative arrays (#785, [mvdan/sh#884](https://github.com/mvdan/sh/issues/884), [mvdan/sh#893](https://github.com/mvdan/sh/pull/893)). ## v3.13.0 - 2022-06-13 -- Added `-n` as an alias to `--dry` ([#776](https://github.com/go-task/task/issues/776), [#777](https://github.com/go-task/task/issues/777)). -- Fix behavior of interrupt (SIGINT, SIGTERM) signals. Task will now give time for the processes running to do cleanup work ([#458](https://github.com/go-task/task/issues/458), [#479](https://github.com/go-task/task/issues/479), [#728](https://github.com/go-task/task/issues/728), [#769](https://github.com/go-task/task/issues/769)). -- Add new `--exit-code` (`-x`) flag that will pass-through the exit form the command being ran ([#755](https://github.com/go-task/task/issues/755)). +- Added `-n` as an alias to `--dry` (#776, #777). +- Fix behavior of interrupt (SIGINT, SIGTERM) signals. Task will now give time for the processes running to do cleanup work (#458, #479, #728, #769). +- Add new `--exit-code` (`-x`) flag that will pass-through the exit form the command being ran (#755). ## v3.12.1 - 2022-05-10 -- Fixed bug where, on Windows, variables were ending with `\r` because we were only removing the final `\n` but not `\r\n` ([#717](https://github.com/go-task/task/issues/717)). +- Fixed bug where, on Windows, variables were ending with `\r` because we were only removing the final `\n` but not `\r\n` (#717). ## v3.12.0 - 2022-03-31 -- The `--list` and `--list-all` flags can now be combined with the `--silent` flag to print the task names only, without their description ([#691](https://github.com/go-task/task/issues/691)). -- Added support for multi-level inclusion of Taskfiles. This means that included Taskfiles can also include other Taskfiles. Before this was limited to one level ([#390](https://github.com/go-task/task/issues/390), [#623](https://github.com/go-task/task/issues/623), [#656](https://github.com/go-task/task/issues/656)). -- Add ability to specify vars when including a Taskfile. [Check out the documentation](https://taskfile.dev/#/usage?id=vars-of-included-taskfiles) for more information ([#677](https://github.com/go-task/task/issues/677)). +- The `--list` and `--list-all` flags can now be combined with the `--silent` flag to print the task names only, without their description (#691). +- Added support for multi-level inclusion of Taskfiles. This means that included Taskfiles can also include other Taskfiles. Before this was limited to one level (#390, #623, #656). +- Add ability to specify vars when including a Taskfile. [Check out the documentation](https://taskfile.dev/#/usage?id=vars-of-included-taskfiles) for more information (#677). ## v3.11.0 - 2022-02-19 -- Task now supports printing begin and end messages when using the `group` output mode, useful for grouping tasks in CI systems. [Check out the documentation](http://taskfile.dev/#/usage?id=output-syntax) for more information ([#647](https://github.com/go-task/task/issues/647), [#651](https://github.com/go-task/task/issues/651)). -- Add `Taskfile.dist.yml` and `Taskfile.dist.yaml` to the supported file name list. [Check out the documentation](https://taskfile.dev/#/usage?id=supported-file-names) for more information ([#498](https://github.com/go-task/task/issues/498), [#666](https://github.com/go-task/task/issues/666)). +- Task now supports printing begin and end messages when using the `group` output mode, useful for grouping tasks in CI systems. [Check out the documentation](http://taskfile.dev/#/usage?id=output-syntax) for more information (#647, #651). +- Add `Taskfile.dist.yml` and `Taskfile.dist.yaml` to the supported file name list. [Check out the documentation](https://taskfile.dev/#/usage?id=supported-file-names) for more information (#498, #666). ## v3.10.0 - 2022-01-04 -- A new `--list-all` (alias `-a`) flag is now available. It's similar to the exiting `--list` (`-l`) but prints all tasks, even those without a description ([#383](https://github.com/go-task/task/issues/383), [#401](https://github.com/go-task/task/issues/401)). -- It's now possible to schedule cleanup commands to run once a task finishes with the `defer:` keyword ([Documentation](https://taskfile.dev/#/usage?id=doing-task-cleanup-with-defer), [#475](https://github.com/go-task/task/issues/475), [#626](https://github.com/go-task/task/issues/626)). -- Remove long deprecated and undocumented `$` variable prefix and `^` command prefix ([#642](https://github.com/go-task/task/issues/642), [#644](https://github.com/go-task/task/issues/644), [#645](https://github.com/go-task/task/issues/645)). -- Add support for `.yaml` extension (as an alternative to `.yml`). This was requested multiple times throughout the years. Enjoy! ([#183](https://github.com/go-task/task/issues/183), [#184](https://github.com/go-task/task/issues/184), [#369](https://github.com/go-task/task/issues/369), [#584](https://github.com/go-task/task/issues/584), [#621](https://github.com/go-task/task/issues/621)). -- Fixed error when computing a variable when the task directory do not exist yet ([#481](https://github.com/go-task/task/issues/481), [#579](https://github.com/go-task/task/issues/579)). +- A new `--list-all` (alias `-a`) flag is now available. It's similar to the exiting `--list` (`-l`) but prints all tasks, even those without a description (#383, #401). +- It's now possible to schedule cleanup commands to run once a task finishes with the `defer:` keyword ([Documentation](https://taskfile.dev/#/usage?id=doing-task-cleanup-with-defer), + + # 475, #626). +- Remove long deprecated and undocumented `$` variable prefix and `^` command prefix (#642, #644, #645). +- Add support for `.yaml` extension (as an alternative to `.yml`). This was requested multiple times throughout the years. Enjoy! (#183, #184, #369, #584, + + # 621). +- Fixed error when computing a variable when the task directory do not exist yet (#481, #579). ## v3.9.2 - 2021-12-02 -- Upgrade [mvdan/sh](https://github.com/mvdan/sh) which contains a fix a for a important regression on Windows ([#619](https://github.com/go-task/task/issues/619), [mvdan/sh\[#768\](https://github.com/go-task/task/issues/768)](https://github.com/mvdan/sh/issues/768), [mvdan/sh\[#769\](https://github.com/go-task/task/issues/769)](https://github.com/mvdan/sh/pull/769)). +- Upgrade [mvdan/sh](https://github.com/mvdan/sh) which contains a fix a for a important regression on Windows (#619, [mvdan/sh#768](https://github.com/mvdan/sh/issues/768), [mvdan/sh#769](https://github.com/mvdan/sh/pull/769)). ## v3.9.1 - 2021-11-28 -- Add logging in verbose mode for when a task starts and finishes ([#533](https://github.com/go-task/task/issues/533), [#588](https://github.com/go-task/task/issues/588)). -- Fix an issue with preconditions and context errors ([#597](https://github.com/go-task/task/issues/597), [#598](https://github.com/go-task/task/issues/598)). -- Quote each `{{.CLI_ARGS}}` argument to prevent one with spaces to become many ([#613](https://github.com/go-task/task/issues/613)). -- Fix nil pointer when `cmd:` was left empty ([#612](https://github.com/go-task/task/issues/612), [#614](https://github.com/go-task/task/issues/614)). +- Add logging in verbose mode for when a task starts and finishes (#533, #588). +- Fix an issue with preconditions and context errors (#597, #598). +- Quote each `{{.CLI_ARGS}}` argument to prevent one with spaces to become many (#613). +- Fix nil pointer when `cmd:` was left empty (#612, #614). - Upgrade [mvdan/sh](https://github.com/mvdan/sh) which contains two relevant fixes: - - Fix quote of empty strings in `shellQuote` ([#609](https://github.com/go-task/task/issues/609), [mvdan/sh\[#763\](https://github.com/go-task/task/issues/763)](https://github.com/mvdan/sh/issues/763)). - - Fix issue of wrong environment variable being picked when there's another very similar one ([#586](https://github.com/go-task/task/issues/586), [mvdan/sh\[#745\](https://github.com/go-task/task/issues/745)](https://github.com/mvdan/sh/pull/745)). -- Install shell completions automatically when installing via Homebrew ([#264](https://github.com/go-task/task/issues/264), [#592](https://github.com/go-task/task/issues/592), [go-task/homebrew-tap\[#2\](https://github.com/go-task/task/issues/2)](https://github.com/go-task/homebrew-tap/pull/2)). + - Fix quote of empty strings in `shellQuote` (#609, [mvdan/sh#763](https://github.com/mvdan/sh/issues/763)). + - Fix issue of wrong environment variable being picked when there's another very similar one (#586, [mvdan/sh#745](https://github.com/mvdan/sh/pull/745)). +- Install shell completions automatically when installing via Homebrew (#264, #592, [go-task/homebrew-tap#2](https://github.com/go-task/homebrew-tap/pull/2)). ## v3.9.0 - 2021-10-02 -- A new `shellQuote` function was added to the template system (`{{shellQuote "a string"}}`) to ensure a string is safe for use in shell ([mvdan/sh\[#727\](https://github.com/go-task/task/issues/727)](https://github.com/mvdan/sh/pull/727), [mvdan/sh\[#737\](https://github.com/go-task/task/issues/737)](https://github.com/mvdan/sh/pull/737), [Documentation](https://pkg.go.dev/mvdan.cc/sh/v3[@v3](https://github.com/v3).4.0/syntax#Quote)) +- A new `shellQuote` function was added to the template system (`{{shellQuote "a string"}}`) to ensure a string is safe for use in shell ([mvdan/sh#727](https://github.com/mvdan/sh/pull/727), [mvdan/sh#737](https://github.com/mvdan/sh/pull/737), [Documentation](https://pkg.go.dev/mvdan.cc/sh/v3@v3.4.0/syntax#Quote)) - In this version [mvdan.cc/sh](https://github.com/mvdan/sh) was upgraded with some small fixes and features - - The `read -p` flag is now supported ([#314](https://github.com/go-task/task/issues/314), [mvdan/sh\[#551\](https://github.com/go-task/task/issues/551)](https://github.com/mvdan/sh/issues/551), [mvdan/sh\[#772\](https://github.com/go-task/task/issues/772)](https://github.com/mvdan/sh/pull/722)) - - The `pwd -P` and `pwd -L` flags are now supported ([#553](https://github.com/go-task/task/issues/553), [mvdan/sh\[#724\](https://github.com/go-task/task/issues/724)](https://github.com/mvdan/sh/issues/724), [mvdan/sh\[#728\](https://github.com/go-task/task/issues/728)](https://github.com/mvdan/sh/pull/728)) - - The `$GID` environment variable is now correctly being set ([#561](https://github.com/go-task/task/issues/561), [mvdan/sh\[#723\](https://github.com/go-task/task/issues/723)](https://github.com/mvdan/sh/pull/723)) + - The `read -p` flag is now supported (#314, [mvdan/sh#551](https://github.com/mvdan/sh/issues/551), [mvdan/sh#772](https://github.com/mvdan/sh/pull/722)) + - The `pwd -P` and `pwd -L` flags are now supported (#553, [mvdan/sh#724](https://github.com/mvdan/sh/issues/724), [mvdan/sh#728](https://github.com/mvdan/sh/pull/728)) + - The `$GID` environment variable is now correctly being set (#561, [mvdan/sh#723](https://github.com/mvdan/sh/pull/723)) ## v3.8.0 - 2021-09-26 -- Add `interactive: true` setting to improve support for interactive CLI apps ([#217](https://github.com/go-task/task/issues/217), [#563](https://github.com/go-task/task/issues/563)). -- Fix some `nil` errors ([#534](https://github.com/go-task/task/issues/534), [#573](https://github.com/go-task/task/issues/573)). -- Add ability to declare an included Taskfile as optional ([#519](https://github.com/go-task/task/issues/519), [#552](https://github.com/go-task/task/issues/552)). -- Add support for including Taskfiles in the home directory by using `~` ([#539](https://github.com/go-task/task/issues/539), [#557](https://github.com/go-task/task/issues/557)). +- Add `interactive: true` setting to improve support for interactive CLI apps (#217, #563). +- Fix some `nil` errors (#534, #573). +- Add ability to declare an included Taskfile as optional (#519, #552). +- Add support for including Taskfiles in the home directory by using `~` (#539, #557). ## v3.7.3 - 2021-09-04 -- Add official support to Apple M1 ([#564](https://github.com/go-task/task/issues/564), [#567](https://github.com/go-task/task/issues/567)). +- Add official support to Apple M1 (#564, #567). - Our [official Homebrew tap](https://github.com/go-task/homebrew-tap) will support more platforms, including Apple M1 ## v3.7.0 - 2021-07-31 -- Add `run:` setting to control if tasks should run multiple times or not. Available options are `always` (the default), `when_changed` (if a variable modified the task) and `once` (run only once no matter what). This is a long time requested feature. Enjoy! ([#53](https://github.com/go-task/task/issues/53), [#359](https://github.com/go-task/task/issues/359)). +- Add `run:` setting to control if tasks should run multiple times or not. Available options are `always` (the default), `when_changed` (if a variable modified the task) and `once` (run only once no matter what). This is a long time requested feature. Enjoy! (#53, #359). ## v3.6.0 - 2021-07-10 -- Allow using both `sources:` and `status:` in the same task ([#411](https://github.com/go-task/task/issues/411), [#427](https://github.com/go-task/task/issues/427), [#477](https://github.com/go-task/task/issues/477)). -- Small optimization and bug fix: don't compute variables if not needed for `dotenv:` ([#517](https://github.com/go-task/task/issues/517)). +- Allow using both `sources:` and `status:` in the same task (#411, #427, #477). +- Small optimization and bug fix: don't compute variables if not needed for `dotenv:` (#517). ## v3.5.0 - 2021-07-04 -- Add support for interpolation in `dotenv:` ([#433](https://github.com/go-task/task/issues/433), [#434](https://github.com/go-task/task/issues/434), [#453](https://github.com/go-task/task/issues/453)). +- Add support for interpolation in `dotenv:` (#433, #434, #453). ## v3.4.3 - 2021-05-30 -- Add support for the `NO_COLOR` environment variable. ([#459](https://github.com/go-task/task/issues/459), [fatih/color\[#137\](https://github.com/go-task/task/issues/137)](https://github.com/fatih/color/pull/137)). -- Fix bug where sources were not considering the right directory in `--watch` mode ([#484](https://github.com/go-task/task/issues/484), [#485](https://github.com/go-task/task/issues/485)). +- Add support for the `NO_COLOR` environment variable. (#459, [fatih/color#137](https://github.com/fatih/color/pull/137)). +- Fix bug where sources were not considering the right directory in `--watch` mode (#484, #485). ## v3.4.2 - 2021-04-23 -- On watch, report which file failed to read ([#472](https://github.com/go-task/task/issues/472)). -- Do not try to catch SIGKILL signal, which are not actually possible ([#476](https://github.com/go-task/task/issues/476)). -- Improve version reporting when building Task from source using Go Modules ([#462](https://github.com/go-task/task/issues/462), [#473](https://github.com/go-task/task/issues/473)). +- On watch, report which file failed to read (#472). +- Do not try to catch SIGKILL signal, which are not actually possible (#476). +- Improve version reporting when building Task from source using Go Modules (#462, #473). ## v3.4.1 - 2021-04-17 -- Improve error reporting when parsing YAML: in some situations where you would just see an generic error, you'll now see the actual error with more detail: the YAML line the failed to parse, for example ([#467](https://github.com/go-task/task/issues/467)). -- A JSON Schema was published [here](https://json.schemastore.org/taskfile.json) and is automatically being used by some editors like Visual Studio Code ([#135](https://github.com/go-task/task/issues/135)). -- Print task name before the command in the log output ([#398](https://github.com/go-task/task/issues/398)). +- Improve error reporting when parsing YAML: in some situations where you would just see an generic error, you'll now see the actual error with more detail: the YAML line the failed to parse, for example (#467). +- A JSON Schema was published [here](https://json.schemastore.org/taskfile.json) and is automatically being used by some editors like Visual Studio Code (#135). +- Print task name before the command in the log output (#398). ## v3.3.0 - 2021-03-20 -- Add support for delegating CLI arguments to commands with `--` and a special `CLI_ARGS` variable ([#327](https://github.com/go-task/task/issues/327)). -- Add a `--concurrency` (alias `-C`) flag, to limit the number of tasks that run concurrently. This is useful for heavy workloads. ([#345](https://github.com/go-task/task/issues/345)). +- Add support for delegating CLI arguments to commands with `--` and a special `CLI_ARGS` variable (#327). +- Add a `--concurrency` (alias `-C`) flag, to limit the number of tasks that run concurrently. This is useful for heavy workloads. (#345). ## v3.2.2 - 2021-01-12 -- Improve performance of `--list` and `--summary` by skipping running shell variables for these flags ([#332](https://github.com/go-task/task/issues/332)). -- Fixed a bug where an environment in a Taskfile was not always overridable by the system environment ([#425](https://github.com/go-task/task/issues/425)). -- Fixed environment from .env files not being available as variables ([#379](https://github.com/go-task/task/issues/379)). -- The install script is now working for ARM platforms ([#428](https://github.com/go-task/task/issues/428)). +- Improve performance of `--list` and `--summary` by skipping running shell variables for these flags (#332). +- Fixed a bug where an environment in a Taskfile was not always overridable by the system environment (#425). +- Fixed environment from .env files not being available as variables (#379). +- The install script is now working for ARM platforms (#428). ## v3.2.1 - 2021-01-09 -- Fixed some bugs and regressions regarding dynamic variables and directories ([#426](https://github.com/go-task/task/issues/426)). +- Fixed some bugs and regressions regarding dynamic variables and directories (#426). - The [slim-sprig](https://github.com/go-task/slim-sprig) package was updated with the upstream [sprig](https://github.com/Masterminds/sprig). ## v3.2.0 - 2021-01-07 -- Fix the `.task` directory being created in the task directory instead of the Taskfile directory ([#247](https://github.com/go-task/task/issues/247)). -- Fix a bug where dynamic variables (those declared with `sh:`) were not running in the task directory when the task has a custom dir or it was in an included Taskfile ([#384](https://github.com/go-task/task/issues/384)). -- The watch feature (via the `--watch` flag) got a few different bug fixes and should be more stable now ([#423](https://github.com/go-task/task/issues/423), [#365](https://github.com/go-task/task/issues/365)). +- Fix the `.task` directory being created in the task directory instead of the Taskfile directory (#247). +- Fix a bug where dynamic variables (those declared with `sh:`) were not running in the task directory when the task has a custom dir or it was in an included Taskfile (#384). +- The watch feature (via the `--watch` flag) got a few different bug fixes and should be more stable now (#423, #365). ## v3.1.0 - 2021-01-03 -- Fix a bug when the checksum up-to-date resolution is used by a task with a custom `label:` attribute ([#412](https://github.com/go-task/task/issues/412)). -- Starting from this release, we're releasing official ARMv6 and ARM64 binaries for Linux ([#375](https://github.com/go-task/task/issues/375), [#418](https://github.com/go-task/task/issues/418)). -- Task now respects the order of declaration of included Taskfiles when evaluating variables declaring by them ([#393](https://github.com/go-task/task/issues/393)). -- `set -e` is now automatically set on every command. This was done to fix an issue where multiline string commands wouldn't really fail unless the sentence was in the last line ([#403](https://github.com/go-task/task/issues/403)). +- Fix a bug when the checksum up-to-date resolution is used by a task with a custom `label:` attribute (#412). +- Starting from this release, we're releasing official ARMv6 and ARM64 binaries for Linux (#375, #418). +- Task now respects the order of declaration of included Taskfiles when evaluating variables declaring by them (#393). +- `set -e` is now automatically set on every command. This was done to fix an issue where multiline string commands wouldn't really fail unless the sentence was in the last line (#403). ## v3.0.1 - 2020-12-26 -- Allow use as a library by moving the required packages out of the `internal` directory ([#358](https://github.com/go-task/task/issues/358)). -- Do not error if a specified dotenv file does not exist ([#378](https://github.com/go-task/task/issues/378), [#385](https://github.com/go-task/task/issues/385)). -- Fix panic when you have empty tasks in your Taskfile ([#338](https://github.com/go-task/task/issues/338), [#362](https://github.com/go-task/task/issues/362)). +- Allow use as a library by moving the required packages out of the `internal` directory (#358). +- Do not error if a specified dotenv file does not exist (#378, #385). +- Fix panic when you have empty tasks in your Taskfile (#338, #362). ## v3.0.0 - 2020-08-16 -- On `v3`, all CLI variables will be considered global variables ([#336](https://github.com/go-task/task/issues/336), [#341](https://github.com/go-task/task/issues/341)) -- Add support to `.env` like files ([#324](https://github.com/go-task/task/issues/324), [#356](https://github.com/go-task/task/issues/356)). -- Add `label:` to task so you can override the task name in the logs ([\[#321\](https://github.com/go-task/task/issues/321)](https://github.com/go-task/task/issues/321]), [#337](https://github.com/go-task/task/issues/337)). -- Refactor how variables work on version 3 ([#311](https://github.com/go-task/task/issues/311)). +- On `v3`, all CLI variables will be considered global variables (#336, #341) +- Add support to `.env` like files (#324, #356). +- Add `label:` to task so you can override the task name in the logs (#321, + + # 337). +- Refactor how variables work on version 3 (#311). - Disallow `expansions` on v3 since it has no effect. - `Taskvars.yml` is not automatically included anymore. - `Taskfile_{{OS}}.yml` is not automatically included anymore. - Allow interpolation on `includes`, so you can manually include a Taskfile based on operation system, for example. -- Expose `.TASK` variable in templates with the task name ([#252](https://github.com/go-task/task/issues/252)). -- Implement short task syntax ([#194](https://github.com/go-task/task/issues/194), [#240](https://github.com/go-task/task/issues/240)). -- Added option to make included Taskfile run commands on its own directory ([#260](https://github.com/go-task/task/issues/260), [#144](https://github.com/go-task/task/issues/144)) -- Taskfiles in version 1 are not supported anymore ([#237](https://github.com/go-task/task/issues/237)). -- Added global `method:` option. With this option, you can set a default method to all tasks in a Taskfile ([#246](https://github.com/go-task/task/issues/246)). -- Changed default method from `timestamp` to `checksum` ([#246](https://github.com/go-task/task/issues/246)). -- New magic variables are now available when using `status:`: `.TIMESTAMP` which contains the greatest modification date from the files listed in `sources:`, and `.CHECKSUM`, which contains a checksum of all files listed in `status:`. This is useful for manual checking when using external, or even remote, artifacts when using `status:` ([#216](https://github.com/go-task/task/issues/216)). -- We're now using [slim-sprig](https://github.com/go-task/slim-sprig) instead of [sprig](https://github.com/Masterminds/sprig), which allowed a file size reduction of about 22% ([#219](https://github.com/go-task/task/issues/219)). -- We now use some colors on Task output to better distinguish message types - commands are green, errors are red, etc ([#207](https://github.com/go-task/task/issues/207)). +- Expose `.TASK` variable in templates with the task name (#252). +- Implement short task syntax (#194, #240). +- Added option to make included Taskfile run commands on its own directory (#260, #144) +- Taskfiles in version 1 are not supported anymore (#237). +- Added global `method:` option. With this option, you can set a default method to all tasks in a Taskfile (#246). +- Changed default method from `timestamp` to `checksum` (#246). +- New magic variables are now available when using `status:`: `.TIMESTAMP` which contains the greatest modification date from the files listed in `sources:`, and `.CHECKSUM`, which contains a checksum of all files listed in `status:`. This is useful for manual checking when using external, or even remote, artifacts when using `status:` (#216). +- We're now using [slim-sprig](https://github.com/go-task/slim-sprig) instead of [sprig](https://github.com/Masterminds/sprig), which allowed a file size reduction of about 22% (#219). +- We now use some colors on Task output to better distinguish message types - commands are green, errors are red, etc (#207). ## v2.8.1 - 2020-05-20 -- Fix error code for the `--help` flag ([#300](https://github.com/go-task/task/issues/300), [#330](https://github.com/go-task/task/issues/330)). -- Print version to stdout instead of stderr ([#299](https://github.com/go-task/task/issues/299), [#329](https://github.com/go-task/task/issues/329)). -- Supress `context` errors when using the `--watch` flag ([#313](https://github.com/go-task/task/issues/313), [#317](https://github.com/go-task/task/issues/317)). -- Support templating on description ([#276](https://github.com/go-task/task/issues/276), [#283](https://github.com/go-task/task/issues/283)). +- Fix error code for the `--help` flag (#300, #330). +- Print version to stdout instead of stderr (#299, #329). +- Supress `context` errors when using the `--watch` flag (#313, #317). +- Support templating on description (#276, #283). ## v2.8.0 - 2019-12-07 -- Add `--parallel` flag (alias `-p`) to run tasks given by the command line in parallel ([#266](https://github.com/go-task/task/issues/266)). +- Add `--parallel` flag (alias `-p`) to run tasks given by the command line in parallel (#266). - Fixed bug where calling the `task` CLI only informing global vars would not execute the `default` task. - Add hability to silent all tasks by adding `silent: true` a the root of the Taskfile. ## v2.7.1 - 2019-11-10 -- Fix error being raised when `exit 0` was called ([#251](https://github.com/go-task/task/issues/251)). +- Fix error being raised when `exit 0` was called (#251). ## v2.7.0 - 2019-09-22 -- Fixed panic bug when assigning a global variable ([#229](https://github.com/go-task/task/issues/229), [#243](https://github.com/go-task/task/issues/243)). -- A task with `method: checksum` will now re-run if generated files are deleted ([#228](https://github.com/go-task/task/issues/228), [#238](https://github.com/go-task/task/issues/238)). +- Fixed panic bug when assigning a global variable (#229, #243). +- A task with `method: checksum` will now re-run if generated files are deleted (#228, #238). ## v2.6.0 - 2019-07-21 - Fixed some bugs regarding minor version checks on `version:`. -- Add `preconditions:` to task ([#205](https://github.com/go-task/task/issues/205)). -- Create directory informed on `dir:` if it doesn't exist ([#209](https://github.com/go-task/task/issues/209), [#211](https://github.com/go-task/task/issues/211)). -- We now have a `--taskfile` flag (alias `-t`), which can be used to run another Taskfile (other than the default `Taskfile.yml`) ([#221](https://github.com/go-task/task/issues/221)). -- It's now possible to install Task using Homebrew on Linux ([go-task/homebrew-tap\[#1\](https://github.com/go-task/task/issues/1)](https://github.com/go-task/homebrew-tap/pull/1)). +- Add `preconditions:` to task (#205). +- Create directory informed on `dir:` if it doesn't exist (#209, #211). +- We now have a `--taskfile` flag (alias `-t`), which can be used to run another Taskfile (other than the default `Taskfile.yml`) (#221). +- It's now possible to install Task using Homebrew on Linux ([go-task/homebrew-tap#1](https://github.com/go-task/homebrew-tap/pull/1)). ## v2.5.2 - 2019-05-11 -- Reverted YAML upgrade due issues with CRLF on Windows ([#201](https://github.com/go-task/task/issues/201), [go-yaml/yaml\[#450\](https://github.com/go-task/task/issues/450)](https://github.com/go-yaml/yaml/issues/450)). -- Allow setting global variables through the CLI ([#192](https://github.com/go-task/task/issues/192)). +- Reverted YAML upgrade due issues with CRLF on Windows (#201, [go-yaml/yaml#450](https://github.com/go-yaml/yaml/issues/450)). +- Allow setting global variables through the CLI (#192). ## 2.5.1 - 2019-04-27 -- Fixed some issues with interactive command line tools, where sometimes the output were not being shown, and similar issues ([#114](https://github.com/go-task/task/issues/114), [#190](https://github.com/go-task/task/issues/190), [#200](https://github.com/go-task/task/issues/200)). +- Fixed some issues with interactive command line tools, where sometimes the output were not being shown, and similar issues (#114, #190, #200). - Upgraded [go-yaml/yaml](https://github.com/go-yaml/yaml) from v2 to v3. ## v2.5.0 - 2019-03-16 - We moved from the taskfile.org domain to the new fancy taskfile.dev domain. While stuff is being redirected, we strongly recommend to everyone that use [this install script](https://taskfile.dev/#/installation?id=install-script) to use the new taskfile.dev domain on scripts from now on. -- Fixed to the ZSH completion ([#182](https://github.com/go-task/task/issues/182)). -- Add [`--summary` flag along with `summary:` task attribute](https://taskfile.org/#/usage?id=display-summary-of-task) ([#180](https://github.com/go-task/task/issues/180)). +- Fixed to the ZSH completion (#182). +- Add [`--summary` flag along with `summary:` task attribute](https://taskfile.org/#/usage?id=display-summary-of-task) (#180). ## v2.4.0 - 2019-02-21 -- Allow calling a task of the root Taskfile from an included Taskfile by prefixing it with `:` ([#161](https://github.com/go-task/task/issues/161), [#172](https://github.com/go-task/task/issues/172)). -- Add flag to override the `output` option ([#173](https://github.com/go-task/task/issues/173)). -- Fix bug where Task was persisting the new checksum on the disk when the Dry Mode is enabled ([#166](https://github.com/go-task/task/issues/166)). -- Fix file timestamp issue when the file name has spaces ([#176](https://github.com/go-task/task/issues/176)). -- Mitigating path expanding issues on Windows ([#170](https://github.com/go-task/task/issues/170)). +- Allow calling a task of the root Taskfile from an included Taskfile by prefixing it with `:` (#161, #172). +- Add flag to override the `output` option (#173). +- Fix bug where Task was persisting the new checksum on the disk when the Dry Mode is enabled (#166). +- Fix file timestamp issue when the file name has spaces (#176). +- Mitigating path expanding issues on Windows (#170). ## v2.3.0 - 2019-01-02 -- On Windows, Task can now be installed using [Scoop](https://scoop.sh/) ([#152](https://github.com/go-task/task/issues/152)). -- Fixed issue with file/directory globing ([#153](https://github.com/go-task/task/issues/153)). -- Added ability to globally set environment variables ([#138](https://github.com/go-task/task/issues/138), [#159](https://github.com/go-task/task/issues/159)). +- On Windows, Task can now be installed using [Scoop](https://scoop.sh/) (#152). +- Fixed issue with file/directory globing (#153). +- Added ability to globally set environment variables (#138, #159). ## v2.2.1 - 2018-12-09 -- This repository now uses Go Modules ([#143](https://github.com/go-task/task/issues/143)). We'll still keep the `vendor` directory in sync for some time, though; -- Fixing a bug when the Taskfile has no tasks but includes another Taskfile ([#150](https://github.com/go-task/task/issues/150)); -- Fix a bug when calling another task or a dependency in an included Taskfile ([#151](https://github.com/go-task/task/issues/151)). +- This repository now uses Go Modules (#143). We'll still keep the `vendor` directory in sync for some time, though; +- Fixing a bug when the Taskfile has no tasks but includes another Taskfile (#150); +- Fix a bug when calling another task or a dependency in an included Taskfile (#151). ## v2.2.0 - 2018-10-25 -- Added support for [including other Taskfiles](https://taskfile.org/#/usage?id=including-other-taskfiles) ([#98](https://github.com/go-task/task/issues/98)) - - 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](https://github.com/go-task/task/issues/98). +- Added support for [including other Taskfiles](https://taskfile.org/#/usage?id=including-other-taskfiles) (#98) + - 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. - Task now have a dedicated documentation site: https://taskfile.org - Thanks to [Docsify](https://docsify.js.org/) for making this pretty easy. To check the source code, just take a look at the [docs](https://github.com/go-task/task/tree/main/docs) directory of this repository. Contributions to the documentation is really appreciated. ## v2.1.1 - 2018-09-17 - Fix suggestion to use `task --init` not being shown anymore (when a `Taskfile.yml` is not found) -- Fix error when using checksum method and no file exists for a source glob ([#131](https://github.com/go-task/task/issues/131)) -- Fix signal handling when the `--watch` flag is given ([#132](https://github.com/go-task/task/issues/132)) +- Fix error when using checksum method and no file exists for a source glob (#131) +- Fix signal handling when the `--watch` flag is given (#132) ## v2.1.0 - 2018-08-19 -- Add a `ignore_error` option to task and command ([#123](https://github.com/go-task/task/issues/123)) -- Add a dry run mode (`--dry` flag) ([#126](https://github.com/go-task/task/issues/126)) +- Add a `ignore_error` option to task and command (#123) +- Add a dry run mode (`--dry` flag) (#126) ## v2.0.3 - 2018-06-24 -- Expand environment variables on "dir", "sources" and "generates" ([#116](https://github.com/go-task/task/issues/116)) -- Fix YAML merging syntax ([#112](https://github.com/go-task/task/issues/112)) -- Add ZSH completion ([#111](https://github.com/go-task/task/issues/111)) +- Expand environment variables on "dir", "sources" and "generates" (#116) +- Fix YAML merging syntax (#112) +- Add ZSH completion (#111) - Implement new `output` option. Please check out the [documentation](https://github.com/go-task/task#output-syntax) ## v2.0.2 - 2018-05-01 -- Fix merging of YAML anchors ([#112](https://github.com/go-task/task/issues/112)) +- Fix merging of YAML anchors (#112) ## v2.0.1 - 2018-03-11 @@ -445,36 +479,36 @@ Version 2.0.0 is here, with a new Taskfile format. Please, make sure to read the [Taskfile versions](https://github.com/go-task/task/blob/main/TASKFILE_VERSIONS.md) document, since it describes in depth what changed for this version. -- New Taskfile version 2 ([#77](https://github.com/go-task/task/issues/77)) -- Possibility to have global variables in the `Taskfile.yml` instead of `Taskvars.yml` ([#66](https://github.com/go-task/task/issues/66)) +- New Taskfile version 2 (#77) +- Possibility to have global variables in the `Taskfile.yml` instead of `Taskvars.yml` (#66) - Small improvements and fixes ## v1.4.4 - 2017-11-19 -- Handle SIGINT and SIGTERM ([#75](https://github.com/go-task/task/issues/75)); +- Handle SIGINT and SIGTERM (#75); - List: print message with there's no task with description; -- Expand home dir ("~" symbol) on paths ([#74](https://github.com/go-task/task/issues/74)); +- Expand home dir ("~" symbol) on paths (#74); - Add Snap as an installation method; - Move examples to its own repo; - Watch: also walk on tasks called on on "cmds", and not only on "deps"; -- Print logs to stderr instead of stdout ([#68](https://github.com/go-task/task/issues/68)); +- Print logs to stderr instead of stdout (#68); - Remove deprecated `set` keyword; - Add checksum based status check, alternative to timestamp based. ## v1.4.3 - 2017-09-07 -- Allow assigning variables to tasks at run time via CLI ([#33](https://github.com/go-task/task/issues/33)) -- Added suport for multiline variables from sh ([#64](https://github.com/go-task/task/issues/64)) -- Fixes env: remove square braces and evaluate shell ([#62](https://github.com/go-task/task/issues/62)) +- Allow assigning variables to tasks at run time via CLI (#33) +- Added suport for multiline variables from sh (#64) +- Fixes env: remove square braces and evaluate shell (#62) - Watch: change watch library and few fixes and improvements -- When use watching, cancel and restart long running process on file change ([#59](https://github.com/go-task/task/issues/59) and [#60](https://github.com/go-task/task/issues/60)) +- When use watching, cancel and restart long running process on file change (#59 and #60) ## v1.4.2 - 2017-07-30 - Flag to set directory of execution - Always echo command if is verbose mode - Add silent mode to disable echoing of commands -- Fixes and improvements of variables ([#56](https://github.com/go-task/task/issues/56)) +- Fixes and improvements of variables (#56) ## v1.4.1 - 2017-07-15 @@ -482,28 +516,28 @@ Please, make sure to read the [Taskfile versions](https://github.com/go-task/tas - `VAR: {sh: echo Hello}` instead of `VAR: $echo Hello` - Add `--list` (or `-l`) flag to print existing tasks - OS specific Taskvars file (e.g. `Taskvars_windows.yml`, `Taskvars_linux.yml`, etc) -- Consider task up-to-date on equal timestamps ([#49](https://github.com/go-task/task/issues/49)) -- Allow absolute path in generates section ([#48](https://github.com/go-task/task/issues/48)) -- Bugfix: allow templating when calling deps ([#42](https://github.com/go-task/task/issues/42)) +- Consider task up-to-date on equal timestamps (#49) +- Allow absolute path in generates section (#48) +- Bugfix: allow templating when calling deps (#42) - Fix panic for invalid task in cyclic dep detection -- Better error output for dynamic variables in Taskvars.yml ([#41](https://github.com/go-task/task/issues/41)) +- Better error output for dynamic variables in Taskvars.yml (#41) - Allow template evaluation in parameters ## v1.4.0 - 2017-07-06 - Cache dynamic variables - Add verbose mode (`-v` flag) -- Support to task parameters (overriding vars) ([#31](https://github.com/go-task/task/issues/31)) ([#32](https://github.com/go-task/task/issues/32)) -- Print command, also when "set:" is specified ([#35](https://github.com/go-task/task/issues/35)) -- Improve task command help text ([#35](https://github.com/go-task/task/issues/35)) +- Support to task parameters (overriding vars) (#31) (#32) +- Print command, also when "set:" is specified (#35) +- Improve task command help text (#35) ## v1.3.1 - 2017-06-14 -- Fix glob not working on commands ([#28](https://github.com/go-task/task/issues/28)) +- Fix glob not working on commands (#28) - Add ExeExt template function - Add `--init` flag to create a new Taskfile -- Add status option to prevent task from running ([#27](https://github.com/go-task/task/issues/27)) -- Allow interpolation on `generates` and `sources` attributes ([#26](https://github.com/go-task/task/issues/26)) +- Add status option to prevent task from running (#27) +- Allow interpolation on `generates` and `sources` attributes (#26) ## v1.3.0 - 2017-04-24 @@ -521,18 +555,18 @@ Please, make sure to read the [Taskfile versions](https://github.com/go-task/tas - Watch a task (experimental) - Possibility to call another task - Fix "=" not being reconized in variables/environment variables -- Tasks can now have a description, and help will print them ([#10](https://github.com/go-task/task/issues/10)) +- Tasks can now have a description, and help will print them (#10) - Task dependencies now run concurrently -- Support for a default task ([#16](https://github.com/go-task/task/issues/16)) +- Support for a default task (#16) ## v1.1.0 - 2017-03-08 -- Support for YAML, TOML and JSON ([#1](https://github.com/go-task/task/issues/1)) -- Support running command in another directory ([#4](https://github.com/go-task/task/issues/4)) +- Support for YAML, TOML and JSON (#1) +- Support running command in another directory (#4) - `--force` or `-f` flag to force execution of task even when it's up-to-date -- Detection of cyclic dependencies ([#5](https://github.com/go-task/task/issues/5)) -- Support for variables ([#6](https://github.com/go-task/task/issues/6), [#9](https://github.com/go-task/task/issues/9), [#14](https://github.com/go-task/task/issues/14)) -- Operation System specific commands and variables ([#13](https://github.com/go-task/task/issues/13)) +- Detection of cyclic dependencies (#5) +- Support for variables (#6, #9, #14) +- Operation System specific commands and variables (#13) ## v1.0.0 - 2017-02-28 diff --git a/docs/i18n/tr-TR/docusaurus-plugin-content-docs/current/community.md b/docs/i18n/tr-TR/docusaurus-plugin-content-docs/current/community.md index 07f47646..c069c2be 100644 --- a/docs/i18n/tr-TR/docusaurus-plugin-content-docs/current/community.md +++ b/docs/i18n/tr-TR/docusaurus-plugin-content-docs/current/community.md @@ -19,8 +19,8 @@ Many of our integrations are contributed and maintained by the community. You ca Some installation methods are maintained by third party: -- [GitHub Actions](https://github.com/arduino/setup-task) by [@arduino](https://github.com/arduino) -- [AUR](https://aur.archlinux.org/packages/go-task-bin) by [@carlsmedstad](https://github.com/carlsmedstad) +- [GitHub Actions](https://github.com/arduino/setup-task) by @arduino +- [AUR](https://aur.archlinux.org/packages/go-task-bin) by @carlsmedstad - [Scoop](https://github.com/ScoopInstaller/Main/blob/master/bucket/task.json) - [Fedora](https://packages.fedoraproject.org/pkgs/golang-github-task/go-task/) - [NixOS](https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/tools/go-task/default.nix) diff --git a/docs/i18n/tr-TR/docusaurus-plugin-content-docs/current/contributing.md b/docs/i18n/tr-TR/docusaurus-plugin-content-docs/current/contributing.md index 1ad9bc85..57b2aa7b 100644 --- a/docs/i18n/tr-TR/docusaurus-plugin-content-docs/current/contributing.md +++ b/docs/i18n/tr-TR/docusaurus-plugin-content-docs/current/contributing.md @@ -41,9 +41,9 @@ To run Task for Visual Studio Code, you can open the project in VSCode and hit F Task uses [Docusaurus][docusaurus] to host a documentation server. The code for this is located in the core Task repository. This can be setup and run locally by using `task docs` (requires `nodejs` & `yarn`). All content is written in Markdown and is located in the `docs/docs` directory. All Markdown documents should have an 80 character line wrap limit (enforced by Prettier). -When making a change, consider whether a change to the [Usage Guide](./usage.md) is necessary. This document contains descriptions and examples of how to use Task features. If you're adding a new feature, try to find an appropriate place to add a new section. If you're updating an existing feature, ensure that the documentation and any examples are up-to-date. Ensure that any examples follow the [Taskfile Styleguide](./styleguide.md). +When making a change, consider whether a change to the [Usage Guide](/usage) is necessary. This document contains descriptions and examples of how to use Task features. If you're adding a new feature, try to find an appropriate place to add a new section. If you're updating an existing feature, ensure that the documentation and any examples are up-to-date. Ensure that any examples follow the [Taskfile Styleguide](/styleguide). -If you added a new field, command or flag, ensure that you add it to the [API Reference](./api_reference.md). New fields also need to be added to the [JSON Schema][json-schema]. The descriptions for fields in the API reference and the schema should match. +If you added a new field, command or flag, ensure that you add it to the [API Reference](/api). New fields also need to be added to the [JSON Schema][json-schema]. The descriptions for fields in the API reference and the schema should match. ### Writing tests @@ -72,7 +72,7 @@ If you're not sure how to format your commit message, check out [Conventional Co Take a look at the list of [open issues for Task][task-open-issues] or [Task for Visual Studio Code][vscode-task-open-issues]. We have a [good first issue][good-first-issue] label for simpler issues that are ideal for first time contributions. -All kinds of contributions are welcome, whether its a typo fix or a shiny new feature. You can also contribute by upvoting/commenting on issues, helping to answer questions or contributing to other [community projects](./community.md). +All kinds of contributions are welcome, whether its a typo fix or a shiny new feature. You can also contribute by upvoting/commenting on issues, helping to answer questions or contributing to other [community projects](/community). > I'm stuck, where can I get help? diff --git a/docs/i18n/tr-TR/docusaurus-plugin-content-docs/current/deprecations/template.md b/docs/i18n/tr-TR/docusaurus-plugin-content-docs/current/deprecations/template.md index 43ed4d3b..646e45c6 100644 --- a/docs/i18n/tr-TR/docusaurus-plugin-content-docs/current/deprecations/template.md +++ b/docs/i18n/tr-TR/docusaurus-plugin-content-docs/current/deprecations/template.md @@ -6,12 +6,17 @@ sidebar_position: -1 #Always push to the top draft: true #Hide in production --- -# {Name of Deprecated Feature} +# \{Name of Deprecated Feature\} (#\{Issue\}) -- Issue: [#{issue}](https://github.com/go-task/task/issues/{issue}) -- Breaks: - - {list any existing functionality that will be broken by this experiment} +:::warning -{Short description of the feature/behavior and why it is being deprecated} +This deprecation breaks the following functionality: -{Short explanation of any replacement features/behaviors and how users should migrate to it} +- \{list any existing functionality that will be broken by this deprecation\} +- \{if there are no breaking changes, remove this admonition\} + +::: + +\{Short description of the feature/behavior and why it is being deprecated\} + +\{Short explanation of any replacement features/behaviors and how users should migrate to it\} diff --git a/docs/i18n/tr-TR/docusaurus-plugin-content-docs/current/deprecations/version_2_schema.md b/docs/i18n/tr-TR/docusaurus-plugin-content-docs/current/deprecations/version_2_schema.md index 79ea75cf..c45fb65d 100644 --- a/docs/i18n/tr-TR/docusaurus-plugin-content-docs/current/deprecations/version_2_schema.md +++ b/docs/i18n/tr-TR/docusaurus-plugin-content-docs/current/deprecations/version_2_schema.md @@ -2,21 +2,24 @@ slug: /deprecations/version-2-schema/ --- -# Version 2 Schema +# Version 2 Schema (#1197) -- Issue: [#1197][deprecate-version-2-schema] -- Breaks: - - Any Taskfiles that use the version 2 schema - - `Taskvar.yml` files +:::warning -The Taskfile v2 schema was introduced in March 2018 and replaced by version 3 in August the following year. Users have had a long time to update and so we feel that it is time to tidy up the codebase and focus on new functionality instead. +This deprecation breaks the following functionality: -This notice does not mean that we are immediately removing support for version 2 schemas. However, support will not be extended to future major releases and we _strongly recommend_ that anybody still using a version 2 schema upgrades to version 3 as soon as possible. +- Any Taskfiles that use the version 2 schema +- `Taskvar.yml` files -A list of changes between version 2 and version 3 are available in the [Task v3 Release Notes][version-3-release-notes]. +::: + +The Taskfile version 2 schema was introduced in March 2018 and replaced by version 3 in August 2019. In May 2023 [we published a deprecation notice][deprecation-notice] for the version 2 schema on the basis that the vast majority of users had already upgraded to version 3 and removing support for version 2 would allow us to tidy up the codebase and focus on new functionality instead. + +In December 2023, the final version of Task that supports the version 2 schema ([v3.33.0][v3.33.0]) was published and all legacy code was removed from Task's main branch. To use a more recent version of Task, you will need to ensure that your Taskfile uses the version 3 schema instead. A list of changes between version 2 and version 3 are available in the [Task v3 Release Notes][v3.0.0]. -[deprecate-version-2-schema]: https://github.com/go-task/task/issues/1197 -[version-3-release-notes]: https://github.com/go-task/task/releases/tag/v3.0.0 +[v3.0.0]: https://github.com/go-task/task/releases/tag/v3.0.0 +[v3.33.0]: https://github.com/go-task/task/releases/tag/v3.33.0 +[deprecation-notice]: https://github.com/go-task/task/issues/1197 diff --git a/docs/i18n/tr-TR/docusaurus-plugin-content-docs/current/experiments/any_variables.md b/docs/i18n/tr-TR/docusaurus-plugin-content-docs/current/experiments/any_variables.md new file mode 100644 index 00000000..cf2521c7 --- /dev/null +++ b/docs/i18n/tr-TR/docusaurus-plugin-content-docs/current/experiments/any_variables.md @@ -0,0 +1,206 @@ +--- +slug: /experiments/any-variables/ +--- + +# Any Variables (#1415) + +:::caution + +All experimental features are subject to breaking changes and/or removal _at any +time_. We strongly recommend that you do not use these features in a production +environment. They are intended for testing and feedback only. + +::: + +:::warning + +This experiment breaks the following functionality: + +- Dynamically defined variables (using the `sh` keyword) + +::: + +:::info + +To enable this experiment, set the environment variable: +`TASK_X_ANY_VARIABLES=1`. Check out [our guide to enabling experiments +][enabling-experiments] for more information. + +::: + +Currently, Task only supports string variables. This experiment allows you to +specify and use the following variable types: + +- `string` +- `bool` +- `int` +- `float` +- `array` +- `map` + +This allows you to have a lot more flexibility in how you use variables in +Task's templating engine. For example: + +Evaluating booleans: + +```yaml +version: 3 + +tasks: + foo: + vars: + BOOL: false + cmds: + - '{{if .BOOL}}echo foo{{end}}' +``` + +Arithmetic: + +```yaml +version: 3 + +tasks: + foo: + vars: + INT: 10 + FLOAT: 3.14159 + cmds: + - 'echo {{add .INT .FLOAT}}' +``` + +Ranging: + +```yaml +version: 3 + +tasks: + foo: + vars: + ARRAY: [1, 2, 3] + cmds: + - 'echo {{range .ARRAY}}{{.}}{{end}}' +``` + +There are many more templating functions which can be used with the new types of +variables. For a full list, see the [slim-sprig][slim-sprig] documentation. + +## Looping over variables + +Previously, you would have to use a delimiter separated string to loop over an +arbitrary list of items in a variable and split them by using the `split` subkey +to specify the delimiter: + +```yaml +version: 3 + +tasks: + foo: + vars: + LIST: 'foo,bar,baz' + cmds: + - for: + var: LIST + split: ',' + cmd: echo {{.ITEM}} +``` + +Because this experiment adds support for "collection-type" variables, the `for` +keyword has been updated to support looping over arrays directly: + +```yaml +version: 3 + +tasks: + foo: + vars: + LIST: [foo, bar, baz] + cmds: + - for: + var: LIST + cmd: echo {{.ITEM}} +``` + +This also works for maps. When looping over a map we also make an additional +`{{.KEY}}` variable availabe that holds the string value of the map key. +Remember that maps are unordered, so the order in which the items are looped +over is random: + +```yaml +version: 3 + +tasks: + foo: + vars: + MAP: + KEY_1: + SUBKEY: sub_value_1 + KEY_2: + SUBKEY: sub_value_2 + KEY_3: + SUBKEY: sub_value_3 + cmds: + - for: + var: MAP + cmd: echo {{.KEY}} {{.ITEM.SUBKEY}} +``` + +String splitting is still supported and remember that for simple cases, you have +always been able to loop over an array without using variables at all: + +```yaml +version: 3 + +tasks: + foo: + cmds: + - for: [foo, bar, baz] + cmd: echo {{.ITEM}} +``` + +## Migration + +Taskfiles with dynamically defined variables via the `sh` subkey will no longer +work with this experiment enabled. In order to keep using dynamically defined +variables, you will need to migrate your Taskfile to use the new syntax. + +Previously, you might have defined a dynamic variable like this: + +```yaml +version: 3 + +task: + foo: + vars: + CALCULATED_VAR: + sh: 'echo hello' + cmds: + - 'echo {{.CALCULATED_VAR}}' +``` + +With this experiment enabled, you will need to remove the `sh` subkey and define +your command as a string that begins with a `$`. This will instruct Task to +interpret the string as a command instead of a literal value and the variable +will be populated with the output of the command. For example: + +```yaml +version: 3 + +task: + foo: + vars: + CALCULATED_VAR: '$echo hello' + cmds: + - 'echo {{.CALCULATED_VAR}}' +``` + +If your current Taskfile contains a string variable that begins with a `$`, you +will now need to escape the `$` with a backslash (`\`) to stop Task from +executing it as a command. + + + +[enabling-experiments]: /experiments/#enabling-experiments + +[slim-sprig]: https://go-task.github.io/slim-sprig/ + + diff --git a/docs/i18n/tr-TR/docusaurus-plugin-content-docs/current/experiments/experiments.md b/docs/i18n/tr-TR/docusaurus-plugin-content-docs/current/experiments/experiments.md index 23c78566..6b9cd6e0 100644 --- a/docs/i18n/tr-TR/docusaurus-plugin-content-docs/current/experiments/experiments.md +++ b/docs/i18n/tr-TR/docusaurus-plugin-content-docs/current/experiments/experiments.md @@ -15,14 +15,15 @@ Task'ın hızlı bir şekilde gelişmesine izin vermek için, deneysel bayraklar You can view a full list of active experiments in the "Experiments" section of the sidebar. -Deneysel bir özelliği şu şekilde etkinleştirebilirsiniz: +## Enabling Experiments + +You can enable an experimental feature by doing one of the following: 1. İlgili ortam değişkenini bir görev komutunun önünde kullanma. Örneğin, `TASK_X_{FEATURE}=1 task {my-task}`. Bu, Task'ın deneysel özellikleri test etmek için tek seferlik çağrıları için tasarlanmıştır. 1. Using the relevant environment variable in your "dotfiles" (e.g. `.bashrc`, `.zshrc` etc.). This is intended for permanently enabling experimental features in your environment. -1. Creating a `.env` file in the same directory as your root Taskfile that contains the relevant environment variables. e.g. +1. Creating a `.env` file in the same directory as your root Taskfile that contains the relevant environment variables. This allows you to enable an experimental feature at a project level. For example: -```shell -# .env +```shell title=".env" TASK_X_FEATURE=1 ``` diff --git a/docs/i18n/tr-TR/docusaurus-plugin-content-docs/current/experiments/gentle_force.md b/docs/i18n/tr-TR/docusaurus-plugin-content-docs/current/experiments/gentle_force.md index d1eada74..514602bb 100644 --- a/docs/i18n/tr-TR/docusaurus-plugin-content-docs/current/experiments/gentle_force.md +++ b/docs/i18n/tr-TR/docusaurus-plugin-content-docs/current/experiments/gentle_force.md @@ -2,12 +2,27 @@ slug: /experiments/gentle-force/ --- -# Gentle Force +# Gentle Force (#1200) -- Issue: [#1200][gentle-force-experiment] -- Environment variable: `TASK_X_FORCE=1` -- Breaks: - - `--force` flag +:::caution + +All experimental features are subject to breaking changes and/or removal _at any time_. We strongly recommend that you do not use these features in a production environment. They are intended for testing and feedback only. + +::: + +:::warning + +This experiment breaks the following functionality: + +- The `--force` flag + +::: + +:::info + +To enable this experiment, set the environment variable: `TASK_X_FORCE=1`. Check out [our guide to enabling experiments ][enabling-experiments] for more information. + +::: The `--force` flag currently forces _all_ tasks to run regardless of the status checks. This can be useful, but we have found that most of the time users only expect the direct task they are calling to be forced and _not_ all of its dependant tasks. @@ -18,4 +33,4 @@ If you want to migrate, but continue to force all dependant tasks to run, you sh -[gentle-force-experiment]: https://github.com/go-task/task/issues/1200 +[enabling-experiments]: /experiments/#enabling-experiments diff --git a/docs/i18n/tr-TR/docusaurus-plugin-content-docs/current/experiments/remote_taskfiles.md b/docs/i18n/tr-TR/docusaurus-plugin-content-docs/current/experiments/remote_taskfiles.md index 76d21173..73a934d8 100644 --- a/docs/i18n/tr-TR/docusaurus-plugin-content-docs/current/experiments/remote_taskfiles.md +++ b/docs/i18n/tr-TR/docusaurus-plugin-content-docs/current/experiments/remote_taskfiles.md @@ -2,10 +2,19 @@ slug: /experiments/remote-taskfiles/ --- -# Remote Taskfiles +# Remote Taskfiles (#1317) -- Issue: [#1317][remote-taskfiles-experiment] -- Environment variable: `TASK_X_REMOTE_TASKFILES=1` +:::caution + +All experimental features are subject to breaking changes and/or removal _at any time_. We strongly recommend that you do not use these features in a production environment. They are intended for testing and feedback only. + +::: + +:::info + +To enable this experiment, set the environment variable: `TASK_X_REMOTE_TASKFILES=1`. Check out [our guide to enabling experiments ][enabling-experiments] for more information. + +::: This experiment allows you to specify a remote Taskfile URL when including a Taskfile. For example: @@ -53,5 +62,5 @@ By default, Task will timeout requests to download remote files after 10 seconds -[remote-taskfiles-experiment]: https://github.com/go-task/task/issues/1317 +[enabling-experiments]: /experiments/#enabling-experiments [man-in-the-middle-attacks]: https://en.wikipedia.org/wiki/Man-in-the-middle_attack diff --git a/docs/i18n/tr-TR/docusaurus-plugin-content-docs/current/experiments/template.md b/docs/i18n/tr-TR/docusaurus-plugin-content-docs/current/experiments/template.md index 6ae94c06..59246cf5 100644 --- a/docs/i18n/tr-TR/docusaurus-plugin-content-docs/current/experiments/template.md +++ b/docs/i18n/tr-TR/docusaurus-plugin-content-docs/current/experiments/template.md @@ -6,15 +6,34 @@ sidebar_position: -1 #Always push to the top draft: true #Hide in production --- -# {Name of Experiment} +# \{Name of Experiment\} (#\{Issue\}) -- Issue: [#{issue}](https://github.com/go-task/task/issues/{issue}) -- Environment variable: `TASK_X_{feature}` -- Breaks: - - {list any existing functionality that will be broken by this experiment} -- Deprecations: - - {link to any deprecation pages related to this experiment} +:::caution -{Short description of the feature} +All experimental features are subject to breaking changes and/or removal _at any time_. We strongly recommend that you do not use these features in a production environment. They are intended for testing and feedback only. -{Short explanation of how users should migrate to the new behavior} +::: + +:::warning + +This experiment breaks the following functionality: + +- \{list any existing functionality that will be broken by this experiment\} +- \{if there are no breaking changes, remove this admonition\} + +::: + +:::info + +To enable this experiment, set the environment variable: `TASK_X_{feature}=1`. Check out [our guide to enabling experiments ][enabling-experiments] for more information. + +::: + +\{Short description of the feature\} + +\{Short explanation of how users should migrate to the new behavior\} + + + + +[enabling-experiments]: /experiments/#enabling-experiments diff --git a/docs/i18n/tr-TR/docusaurus-plugin-content-docs/current/faq.md b/docs/i18n/tr-TR/docusaurus-plugin-content-docs/current/faq.md index 5a9a3cc1..b6aa46f9 100644 --- a/docs/i18n/tr-TR/docusaurus-plugin-content-docs/current/faq.md +++ b/docs/i18n/tr-TR/docusaurus-plugin-content-docs/current/faq.md @@ -78,7 +78,7 @@ The default shell on Windows (`cmd` and `powershell`) do not have commands like We want to make improvements to this part of Task and the issues below track this work. Constructive comments and contributions are very welcome! -- [#197](https://github.com/go-task/task/issues/197) +- #197 - [mvdan/sh#93](https://github.com/mvdan/sh/issues/93) - [mvdan/sh#97](https://github.com/mvdan/sh/issues/97) diff --git a/docs/i18n/tr-TR/docusaurus-plugin-content-docs/current/integrations.md b/docs/i18n/tr-TR/docusaurus-plugin-content-docs/current/integrations.md index 559459d1..b6e4c800 100644 --- a/docs/i18n/tr-TR/docusaurus-plugin-content-docs/current/integrations.md +++ b/docs/i18n/tr-TR/docusaurus-plugin-content-docs/current/integrations.md @@ -24,7 +24,7 @@ To get autocompletion and validation for your Taskfile, see the [Schema](#schema ## Schema -This was initially created by [@KROSF](https://github.com/KROSF) in [this Gist](https://gist.github.com/KROSF/c5435acf590acd632f71bb720f685895) and is now officially maintained in [this file](https://github.com/go-task/task/blob/main/docs/static/schema.json) and made available at https://taskfile.dev/schema.json. This schema can be used to validate Taskfiles and provide autocompletion in many code editors: +This was initially created by @KROSF in [this Gist](https://gist.github.com/KROSF/c5435acf590acd632f71bb720f685895) and is now officially maintained in [this file](https://github.com/go-task/task/blob/main/docs/static/schema.json) and made available at https://taskfile.dev/schema.json. This schema can be used to validate Taskfiles and provide autocompletion in many code editors: ### Visual Studio Code @@ -55,8 +55,8 @@ You can find more information on this in the [YAML language server project](http In addition to our official integrations, there is an amazing community of developers who have created their own integrations for Task: -- [Sublime Text Plugin](https://packagecontrol.io/packages/Taskfile) [[source](https://github.com/biozz/sublime-taskfile)] by [@biozz](https://github.com/biozz) -- [IntelliJ Plugin](https://plugins.jetbrains.com/plugin/17058-taskfile) [[source](https://github.com/lechuckroh/task-intellij-plugin)] by [@lechuckroh](https://github.com/lechuckroh) +- [Sublime Text Plugin](https://packagecontrol.io/packages/Taskfile) [[source](https://github.com/biozz/sublime-taskfile)] by @biozz +- [IntelliJ Plugin](https://plugins.jetbrains.com/plugin/17058-taskfile) [[source](https://github.com/lechuckroh/task-intellij-plugin)] by @lechuckroh - [mk](https://github.com/pycontribs/mk) command line tool recognizes Taskfiles natively. If you have made something that integrates with Task, please feel free to open a PR to add it to this list. diff --git a/docs/i18n/tr-TR/docusaurus-plugin-content-docs/current/intro.md b/docs/i18n/tr-TR/docusaurus-plugin-content-docs/current/intro.md index 783f91c3..c06c1cf3 100644 --- a/docs/i18n/tr-TR/docusaurus-plugin-content-docs/current/intro.md +++ b/docs/i18n/tr-TR/docusaurus-plugin-content-docs/current/intro.md @@ -14,7 +14,7 @@ Task is a task runner / build tool that aims to be simpler and easier to use tha Since it's written in [Go][go], Task is just a single binary and has no other dependencies, which means you don't need to mess with any complicated install setups just to use a build tool. -Once [installed](installation.md), you just need to describe your build tasks using a simple [YAML][yaml] schema in a file called `Taskfile.yml`: +Once [installed](/installation), you just need to describe your build tasks using a simple [YAML][yaml] schema in a file called `Taskfile.yml`: ```yaml title="Taskfile.yml" version: '3' @@ -32,8 +32,8 @@ The above example is just the start, you can take a look at the [usage](/usage) ## Features -- [Easy installation](installation.md): just download a single binary, add to `$PATH` and you're done! Or you can also install using [Homebrew][homebrew], [Snapcraft][snapcraft], or [Scoop][scoop] if you want. -- Available on CIs: by adding [this simple command](installation.md#install-script) to install on your CI script and you're ready to use Task as part of your CI pipeline; +- [Easy installation](/installation): just download a single binary, add to `$PATH` and you're done! Or you can also install using [Homebrew][homebrew], [Snapcraft][snapcraft], or [Scoop][scoop] if you want. +- Available on CIs: by adding [this simple command](/installation#install-script) to install on your CI script and you're ready to use Task as part of your CI pipeline; - Truly cross-platform: while most build tools only work well on Linux or macOS, Task also supports Windows thanks to [this shell interpreter for Go][sh]. - Great for code generation: you can easily [prevent a task from running](/usage#prevent-unnecessary-work) if a given set of files haven't changed since last run (based either on its timestamp or content). diff --git a/docs/i18n/tr-TR/docusaurus-plugin-content-docs/current/styleguide.md b/docs/i18n/tr-TR/docusaurus-plugin-content-docs/current/styleguide.md index a310d561..753477a4 100644 --- a/docs/i18n/tr-TR/docusaurus-plugin-content-docs/current/styleguide.md +++ b/docs/i18n/tr-TR/docusaurus-plugin-content-docs/current/styleguide.md @@ -9,19 +9,6 @@ This is the official Task styleguide for `Taskfile.yml` files. This guide contai This contains general guidelines, but they don't necessarily need to be strictly followed. Feel free to disagree and proceed differently at some point if you need or want to. Also, feel free to open issues or pull requests with improvements to this guide. -## Use `Taskfile.yml` and not `taskfile.yml` - -```yaml -# bad -taskfile.yml - - -# good -Taskfile.yml -``` - -This is important especially for Linux users. Windows and macOS have case insensitive filesystems, so `taskfile.yml` will end up working, even that not officially supported. On Linux, only `Taskfile.yml` will work, though. - ## Use the correct order of keywords - `version:` diff --git a/docs/i18n/tr-TR/docusaurus-plugin-content-docs/current/taskfile_versions.md b/docs/i18n/tr-TR/docusaurus-plugin-content-docs/current/taskfile_versions.md index 1c9b552e..aaa1ab71 100644 --- a/docs/i18n/tr-TR/docusaurus-plugin-content-docs/current/taskfile_versions.md +++ b/docs/i18n/tr-TR/docusaurus-plugin-content-docs/current/taskfile_versions.md @@ -69,7 +69,7 @@ tasks: :::caution -v2 schema support is [deprecated][deprecate-version-2-schema] and will be removed in a future release. +v2 schemas are [no longer supported by the latest version of Task][deprecate-version-2-schema]. ::: @@ -92,7 +92,7 @@ Please check the [documentation][includes] :::caution -v2 schema support is [deprecated][deprecate-version-2-schema] and will be removed in a future release. +v2 schemas are [no longer supported by the latest version of Task][deprecate-version-2-schema]. ::: @@ -110,7 +110,7 @@ includes: :::caution -v2 schema support is [deprecated][deprecate-version-2-schema] and will be removed in a future release. +v2 schemas are [no longer supported by the latest version of Task][deprecate-version-2-schema]. ::: @@ -151,7 +151,7 @@ tasks: :::caution -v2 schema support is [deprecated][deprecate-version-2-schema] and will be removed in a future release. +v2 schemas are [no longer supported by the latest version of Task][deprecate-version-2-schema]. ::: @@ -234,7 +234,7 @@ The variable priority order was also different: -[output]: usage.md#output-syntax -[ignore_errors]: usage.md#ignore-errors -[includes]: usage.md#including-other-taskfiles -[deprecate-version-2-schema]: https://github.com/go-task/task/issues/1197 +[deprecate-version-2-schema]: /deprecations/version-2-schema/ +[output]: /usage#output-syntax +[ignore_errors]: /usage#ignore-errors +[includes]: /usage#including-other-taskfiles diff --git a/docs/i18n/tr-TR/docusaurus-plugin-content-docs/current/usage.md b/docs/i18n/tr-TR/docusaurus-plugin-content-docs/current/usage.md index 28264087..348ca605 100644 --- a/docs/i18n/tr-TR/docusaurus-plugin-content-docs/current/usage.md +++ b/docs/i18n/tr-TR/docusaurus-plugin-content-docs/current/usage.md @@ -1298,7 +1298,7 @@ tasks: task: "This is a dangerous command... Do you want to continue?" [y/N] ``` -Warning prompts are called before executing a task. If a prompt is denied Task will exit with [exit code](api_reference.md#exit-codes) 205. If approved, Task will continue as normal. +Warning prompts are called before executing a task. If a prompt is denied Task will exit with [exit code](/api#exit-codes) 205. If approved, Task will continue as normal. ```bash ❯ task example diff --git a/docs/i18n/zh-Hans/docusaurus-plugin-content-blog/2023-09-02-introducing-experiments.md b/docs/i18n/zh-Hans/docusaurus-plugin-content-blog/2023-09-02-introducing-experiments.md index 3c358a4e..42d99117 100644 --- a/docs/i18n/zh-Hans/docusaurus-plugin-content-blog/2023-09-02-introducing-experiments.md +++ b/docs/i18n/zh-Hans/docusaurus-plugin-content-blog/2023-09-02-introducing-experiments.md @@ -36,7 +36,7 @@ None of this would have been possible without the [150 or so (and growing) contr [![Star History Chart](https://api.star-history.com/svg?repos=go-task/task&type=Date)](https://star-history.com/#go-task/task&Date) -## What's next? :thinking_face: +## What's next? :thinking: It's extremely motivating to see so many people using and loving Task. However, in this time we've also seen an increase in the number of issues and feature requests. In particular, issues that require some kind of breaking change to Task. This isn't a bad thing, but as we grow we need to be more responsible about how we address these changes in a way that ensures stability and compatibility for existing users and their Taskfiles. @@ -46,7 +46,7 @@ At this point you're probably thinking something like: And you'd be right... sort of. In theory, this sounds great, but the reality is that we don't have the time to commit to a major overhaul of Task in one big bang release. This would require a colossal amount of time and coordination and with full time jobs and personal lives to tend to, this is a difficult commitment to make. Smaller, more frequent major releases are also a significant inconvenience for users as they have to constantly keep up-to-date with our breaking changes. Fortunately, there is a better way. -## What's going to change? :face_with_monocle: +## What's going to change? :monocle: Going forwards, breaking changes will be allowed into _minor_ versions of Task as "experimental features". To access these features users will need opt-in by enabling feature flags. This will allow us to release new features slowly and gather feedback from the community before making them the default behavior in a future major release. @@ -62,7 +62,7 @@ When v4 is released, we will continue to support v3 for a period of time (bug fi ## v4 When? :eyes: -:shrug: When it's ready. +:man_shrugging: When it's ready. In all seriousness, we don't have a timeline for this yet. We'll be working on the most serious deficiencies of the v3 API first and regularly evaluating the state of the project. When we feel its in a good, stable place and we have a clear upgrade path for users and a number of stable experiments, we'll start to think about v4. diff --git a/docs/i18n/zh-Hans/docusaurus-plugin-content-docs/current/api_reference.md b/docs/i18n/zh-Hans/docusaurus-plugin-content-docs/current/api_reference.md index a79758d5..1858817a 100644 --- a/docs/i18n/zh-Hans/docusaurus-plugin-content-docs/current/api_reference.md +++ b/docs/i18n/zh-Hans/docusaurus-plugin-content-docs/current/api_reference.md @@ -120,6 +120,7 @@ Task 有时会以特定的退出代码退出。 These codes are split into three | 变量 | 描述 | | ------------------ | -------------------------------------------------------------------------------------------------------------------------- | | `CLI_ARGS` | 当通过 CLI 调用 Task 时,传递包含在 `--` 之后的所有额外参数。 | +| `CLI_FORCE` | A boolean containing whether the `--force` or `--force-all` flags were set. | | `TASK` | 当前 task 的名称。 | | `ROOT_DIR` | 根 Taskfile 的绝对路径。 | | `TASKFILE_DIR` | 包含 Taskfile 的绝对路径 | diff --git a/docs/i18n/zh-Hans/docusaurus-plugin-content-docs/current/changelog.md b/docs/i18n/zh-Hans/docusaurus-plugin-content-docs/current/changelog.md index 5a7d0649..7f35d828 100644 --- a/docs/i18n/zh-Hans/docusaurus-plugin-content-docs/current/changelog.md +++ b/docs/i18n/zh-Hans/docusaurus-plugin-content-docs/current/changelog.md @@ -5,435 +5,469 @@ sidebar_position: 14 # 更新日志 +## v3.33.1 - 2023-12-21 + +- Added support for looping over map variables with the [Any Variables experiment](https://taskfile.dev/experiments/any_variables) enabled (#1435, #1437 by @pd93). +- Fixed a bug where dynamic variables were causing errors during fast compilation (#1435, #1437 by @pd93) + +## v3.33.0 - 2023-12-20 + +- Added [Any Variables experiment](https://taskfile.dev/experiments/any-variables) (#1415, #1421 by @pd93). +- Updated Docusaurus to v3 (#1432 by @pd93). +- Added `aliases` to `--json` flag output (#1430, #1431 by @pd93). +- Added new `CLI_FORCE` special variable containing whether the `--force` or `--force-all` flags were set (#1412, #1434 by @pd93). + ## v3.32.0 - 2023-11-29 -- Added ability to exclude some files from `sources:` by using `exclude:` ([#225](https://github.com/go-task/task/issues/225), [#1324](https://github.com/go-task/task/issues/1324) by [@pd93](https://github.com/pd93) and [@andreynering](https://github.com/andreynering)). -- The [Remote Taskfiles experiment](https://taskfile.dev/experiments/remote-taskfiles) now prefers remote files over cached ones by default ([#1317](https://github.com/go-task/task/issues/1317), [#1345](https://github.com/go-task/task/issues/1345) by [@pd93](https://github.com/pd93)). -- Added `--timeout` flag to the [Remote Taskfiles experiment](https://taskfile.dev/experiments/remote-taskfiles) ([#1317](https://github.com/go-task/task/issues/1317), [#1345](https://github.com/go-task/task/issues/1345) by [@pd93](https://github.com/pd93)). -- Fix bug where dynamic `vars:` and `env:` were being executed when they should actually be skipped by `platforms:` ([#1273](https://github.com/go-task/task/issues/1273), [#1377](https://github.com/go-task/task/issues/1377) by [@andreynering](https://github.com/andreynering)). -- Fix `schema.json` to make `silent` valid in `cmds` that use `for` ([#1385](https://github.com/go-task/task/issues/1385), [#1386](https://github.com/go-task/task/issues/1386) by [@iainvm](https://github.com/iainvm)). -- Add new `--no-status` flag to skip expensive status checks when running `task --list --json` ([#1348](https://github.com/go-task/task/issues/1348), [#1368](https://github.com/go-task/task/issues/1368) by [@amancevice](https://github.com/amancevice)). +- Added ability to exclude some files from `sources:` by using `exclude:` (#225, + + # 1324 by @pd93 and @andreynering). +- The [Remote Taskfiles experiment](https://taskfile.dev/experiments/remote-taskfiles) now prefers remote files over cached ones by default (#1317, #1345 by @pd93). +- Added `--timeout` flag to the [Remote Taskfiles experiment](https://taskfile.dev/experiments/remote-taskfiles) (#1317, #1345 by @pd93). +- Fix bug where dynamic `vars:` and `env:` were being executed when they should actually be skipped by `platforms:` (#1273, #1377 by @andreynering). +- Fix `schema.json` to make `silent` valid in `cmds` that use `for` (#1385, + + # 1386 by @iainvm). +- Add new `--no-status` flag to skip expensive status checks when running `task --list --json` (#1348, #1368 by @amancevice). ## v3.31.0 - 2023-10-07 -- Enabled the `--yes` flag for the [Remote Taskfiles experiment](https://taskfile.dev/experiments/remote-taskfiles) ([#1317](https://github.com/go-task/task/issues/1317), [#1344](https://github.com/go-task/task/issues/1344) by [@pd93](https://github.com/pd93)). -- Add ability to set `watch: true` in a task to automatically run it in watch mode ([#231](https://github.com/go-task/task/issues/231), [#1361](https://github.com/go-task/task/issues/1361) by [@andreynering](https://github.com/andreynering)). -- Fixed a bug on the watch mode where paths that contained `.git` (like `.github`), for example, were also being ignored ([#1356](https://github.com/go-task/task/issues/1356) by [@butuzov](https://github.com/butuzov)). -- Fixed a nil pointer error when running a Taskfile with no contents ([#1341](https://github.com/go-task/task/issues/1341), [#1342](https://github.com/go-task/task/issues/1342) by [@pd93](https://github.com/pd93)). -- Added a new [exit code](https://taskfile.dev/api/#exit-codes) (107) for when a Taskfile does not contain a schema version ([#1342](https://github.com/go-task/task/issues/1342) by [@pd93](https://github.com/pd93)). -- Increased limit of maximum task calls from 100 to 1000 for now, as some people have been reaching this limit organically now that we have loops. This check exists to detect recursive calls, but will be removed in favor of a better algorithm soon ([#1321](https://github.com/go-task/task/issues/1321), [#1332](https://github.com/go-task/task/issues/1332)). -- Fixed templating on descriptions on `task --list` ([#1343](https://github.com/go-task/task/issues/1343) by [@blackjid](https://github.com/blackjid)). -- Fixed a bug where precondition errors were incorrectly being printed when task execution was aborted ([#1337](https://github.com/go-task/task/issues/1337), [#1338](https://github.com/go-task/task/issues/1338) by [@sylv](https://github.com/sylv)-io). +- Enabled the `--yes` flag for the [Remote Taskfiles experiment](https://taskfile.dev/experiments/remote-taskfiles) (#1317, #1344 by @pd93). +- Add ability to set `watch: true` in a task to automatically run it in watch mode (#231, #1361 by @andreynering). +- Fixed a bug on the watch mode where paths that contained `.git` (like `.github`), for example, were also being ignored (#1356 by @butuzov). +- Fixed a nil pointer error when running a Taskfile with no contents (#1341, + + # 1342 by @pd93). +- Added a new [exit code](https://taskfile.dev/api/#exit-codes) (107) for when a Taskfile does not contain a schema version (#1342 by @pd93). +- Increased limit of maximum task calls from 100 to 1000 for now, as some people have been reaching this limit organically now that we have loops. This check exists to detect recursive calls, but will be removed in favor of a better algorithm soon (#1321, #1332). +- Fixed templating on descriptions on `task --list` (#1343 by @blackjid). +- Fixed a bug where precondition errors were incorrectly being printed when task execution was aborted (#1337, #1338 by @sylv-io). ## v3.30.1 - 2023-09-14 -- Fixed a regression where some special variables weren't being set correctly ([#1331](https://github.com/go-task/task/issues/1331), [#1334](https://github.com/go-task/task/issues/1334) by [@pd93](https://github.com/pd93)). +- Fixed a regression where some special variables weren't being set correctly (#1331, #1334 by @pd93). ## v3.30.0 - 2023-09-13 -- Prep work for Remote Taskfiles ([#1316](https://github.com/go-task/task/issues/1316) by [@pd93](https://github.com/pd93)). -- Added the [Remote Taskfiles experiment](https://taskfile.dev/experiments/remote-taskfiles) as a draft ([#1152](https://github.com/go-task/task/issues/1152), [#1317](https://github.com/go-task/task/issues/1317) by [@pd93](https://github.com/pd93)). -- Improve performance of content checksuming on `sources:` by replacing md5 with [XXH3](https://xxhash.com/) which is much faster. This is a soft breaking change because checksums will be invalidated when upgrading to this release ([#1325](https://github.com/go-task/task/issues/1325) by [@ReillyBrogan](https://github.com/ReillyBrogan)). +- Prep work for Remote Taskfiles (#1316 by @pd93). +- Added the [Remote Taskfiles experiment](https://taskfile.dev/experiments/remote-taskfiles) as a draft (#1152, #1317 by @pd93). +- Improve performance of content checksuming on `sources:` by replacing md5 with [XXH3](https://xxhash.com/) which is much faster. This is a soft breaking change because checksums will be invalidated when upgrading to this release (#1325 by @ReillyBrogan). ## v3.29.1 - 2023-08-26 -- Update to Go 1.21 (bump minimum version to 1.20) ([#1302](https://github.com/go-task/task/issues/1302) by [@pd93](https://github.com/pd93)) -- Fix a missing a line break on log when using `--watch` mode ([#1285](https://github.com/go-task/task/issues/1285), [#1297](https://github.com/go-task/task/issues/1297) by [@FilipSolich](https://github.com/FilipSolich)). -- Fix `defer` on JSON Schema ([#1288](https://github.com/go-task/task/issues/1288) by [@calvinmclean](https://github.com/calvinmclean) and [@andreynering](https://github.com/andreynering)). -- Fix bug in usage of special variables like `{{.USER_WORKING_DIR}}` in combination with `includes` ([#1046](https://github.com/go-task/task/issues/1046), [#1205](https://github.com/go-task/task/issues/1205), [#1250](https://github.com/go-task/task/issues/1250), [#1293](https://github.com/go-task/task/issues/1293), [#1312](https://github.com/go-task/task/issues/1312), [#1274](https://github.com/go-task/task/issues/1274) by [@andarto](https://github.com/andarto), [#1309](https://github.com/go-task/task/issues/1309) by [@andreynering](https://github.com/andreynering)). -- Fix bug on `--status` flag. Running this flag should not have side-effects: it should not update the checksum on `.task`, only report its status ([#1305](https://github.com/go-task/task/issues/1305), [#1307](https://github.com/go-task/task/issues/1307) by [@visciang](https://github.com/visciang), [#1313](https://github.com/go-task/task/issues/1313) by [@andreynering](https://github.com/andreynering)). +- Update to Go 1.21 (bump minimum version to 1.20) (#1302 by @pd93) +- Fix a missing a line break on log when using `--watch` mode (#1285, #1297 by @FilipSolich). +- Fix `defer` on JSON Schema (#1288 by @calvinmclean and @andreynering). +- Fix bug in usage of special variables like `{{.USER_WORKING_DIR}}` in combination with `includes` (#1046, #1205, #1250, #1293, #1312, #1274 by @andarto, #1309 by @andreynering). +- Fix bug on `--status` flag. Running this flag should not have side-effects: it should not update the checksum on `.task`, only report its status (#1305, + + # 1307 by @visciang, #1313 by @andreynering). ## v3.28.0 - 2023-07-24 -- Added the ability to [loop over commands and tasks](https://taskfile.dev/usage/#looping-over-values) using `for` ([#82](https://github.com/go-task/task/issues/82), [#1220](https://github.com/go-task/task/issues/1220) by [@pd93](https://github.com/pd93)). -- Fixed variable propagation in multi-level includes ([#778](https://github.com/go-task/task/issues/778), [#996](https://github.com/go-task/task/issues/996), [#1256](https://github.com/go-task/task/issues/1256) by [@hudclark](https://github.com/hudclark)). -- Fixed a bug where the `--exit-code` code flag was not returning the correct exit code when calling commands indirectly ([#1266](https://github.com/go-task/task/issues/1266), [#1270](https://github.com/go-task/task/issues/1270) by [@pd93](https://github.com/pd93)). -- Fixed a `nil` panic when a dependency was commented out or left empty ([#1263](https://github.com/go-task/task/issues/1263) by [@neomantra](https://github.com/neomantra)). +- Added the ability to [loop over commands and tasks](https://taskfile.dev/usage/#looping-over-values) using `for` (#82, #1220 by @pd93). +- Fixed variable propagation in multi-level includes (#778, #996, #1256 by @hudclark). +- Fixed a bug where the `--exit-code` code flag was not returning the correct exit code when calling commands indirectly (#1266, #1270 by @pd93). +- Fixed a `nil` panic when a dependency was commented out or left empty (#1263 by @neomantra). ## v3.27.1 - 2023-06-30 -- Fix panic when a `.env` directory (not file) is present on current directory ([#1244](https://github.com/go-task/task/issues/1244), [#1245](https://github.com/go-task/task/issues/1245) by [@pd93](https://github.com/pd93)). +- Fix panic when a `.env` directory (not file) is present on current directory (#1244, #1245 by @pd93). ## v3.27.0 - 2023-06-29 -- Allow Taskfiles starting with lowercase characters ([#947](https://github.com/go-task/task/issues/947), [#1221](https://github.com/go-task/task/issues/1221) by [@pd93](https://github.com/pd93)). +- Allow Taskfiles starting with lowercase characters (#947, #1221 by @pd93). - e.g. `taskfile.yml`, `taskfile.yaml`, `taskfile.dist.yml` & `taskfile.dist.yaml` -- Bug fixes were made to the [npm installation method](https://taskfile.dev/installation/#npm). ([#1190](https://github.com/go-task/task/issues/1190), by [@sounisi5011](https://github.com/sounisi5011)). -- Added the [gentle force experiment](https://taskfile.dev/experiments/gentle-force) as a draft ([#1200](https://github.com/go-task/task/issues/1200), [#1216](https://github.com/go-task/task/issues/1216) by [@pd93](https://github.com/pd93)). -- Added an `--experiments` flag to allow you to see which experiments are enabled ([#1242](https://github.com/go-task/task/issues/1242) by [@pd93](https://github.com/pd93)). -- Added ability to specify which variables are required in a task ([#1203](https://github.com/go-task/task/issues/1203), [#1204](https://github.com/go-task/task/issues/1204) by [@benc](https://github.com/benc)-uk). +- Bug fixes were made to the [npm installation method](https://taskfile.dev/installation/#npm). (#1190, by @sounisi5011). +- Added the [gentle force experiment](https://taskfile.dev/experiments/gentle-force) as a draft (#1200, #1216 by @pd93). +- Added an `--experiments` flag to allow you to see which experiments are enabled (#1242 by @pd93). +- Added ability to specify which variables are required in a task (#1203, #1204 by @benc-uk). ## v3.26.0 - 2023-06-10 -- Only rewrite checksum files in `.task` if the checksum has changed ([#1185](https://github.com/go-task/task/issues/1185), [#1194](https://github.com/go-task/task/issues/1194) by [@deviantintegral](https://github.com/deviantintegral)). -- Added [experiments documentation](https://taskfile.dev/experiments) to the website ([#1198](https://github.com/go-task/task/issues/1198) by [@pd93](https://github.com/pd93)). -- Deprecated `version: 2` schema. This will be removed in the next major release ([#1197](https://github.com/go-task/task/issues/1197), [#1198](https://github.com/go-task/task/issues/1198), [#1199](https://github.com/go-task/task/issues/1199) by [@pd93](https://github.com/pd93)). -- Added a new `prompt:` prop to set a warning prompt to be shown before running a potential dangurous task ([#100](https://github.com/go-task/task/issues/100), [#1163](https://github.com/go-task/task/issues/1163) by [@MaxCheetham](https://github.com/MaxCheetham), [Documentation](https://taskfile.dev/usage/#warning-prompts)). -- Added support for single command task syntax. With this change, it's now possible to declare just `cmd:` in a task, avoiding the more complex `cmds: []` when you have only a single command for that task ([#1130](https://github.com/go-task/task/issues/1130), [#1131](https://github.com/go-task/task/issues/1131) by [@timdp](https://github.com/timdp)). +- Only rewrite checksum files in `.task` if the checksum has changed (#1185, + + # 1194 by @deviantintegral). +- Added [experiments documentation](https://taskfile.dev/experiments) to the website (#1198 by @pd93). +- Deprecated `version: 2` schema. This will be removed in the next major release (#1197, #1198, #1199 by @pd93). +- Added a new `prompt:` prop to set a warning prompt to be shown before running a potential dangurous task (#100, #1163 by @MaxCheetham, [Documentation](https://taskfile.dev/usage/#warning-prompts)). +- Added support for single command task syntax. With this change, it's now possible to declare just `cmd:` in a task, avoiding the more complex `cmds: []` when you have only a single command for that task (#1130, #1131 by @timdp). ## v3.25.0 - 2023-05-22 -- 调用其他任务时支持 `silent:` (由 [@danquah](https://github.com/danquah) 在 [#680](https://github.com/go-task/task/issues/680)、[#1142](https://github.com/go-task/task/issues/1142) 完成)。 -- 改进 PowerShell 完成脚本(由 [@trim21](https://github.com/trim21) 在 [#1168](https://github.com/go-task/task/issues/1168) 完成)。 -- 在网站菜单中添加更多语言并显示翻译进度百分比( by 由 [@misitebao](https://github.com/misitebao) 在 [#1173](https://github.com/go-task/task/issues/1173) 完成)。 -- 从此版本开始,FreeBSD 的官方二进制文件将可供下载(由 [@andreynering](https://github.com/andreynering) 在 [#1068](https://github.com/go-task/task/issues/1068) 完成)。 -- 修复一些被意外抑制的错误(由 [@clintmod](https://github.com/clintmod) 在 [#1134](https://github.com/go-task/task/issues/1134) 修复)。 -- 修复 Taskfile 中省略 `version` 时的 nil 指针错误(由 [@pd93](https://github.com/pd93) 在 [#1148](https://github.com/go-task/task/issues/1148)、[#1149](https://github.com/go-task/task/issues/1149) 修复)。 -- Fix duplicate error message when a task does not exists ([#1141](https://github.com/go-task/task/issues/1141), [#1144](https://github.com/go-task/task/issues/1144) by [@pd93](https://github.com/pd93)). +- Support `silent:` when calling another tasks (#680, #1142 by @danquah). +- Improve PowerShell completion script (#1168 by @trim21). +- Add more languages to the website menu and show translation progress percentage (#1173 by @misitebao). +- Starting on this release, official binaries for FreeBSD will be available to download (#1068 by @andreynering). +- Fix some errors being unintendedly supressed (#1134 by @clintmod). +- Fix a nil pointer error when `version` is omitted from a Taskfile (#1148, + + # 1149 by @pd93). +- Fix duplicate error message when a task does not exists (#1141, #1144 by @pd93). ## v3.24.0 - 2023-04-15 -- 修复带有别名的 task 的 Fish shell 补全 ([#1113](https://github.com/go-task/task/issues/1113) by [@patricksjackson](https://github.com/patricksjackson))。 -- 默认分支已从 `master` 重命名为 `main` ([#1049](https://github.com/go-task/task/issues/1049), [#1048](https://github.com/go-task/task/issues/1048) by [@pd93](https://github.com/pd93))。 -- 修复静默任务未省略“up-to-date”日志的错误 ([#546](https://github.com/go-task/task/issues/546), [#1107](https://github.com/go-task/task/issues/1107) by [@danquah](https://github.com/danquah))。 -- 使用 `--watch` 时将 `.hg` (Mercurial) 添加到忽略目录列表 ([#1098](https://github.com/go-task/task/issues/1098) by [@misery](https://github.com/misery))。 -- 对发布工具的更多改进 ([#1096](https://github.com/go-task/task/issues/1096) by [@pd93](https://github.com/pd93))。 -- 强制执行 [gofumpt](https://github.com/mvdan/gofumpt) linter ([#1099](https://github.com/go-task/task/issues/1099) by [@pd93](https://github.com/pd93)) -- 添加 `--sort` 标志以与 `--list` 和 `--list-all` 一起使用 ([#946](https://github.com/go-task/task/issues/946), [#1105](https://github.com/go-task/task/issues/1105) by [@pd93](https://github.com/pd93))。 -- Task 现在根据错误具有 [自定义退出代码](https://taskfile.dev/api/#exit-codes) ([#1114](https://github.com/go-task/task/issues/1114) by [@pd93](https://github.com/pd93))。 +- Fix Fish shell completion for tasks with aliases (#1113 by @patricksjackson). +- The default branch was renamed from `master` to `main` (#1049, #1048 by @pd93). +- Fix bug where "up-to-date" logs were not being omitted for silent tasks (#546, + + # 1107 by @danquah). +- Add `.hg` (Mercurial) to the list of ignored directories when using `--watch` (#1098 by @misery). +- More improvements to the release tool (#1096 by @pd93). +- Enforce [gofumpt](https://github.com/mvdan/gofumpt) linter (#1099 by @pd93) +- Add `--sort` flag for use with `--list` and `--list-all` (#946, #1105 by @pd93). +- Task now has [custom exit codes](https://taskfile.dev/api/#exit-codes) depending on the error (#1114 by @pd93). ## v3.23.0 - 2023-03-26 -Task 现在已经有了一个由 [@pd93](https://github.com/pd93) 贡献的 [Visual Studio Code 官方扩展程序](https://marketplace.visualstudio.com/items?itemName=task.vscode-task)! :tada:该扩展现在在 `go-task` 组织的 [新存储库](https://github.com/go-task/vscode-task) 中进行维护。 我们希望从社区收集反馈,请尝试并通过[discussion](https://github.com/go-task/vscode-task/discussions)、 [issue](https://github.com/go-task/vscode-task/issues) 或 [Discord](https://discord.gg/6TY36E39UK) 告诉我们您的想法! +Task now has an [official extension for Visual Studio Code](https://marketplace.visualstudio.com/items?itemName=task.vscode-task) contributed by @pd93! :tada:该扩展现在在 `go-task` 组织的 [新存储库](https://github.com/go-task/vscode-task) 中进行维护。 我们希望从社区收集反馈,请尝试并通过[discussion](https://github.com/go-task/vscode-task/discussions)、 [issue](https://github.com/go-task/vscode-task/issues) 或 [Discord](https://discord.gg/6TY36E39UK) 告诉我们您的想法! > **注意:** 扩展 _需要安装_ v3.23.0 才能正常工作。 -- The website was integrated with [Crowdin](https://crowdin.com/project/taskfile) to allow the community to contribute with translations! [Chinese](https://taskfile.dev/zh-Hans/) is the first language available ([#1057](https://github.com/go-task/task/issues/1057), [#1058](https://github.com/go-task/task/issues/1058) by [@misitebao](https://github.com/misitebao)). -- Added task location data to the `--json` flag output ([#1056](https://github.com/go-task/task/issues/1056) by [@pd93](https://github.com/pd93)) -- Change the name of the file generated by `task --init` from `Taskfile.yaml` to `Taskfile.yml` ([#1062](https://github.com/go-task/task/issues/1062) by [@misitebao](https://github.com/misitebao)). -- Added new `splitArgs` template function (`{{splitArgs "foo bar 'foo bar baz'"}}`) to ensure string is split as arguments ([#1040](https://github.com/go-task/task/issues/1040), [#1059](https://github.com/go-task/task/issues/1059) by [@dhanusaputra](https://github.com/dhanusaputra)). -- Fix the value of `{{.CHECKSUM}}` variable in status ([#1076](https://github.com/go-task/task/issues/1076), [#1080](https://github.com/go-task/task/issues/1080) by [@pd93](https://github.com/pd93)). -- Fixed deep copy implementation ([#1072](https://github.com/go-task/task/issues/1072) by [@pd93](https://github.com/pd93)) -- Created a tool to assist with releases ([#1086](https://github.com/go-task/task/issues/1086) by [@pd93](https://github.com/pd93)). +- The website was integrated with [Crowdin](https://crowdin.com/project/taskfile) to allow the community to contribute with translations! [Chinese](https://taskfile.dev/zh-Hans/) is the first language available (#1057, #1058 by @misitebao). +- Added task location data to the `--json` flag output (#1056 by @pd93) +- Change the name of the file generated by `task --init` from `Taskfile.yaml` to `Taskfile.yml` (#1062 by @misitebao). +- Added new `splitArgs` template function (`{{splitArgs "foo bar 'foo bar baz'"}}`) to ensure string is split as arguments (#1040, #1059 by @dhanusaputra). +- Fix the value of `{{.CHECKSUM}}` variable in status (#1076, #1080 by @pd93). +- Fixed deep copy implementation (#1072 by @pd93) +- Created a tool to assist with releases (#1086 by @pd93). ## v3.22.0 - 2023-03-10 -- Add a brand new `--global` (`-g`) flag that will run a Taskfile from your `$HOME` directory. This is useful to have automation that you can run from anywhere in your system! ([Documentation](https://taskfile.dev/usage/#running-a-global-taskfile), [#1029](https://github.com/go-task/task/issues/1029) by [@andreynering](https://github.com/andreynering)). -- Add ability to set `error_only: true` on the `group` output mode. This will instruct Task to only print a command output if it returned with a non-zero exit code ([#664](https://github.com/go-task/task/issues/664), [#1022](https://github.com/go-task/task/issues/1022) by [@jaedle](https://github.com/jaedle)). -- Fixed bug where `.task/checksum` file was sometimes not being created when task also declares a `status:` ([#840](https://github.com/go-task/task/issues/840), [#1035](https://github.com/go-task/task/issues/1035) by [@harelwa](https://github.com/harelwa), [#1037](https://github.com/go-task/task/issues/1037) by [@pd93](https://github.com/pd93)). -- Refactored and decoupled fingerprinting from the main Task executor ([#1039](https://github.com/go-task/task/issues/1039) by [@pd93](https://github.com/pd93)). -- Fixed deadlock issue when using `run: once` ([#715](https://github.com/go-task/task/issues/715), [#1025](https://github.com/go-task/task/issues/1025) by [@theunrepentantgeek](https://github.com/theunrepentantgeek)). +- Add a brand new `--global` (`-g`) flag that will run a Taskfile from your `$HOME` directory. This is useful to have automation that you can run from anywhere in your system! ([Documentation](https://taskfile.dev/usage/#running-a-global-taskfile), #1029 by @andreynering). +- Add ability to set `error_only: true` on the `group` output mode. This will instruct Task to only print a command output if it returned with a non-zero exit code (#664, #1022 by @jaedle). +- Fixed bug where `.task/checksum` file was sometimes not being created when task also declares a `status:` (#840, #1035 by @harelwa, #1037 by @pd93). +- Refactored and decoupled fingerprinting from the main Task executor (#1039 by @pd93). +- Fixed deadlock issue when using `run: once` (#715, #1025 by @theunrepentantgeek). ## v3.21.0 - 2023-02-22 -- Added new `TASK_VERSION` special variable ([#990](https://github.com/go-task/task/issues/990), [#1014](https://github.com/go-task/task/issues/1014) by [@ja1code](https://github.com/ja1code)). -- Fixed a bug where tasks were sometimes incorrectly marked as internal ([#1007](https://github.com/go-task/task/issues/1007) by [@pd93](https://github.com/pd93)). -- Update to Go 1.20 (bump minimum version to 1.19) ([#1010](https://github.com/go-task/task/issues/1010) by [@pd93](https://github.com/pd93)) -- Added environment variable `FORCE_COLOR` support to force color output. Usefull for environments without TTY ([#1003](https://github.com/go-task/task/issues/1003) by [@automation](https://github.com/automation)-stack) +- Added new `TASK_VERSION` special variable (#990, #1014 by @ja1code). +- Fixed a bug where tasks were sometimes incorrectly marked as internal (#1007 by @pd93). +- Update to Go 1.20 (bump minimum version to 1.19) (#1010 by @pd93) +- Added environment variable `FORCE_COLOR` support to force color output. Usefull for environments without TTY (#1003 by @automation-stack) ## v3.20.0 - 2023-01-14 -- Improve behavior and performance of status checking when using the `timestamp` mode ([#976](https://github.com/go-task/task/issues/976), [#977](https://github.com/go-task/task/issues/977) by [@aminya](https://github.com/aminya)). -- Performance optimizations were made for large Taskfiles ([#982](https://github.com/go-task/task/issues/982) by [@pd93](https://github.com/pd93)). -- Add ability to configure options for the [`set`](https://www.gnu.org/software/bash/manual/html_node/The-Set-Builtin.html) and [`shopt`](https://www.gnu.org/software/bash/manual/html_node/The-Shopt-Builtin.html) builtins ([#908](https://github.com/go-task/task/issues/908), [#929](https://github.com/go-task/task/issues/929) by [@pd93](https://github.com/pd93), [Documentation](http://taskfile.dev/usage/#set-and-shopt)). -- Add new `platforms:` attribute to `task` and `cmd`, so it's now possible to choose in which platforms that given task or command will be run on. Possible values are operating system (GOOS), architecture (GOARCH) or a combination of the two. Example: `platforms: [linux]`, `platforms: [amd64]` or `platforms: [linux/amd64]`. Other platforms will be skipped ([#978](https://github.com/go-task/task/issues/978), [#980](https://github.com/go-task/task/issues/980) by [@leaanthony](https://github.com/leaanthony)). +- Improve behavior and performance of status checking when using the `timestamp` mode (#976, #977 by @aminya). +- Performance optimizations were made for large Taskfiles (#982 by @pd93). +- Add ability to configure options for the [`set`](https://www.gnu.org/software/bash/manual/html_node/The-Set-Builtin.html) and [`shopt`](https://www.gnu.org/software/bash/manual/html_node/The-Shopt-Builtin.html) builtins (#908, #929 by @pd93, [Documentation](http://taskfile.dev/usage/#set-and-shopt)). +- Add new `platforms:` attribute to `task` and `cmd`, so it's now possible to choose in which platforms that given task or command will be run on. Possible values are operating system (GOOS), architecture (GOARCH) or a combination of the two. Example: `platforms: [linux]`, `platforms: [amd64]` or `platforms: [linux/amd64]`. Other platforms will be skipped (#978, #980 by @leaanthony). ## v3.19.1 - 2022-12-31 -- Small bug fix: closing `Taskfile.yml` once we're done reading it ([#963](https://github.com/go-task/task/issues/963), [#964](https://github.com/go-task/task/issues/964) by [@HeCorr](https://github.com/HeCorr)). -- Fixes a bug in v2 that caused a panic when using a `Taskfile_{{OS}}.yml` file ([#961](https://github.com/go-task/task/issues/961), [#971](https://github.com/go-task/task/issues/971) by [@pd93](https://github.com/pd93)). -- Fixed a bug where watch intervals set in the Taskfile were not being respected ([#969](https://github.com/go-task/task/issues/969), [#970](https://github.com/go-task/task/issues/970) by [@pd93](https://github.com/pd93)) -- Add `--json` flag (alias `-j`) with the intent to improve support for code editors and add room to other possible integrations. This is basic for now, but we plan to add more info in the near future ([#936](https://github.com/go-task/task/issues/936) by [@davidalpert](https://github.com/davidalpert), [#764](https://github.com/go-task/task/issues/764)). +- Small bug fix: closing `Taskfile.yml` once we're done reading it (#963, #964 by @HeCorr). +- Fixes a bug in v2 that caused a panic when using a `Taskfile_{{OS}}.yml` file (#961, #971 by @pd93). +- Fixed a bug where watch intervals set in the Taskfile were not being respected (#969, #970 by @pd93) +- Add `--json` flag (alias `-j`) with the intent to improve support for code editors and add room to other possible integrations. This is basic for now, but we plan to add more info in the near future (#936 by @davidalpert, #764). ## v3.19.0 - 2022-12-05 -- Installation via npm now supports [pnpm](https://pnpm.io/) as well ([go-task/go-npm\[#2\](https://github.com/go-task/task/issues/2)](https://github.com/go-task/go-npm/issues/2), [go-task/go-npm\[#3\](https://github.com/go-task/task/issues/3)](https://github.com/go-task/go-npm/pull/3)). -- It's now possible to run Taskfiles from subdirectories! A new `USER_WORKING_DIR` special variable was added to add even more flexibility for monorepos ([#289](https://github.com/go-task/task/issues/289), [#920](https://github.com/go-task/task/issues/920)). -- Add task-level `dotenv` support ([#389](https://github.com/go-task/task/issues/389), [#904](https://github.com/go-task/task/issues/904)). -- It's now possible to use global level variables on `includes` ([#942](https://github.com/go-task/task/issues/942), [#943](https://github.com/go-task/task/issues/943)). -- The website got a brand new [translation to Chinese](https://task-zh.readthedocs.io/zh_CN/latest/) by [\[@DeronW\](https://github.com/DeronW)](https://github.com/DeronW). Thanks! +- Installation via npm now supports [pnpm](https://pnpm.io/) as well ([go-task/go-npm#2](https://github.com/go-task/go-npm/issues/2), [go-task/go-npm#3](https://github.com/go-task/go-npm/pull/3)). +- It's now possible to run Taskfiles from subdirectories! A new `USER_WORKING_DIR` special variable was added to add even more flexibility for monorepos (#289, #920). +- Add task-level `dotenv` support (#389, #904). +- It's now possible to use global level variables on `includes` (#942, #943). +- The website got a brand new [translation to Chinese](https://task-zh.readthedocs.io/zh_CN/latest/) by [@DeronW](https://github.com/DeronW). Thanks! ## v3.18.0 - 2022-11-12 -- Show aliases on `task --list --silent` (`task --ls`). This means that aliases will be completed by the completion scripts ([#919](https://github.com/go-task/task/issues/919)). -- Tasks in the root Taskfile will now be displayed first in `--list`/`--list-all` output ([#806](https://github.com/go-task/task/issues/806), [#890](https://github.com/go-task/task/issues/890)). -- It's now possible to call a `default` task in an included Taskfile by using just the namespace. For example: `docs:default` is now automatically aliased to `docs` ([#661](https://github.com/go-task/task/issues/661), [#815](https://github.com/go-task/task/issues/815)). +- Show aliases on `task --list --silent` (`task --ls`). This means that aliases will be completed by the completion scripts (#919). +- Tasks in the root Taskfile will now be displayed first in `--list`/`--list-all` output (#806, #890). +- It's now possible to call a `default` task in an included Taskfile by using just the namespace. For example: `docs:default` is now automatically aliased to `docs` (#661, #815). ## v3.17.0 - 2022-10-14 -- Add a "Did you mean ...?" suggestion when a task does not exits another one with a similar name is found ([#867](https://github.com/go-task/task/issues/867), [#880](https://github.com/go-task/task/issues/880)). -- Now YAML parse errors will print which Taskfile failed to parse ([#885](https://github.com/go-task/task/issues/885), [#887](https://github.com/go-task/task/issues/887)). -- Add ability to set `aliases` for tasks and namespaces ([#268](https://github.com/go-task/task/issues/268), [#340](https://github.com/go-task/task/issues/340), [#879](https://github.com/go-task/task/issues/879)). -- Improvements to Fish shell completion ([#897](https://github.com/go-task/task/issues/897)). -- Added ability to set a different watch interval by setting `interval: '500ms'` or using the `--interval=500ms` flag ([#813](https://github.com/go-task/task/issues/813), [#865](https://github.com/go-task/task/issues/865)). -- Add colored output to `--list`, `--list-all` and `--summary` flags ([#845](https://github.com/go-task/task/issues/845), [#874](https://github.com/go-task/task/issues/874)). -- Fix unexpected behavior where `label:` was being shown instead of the task name on `--list` ([#603](https://github.com/go-task/task/issues/603), [#877](https://github.com/go-task/task/issues/877)). +- Add a "Did you mean ...?" suggestion when a task does not exits another one with a similar name is found (#867, #880). +- Now YAML parse errors will print which Taskfile failed to parse (#885, #887). +- Add ability to set `aliases` for tasks and namespaces (#268, #340, #879). +- Improvements to Fish shell completion (#897). +- Added ability to set a different watch interval by setting `interval: '500ms'` or using the `--interval=500ms` flag (#813, #865). +- Add colored output to `--list`, `--list-all` and `--summary` flags (#845, + + # 874). +- Fix unexpected behavior where `label:` was being shown instead of the task name on `--list` (#603, #877). ## v3.16.0 - 2022-09-29 -- Add `npm` as new installation method: `npm i -g [@go](https://github.com/go)-task/cli` ([#870](https://github.com/go-task/task/issues/870), [#871](https://github.com/go-task/task/issues/871), [npm package](https://www.npmjs.com/package/[@go](https://github.com/go)-task/cli)). -- Add support to marking tasks and includes as internal, which will hide them from `--list` and `--list-all` ([#818](https://github.com/go-task/task/issues/818)). +- Add `npm` as new installation method: `npm i -g @go-task/cli` (#870, #871, [npm package](https://www.npmjs.com/package/@go-task/cli)). +- Add support to marking tasks and includes as internal, which will hide them from `--list` and `--list-all` (#818). ## v3.15.2 - 2022-09-08 -- Fix error when using variable in `env:` introduced in the previous release ([#858](https://github.com/go-task/task/issues/858), [#866](https://github.com/go-task/task/issues/866)). -- Fix handling of `CLI_ARGS` (`--`) in Bash completion ([#863](https://github.com/go-task/task/issues/863)). -- On zsh completion, add ability to replace `--list-all` with `--list` as already possible on the Bash completion ([#861](https://github.com/go-task/task/issues/861)). +- Fix error when using variable in `env:` introduced in the previous release (#858, #866). +- Fix handling of `CLI_ARGS` (`--`) in Bash completion (#863). +- On zsh completion, add ability to replace `--list-all` with `--list` as already possible on the Bash completion (#861). ## v3.15.0 - 2022-09-03 -- Add new special variables `ROOT_DIR` and `TASKFILE_DIR`. This was a highly requested feature ([#215](https://github.com/go-task/task/issues/215), [#857](https://github.com/go-task/task/issues/857), [Documentation](https://taskfile.dev/api/#special-variables)). -- Follow symlinks on `sources` ([#826](https://github.com/go-task/task/issues/826), [#831](https://github.com/go-task/task/issues/831)). -- Improvements and fixes to Bash completion ([#835](https://github.com/go-task/task/issues/835), [#844](https://github.com/go-task/task/issues/844)). +- Add new special variables `ROOT_DIR` and `TASKFILE_DIR`. This was a highly requested feature (#215, #857, [Documentation](https://taskfile.dev/api/#special-variables)). +- Follow symlinks on `sources` (#826, #831). +- Improvements and fixes to Bash completion (#835, #844). ## v3.14.1 - 2022-08-03 -- Always resolve relative include paths relative to the including Taskfile ([#822](https://github.com/go-task/task/issues/822), [#823](https://github.com/go-task/task/issues/823)). -- Fix ZSH and PowerShell completions to consider all tasks instead of just the public ones (those with descriptions) ([#803](https://github.com/go-task/task/issues/803)). +- Always resolve relative include paths relative to the including Taskfile (#822, #823). +- Fix ZSH and PowerShell completions to consider all tasks instead of just the public ones (those with descriptions) (#803). ## v3.14.0 - 2022-07-08 - Add ability to override the `.task` directory location with the `TASK_TEMP_DIR` environment variable. -- Allow to override Task colors using environment variables: `TASK_COLOR_RESET`, `TASK_COLOR_BLUE`, `TASK_COLOR_GREEN`, `TASK_COLOR_CYAN`, `TASK_COLOR_YELLOW`, `TASK_COLOR_MAGENTA` and `TASK_COLOR_RED` ([#568](https://github.com/go-task/task/issues/568), [#792](https://github.com/go-task/task/issues/792)). -- Fixed bug when using the `output: group` mode where STDOUT and STDERR were being print in separated blocks instead of in the right order ([#779](https://github.com/go-task/task/issues/779)). -- Starting on this release, ARM architecture binaries are been released to Snap as well ([#795](https://github.com/go-task/task/issues/795)). +- Allow to override Task colors using environment variables: `TASK_COLOR_RESET`, `TASK_COLOR_BLUE`, `TASK_COLOR_GREEN`, `TASK_COLOR_CYAN`, `TASK_COLOR_YELLOW`, `TASK_COLOR_MAGENTA` and `TASK_COLOR_RED` (#568, #792). +- Fixed bug when using the `output: group` mode where STDOUT and STDERR were being print in separated blocks instead of in the right order (#779). +- Starting on this release, ARM architecture binaries are been released to Snap as well (#795). - i386 binaries won't be available anymore on Snap because Ubuntu removed the support for this architecture. -- Upgrade mvdan.cc/sh, which fixes a bug with associative arrays ([#785](https://github.com/go-task/task/issues/785), [mvdan/sh\[#884\](https://github.com/go-task/task/issues/884)](https://github.com/mvdan/sh/issues/884), [mvdan/sh\[#893\](https://github.com/go-task/task/issues/893)](https://github.com/mvdan/sh/pull/893)). +- Upgrade mvdan.cc/sh, which fixes a bug with associative arrays (#785, [mvdan/sh#884](https://github.com/mvdan/sh/issues/884), [mvdan/sh#893](https://github.com/mvdan/sh/pull/893)). ## v3.13.0 - 2022-06-13 -- Added `-n` as an alias to `--dry` ([#776](https://github.com/go-task/task/issues/776), [#777](https://github.com/go-task/task/issues/777)). -- Fix behavior of interrupt (SIGINT, SIGTERM) signals. Task will now give time for the processes running to do cleanup work ([#458](https://github.com/go-task/task/issues/458), [#479](https://github.com/go-task/task/issues/479), [#728](https://github.com/go-task/task/issues/728), [#769](https://github.com/go-task/task/issues/769)). -- Add new `--exit-code` (`-x`) flag that will pass-through the exit form the command being ran ([#755](https://github.com/go-task/task/issues/755)). +- Added `-n` as an alias to `--dry` (#776, #777). +- Fix behavior of interrupt (SIGINT, SIGTERM) signals. Task will now give time for the processes running to do cleanup work (#458, #479, #728, #769). +- Add new `--exit-code` (`-x`) flag that will pass-through the exit form the command being ran (#755). ## v3.12.1 - 2022-05-10 -- Fixed bug where, on Windows, variables were ending with `\r` because we were only removing the final `\n` but not `\r\n` ([#717](https://github.com/go-task/task/issues/717)). +- Fixed bug where, on Windows, variables were ending with `\r` because we were only removing the final `\n` but not `\r\n` (#717). ## v3.12.0 - 2022-03-31 -- The `--list` and `--list-all` flags can now be combined with the `--silent` flag to print the task names only, without their description ([#691](https://github.com/go-task/task/issues/691)). -- Added support for multi-level inclusion of Taskfiles. This means that included Taskfiles can also include other Taskfiles. Before this was limited to one level ([#390](https://github.com/go-task/task/issues/390), [#623](https://github.com/go-task/task/issues/623), [#656](https://github.com/go-task/task/issues/656)). -- Add ability to specify vars when including a Taskfile. [Check out the documentation](https://taskfile.dev/#/usage?id=vars-of-included-taskfiles) for more information ([#677](https://github.com/go-task/task/issues/677)). +- The `--list` and `--list-all` flags can now be combined with the `--silent` flag to print the task names only, without their description (#691). +- Added support for multi-level inclusion of Taskfiles. This means that included Taskfiles can also include other Taskfiles. Before this was limited to one level (#390, #623, #656). +- Add ability to specify vars when including a Taskfile. [Check out the documentation](https://taskfile.dev/#/usage?id=vars-of-included-taskfiles) for more information (#677). ## v3.11.0 - 2022-02-19 -- Task now supports printing begin and end messages when using the `group` output mode, useful for grouping tasks in CI systems. [Check out the documentation](http://taskfile.dev/#/usage?id=output-syntax) for more information ([#647](https://github.com/go-task/task/issues/647), [#651](https://github.com/go-task/task/issues/651)). -- Add `Taskfile.dist.yml` and `Taskfile.dist.yaml` to the supported file name list. [Check out the documentation](https://taskfile.dev/#/usage?id=supported-file-names) for more information ([#498](https://github.com/go-task/task/issues/498), [#666](https://github.com/go-task/task/issues/666)). +- Task now supports printing begin and end messages when using the `group` output mode, useful for grouping tasks in CI systems. [Check out the documentation](http://taskfile.dev/#/usage?id=output-syntax) for more information (#647, #651). +- Add `Taskfile.dist.yml` and `Taskfile.dist.yaml` to the supported file name list. [Check out the documentation](https://taskfile.dev/#/usage?id=supported-file-names) for more information (#498, #666). ## v3.10.0 - 2022-01-04 -- A new `--list-all` (alias `-a`) flag is now available. It's similar to the exiting `--list` (`-l`) but prints all tasks, even those without a description ([#383](https://github.com/go-task/task/issues/383), [#401](https://github.com/go-task/task/issues/401)). -- It's now possible to schedule cleanup commands to run once a task finishes with the `defer:` keyword ([Documentation](https://taskfile.dev/#/usage?id=doing-task-cleanup-with-defer), [#475](https://github.com/go-task/task/issues/475), [#626](https://github.com/go-task/task/issues/626)). -- Remove long deprecated and undocumented `$` variable prefix and `^` command prefix ([#642](https://github.com/go-task/task/issues/642), [#644](https://github.com/go-task/task/issues/644), [#645](https://github.com/go-task/task/issues/645)). -- Add support for `.yaml` extension (as an alternative to `.yml`). This was requested multiple times throughout the years. Enjoy! ([#183](https://github.com/go-task/task/issues/183), [#184](https://github.com/go-task/task/issues/184), [#369](https://github.com/go-task/task/issues/369), [#584](https://github.com/go-task/task/issues/584), [#621](https://github.com/go-task/task/issues/621)). -- Fixed error when computing a variable when the task directory do not exist yet ([#481](https://github.com/go-task/task/issues/481), [#579](https://github.com/go-task/task/issues/579)). +- A new `--list-all` (alias `-a`) flag is now available. It's similar to the exiting `--list` (`-l`) but prints all tasks, even those without a description (#383, #401). +- It's now possible to schedule cleanup commands to run once a task finishes with the `defer:` keyword ([Documentation](https://taskfile.dev/#/usage?id=doing-task-cleanup-with-defer), + + # 475, #626). +- Remove long deprecated and undocumented `$` variable prefix and `^` command prefix (#642, #644, #645). +- Add support for `.yaml` extension (as an alternative to `.yml`). This was requested multiple times throughout the years. Enjoy! (#183, #184, #369, #584, + + # 621). +- Fixed error when computing a variable when the task directory do not exist yet (#481, #579). ## v3.9.2 - 2021-12-02 -- Upgrade [mvdan/sh](https://github.com/mvdan/sh) which contains a fix a for a important regression on Windows ([#619](https://github.com/go-task/task/issues/619), [mvdan/sh\[#768\](https://github.com/go-task/task/issues/768)](https://github.com/mvdan/sh/issues/768), [mvdan/sh\[#769\](https://github.com/go-task/task/issues/769)](https://github.com/mvdan/sh/pull/769)). +- Upgrade [mvdan/sh](https://github.com/mvdan/sh) which contains a fix a for a important regression on Windows (#619, [mvdan/sh#768](https://github.com/mvdan/sh/issues/768), [mvdan/sh#769](https://github.com/mvdan/sh/pull/769)). ## v3.9.1 - 2021-11-28 -- Add logging in verbose mode for when a task starts and finishes ([#533](https://github.com/go-task/task/issues/533), [#588](https://github.com/go-task/task/issues/588)). -- Fix an issue with preconditions and context errors ([#597](https://github.com/go-task/task/issues/597), [#598](https://github.com/go-task/task/issues/598)). -- Quote each `{{.CLI_ARGS}}` argument to prevent one with spaces to become many ([#613](https://github.com/go-task/task/issues/613)). -- Fix nil pointer when `cmd:` was left empty ([#612](https://github.com/go-task/task/issues/612), [#614](https://github.com/go-task/task/issues/614)). +- Add logging in verbose mode for when a task starts and finishes (#533, #588). +- Fix an issue with preconditions and context errors (#597, #598). +- Quote each `{{.CLI_ARGS}}` argument to prevent one with spaces to become many (#613). +- Fix nil pointer when `cmd:` was left empty (#612, #614). - Upgrade [mvdan/sh](https://github.com/mvdan/sh) which contains two relevant fixes: - - Fix quote of empty strings in `shellQuote` ([#609](https://github.com/go-task/task/issues/609), [mvdan/sh\[#763\](https://github.com/go-task/task/issues/763)](https://github.com/mvdan/sh/issues/763)). - - Fix issue of wrong environment variable being picked when there's another very similar one ([#586](https://github.com/go-task/task/issues/586), [mvdan/sh\[#745\](https://github.com/go-task/task/issues/745)](https://github.com/mvdan/sh/pull/745)). -- Install shell completions automatically when installing via Homebrew ([#264](https://github.com/go-task/task/issues/264), [#592](https://github.com/go-task/task/issues/592), [go-task/homebrew-tap\[#2\](https://github.com/go-task/task/issues/2)](https://github.com/go-task/homebrew-tap/pull/2)). + - Fix quote of empty strings in `shellQuote` (#609, [mvdan/sh#763](https://github.com/mvdan/sh/issues/763)). + - Fix issue of wrong environment variable being picked when there's another very similar one (#586, [mvdan/sh#745](https://github.com/mvdan/sh/pull/745)). +- Install shell completions automatically when installing via Homebrew (#264, #592, [go-task/homebrew-tap#2](https://github.com/go-task/homebrew-tap/pull/2)). ## v3.9.0 - 2021-10-02 -- A new `shellQuote` function was added to the template system (`{{shellQuote "a string"}}`) to ensure a string is safe for use in shell ([mvdan/sh\[#727\](https://github.com/go-task/task/issues/727)](https://github.com/mvdan/sh/pull/727), [mvdan/sh\[#737\](https://github.com/go-task/task/issues/737)](https://github.com/mvdan/sh/pull/737), [Documentation](https://pkg.go.dev/mvdan.cc/sh/v3[@v3](https://github.com/v3).4.0/syntax#Quote)) +- A new `shellQuote` function was added to the template system (`{{shellQuote "a string"}}`) to ensure a string is safe for use in shell ([mvdan/sh#727](https://github.com/mvdan/sh/pull/727), [mvdan/sh#737](https://github.com/mvdan/sh/pull/737), [Documentation](https://pkg.go.dev/mvdan.cc/sh/v3@v3.4.0/syntax#Quote)) - In this version [mvdan.cc/sh](https://github.com/mvdan/sh) was upgraded with some small fixes and features - - The `read -p` flag is now supported ([#314](https://github.com/go-task/task/issues/314), [mvdan/sh\[#551\](https://github.com/go-task/task/issues/551)](https://github.com/mvdan/sh/issues/551), [mvdan/sh\[#772\](https://github.com/go-task/task/issues/772)](https://github.com/mvdan/sh/pull/722)) - - The `pwd -P` and `pwd -L` flags are now supported ([#553](https://github.com/go-task/task/issues/553), [mvdan/sh\[#724\](https://github.com/go-task/task/issues/724)](https://github.com/mvdan/sh/issues/724), [mvdan/sh\[#728\](https://github.com/go-task/task/issues/728)](https://github.com/mvdan/sh/pull/728)) - - The `$GID` environment variable is now correctly being set ([#561](https://github.com/go-task/task/issues/561), [mvdan/sh\[#723\](https://github.com/go-task/task/issues/723)](https://github.com/mvdan/sh/pull/723)) + - The `read -p` flag is now supported (#314, [mvdan/sh#551](https://github.com/mvdan/sh/issues/551), [mvdan/sh#772](https://github.com/mvdan/sh/pull/722)) + - The `pwd -P` and `pwd -L` flags are now supported (#553, [mvdan/sh#724](https://github.com/mvdan/sh/issues/724), [mvdan/sh#728](https://github.com/mvdan/sh/pull/728)) + - The `$GID` environment variable is now correctly being set (#561, [mvdan/sh#723](https://github.com/mvdan/sh/pull/723)) ## v3.8.0 - 2021-09-26 -- Add `interactive: true` setting to improve support for interactive CLI apps ([#217](https://github.com/go-task/task/issues/217), [#563](https://github.com/go-task/task/issues/563)). -- Fix some `nil` errors ([#534](https://github.com/go-task/task/issues/534), [#573](https://github.com/go-task/task/issues/573)). -- Add ability to declare an included Taskfile as optional ([#519](https://github.com/go-task/task/issues/519), [#552](https://github.com/go-task/task/issues/552)). -- Add support for including Taskfiles in the home directory by using `~` ([#539](https://github.com/go-task/task/issues/539), [#557](https://github.com/go-task/task/issues/557)). +- Add `interactive: true` setting to improve support for interactive CLI apps (#217, #563). +- Fix some `nil` errors (#534, #573). +- Add ability to declare an included Taskfile as optional (#519, #552). +- Add support for including Taskfiles in the home directory by using `~` (#539, #557). ## v3.7.3 - 2021-09-04 -- Add official support to Apple M1 ([#564](https://github.com/go-task/task/issues/564), [#567](https://github.com/go-task/task/issues/567)). +- Add official support to Apple M1 (#564, #567). - Our [official Homebrew tap](https://github.com/go-task/homebrew-tap) will support more platforms, including Apple M1 ## v3.7.0 - 2021-07-31 -- Add `run:` setting to control if tasks should run multiple times or not. Available options are `always` (the default), `when_changed` (if a variable modified the task) and `once` (run only once no matter what). This is a long time requested feature. Enjoy! ([#53](https://github.com/go-task/task/issues/53), [#359](https://github.com/go-task/task/issues/359)). +- Add `run:` setting to control if tasks should run multiple times or not. Available options are `always` (the default), `when_changed` (if a variable modified the task) and `once` (run only once no matter what). This is a long time requested feature. Enjoy! (#53, #359). ## v3.6.0 - 2021-07-10 -- Allow using both `sources:` and `status:` in the same task ([#411](https://github.com/go-task/task/issues/411), [#427](https://github.com/go-task/task/issues/427), [#477](https://github.com/go-task/task/issues/477)). -- Small optimization and bug fix: don't compute variables if not needed for `dotenv:` ([#517](https://github.com/go-task/task/issues/517)). +- Allow using both `sources:` and `status:` in the same task (#411, #427, #477). +- Small optimization and bug fix: don't compute variables if not needed for `dotenv:` (#517). ## v3.5.0 - 2021-07-04 -- Add support for interpolation in `dotenv:` ([#433](https://github.com/go-task/task/issues/433), [#434](https://github.com/go-task/task/issues/434), [#453](https://github.com/go-task/task/issues/453)). +- Add support for interpolation in `dotenv:` (#433, #434, #453). ## v3.4.3 - 2021-05-30 -- Add support for the `NO_COLOR` environment variable. ([#459](https://github.com/go-task/task/issues/459), [fatih/color\[#137\](https://github.com/go-task/task/issues/137)](https://github.com/fatih/color/pull/137)). -- Fix bug where sources were not considering the right directory in `--watch` mode ([#484](https://github.com/go-task/task/issues/484), [#485](https://github.com/go-task/task/issues/485)). +- Add support for the `NO_COLOR` environment variable. (#459, [fatih/color#137](https://github.com/fatih/color/pull/137)). +- Fix bug where sources were not considering the right directory in `--watch` mode (#484, #485). ## v3.4.2 - 2021-04-23 -- On watch, report which file failed to read ([#472](https://github.com/go-task/task/issues/472)). -- Do not try to catch SIGKILL signal, which are not actually possible ([#476](https://github.com/go-task/task/issues/476)). -- Improve version reporting when building Task from source using Go Modules ([#462](https://github.com/go-task/task/issues/462), [#473](https://github.com/go-task/task/issues/473)). +- On watch, report which file failed to read (#472). +- Do not try to catch SIGKILL signal, which are not actually possible (#476). +- Improve version reporting when building Task from source using Go Modules (#462, #473). ## v3.4.1 - 2021-04-17 -- Improve error reporting when parsing YAML: in some situations where you would just see an generic error, you'll now see the actual error with more detail: the YAML line the failed to parse, for example ([#467](https://github.com/go-task/task/issues/467)). -- A JSON Schema was published [here](https://json.schemastore.org/taskfile.json) and is automatically being used by some editors like Visual Studio Code ([#135](https://github.com/go-task/task/issues/135)). -- Print task name before the command in the log output ([#398](https://github.com/go-task/task/issues/398)). +- Improve error reporting when parsing YAML: in some situations where you would just see an generic error, you'll now see the actual error with more detail: the YAML line the failed to parse, for example (#467). +- A JSON Schema was published [here](https://json.schemastore.org/taskfile.json) and is automatically being used by some editors like Visual Studio Code (#135). +- Print task name before the command in the log output (#398). ## v3.3.0 - 2021-03-20 -- Add support for delegating CLI arguments to commands with `--` and a special `CLI_ARGS` variable ([#327](https://github.com/go-task/task/issues/327)). -- Add a `--concurrency` (alias `-C`) flag, to limit the number of tasks that run concurrently. This is useful for heavy workloads. ([#345](https://github.com/go-task/task/issues/345)). +- Add support for delegating CLI arguments to commands with `--` and a special `CLI_ARGS` variable (#327). +- Add a `--concurrency` (alias `-C`) flag, to limit the number of tasks that run concurrently. This is useful for heavy workloads. (#345). ## v3.2.2 - 2021-01-12 -- Improve performance of `--list` and `--summary` by skipping running shell variables for these flags ([#332](https://github.com/go-task/task/issues/332)). -- Fixed a bug where an environment in a Taskfile was not always overridable by the system environment ([#425](https://github.com/go-task/task/issues/425)). -- Fixed environment from .env files not being available as variables ([#379](https://github.com/go-task/task/issues/379)). -- The install script is now working for ARM platforms ([#428](https://github.com/go-task/task/issues/428)). +- Improve performance of `--list` and `--summary` by skipping running shell variables for these flags (#332). +- Fixed a bug where an environment in a Taskfile was not always overridable by the system environment (#425). +- Fixed environment from .env files not being available as variables (#379). +- The install script is now working for ARM platforms (#428). ## v3.2.1 - 2021-01-09 -- Fixed some bugs and regressions regarding dynamic variables and directories ([#426](https://github.com/go-task/task/issues/426)). +- Fixed some bugs and regressions regarding dynamic variables and directories (#426). - The [slim-sprig](https://github.com/go-task/slim-sprig) package was updated with the upstream [sprig](https://github.com/Masterminds/sprig). ## v3.2.0 - 2021-01-07 -- Fix the `.task` directory being created in the task directory instead of the Taskfile directory ([#247](https://github.com/go-task/task/issues/247)). -- Fix a bug where dynamic variables (those declared with `sh:`) were not running in the task directory when the task has a custom dir or it was in an included Taskfile ([#384](https://github.com/go-task/task/issues/384)). -- The watch feature (via the `--watch` flag) got a few different bug fixes and should be more stable now ([#423](https://github.com/go-task/task/issues/423), [#365](https://github.com/go-task/task/issues/365)). +- Fix the `.task` directory being created in the task directory instead of the Taskfile directory (#247). +- Fix a bug where dynamic variables (those declared with `sh:`) were not running in the task directory when the task has a custom dir or it was in an included Taskfile (#384). +- The watch feature (via the `--watch` flag) got a few different bug fixes and should be more stable now (#423, #365). ## v3.1.0 - 2021-01-03 -- Fix a bug when the checksum up-to-date resolution is used by a task with a custom `label:` attribute ([#412](https://github.com/go-task/task/issues/412)). -- Starting from this release, we're releasing official ARMv6 and ARM64 binaries for Linux ([#375](https://github.com/go-task/task/issues/375), [#418](https://github.com/go-task/task/issues/418)). -- Task now respects the order of declaration of included Taskfiles when evaluating variables declaring by them ([#393](https://github.com/go-task/task/issues/393)). -- `set -e` is now automatically set on every command. This was done to fix an issue where multiline string commands wouldn't really fail unless the sentence was in the last line ([#403](https://github.com/go-task/task/issues/403)). +- Fix a bug when the checksum up-to-date resolution is used by a task with a custom `label:` attribute (#412). +- Starting from this release, we're releasing official ARMv6 and ARM64 binaries for Linux (#375, #418). +- Task now respects the order of declaration of included Taskfiles when evaluating variables declaring by them (#393). +- `set -e` is now automatically set on every command. This was done to fix an issue where multiline string commands wouldn't really fail unless the sentence was in the last line (#403). ## v3.0.1 - 2020-12-26 -- Allow use as a library by moving the required packages out of the `internal` directory ([#358](https://github.com/go-task/task/issues/358)). -- Do not error if a specified dotenv file does not exist ([#378](https://github.com/go-task/task/issues/378), [#385](https://github.com/go-task/task/issues/385)). -- Fix panic when you have empty tasks in your Taskfile ([#338](https://github.com/go-task/task/issues/338), [#362](https://github.com/go-task/task/issues/362)). +- Allow use as a library by moving the required packages out of the `internal` directory (#358). +- Do not error if a specified dotenv file does not exist (#378, #385). +- Fix panic when you have empty tasks in your Taskfile (#338, #362). ## v3.0.0 - 2020-08-16 -- On `v3`, all CLI variables will be considered global variables ([#336](https://github.com/go-task/task/issues/336), [#341](https://github.com/go-task/task/issues/341)) -- Add support to `.env` like files ([#324](https://github.com/go-task/task/issues/324), [#356](https://github.com/go-task/task/issues/356)). -- Add `label:` to task so you can override the task name in the logs ([\[#321\](https://github.com/go-task/task/issues/321)](https://github.com/go-task/task/issues/321]), [#337](https://github.com/go-task/task/issues/337)). -- Refactor how variables work on version 3 ([#311](https://github.com/go-task/task/issues/311)). +- On `v3`, all CLI variables will be considered global variables (#336, #341) +- Add support to `.env` like files (#324, #356). +- Add `label:` to task so you can override the task name in the logs (#321, + + # 337). +- Refactor how variables work on version 3 (#311). - Disallow `expansions` on v3 since it has no effect. - `Taskvars.yml` is not automatically included anymore. - `Taskfile_{{OS}}.yml` is not automatically included anymore. - Allow interpolation on `includes`, so you can manually include a Taskfile based on operation system, for example. -- Expose `.TASK` variable in templates with the task name ([#252](https://github.com/go-task/task/issues/252)). -- Implement short task syntax ([#194](https://github.com/go-task/task/issues/194), [#240](https://github.com/go-task/task/issues/240)). -- Added option to make included Taskfile run commands on its own directory ([#260](https://github.com/go-task/task/issues/260), [#144](https://github.com/go-task/task/issues/144)) -- Taskfiles in version 1 are not supported anymore ([#237](https://github.com/go-task/task/issues/237)). -- Added global `method:` option. With this option, you can set a default method to all tasks in a Taskfile ([#246](https://github.com/go-task/task/issues/246)). -- Changed default method from `timestamp` to `checksum` ([#246](https://github.com/go-task/task/issues/246)). -- New magic variables are now available when using `status:`: `.TIMESTAMP` which contains the greatest modification date from the files listed in `sources:`, and `.CHECKSUM`, which contains a checksum of all files listed in `status:`. This is useful for manual checking when using external, or even remote, artifacts when using `status:` ([#216](https://github.com/go-task/task/issues/216)). -- We're now using [slim-sprig](https://github.com/go-task/slim-sprig) instead of [sprig](https://github.com/Masterminds/sprig), which allowed a file size reduction of about 22% ([#219](https://github.com/go-task/task/issues/219)). -- We now use some colors on Task output to better distinguish message types - commands are green, errors are red, etc ([#207](https://github.com/go-task/task/issues/207)). +- Expose `.TASK` variable in templates with the task name (#252). +- Implement short task syntax (#194, #240). +- Added option to make included Taskfile run commands on its own directory (#260, #144) +- Taskfiles in version 1 are not supported anymore (#237). +- Added global `method:` option. With this option, you can set a default method to all tasks in a Taskfile (#246). +- Changed default method from `timestamp` to `checksum` (#246). +- New magic variables are now available when using `status:`: `.TIMESTAMP` which contains the greatest modification date from the files listed in `sources:`, and `.CHECKSUM`, which contains a checksum of all files listed in `status:`. This is useful for manual checking when using external, or even remote, artifacts when using `status:` (#216). +- We're now using [slim-sprig](https://github.com/go-task/slim-sprig) instead of [sprig](https://github.com/Masterminds/sprig), which allowed a file size reduction of about 22% (#219). +- We now use some colors on Task output to better distinguish message types - commands are green, errors are red, etc (#207). ## v2.8.1 - 2020-05-20 -- Fix error code for the `--help` flag ([#300](https://github.com/go-task/task/issues/300), [#330](https://github.com/go-task/task/issues/330)). -- Print version to stdout instead of stderr ([#299](https://github.com/go-task/task/issues/299), [#329](https://github.com/go-task/task/issues/329)). -- Supress `context` errors when using the `--watch` flag ([#313](https://github.com/go-task/task/issues/313), [#317](https://github.com/go-task/task/issues/317)). -- Support templating on description ([#276](https://github.com/go-task/task/issues/276), [#283](https://github.com/go-task/task/issues/283)). +- Fix error code for the `--help` flag (#300, #330). +- Print version to stdout instead of stderr (#299, #329). +- Supress `context` errors when using the `--watch` flag (#313, #317). +- Support templating on description (#276, #283). ## v2.8.0 - 2019-12-07 -- Add `--parallel` flag (alias `-p`) to run tasks given by the command line in parallel ([#266](https://github.com/go-task/task/issues/266)). +- Add `--parallel` flag (alias `-p`) to run tasks given by the command line in parallel (#266). - Fixed bug where calling the `task` CLI only informing global vars would not execute the `default` task. - Add hability to silent all tasks by adding `silent: true` a the root of the Taskfile. ## v2.7.1 - 2019-11-10 -- Fix error being raised when `exit 0` was called ([#251](https://github.com/go-task/task/issues/251)). +- Fix error being raised when `exit 0` was called (#251). ## v2.7.0 - 2019-09-22 -- Fixed panic bug when assigning a global variable ([#229](https://github.com/go-task/task/issues/229), [#243](https://github.com/go-task/task/issues/243)). -- A task with `method: checksum` will now re-run if generated files are deleted ([#228](https://github.com/go-task/task/issues/228), [#238](https://github.com/go-task/task/issues/238)). +- Fixed panic bug when assigning a global variable (#229, #243). +- A task with `method: checksum` will now re-run if generated files are deleted (#228, #238). ## v2.6.0 - 2019-07-21 - Fixed some bugs regarding minor version checks on `version:`. -- Add `preconditions:` to task ([#205](https://github.com/go-task/task/issues/205)). -- Create directory informed on `dir:` if it doesn't exist ([#209](https://github.com/go-task/task/issues/209), [#211](https://github.com/go-task/task/issues/211)). -- We now have a `--taskfile` flag (alias `-t`), which can be used to run another Taskfile (other than the default `Taskfile.yml`) ([#221](https://github.com/go-task/task/issues/221)). -- It's now possible to install Task using Homebrew on Linux ([go-task/homebrew-tap\[#1\](https://github.com/go-task/task/issues/1)](https://github.com/go-task/homebrew-tap/pull/1)). +- Add `preconditions:` to task (#205). +- Create directory informed on `dir:` if it doesn't exist (#209, #211). +- We now have a `--taskfile` flag (alias `-t`), which can be used to run another Taskfile (other than the default `Taskfile.yml`) (#221). +- It's now possible to install Task using Homebrew on Linux ([go-task/homebrew-tap#1](https://github.com/go-task/homebrew-tap/pull/1)). ## v2.5.2 - 2019-05-11 -- Reverted YAML upgrade due issues with CRLF on Windows ([#201](https://github.com/go-task/task/issues/201), [go-yaml/yaml\[#450\](https://github.com/go-task/task/issues/450)](https://github.com/go-yaml/yaml/issues/450)). -- Allow setting global variables through the CLI ([#192](https://github.com/go-task/task/issues/192)). +- Reverted YAML upgrade due issues with CRLF on Windows (#201, [go-yaml/yaml#450](https://github.com/go-yaml/yaml/issues/450)). +- Allow setting global variables through the CLI (#192). ## 2.5.1 - 2019-04-27 -- Fixed some issues with interactive command line tools, where sometimes the output were not being shown, and similar issues ([#114](https://github.com/go-task/task/issues/114), [#190](https://github.com/go-task/task/issues/190), [#200](https://github.com/go-task/task/issues/200)). +- Fixed some issues with interactive command line tools, where sometimes the output were not being shown, and similar issues (#114, #190, #200). - Upgraded [go-yaml/yaml](https://github.com/go-yaml/yaml) from v2 to v3. ## v2.5.0 - 2019-03-16 - We moved from the taskfile.org domain to the new fancy taskfile.dev domain. While stuff is being redirected, we strongly recommend to everyone that use [this install script](https://taskfile.dev/#/installation?id=install-script) to use the new taskfile.dev domain on scripts from now on. -- Fixed to the ZSH completion ([#182](https://github.com/go-task/task/issues/182)). -- Add [`--summary` flag along with `summary:` task attribute](https://taskfile.org/#/usage?id=display-summary-of-task) ([#180](https://github.com/go-task/task/issues/180)). +- Fixed to the ZSH completion (#182). +- Add [`--summary` flag along with `summary:` task attribute](https://taskfile.org/#/usage?id=display-summary-of-task) (#180). ## v2.4.0 - 2019-02-21 -- Allow calling a task of the root Taskfile from an included Taskfile by prefixing it with `:` ([#161](https://github.com/go-task/task/issues/161), [#172](https://github.com/go-task/task/issues/172)). -- Add flag to override the `output` option ([#173](https://github.com/go-task/task/issues/173)). -- Fix bug where Task was persisting the new checksum on the disk when the Dry Mode is enabled ([#166](https://github.com/go-task/task/issues/166)). -- Fix file timestamp issue when the file name has spaces ([#176](https://github.com/go-task/task/issues/176)). -- Mitigating path expanding issues on Windows ([#170](https://github.com/go-task/task/issues/170)). +- Allow calling a task of the root Taskfile from an included Taskfile by prefixing it with `:` (#161, #172). +- Add flag to override the `output` option (#173). +- Fix bug where Task was persisting the new checksum on the disk when the Dry Mode is enabled (#166). +- Fix file timestamp issue when the file name has spaces (#176). +- Mitigating path expanding issues on Windows (#170). ## v2.3.0 - 2019-01-02 -- On Windows, Task can now be installed using [Scoop](https://scoop.sh/) ([#152](https://github.com/go-task/task/issues/152)). -- Fixed issue with file/directory globing ([#153](https://github.com/go-task/task/issues/153)). -- Added ability to globally set environment variables ([#138](https://github.com/go-task/task/issues/138), [#159](https://github.com/go-task/task/issues/159)). +- On Windows, Task can now be installed using [Scoop](https://scoop.sh/) (#152). +- Fixed issue with file/directory globing (#153). +- Added ability to globally set environment variables (#138, #159). ## v2.2.1 - 2018-12-09 -- This repository now uses Go Modules ([#143](https://github.com/go-task/task/issues/143)). We'll still keep the `vendor` directory in sync for some time, though; -- Fixing a bug when the Taskfile has no tasks but includes another Taskfile ([#150](https://github.com/go-task/task/issues/150)); -- Fix a bug when calling another task or a dependency in an included Taskfile ([#151](https://github.com/go-task/task/issues/151)). +- This repository now uses Go Modules (#143). We'll still keep the `vendor` directory in sync for some time, though; +- Fixing a bug when the Taskfile has no tasks but includes another Taskfile (#150); +- Fix a bug when calling another task or a dependency in an included Taskfile (#151). ## v2.2.0 - 2018-10-25 -- Added support for [including other Taskfiles](https://taskfile.org/#/usage?id=including-other-taskfiles) ([#98](https://github.com/go-task/task/issues/98)) - - 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](https://github.com/go-task/task/issues/98). +- Added support for [including other Taskfiles](https://taskfile.org/#/usage?id=including-other-taskfiles) (#98) + - 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. - Task now have a dedicated documentation site: https://taskfile.org - Thanks to [Docsify](https://docsify.js.org/) for making this pretty easy. To check the source code, just take a look at the [docs](https://github.com/go-task/task/tree/main/docs) directory of this repository. Contributions to the documentation is really appreciated. ## v2.1.1 - 2018-09-17 - Fix suggestion to use `task --init` not being shown anymore (when a `Taskfile.yml` is not found) -- Fix error when using checksum method and no file exists for a source glob ([#131](https://github.com/go-task/task/issues/131)) -- Fix signal handling when the `--watch` flag is given ([#132](https://github.com/go-task/task/issues/132)) +- Fix error when using checksum method and no file exists for a source glob (#131) +- Fix signal handling when the `--watch` flag is given (#132) ## v2.1.0 - 2018-08-19 -- Add a `ignore_error` option to task and command ([#123](https://github.com/go-task/task/issues/123)) -- Add a dry run mode (`--dry` flag) ([#126](https://github.com/go-task/task/issues/126)) +- Add a `ignore_error` option to task and command (#123) +- Add a dry run mode (`--dry` flag) (#126) ## v2.0.3 - 2018-06-24 -- Expand environment variables on "dir", "sources" and "generates" ([#116](https://github.com/go-task/task/issues/116)) -- Fix YAML merging syntax ([#112](https://github.com/go-task/task/issues/112)) -- Add ZSH completion ([#111](https://github.com/go-task/task/issues/111)) +- Expand environment variables on "dir", "sources" and "generates" (#116) +- Fix YAML merging syntax (#112) +- Add ZSH completion (#111) - Implement new `output` option. Please check out the [documentation](https://github.com/go-task/task#output-syntax) ## v2.0.2 - 2018-05-01 -- Fix merging of YAML anchors ([#112](https://github.com/go-task/task/issues/112)) +- Fix merging of YAML anchors (#112) ## v2.0.1 - 2018-03-11 @@ -445,36 +479,36 @@ Version 2.0.0 is here, with a new Taskfile format. Please, make sure to read the [Taskfile versions](https://github.com/go-task/task/blob/main/TASKFILE_VERSIONS.md) document, since it describes in depth what changed for this version. -- New Taskfile version 2 ([#77](https://github.com/go-task/task/issues/77)) -- Possibility to have global variables in the `Taskfile.yml` instead of `Taskvars.yml` ([#66](https://github.com/go-task/task/issues/66)) +- New Taskfile version 2 (#77) +- Possibility to have global variables in the `Taskfile.yml` instead of `Taskvars.yml` (#66) - Small improvements and fixes ## v1.4.4 - 2017-11-19 -- Handle SIGINT and SIGTERM ([#75](https://github.com/go-task/task/issues/75)); +- Handle SIGINT and SIGTERM (#75); - List: print message with there's no task with description; -- Expand home dir ("~" symbol) on paths ([#74](https://github.com/go-task/task/issues/74)); +- Expand home dir ("~" symbol) on paths (#74); - Add Snap as an installation method; - Move examples to its own repo; - Watch: also walk on tasks called on on "cmds", and not only on "deps"; -- Print logs to stderr instead of stdout ([#68](https://github.com/go-task/task/issues/68)); +- Print logs to stderr instead of stdout (#68); - Remove deprecated `set` keyword; - Add checksum based status check, alternative to timestamp based. ## v1.4.3 - 2017-09-07 -- Allow assigning variables to tasks at run time via CLI ([#33](https://github.com/go-task/task/issues/33)) -- Added suport for multiline variables from sh ([#64](https://github.com/go-task/task/issues/64)) -- Fixes env: remove square braces and evaluate shell ([#62](https://github.com/go-task/task/issues/62)) +- Allow assigning variables to tasks at run time via CLI (#33) +- Added suport for multiline variables from sh (#64) +- Fixes env: remove square braces and evaluate shell (#62) - Watch: change watch library and few fixes and improvements -- When use watching, cancel and restart long running process on file change ([#59](https://github.com/go-task/task/issues/59) and [#60](https://github.com/go-task/task/issues/60)) +- When use watching, cancel and restart long running process on file change (#59 and #60) ## v1.4.2 - 2017-07-30 - Flag to set directory of execution - Always echo command if is verbose mode - Add silent mode to disable echoing of commands -- Fixes and improvements of variables ([#56](https://github.com/go-task/task/issues/56)) +- Fixes and improvements of variables (#56) ## v1.4.1 - 2017-07-15 @@ -482,28 +516,28 @@ Please, make sure to read the [Taskfile versions](https://github.com/go-task/tas - `VAR: {sh: echo Hello}` instead of `VAR: $echo Hello` - Add `--list` (or `-l`) flag to print existing tasks - OS specific Taskvars file (e.g. `Taskvars_windows.yml`, `Taskvars_linux.yml`, etc) -- Consider task up-to-date on equal timestamps ([#49](https://github.com/go-task/task/issues/49)) -- Allow absolute path in generates section ([#48](https://github.com/go-task/task/issues/48)) -- Bugfix: allow templating when calling deps ([#42](https://github.com/go-task/task/issues/42)) +- Consider task up-to-date on equal timestamps (#49) +- Allow absolute path in generates section (#48) +- Bugfix: allow templating when calling deps (#42) - Fix panic for invalid task in cyclic dep detection -- Better error output for dynamic variables in Taskvars.yml ([#41](https://github.com/go-task/task/issues/41)) +- Better error output for dynamic variables in Taskvars.yml (#41) - Allow template evaluation in parameters ## v1.4.0 - 2017-07-06 - Cache dynamic variables - Add verbose mode (`-v` flag) -- Support to task parameters (overriding vars) ([#31](https://github.com/go-task/task/issues/31)) ([#32](https://github.com/go-task/task/issues/32)) -- Print command, also when "set:" is specified ([#35](https://github.com/go-task/task/issues/35)) -- Improve task command help text ([#35](https://github.com/go-task/task/issues/35)) +- Support to task parameters (overriding vars) (#31) (#32) +- Print command, also when "set:" is specified (#35) +- Improve task command help text (#35) ## v1.3.1 - 2017-06-14 -- Fix glob not working on commands ([#28](https://github.com/go-task/task/issues/28)) +- Fix glob not working on commands (#28) - Add ExeExt template function - Add `--init` flag to create a new Taskfile -- Add status option to prevent task from running ([#27](https://github.com/go-task/task/issues/27)) -- Allow interpolation on `generates` and `sources` attributes ([#26](https://github.com/go-task/task/issues/26)) +- Add status option to prevent task from running (#27) +- Allow interpolation on `generates` and `sources` attributes (#26) ## v1.3.0 - 2017-04-24 @@ -521,18 +555,18 @@ Please, make sure to read the [Taskfile versions](https://github.com/go-task/tas - Watch a task (experimental) - Possibility to call another task - Fix "=" not being reconized in variables/environment variables -- Tasks can now have a description, and help will print them ([#10](https://github.com/go-task/task/issues/10)) +- Tasks can now have a description, and help will print them (#10) - Task dependencies now run concurrently -- Support for a default task ([#16](https://github.com/go-task/task/issues/16)) +- Support for a default task (#16) ## v1.1.0 - 2017-03-08 -- Support for YAML, TOML and JSON ([#1](https://github.com/go-task/task/issues/1)) -- Support running command in another directory ([#4](https://github.com/go-task/task/issues/4)) +- Support for YAML, TOML and JSON (#1) +- Support running command in another directory (#4) - `--force` or `-f` flag to force execution of task even when it's up-to-date -- Detection of cyclic dependencies ([#5](https://github.com/go-task/task/issues/5)) -- Support for variables ([#6](https://github.com/go-task/task/issues/6), [#9](https://github.com/go-task/task/issues/9), [#14](https://github.com/go-task/task/issues/14)) -- Operation System specific commands and variables ([#13](https://github.com/go-task/task/issues/13)) +- Detection of cyclic dependencies (#5) +- Support for variables (#6, #9, #14) +- Operation System specific commands and variables (#13) ## v1.0.0 - 2017-02-28 diff --git a/docs/i18n/zh-Hans/docusaurus-plugin-content-docs/current/community.md b/docs/i18n/zh-Hans/docusaurus-plugin-content-docs/current/community.md index 8501ecca..6caa4ac9 100644 --- a/docs/i18n/zh-Hans/docusaurus-plugin-content-docs/current/community.md +++ b/docs/i18n/zh-Hans/docusaurus-plugin-content-docs/current/community.md @@ -19,8 +19,8 @@ We use [Crowdin](https://crowdin.com/project/taskfile) to translate our document 有些安装方式是通过第三方维护的: -- [GitHub Actions](https://github.com/arduino/setup-task) 由 [@arduino](https://github.com/arduino) 维护 -- [AUR](https://aur.archlinux.org/packages/go-task-bin) 由 [@carlsmedstad](https://github.com/carlsmedstad) 维护 +- [GitHub Actions](https://github.com/arduino/setup-task) by @arduino +- [AUR](https://aur.archlinux.org/packages/go-task-bin) by @carlsmedstad - [Scoop](https://github.com/ScoopInstaller/Main/blob/master/bucket/task.json) - [Fedora](https://packages.fedoraproject.org/pkgs/golang-github-task/go-task/) - [NixOS](https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/tools/go-task/default.nix) diff --git a/docs/i18n/zh-Hans/docusaurus-plugin-content-docs/current/contributing.md b/docs/i18n/zh-Hans/docusaurus-plugin-content-docs/current/contributing.md index 7c9590ab..90139377 100644 --- a/docs/i18n/zh-Hans/docusaurus-plugin-content-docs/current/contributing.md +++ b/docs/i18n/zh-Hans/docusaurus-plugin-content-docs/current/contributing.md @@ -42,9 +42,9 @@ run ./cmd/task --dir ./testdata/ `。 Task 使用 [Docusaurus][docusaurus] 来托管文档服务器。 此代码位于 Task 核心存储库中。 这可以通过使用 `task docs`(需要 `nodejs` 和 `yarn`)在本地设置和运行。 所有内容均使用 Markdown 编写,位于 `docs/docs` 目录中。 所有 Markdown 文档都应有 80 个字符的换行限制(由 Prettier 强制执行)。 -进行变更时,请考虑是否有必要更改 [使用指南](./usage.md)。 本文档包含有关如何使用任务功能的说明和示例。 如果您要添加新功能,请尝试找到合适的位置来添加新部分。 如果您要更新现有功能,请确保文档和所有示例都是最新的。 确保任何示例都遵循 [Taskfile 风格指南](./styleguide.md)。 +When making a change, consider whether a change to the [Usage Guide](/usage) is necessary. This document contains descriptions and examples of how to use Task features. If you're adding a new feature, try to find an appropriate place to add a new section. If you're updating an existing feature, ensure that the documentation and any examples are up-to-date. Ensure that any examples follow the [Taskfile Styleguide](/styleguide). -如果您添加了新字段、命令或标志,请确保将其添加到 [API 参考](./api_reference.md) 中。 还需要将新字段添加到 [JSON Schema][json-schema] 中。 API 参考和 schema 中的字段描述应该匹配。 +If you added a new field, command or flag, ensure that you add it to the [API Reference](/api). 还需要将新字段添加到 [JSON Schema][json-schema] 中。 API 参考和 schema 中的字段描述应该匹配。 ### 编写测试 @@ -73,7 +73,7 @@ Task 使用 [Docusaurus][docusaurus] 来托管文档服务器。 此代码位于 查看 [Task][task-open-issues] 或 [Task for Visual Studio Code][vscode-task-open-issues] 的未解决问题列表。 我们有一个 [good first issue][good-first-issue] 标签,用于更简单的问题,非常适合首次贡献。 -欢迎各种贡献,无论是拼写错误修复还是很小的新功能。 您还可以通过对 Issue 进行投票/评论、帮助回答问题或帮助 [其他社区项目](./community.md) 来做出贡献。 +欢迎各种贡献,无论是拼写错误修复还是很小的新功能。 You can also contribute by upvoting/commenting on issues, helping to answer questions or contributing to other [community projects](/community). > 我被困住了,我在哪里可以获得帮助? diff --git a/docs/i18n/zh-Hans/docusaurus-plugin-content-docs/current/deprecations/template.md b/docs/i18n/zh-Hans/docusaurus-plugin-content-docs/current/deprecations/template.md index 43ed4d3b..646e45c6 100644 --- a/docs/i18n/zh-Hans/docusaurus-plugin-content-docs/current/deprecations/template.md +++ b/docs/i18n/zh-Hans/docusaurus-plugin-content-docs/current/deprecations/template.md @@ -6,12 +6,17 @@ sidebar_position: -1 #Always push to the top draft: true #Hide in production --- -# {Name of Deprecated Feature} +# \{Name of Deprecated Feature\} (#\{Issue\}) -- Issue: [#{issue}](https://github.com/go-task/task/issues/{issue}) -- Breaks: - - {list any existing functionality that will be broken by this experiment} +:::warning -{Short description of the feature/behavior and why it is being deprecated} +This deprecation breaks the following functionality: -{Short explanation of any replacement features/behaviors and how users should migrate to it} +- \{list any existing functionality that will be broken by this deprecation\} +- \{if there are no breaking changes, remove this admonition\} + +::: + +\{Short description of the feature/behavior and why it is being deprecated\} + +\{Short explanation of any replacement features/behaviors and how users should migrate to it\} diff --git a/docs/i18n/zh-Hans/docusaurus-plugin-content-docs/current/deprecations/version_2_schema.md b/docs/i18n/zh-Hans/docusaurus-plugin-content-docs/current/deprecations/version_2_schema.md index 79ea75cf..c45fb65d 100644 --- a/docs/i18n/zh-Hans/docusaurus-plugin-content-docs/current/deprecations/version_2_schema.md +++ b/docs/i18n/zh-Hans/docusaurus-plugin-content-docs/current/deprecations/version_2_schema.md @@ -2,21 +2,24 @@ slug: /deprecations/version-2-schema/ --- -# Version 2 Schema +# Version 2 Schema (#1197) -- Issue: [#1197][deprecate-version-2-schema] -- Breaks: - - Any Taskfiles that use the version 2 schema - - `Taskvar.yml` files +:::warning -The Taskfile v2 schema was introduced in March 2018 and replaced by version 3 in August the following year. Users have had a long time to update and so we feel that it is time to tidy up the codebase and focus on new functionality instead. +This deprecation breaks the following functionality: -This notice does not mean that we are immediately removing support for version 2 schemas. However, support will not be extended to future major releases and we _strongly recommend_ that anybody still using a version 2 schema upgrades to version 3 as soon as possible. +- Any Taskfiles that use the version 2 schema +- `Taskvar.yml` files -A list of changes between version 2 and version 3 are available in the [Task v3 Release Notes][version-3-release-notes]. +::: + +The Taskfile version 2 schema was introduced in March 2018 and replaced by version 3 in August 2019. In May 2023 [we published a deprecation notice][deprecation-notice] for the version 2 schema on the basis that the vast majority of users had already upgraded to version 3 and removing support for version 2 would allow us to tidy up the codebase and focus on new functionality instead. + +In December 2023, the final version of Task that supports the version 2 schema ([v3.33.0][v3.33.0]) was published and all legacy code was removed from Task's main branch. To use a more recent version of Task, you will need to ensure that your Taskfile uses the version 3 schema instead. A list of changes between version 2 and version 3 are available in the [Task v3 Release Notes][v3.0.0]. -[deprecate-version-2-schema]: https://github.com/go-task/task/issues/1197 -[version-3-release-notes]: https://github.com/go-task/task/releases/tag/v3.0.0 +[v3.0.0]: https://github.com/go-task/task/releases/tag/v3.0.0 +[v3.33.0]: https://github.com/go-task/task/releases/tag/v3.33.0 +[deprecation-notice]: https://github.com/go-task/task/issues/1197 diff --git a/docs/i18n/zh-Hans/docusaurus-plugin-content-docs/current/experiments/any_variables.md b/docs/i18n/zh-Hans/docusaurus-plugin-content-docs/current/experiments/any_variables.md new file mode 100644 index 00000000..cf2521c7 --- /dev/null +++ b/docs/i18n/zh-Hans/docusaurus-plugin-content-docs/current/experiments/any_variables.md @@ -0,0 +1,206 @@ +--- +slug: /experiments/any-variables/ +--- + +# Any Variables (#1415) + +:::caution + +All experimental features are subject to breaking changes and/or removal _at any +time_. We strongly recommend that you do not use these features in a production +environment. They are intended for testing and feedback only. + +::: + +:::warning + +This experiment breaks the following functionality: + +- Dynamically defined variables (using the `sh` keyword) + +::: + +:::info + +To enable this experiment, set the environment variable: +`TASK_X_ANY_VARIABLES=1`. Check out [our guide to enabling experiments +][enabling-experiments] for more information. + +::: + +Currently, Task only supports string variables. This experiment allows you to +specify and use the following variable types: + +- `string` +- `bool` +- `int` +- `float` +- `array` +- `map` + +This allows you to have a lot more flexibility in how you use variables in +Task's templating engine. For example: + +Evaluating booleans: + +```yaml +version: 3 + +tasks: + foo: + vars: + BOOL: false + cmds: + - '{{if .BOOL}}echo foo{{end}}' +``` + +Arithmetic: + +```yaml +version: 3 + +tasks: + foo: + vars: + INT: 10 + FLOAT: 3.14159 + cmds: + - 'echo {{add .INT .FLOAT}}' +``` + +Ranging: + +```yaml +version: 3 + +tasks: + foo: + vars: + ARRAY: [1, 2, 3] + cmds: + - 'echo {{range .ARRAY}}{{.}}{{end}}' +``` + +There are many more templating functions which can be used with the new types of +variables. For a full list, see the [slim-sprig][slim-sprig] documentation. + +## Looping over variables + +Previously, you would have to use a delimiter separated string to loop over an +arbitrary list of items in a variable and split them by using the `split` subkey +to specify the delimiter: + +```yaml +version: 3 + +tasks: + foo: + vars: + LIST: 'foo,bar,baz' + cmds: + - for: + var: LIST + split: ',' + cmd: echo {{.ITEM}} +``` + +Because this experiment adds support for "collection-type" variables, the `for` +keyword has been updated to support looping over arrays directly: + +```yaml +version: 3 + +tasks: + foo: + vars: + LIST: [foo, bar, baz] + cmds: + - for: + var: LIST + cmd: echo {{.ITEM}} +``` + +This also works for maps. When looping over a map we also make an additional +`{{.KEY}}` variable availabe that holds the string value of the map key. +Remember that maps are unordered, so the order in which the items are looped +over is random: + +```yaml +version: 3 + +tasks: + foo: + vars: + MAP: + KEY_1: + SUBKEY: sub_value_1 + KEY_2: + SUBKEY: sub_value_2 + KEY_3: + SUBKEY: sub_value_3 + cmds: + - for: + var: MAP + cmd: echo {{.KEY}} {{.ITEM.SUBKEY}} +``` + +String splitting is still supported and remember that for simple cases, you have +always been able to loop over an array without using variables at all: + +```yaml +version: 3 + +tasks: + foo: + cmds: + - for: [foo, bar, baz] + cmd: echo {{.ITEM}} +``` + +## Migration + +Taskfiles with dynamically defined variables via the `sh` subkey will no longer +work with this experiment enabled. In order to keep using dynamically defined +variables, you will need to migrate your Taskfile to use the new syntax. + +Previously, you might have defined a dynamic variable like this: + +```yaml +version: 3 + +task: + foo: + vars: + CALCULATED_VAR: + sh: 'echo hello' + cmds: + - 'echo {{.CALCULATED_VAR}}' +``` + +With this experiment enabled, you will need to remove the `sh` subkey and define +your command as a string that begins with a `$`. This will instruct Task to +interpret the string as a command instead of a literal value and the variable +will be populated with the output of the command. For example: + +```yaml +version: 3 + +task: + foo: + vars: + CALCULATED_VAR: '$echo hello' + cmds: + - 'echo {{.CALCULATED_VAR}}' +``` + +If your current Taskfile contains a string variable that begins with a `$`, you +will now need to escape the `$` with a backslash (`\`) to stop Task from +executing it as a command. + + + +[enabling-experiments]: /experiments/#enabling-experiments + +[slim-sprig]: https://go-task.github.io/slim-sprig/ + + diff --git a/docs/i18n/zh-Hans/docusaurus-plugin-content-docs/current/experiments/experiments.md b/docs/i18n/zh-Hans/docusaurus-plugin-content-docs/current/experiments/experiments.md index b32a7570..b1a70473 100644 --- a/docs/i18n/zh-Hans/docusaurus-plugin-content-docs/current/experiments/experiments.md +++ b/docs/i18n/zh-Hans/docusaurus-plugin-content-docs/current/experiments/experiments.md @@ -15,14 +15,15 @@ In order to allow Task to evolve quickly, we roll out breaking changes to minor You can view a full list of active experiments in the "Experiments" section of the sidebar. -You can enable an experimental feature by: +## Enabling Experiments + +You can enable an experimental feature by doing one of the following: 1. Using the relevant environment variable in front of a task command. For example, `TASK_X_{FEATURE}=1 task {my-task}`. This is intended for one-off invocations of Task to test out experimental features. 1. Using the relevant environment variable in your "dotfiles" (e.g. `.bashrc`, `.zshrc` etc.). This is intended for permanently enabling experimental features in your environment. -1. Creating a `.env` file in the same directory as your root Taskfile that contains the relevant environment variables. e.g. +1. Creating a `.env` file in the same directory as your root Taskfile that contains the relevant environment variables. This allows you to enable an experimental feature at a project level. For example: -```shell -# .env +```shell title=".env" TASK_X_FEATURE=1 ``` diff --git a/docs/i18n/zh-Hans/docusaurus-plugin-content-docs/current/experiments/gentle_force.md b/docs/i18n/zh-Hans/docusaurus-plugin-content-docs/current/experiments/gentle_force.md index d1eada74..514602bb 100644 --- a/docs/i18n/zh-Hans/docusaurus-plugin-content-docs/current/experiments/gentle_force.md +++ b/docs/i18n/zh-Hans/docusaurus-plugin-content-docs/current/experiments/gentle_force.md @@ -2,12 +2,27 @@ slug: /experiments/gentle-force/ --- -# Gentle Force +# Gentle Force (#1200) -- Issue: [#1200][gentle-force-experiment] -- Environment variable: `TASK_X_FORCE=1` -- Breaks: - - `--force` flag +:::caution + +All experimental features are subject to breaking changes and/or removal _at any time_. We strongly recommend that you do not use these features in a production environment. They are intended for testing and feedback only. + +::: + +:::warning + +This experiment breaks the following functionality: + +- The `--force` flag + +::: + +:::info + +To enable this experiment, set the environment variable: `TASK_X_FORCE=1`. Check out [our guide to enabling experiments ][enabling-experiments] for more information. + +::: The `--force` flag currently forces _all_ tasks to run regardless of the status checks. This can be useful, but we have found that most of the time users only expect the direct task they are calling to be forced and _not_ all of its dependant tasks. @@ -18,4 +33,4 @@ If you want to migrate, but continue to force all dependant tasks to run, you sh -[gentle-force-experiment]: https://github.com/go-task/task/issues/1200 +[enabling-experiments]: /experiments/#enabling-experiments diff --git a/docs/i18n/zh-Hans/docusaurus-plugin-content-docs/current/experiments/remote_taskfiles.md b/docs/i18n/zh-Hans/docusaurus-plugin-content-docs/current/experiments/remote_taskfiles.md index 76d21173..73a934d8 100644 --- a/docs/i18n/zh-Hans/docusaurus-plugin-content-docs/current/experiments/remote_taskfiles.md +++ b/docs/i18n/zh-Hans/docusaurus-plugin-content-docs/current/experiments/remote_taskfiles.md @@ -2,10 +2,19 @@ slug: /experiments/remote-taskfiles/ --- -# Remote Taskfiles +# Remote Taskfiles (#1317) -- Issue: [#1317][remote-taskfiles-experiment] -- Environment variable: `TASK_X_REMOTE_TASKFILES=1` +:::caution + +All experimental features are subject to breaking changes and/or removal _at any time_. We strongly recommend that you do not use these features in a production environment. They are intended for testing and feedback only. + +::: + +:::info + +To enable this experiment, set the environment variable: `TASK_X_REMOTE_TASKFILES=1`. Check out [our guide to enabling experiments ][enabling-experiments] for more information. + +::: This experiment allows you to specify a remote Taskfile URL when including a Taskfile. For example: @@ -53,5 +62,5 @@ By default, Task will timeout requests to download remote files after 10 seconds -[remote-taskfiles-experiment]: https://github.com/go-task/task/issues/1317 +[enabling-experiments]: /experiments/#enabling-experiments [man-in-the-middle-attacks]: https://en.wikipedia.org/wiki/Man-in-the-middle_attack diff --git a/docs/i18n/zh-Hans/docusaurus-plugin-content-docs/current/experiments/template.md b/docs/i18n/zh-Hans/docusaurus-plugin-content-docs/current/experiments/template.md index 6ae94c06..59246cf5 100644 --- a/docs/i18n/zh-Hans/docusaurus-plugin-content-docs/current/experiments/template.md +++ b/docs/i18n/zh-Hans/docusaurus-plugin-content-docs/current/experiments/template.md @@ -6,15 +6,34 @@ sidebar_position: -1 #Always push to the top draft: true #Hide in production --- -# {Name of Experiment} +# \{Name of Experiment\} (#\{Issue\}) -- Issue: [#{issue}](https://github.com/go-task/task/issues/{issue}) -- Environment variable: `TASK_X_{feature}` -- Breaks: - - {list any existing functionality that will be broken by this experiment} -- Deprecations: - - {link to any deprecation pages related to this experiment} +:::caution -{Short description of the feature} +All experimental features are subject to breaking changes and/or removal _at any time_. We strongly recommend that you do not use these features in a production environment. They are intended for testing and feedback only. -{Short explanation of how users should migrate to the new behavior} +::: + +:::warning + +This experiment breaks the following functionality: + +- \{list any existing functionality that will be broken by this experiment\} +- \{if there are no breaking changes, remove this admonition\} + +::: + +:::info + +To enable this experiment, set the environment variable: `TASK_X_{feature}=1`. Check out [our guide to enabling experiments ][enabling-experiments] for more information. + +::: + +\{Short description of the feature\} + +\{Short explanation of how users should migrate to the new behavior\} + + + + +[enabling-experiments]: /experiments/#enabling-experiments diff --git a/docs/i18n/zh-Hans/docusaurus-plugin-content-docs/current/faq.md b/docs/i18n/zh-Hans/docusaurus-plugin-content-docs/current/faq.md index 8aed5c47..b12363fe 100644 --- a/docs/i18n/zh-Hans/docusaurus-plugin-content-docs/current/faq.md +++ b/docs/i18n/zh-Hans/docusaurus-plugin-content-docs/current/faq.md @@ -78,7 +78,7 @@ Windows 上的默认 shell(`cmd` 和 `powershell`)没有像 `rm` 和 `cp` 我们希望对 Task 的这一部分进行改进,下面的 Issue 会跟踪这项工作。 非常欢迎建设性的意见和贡献! -- [#197](https://github.com/go-task/task/issues/197) +- #197 - [mvdan/sh#93](https://github.com/mvdan/sh/issues/93) - [mvdan/sh#97](https://github.com/mvdan/sh/issues/97) diff --git a/docs/i18n/zh-Hans/docusaurus-plugin-content-docs/current/integrations.md b/docs/i18n/zh-Hans/docusaurus-plugin-content-docs/current/integrations.md index 9af50c3a..d505783a 100644 --- a/docs/i18n/zh-Hans/docusaurus-plugin-content-docs/current/integrations.md +++ b/docs/i18n/zh-Hans/docusaurus-plugin-content-docs/current/integrations.md @@ -24,7 +24,7 @@ Task 有一个 [针对 Visual Studio Code 的官方扩展](https://marketplace.v ## Schema -这最初是由 [@KROSF](https://github.com/KROSF) 在 [这个 Gist](https://gist.github.com/KROSF/c5435acf590acd632f71bb720f685895) 中创建的,现在在 [这个](https://github.com/go-task/task/blob/main/docs/static/schema.json) 文件中正式维护,并在 https://taskfile.dev/schema.json 上提供。 这个 schema 可用于验证 Taskfile 并在许多代码编辑器中提供自动完成功能: +This was initially created by @KROSF in [this Gist](https://gist.github.com/KROSF/c5435acf590acd632f71bb720f685895) and is now officially maintained in [this file](https://github.com/go-task/task/blob/main/docs/static/schema.json) and made available at https://taskfile.dev/schema.json. 这个 schema 可用于验证 Taskfile 并在许多代码编辑器中提供自动完成功能: ### Visual Studio Code @@ -55,8 +55,8 @@ version: '3' 除了我们的官方集成之外,还有一个很棒的开发人员社区,他们为 Task 创建了自己的集成: -- [Sublime Text Plugin](https://packagecontrol.io/packages/Taskfile) [[源码](https://github.com/biozz/sublime-taskfile)] 由 [@biozz](https://github.com/biozz) -- [IntelliJ Plugin](https://plugins.jetbrains.com/plugin/17058-taskfile) [[源码](https://github.com/lechuckroh/task-intellij-plugin)] 由 [@lechuckroh](https://github.com/lechuckroh) +- [Sublime Text Plugin](https://packagecontrol.io/packages/Taskfile) [[source](https://github.com/biozz/sublime-taskfile)] by @biozz +- [IntelliJ Plugin](https://plugins.jetbrains.com/plugin/17058-taskfile) [[source](https://github.com/lechuckroh/task-intellij-plugin)] by @lechuckroh - [mk](https://github.com/pycontribs/mk) 命令行工具本机识别 Taskfile。 如果你做了一些与 Task 集成的东西,请随意打开一个 PR 将它添加到这个列表中。 diff --git a/docs/i18n/zh-Hans/docusaurus-plugin-content-docs/current/intro.md b/docs/i18n/zh-Hans/docusaurus-plugin-content-docs/current/intro.md index 14d54ed3..8ff55740 100644 --- a/docs/i18n/zh-Hans/docusaurus-plugin-content-docs/current/intro.md +++ b/docs/i18n/zh-Hans/docusaurus-plugin-content-docs/current/intro.md @@ -14,7 +14,7 @@ Task 是一个任务运行器/构建工具,旨在比 [GNU Make][make] 等更 由于它是用 [Go](https://go.dev/) 编写的,Task 只是一个二进制文件,没有其他依赖项,这意味着您不需要为了使用构建工具而烦恼任何复杂的安装设置。 -[安装](installation.md) 后,您只需在名为 `Taskfile.yml` 的文件中使用简单的 [YAML][yaml] 规则描述您的构建任务: +Once [installed](/installation), you just need to describe your build tasks using a simple [YAML][yaml] schema in a file called `Taskfile.yml`: ```yaml title="Taskfile.yml" version: '3' @@ -32,8 +32,8 @@ tasks: ## Features -- [易于安装](installation.md):只需要下载一个二进制文件,添加到 `$PATH` 即可! 或者,您也可以根据需要使用 [Homebrew](https://brew.sh/)、[Snapcraft](https://snapcraft.io/) 或 [Scoop](https://scoop.sh/) 进行安装。 -- 可以在 CI 中使用:只要添加 [这个命令](installation.md#安装脚本) 到 CI 安装脚本中,然后就可以把 Task 当做 CI 的一个功能来使用了。 +- [Easy installation](/installation): just download a single binary, add to `$PATH` and you're done! 或者,您也可以根据需要使用 [Homebrew](https://brew.sh/)、[Snapcraft](https://snapcraft.io/) 或 [Scoop](https://scoop.sh/) 进行安装。 +- Available on CIs: by adding [this simple command](/installation#install-script) to install on your CI script and you're ready to use Task as part of your CI pipeline; - 真正的跨平台:虽然大多数构建工具只能在 Linux 或 macOS 上运行良好,但由于 [这个用于 Go 的 shell 解释器](https://github.com/mvdan/sh),Task 也支持 Windows。 - 非常适合代码生成:如果给定的一组文件自上次运行以来没有更改(基于其时间戳或内容),您可以轻松地 [阻止 task 运行](/usage#减少不必要的工作)。 diff --git a/docs/i18n/zh-Hans/docusaurus-plugin-content-docs/current/styleguide.md b/docs/i18n/zh-Hans/docusaurus-plugin-content-docs/current/styleguide.md index 675c3faf..093d7c82 100644 --- a/docs/i18n/zh-Hans/docusaurus-plugin-content-docs/current/styleguide.md +++ b/docs/i18n/zh-Hans/docusaurus-plugin-content-docs/current/styleguide.md @@ -9,19 +9,6 @@ sidebar_position: 10 这包含一般准则,但不一定需要严格遵守。 如果你需要或想要,请随时提出不同意见,并在某些时候以不同方式进行。 此外,请随时打开 Issue 或 PR,对本指南进行改进。 -## 使用 `Taskfile.yml` 而不是 `taskfile.yml` - -```yaml -# bad -taskfile.yml - - -# good -Taskfile.yml -``` - -这对于 Linux 用户尤其重要。 Windows 和 macOS 的文件系统不区分大小写,因此 `taskfile.yml` 最终会正常工作,即使它不受官方支持。 不过,在 Linux 上,只有 `Taskfile.yml` 可以工作。 - ## 使用正确的关键字顺序 - `version:` diff --git a/docs/i18n/zh-Hans/docusaurus-plugin-content-docs/current/taskfile_versions.md b/docs/i18n/zh-Hans/docusaurus-plugin-content-docs/current/taskfile_versions.md index fe347d16..d2494b20 100644 --- a/docs/i18n/zh-Hans/docusaurus-plugin-content-docs/current/taskfile_versions.md +++ b/docs/i18n/zh-Hans/docusaurus-plugin-content-docs/current/taskfile_versions.md @@ -69,7 +69,7 @@ tasks: :::caution -v2 schema support is [deprecated][deprecate-version-2-schema] and will be removed in a future release. +v2 schemas are [no longer supported by the latest version of Task][deprecate-version-2-schema]. ::: @@ -86,13 +86,13 @@ tasks: - aws s3 cp .env s3://myenvironment ``` -请检查 [文档][includes] +Please check the [documentation][includes] ## 版本 2.2 :::caution -v2 schema support is [deprecated][deprecate-version-2-schema] and will be removed in a future release. +v2 schemas are [no longer supported by the latest version of Task][deprecate-version-2-schema]. ::: @@ -110,11 +110,11 @@ includes: :::caution -v2 schema support is [deprecated][deprecate-version-2-schema] and will be removed in a future release. +v2 schemas are [no longer supported by the latest version of Task][deprecate-version-2-schema]. ::: -2.1 版包括一个全局 `output` 选项,以允许更好地控制如何将命令输出打印到控制台(有关更多信息,请参阅 [文档][output]): +Version 2.1 includes a global `output` option, to allow having more control over how commands output are printed to the console (see [documentation][output] for more info): ```yaml version: '2' @@ -128,7 +128,7 @@ tasks: prefix: server ``` -从这个版本开始,也可以忽略命令或 task 的错误(在 [此处][ignore_errors] 查看文档): +From this version it's also possible to ignore errors of a command or task (check documentation [here][ignore_errors]): ```yaml version: '2' @@ -151,7 +151,7 @@ tasks: :::caution -v2 schema support is [deprecated][deprecate-version-2-schema] and will be removed in a future release. +v2 schemas are [no longer supported by the latest version of Task][deprecate-version-2-schema]. ::: @@ -234,7 +234,7 @@ echo: -[output]: usage.md#输出语法 -[ignore_errors]: usage.md#忽略错误 -[includes]: usage.md#包含其他-taskfile -[deprecate-version-2-schema]: https://github.com/go-task/task/issues/1197 +[deprecate-version-2-schema]: /deprecations/version-2-schema/ +[output]: /usage#output-syntax +[ignore_errors]: /usage#ignore-errors +[includes]: /usage#including-other-taskfiles diff --git a/docs/i18n/zh-Hans/docusaurus-plugin-content-docs/current/usage.md b/docs/i18n/zh-Hans/docusaurus-plugin-content-docs/current/usage.md index 0467c98a..558c3250 100644 --- a/docs/i18n/zh-Hans/docusaurus-plugin-content-docs/current/usage.md +++ b/docs/i18n/zh-Hans/docusaurus-plugin-content-docs/current/usage.md @@ -1298,7 +1298,7 @@ tasks: task: "This is a dangerous command... Do you want to continue?" [y/N] ``` -Warning prompts are called before executing a task. If a prompt is denied Task will exit with [exit code](api_reference.md#exit-codes) 205. If approved, Task will continue as normal. +Warning prompts are called before executing a task. If a prompt is denied Task will exit with [exit code](/api#exit-codes) 205. If approved, Task will continue as normal. ```bash ❯ task example