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 3c358a4e2e..42d99117ba 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 cd1ea05cdd..ef34badb0d 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 a5c20b20f9..dd663cdd02 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,464 @@ sidebar_position: 14 # Changelog +## 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 +474,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 +511,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 +550,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 07f476462a..c069c2beea 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 1ad9bc8599..57b2aa7bc5 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 43ed4d3b6a..62a2eaf582 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,12 @@ sidebar_position: -1 #Always push to the top draft: true #Hide in production --- -# {Name of Deprecated Feature} +# \{Name of Deprecated Feature\} -- Issue: [#{issue}](https://github.com/go-task/task/issues/{issue}) +- Issue: #\{issue\} - Breaks: - - {list any existing functionality that will be broken by this experiment} + - \{list any existing functionality that will be broken by this experiment\} -{Short description of the feature/behavior and why it is being deprecated} +\{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} +\{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 79ea75cfc0..adae6185c0 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 @@ -4,7 +4,7 @@ slug: /deprecations/version-2-schema/ # Version 2 Schema -- Issue: [#1197][deprecate-version-2-schema] +- Issue: #1197 - Breaks: - Any Taskfiles that use the version 2 schema - `Taskvar.yml` files @@ -18,5 +18,4 @@ A list of changes between version 2 and version 3 are available in the [Task v3 -[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 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 0000000000..c4a591f7fa --- /dev/null +++ b/docs/i18n/es-ES/docusaurus-plugin-content-docs/current/experiments/any_variables.md @@ -0,0 +1,185 @@ +--- +slug: /experiments/any-variables/ +--- + +# Any Variables + +- Issue: #1415 +- Environment variable: `TASK_X_ANY_VARIABLES=1` +- Breaks: + - Dynamically defined variables (using the `sh` keyword) + +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. + + + +[slim-sprig]: https://go-task.github.io/slim-sprig/ + + 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 d1eada7462..3afe02391d 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 @@ -4,7 +4,7 @@ slug: /experiments/gentle-force/ # Gentle Force -- Issue: [#1200][gentle-force-experiment] +- Issue: #1200 - Environment variable: `TASK_X_FORCE=1` - Breaks: - `--force` flag @@ -14,8 +14,3 @@ The `--force` flag currently forces _all_ tasks to run regardless of the status This experiment changes the `--force` flag to only force the directly called task. All dependant tasks will have their statuses checked as normal and will only run if Task considers them to be out of date. A new `--force-all` flag will also be added to maintain the current behavior for users that need this functionality. If you want to migrate, but continue to force all dependant tasks to run, you should replace all uses of the `--force` flag with `--force-all`. Alternatively, if you want to adopt the new behavior, you can continue to use the `--force` flag as you do now! - - - - -[gentle-force-experiment]: https://github.com/go-task/task/issues/1200 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 76d2117356..f090ee4d9b 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 @@ -4,7 +4,7 @@ slug: /experiments/remote-taskfiles/ # Remote Taskfiles -- Issue: [#1317][remote-taskfiles-experiment] +- Issue: #1317 - Environment variable: `TASK_X_REMOTE_TASKFILES=1` This experiment allows you to specify a remote Taskfile URL when including a Taskfile. For example: @@ -53,5 +53,4 @@ By default, Task will timeout requests to download remote files after 10 seconds -[remote-taskfiles-experiment]: https://github.com/go-task/task/issues/1317 [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 6ae94c0697..d00a655556 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,15 @@ sidebar_position: -1 #Always push to the top draft: true #Hide in production --- -# {Name of Experiment} +# \{Name of Experiment\} -- Issue: [#{issue}](https://github.com/go-task/task/issues/{issue}) +- Issue: #\{issue\} - Environment variable: `TASK_X_{feature}` - Breaks: - - {list any existing functionality that will be broken by this experiment} + - \{list any existing functionality that will be broken by this experiment\} - Deprecations: - - {link to any deprecation pages related to this experiment} + - \{link to any deprecation pages related to this experiment\} -{Short description of the feature} +\{Short description of the feature\} -{Short explanation of how users should migrate to the new behavior} +\{Short explanation of how users should migrate to the new behavior\} 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 5a9a3cc173..b6aa46f94c 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 5d3f835a4e..873da703ac 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 783f91c39d..c06c1cf34c 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/taskfile_versions.md b/docs/i18n/es-ES/docusaurus-plugin-content-docs/current/taskfile_versions.md index 1c9b552e9c..b85bbe3d8b 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 @@ -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 +[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 f6354bc539..0691dc63d9 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 3c358a4e2e..42d99117ba 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 c342875e80..08cc751126 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 a5c20b20f9..dd663cdd02 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,464 @@ sidebar_position: 14 # Changelog +## 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 +474,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 +511,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 +550,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 f7bb5d635e..4946d6818b 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 1ad9bc8599..57b2aa7bc5 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 c8332e74b7..62a2eaf582 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,12 @@ 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}](https://github.com/go-task/task/issues/{issue}) +- Issue: #\{issue\} - Breaks: - - {lister toutes les fonctionnalités qui vont être brisées par ce changement} + - \{list any existing functionality that will be broken by this experiment\} -{Description rapide de la fonctionnalité et de la raison de sa dépréciation} +\{Short description of the feature/behavior and why it is being deprecated\} -{Courte explication des fonctionnalités à utiliser à la place, et comment les utilisateurs peuvent migrer vers cette autre fonctionnalité} +\{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 79ea75cfc0..adae6185c0 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 @@ -4,7 +4,7 @@ slug: /deprecations/version-2-schema/ # Version 2 Schema -- Issue: [#1197][deprecate-version-2-schema] +- Issue: #1197 - Breaks: - Any Taskfiles that use the version 2 schema - `Taskvar.yml` files @@ -18,5 +18,4 @@ A list of changes between version 2 and version 3 are available in the [Task v3 -[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 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 18bb2a1bea..278ec5163c 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 0000000000..c4a591f7fa --- /dev/null +++ b/docs/i18n/fr-FR/docusaurus-plugin-content-docs/current/experiments/any_variables.md @@ -0,0 +1,185 @@ +--- +slug: /experiments/any-variables/ +--- + +# Any Variables + +- Issue: #1415 +- Environment variable: `TASK_X_ANY_VARIABLES=1` +- Breaks: + - Dynamically defined variables (using the `sh` keyword) + +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. + + + +[slim-sprig]: https://go-task.github.io/slim-sprig/ + + 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 d1eada7462..3afe02391d 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 @@ -4,7 +4,7 @@ slug: /experiments/gentle-force/ # Gentle Force -- Issue: [#1200][gentle-force-experiment] +- Issue: #1200 - Environment variable: `TASK_X_FORCE=1` - Breaks: - `--force` flag @@ -14,8 +14,3 @@ The `--force` flag currently forces _all_ tasks to run regardless of the status This experiment changes the `--force` flag to only force the directly called task. All dependant tasks will have their statuses checked as normal and will only run if Task considers them to be out of date. A new `--force-all` flag will also be added to maintain the current behavior for users that need this functionality. If you want to migrate, but continue to force all dependant tasks to run, you should replace all uses of the `--force` flag with `--force-all`. Alternatively, if you want to adopt the new behavior, you can continue to use the `--force` flag as you do now! - - - - -[gentle-force-experiment]: https://github.com/go-task/task/issues/1200 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 76d2117356..f090ee4d9b 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 @@ -4,7 +4,7 @@ slug: /experiments/remote-taskfiles/ # Remote Taskfiles -- Issue: [#1317][remote-taskfiles-experiment] +- Issue: #1317 - Environment variable: `TASK_X_REMOTE_TASKFILES=1` This experiment allows you to specify a remote Taskfile URL when including a Taskfile. For example: @@ -53,5 +53,4 @@ By default, Task will timeout requests to download remote files after 10 seconds -[remote-taskfiles-experiment]: https://github.com/go-task/task/issues/1317 [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 6ae94c0697..d00a655556 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,15 @@ sidebar_position: -1 #Always push to the top draft: true #Hide in production --- -# {Name of Experiment} +# \{Name of Experiment\} -- Issue: [#{issue}](https://github.com/go-task/task/issues/{issue}) +- Issue: #\{issue\} - Environment variable: `TASK_X_{feature}` - Breaks: - - {list any existing functionality that will be broken by this experiment} + - \{list any existing functionality that will be broken by this experiment\} - Deprecations: - - {link to any deprecation pages related to this experiment} + - \{link to any deprecation pages related to this experiment\} -{Short description of the feature} +\{Short description of the feature\} -{Short explanation of how users should migrate to the new behavior} +\{Short explanation of how users should migrate to the new behavior\} 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 370c19edd8..d3033bf2ee 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 559459d1d7..b6e4c80017 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 bc66fc41cc..e522826366 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/taskfile_versions.md b/docs/i18n/fr-FR/docusaurus-plugin-content-docs/current/taskfile_versions.md index d80013254c..a853d59563 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 schema support is [deprecated][deprecate-version-2-schema] and will be removed in a future release. ::: @@ -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 schema support is [deprecated][deprecate-version-2-schema] and will be removed in a future release. ::: @@ -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 schema support is [deprecated][deprecate-version-2-schema] and will be removed in a future release. ::: -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 schema support is [deprecated][deprecate-version-2-schema] and will be removed in a future release. ::: @@ -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 +[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 f6354bc539..0691dc63d9 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 3c358a4e2e..42d99117ba 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 92ef25d506..95bb8fb62c 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 @@ -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. | @@ -133,7 +134,7 @@ There are some special variables that is available on the templating system: Some environment variables can be overridden to adjust Task behavior. -| 環境変数 | デフォルト値 | 説明 | +| ENV | デフォルト値 | 説明 | | -------------------- | ------- | ----------------------------------------------------------------------------------------------------------------- | | `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. | 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 a5c20b20f9..dd663cdd02 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,464 @@ sidebar_position: 14 # Changelog +## 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 +474,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 +511,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 +550,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 07f476462a..c069c2beea 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 35b1d58b9b..18720e722e 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 43ed4d3b6a..62a2eaf582 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,12 @@ sidebar_position: -1 #Always push to the top draft: true #Hide in production --- -# {Name of Deprecated Feature} +# \{Name of Deprecated Feature\} -- Issue: [#{issue}](https://github.com/go-task/task/issues/{issue}) +- Issue: #\{issue\} - Breaks: - - {list any existing functionality that will be broken by this experiment} + - \{list any existing functionality that will be broken by this experiment\} -{Short description of the feature/behavior and why it is being deprecated} +\{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} +\{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 79ea75cfc0..adae6185c0 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 @@ -4,7 +4,7 @@ slug: /deprecations/version-2-schema/ # Version 2 Schema -- Issue: [#1197][deprecate-version-2-schema] +- Issue: #1197 - Breaks: - Any Taskfiles that use the version 2 schema - `Taskvar.yml` files @@ -18,5 +18,4 @@ A list of changes between version 2 and version 3 are available in the [Task v3 -[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 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 0000000000..c4a591f7fa --- /dev/null +++ b/docs/i18n/ja-JP/docusaurus-plugin-content-docs/current/experiments/any_variables.md @@ -0,0 +1,185 @@ +--- +slug: /experiments/any-variables/ +--- + +# Any Variables + +- Issue: #1415 +- Environment variable: `TASK_X_ANY_VARIABLES=1` +- Breaks: + - Dynamically defined variables (using the `sh` keyword) + +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. + + + +[slim-sprig]: https://go-task.github.io/slim-sprig/ + + 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 d1eada7462..3afe02391d 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 @@ -4,7 +4,7 @@ slug: /experiments/gentle-force/ # Gentle Force -- Issue: [#1200][gentle-force-experiment] +- Issue: #1200 - Environment variable: `TASK_X_FORCE=1` - Breaks: - `--force` flag @@ -14,8 +14,3 @@ The `--force` flag currently forces _all_ tasks to run regardless of the status This experiment changes the `--force` flag to only force the directly called task. All dependant tasks will have their statuses checked as normal and will only run if Task considers them to be out of date. A new `--force-all` flag will also be added to maintain the current behavior for users that need this functionality. If you want to migrate, but continue to force all dependant tasks to run, you should replace all uses of the `--force` flag with `--force-all`. Alternatively, if you want to adopt the new behavior, you can continue to use the `--force` flag as you do now! - - - - -[gentle-force-experiment]: https://github.com/go-task/task/issues/1200 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 76d2117356..f090ee4d9b 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 @@ -4,7 +4,7 @@ slug: /experiments/remote-taskfiles/ # Remote Taskfiles -- Issue: [#1317][remote-taskfiles-experiment] +- Issue: #1317 - Environment variable: `TASK_X_REMOTE_TASKFILES=1` This experiment allows you to specify a remote Taskfile URL when including a Taskfile. For example: @@ -53,5 +53,4 @@ By default, Task will timeout requests to download remote files after 10 seconds -[remote-taskfiles-experiment]: https://github.com/go-task/task/issues/1317 [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 6ae94c0697..d00a655556 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,15 @@ sidebar_position: -1 #Always push to the top draft: true #Hide in production --- -# {Name of Experiment} +# \{Name of Experiment\} -- Issue: [#{issue}](https://github.com/go-task/task/issues/{issue}) +- Issue: #\{issue\} - Environment variable: `TASK_X_{feature}` - Breaks: - - {list any existing functionality that will be broken by this experiment} + - \{list any existing functionality that will be broken by this experiment\} - Deprecations: - - {link to any deprecation pages related to this experiment} + - \{link to any deprecation pages related to this experiment\} -{Short description of the feature} +\{Short description of the feature\} -{Short explanation of how users should migrate to the new behavior} +\{Short explanation of how users should migrate to the new behavior\} 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 d1857bdee0..66acce4971 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 559459d1d7..b6e4c80017 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 db2a77c349..f3b8214f3b 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/taskfile_versions.md b/docs/i18n/ja-JP/docusaurus-plugin-content-docs/current/taskfile_versions.md index 08d885d70e..ec28d30ce0 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 @@ -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 +[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 a9060097c3..a851667aa2 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 @@ -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 3c358a4e2e..42d99117ba 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 415f35aae5..9f93f03701 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 a5c20b20f9..dd663cdd02 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,464 @@ sidebar_position: 14 # Changelog +## 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 +474,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 +511,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 +550,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 d9cf36fd71..5020869228 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 1ad9bc8599..57b2aa7bc5 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 43ed4d3b6a..62a2eaf582 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,12 @@ sidebar_position: -1 #Always push to the top draft: true #Hide in production --- -# {Name of Deprecated Feature} +# \{Name of Deprecated Feature\} -- Issue: [#{issue}](https://github.com/go-task/task/issues/{issue}) +- Issue: #\{issue\} - Breaks: - - {list any existing functionality that will be broken by this experiment} + - \{list any existing functionality that will be broken by this experiment\} -{Short description of the feature/behavior and why it is being deprecated} +\{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} +\{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 79ea75cfc0..adae6185c0 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 @@ -4,7 +4,7 @@ slug: /deprecations/version-2-schema/ # Version 2 Schema -- Issue: [#1197][deprecate-version-2-schema] +- Issue: #1197 - Breaks: - Any Taskfiles that use the version 2 schema - `Taskvar.yml` files @@ -18,5 +18,4 @@ A list of changes between version 2 and version 3 are available in the [Task v3 -[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 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 0000000000..c4a591f7fa --- /dev/null +++ b/docs/i18n/pt-BR/docusaurus-plugin-content-docs/current/experiments/any_variables.md @@ -0,0 +1,185 @@ +--- +slug: /experiments/any-variables/ +--- + +# Any Variables + +- Issue: #1415 +- Environment variable: `TASK_X_ANY_VARIABLES=1` +- Breaks: + - Dynamically defined variables (using the `sh` keyword) + +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. + + + +[slim-sprig]: https://go-task.github.io/slim-sprig/ + + 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 d1eada7462..3afe02391d 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 @@ -4,7 +4,7 @@ slug: /experiments/gentle-force/ # Gentle Force -- Issue: [#1200][gentle-force-experiment] +- Issue: #1200 - Environment variable: `TASK_X_FORCE=1` - Breaks: - `--force` flag @@ -14,8 +14,3 @@ The `--force` flag currently forces _all_ tasks to run regardless of the status This experiment changes the `--force` flag to only force the directly called task. All dependant tasks will have their statuses checked as normal and will only run if Task considers them to be out of date. A new `--force-all` flag will also be added to maintain the current behavior for users that need this functionality. If you want to migrate, but continue to force all dependant tasks to run, you should replace all uses of the `--force` flag with `--force-all`. Alternatively, if you want to adopt the new behavior, you can continue to use the `--force` flag as you do now! - - - - -[gentle-force-experiment]: https://github.com/go-task/task/issues/1200 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 76d2117356..f090ee4d9b 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 @@ -4,7 +4,7 @@ slug: /experiments/remote-taskfiles/ # Remote Taskfiles -- Issue: [#1317][remote-taskfiles-experiment] +- Issue: #1317 - Environment variable: `TASK_X_REMOTE_TASKFILES=1` This experiment allows you to specify a remote Taskfile URL when including a Taskfile. For example: @@ -53,5 +53,4 @@ By default, Task will timeout requests to download remote files after 10 seconds -[remote-taskfiles-experiment]: https://github.com/go-task/task/issues/1317 [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 6ae94c0697..d00a655556 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,15 @@ sidebar_position: -1 #Always push to the top draft: true #Hide in production --- -# {Name of Experiment} +# \{Name of Experiment\} -- Issue: [#{issue}](https://github.com/go-task/task/issues/{issue}) +- Issue: #\{issue\} - Environment variable: `TASK_X_{feature}` - Breaks: - - {list any existing functionality that will be broken by this experiment} + - \{list any existing functionality that will be broken by this experiment\} - Deprecations: - - {link to any deprecation pages related to this experiment} + - \{link to any deprecation pages related to this experiment\} -{Short description of the feature} +\{Short description of the feature\} -{Short explanation of how users should migrate to the new behavior} +\{Short explanation of how users should migrate to the new behavior\} 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 3a0fa348a6..4c443c11a4 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 559459d1d7..b6e4c80017 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 395cdbcc4e..2de1162434 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/taskfile_versions.md b/docs/i18n/pt-BR/docusaurus-plugin-content-docs/current/taskfile_versions.md index 5f94d762df..97f0acade7 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 @@ -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 +[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 0184cedd8f..eaf41ac016 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 3c358a4e2e..42d99117ba 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 788d2db066..2831332a26 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 a5c20b20f9..dd663cdd02 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,464 @@ sidebar_position: 14 # Changelog +## 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 +474,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 +511,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 +550,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 51f91c277a..8165c0e841 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 9da0b2bbf9..4f6ed87b26 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 43ed4d3b6a..62a2eaf582 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,12 @@ sidebar_position: -1 #Always push to the top draft: true #Hide in production --- -# {Name of Deprecated Feature} +# \{Name of Deprecated Feature\} -- Issue: [#{issue}](https://github.com/go-task/task/issues/{issue}) +- Issue: #\{issue\} - Breaks: - - {list any existing functionality that will be broken by this experiment} + - \{list any existing functionality that will be broken by this experiment\} -{Short description of the feature/behavior and why it is being deprecated} +\{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} +\{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 79ea75cfc0..adae6185c0 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 @@ -4,7 +4,7 @@ slug: /deprecations/version-2-schema/ # Version 2 Schema -- Issue: [#1197][deprecate-version-2-schema] +- Issue: #1197 - Breaks: - Any Taskfiles that use the version 2 schema - `Taskvar.yml` files @@ -18,5 +18,4 @@ A list of changes between version 2 and version 3 are available in the [Task v3 -[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 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 0000000000..c4a591f7fa --- /dev/null +++ b/docs/i18n/ru-RU/docusaurus-plugin-content-docs/current/experiments/any_variables.md @@ -0,0 +1,185 @@ +--- +slug: /experiments/any-variables/ +--- + +# Any Variables + +- Issue: #1415 +- Environment variable: `TASK_X_ANY_VARIABLES=1` +- Breaks: + - Dynamically defined variables (using the `sh` keyword) + +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. + + + +[slim-sprig]: https://go-task.github.io/slim-sprig/ + + 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 d1eada7462..3afe02391d 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 @@ -4,7 +4,7 @@ slug: /experiments/gentle-force/ # Gentle Force -- Issue: [#1200][gentle-force-experiment] +- Issue: #1200 - Environment variable: `TASK_X_FORCE=1` - Breaks: - `--force` flag @@ -14,8 +14,3 @@ The `--force` flag currently forces _all_ tasks to run regardless of the status This experiment changes the `--force` flag to only force the directly called task. All dependant tasks will have their statuses checked as normal and will only run if Task considers them to be out of date. A new `--force-all` flag will also be added to maintain the current behavior for users that need this functionality. If you want to migrate, but continue to force all dependant tasks to run, you should replace all uses of the `--force` flag with `--force-all`. Alternatively, if you want to adopt the new behavior, you can continue to use the `--force` flag as you do now! - - - - -[gentle-force-experiment]: https://github.com/go-task/task/issues/1200 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 76d2117356..f090ee4d9b 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 @@ -4,7 +4,7 @@ slug: /experiments/remote-taskfiles/ # Remote Taskfiles -- Issue: [#1317][remote-taskfiles-experiment] +- Issue: #1317 - Environment variable: `TASK_X_REMOTE_TASKFILES=1` This experiment allows you to specify a remote Taskfile URL when including a Taskfile. For example: @@ -53,5 +53,4 @@ By default, Task will timeout requests to download remote files after 10 seconds -[remote-taskfiles-experiment]: https://github.com/go-task/task/issues/1317 [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 6ae94c0697..d00a655556 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,15 @@ sidebar_position: -1 #Always push to the top draft: true #Hide in production --- -# {Name of Experiment} +# \{Name of Experiment\} -- Issue: [#{issue}](https://github.com/go-task/task/issues/{issue}) +- Issue: #\{issue\} - Environment variable: `TASK_X_{feature}` - Breaks: - - {list any existing functionality that will be broken by this experiment} + - \{list any existing functionality that will be broken by this experiment\} - Deprecations: - - {link to any deprecation pages related to this experiment} + - \{link to any deprecation pages related to this experiment\} -{Short description of the feature} +\{Short description of the feature\} -{Short explanation of how users should migrate to the new behavior} +\{Short explanation of how users should migrate to the new behavior\} 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 5d694f8cdf..64a04bee63 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 8f5fcce954..4ac94735f4 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 35ece92dca..d85cf1c644 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/taskfile_versions.md b/docs/i18n/ru-RU/docusaurus-plugin-content-docs/current/taskfile_versions.md index 063956d7ac..402da681d6 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 @@ -86,7 +86,7 @@ tasks: - aws s3 cp .env s3://myenvironment ``` -Пожалуйста, проверьте [документацию][includes] +Please check the [documentation][includes] ## Версия 2.2 @@ -114,7 +114,7 @@ v2 schema support is [deprecated][deprecate-version-2-schema] and will be remove ::: -В версии 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' @@ -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 +[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 08ba349b2f..1e6a914fe8 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 3c358a4e2e..42d99117ba 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 cd1ea05cdd..ef34badb0d 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 a5c20b20f9..dd663cdd02 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,464 @@ sidebar_position: 14 # Changelog +## 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 +474,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 +511,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 +550,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 07f476462a..c069c2beea 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 1ad9bc8599..57b2aa7bc5 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 43ed4d3b6a..62a2eaf582 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,12 @@ sidebar_position: -1 #Always push to the top draft: true #Hide in production --- -# {Name of Deprecated Feature} +# \{Name of Deprecated Feature\} -- Issue: [#{issue}](https://github.com/go-task/task/issues/{issue}) +- Issue: #\{issue\} - Breaks: - - {list any existing functionality that will be broken by this experiment} + - \{list any existing functionality that will be broken by this experiment\} -{Short description of the feature/behavior and why it is being deprecated} +\{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} +\{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 79ea75cfc0..adae6185c0 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 @@ -4,7 +4,7 @@ slug: /deprecations/version-2-schema/ # Version 2 Schema -- Issue: [#1197][deprecate-version-2-schema] +- Issue: #1197 - Breaks: - Any Taskfiles that use the version 2 schema - `Taskvar.yml` files @@ -18,5 +18,4 @@ A list of changes between version 2 and version 3 are available in the [Task v3 -[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 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 0000000000..c4a591f7fa --- /dev/null +++ b/docs/i18n/tr-TR/docusaurus-plugin-content-docs/current/experiments/any_variables.md @@ -0,0 +1,185 @@ +--- +slug: /experiments/any-variables/ +--- + +# Any Variables + +- Issue: #1415 +- Environment variable: `TASK_X_ANY_VARIABLES=1` +- Breaks: + - Dynamically defined variables (using the `sh` keyword) + +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. + + + +[slim-sprig]: https://go-task.github.io/slim-sprig/ + + 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 d1eada7462..3afe02391d 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 @@ -4,7 +4,7 @@ slug: /experiments/gentle-force/ # Gentle Force -- Issue: [#1200][gentle-force-experiment] +- Issue: #1200 - Environment variable: `TASK_X_FORCE=1` - Breaks: - `--force` flag @@ -14,8 +14,3 @@ The `--force` flag currently forces _all_ tasks to run regardless of the status This experiment changes the `--force` flag to only force the directly called task. All dependant tasks will have their statuses checked as normal and will only run if Task considers them to be out of date. A new `--force-all` flag will also be added to maintain the current behavior for users that need this functionality. If you want to migrate, but continue to force all dependant tasks to run, you should replace all uses of the `--force` flag with `--force-all`. Alternatively, if you want to adopt the new behavior, you can continue to use the `--force` flag as you do now! - - - - -[gentle-force-experiment]: https://github.com/go-task/task/issues/1200 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 76d2117356..f090ee4d9b 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 @@ -4,7 +4,7 @@ slug: /experiments/remote-taskfiles/ # Remote Taskfiles -- Issue: [#1317][remote-taskfiles-experiment] +- Issue: #1317 - Environment variable: `TASK_X_REMOTE_TASKFILES=1` This experiment allows you to specify a remote Taskfile URL when including a Taskfile. For example: @@ -53,5 +53,4 @@ By default, Task will timeout requests to download remote files after 10 seconds -[remote-taskfiles-experiment]: https://github.com/go-task/task/issues/1317 [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 6ae94c0697..d00a655556 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,15 @@ sidebar_position: -1 #Always push to the top draft: true #Hide in production --- -# {Name of Experiment} +# \{Name of Experiment\} -- Issue: [#{issue}](https://github.com/go-task/task/issues/{issue}) +- Issue: #\{issue\} - Environment variable: `TASK_X_{feature}` - Breaks: - - {list any existing functionality that will be broken by this experiment} + - \{list any existing functionality that will be broken by this experiment\} - Deprecations: - - {link to any deprecation pages related to this experiment} + - \{link to any deprecation pages related to this experiment\} -{Short description of the feature} +\{Short description of the feature\} -{Short explanation of how users should migrate to the new behavior} +\{Short explanation of how users should migrate to the new behavior\} 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 5a9a3cc173..b6aa46f94c 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 559459d1d7..b6e4c80017 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 783f91c39d..c06c1cf34c 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/taskfile_versions.md b/docs/i18n/tr-TR/docusaurus-plugin-content-docs/current/taskfile_versions.md index 1c9b552e9c..b85bbe3d8b 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 @@ -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 +[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 28264087ef..348ca605f3 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 3c358a4e2e..42d99117ba 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 a79758d5b9..1858817ac9 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 5a7d064958..e652a75159 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,464 @@ sidebar_position: 14 # 更新日志 +## 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 +474,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 +511,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 +550,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 8501ecca2e..6caa4ac975 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 7c9590abe3..9013937708 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 43ed4d3b6a..62a2eaf582 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,12 @@ sidebar_position: -1 #Always push to the top draft: true #Hide in production --- -# {Name of Deprecated Feature} +# \{Name of Deprecated Feature\} -- Issue: [#{issue}](https://github.com/go-task/task/issues/{issue}) +- Issue: #\{issue\} - Breaks: - - {list any existing functionality that will be broken by this experiment} + - \{list any existing functionality that will be broken by this experiment\} -{Short description of the feature/behavior and why it is being deprecated} +\{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} +\{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 79ea75cfc0..adae6185c0 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 @@ -4,7 +4,7 @@ slug: /deprecations/version-2-schema/ # Version 2 Schema -- Issue: [#1197][deprecate-version-2-schema] +- Issue: #1197 - Breaks: - Any Taskfiles that use the version 2 schema - `Taskvar.yml` files @@ -18,5 +18,4 @@ A list of changes between version 2 and version 3 are available in the [Task v3 -[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 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 0000000000..c4a591f7fa --- /dev/null +++ b/docs/i18n/zh-Hans/docusaurus-plugin-content-docs/current/experiments/any_variables.md @@ -0,0 +1,185 @@ +--- +slug: /experiments/any-variables/ +--- + +# Any Variables + +- Issue: #1415 +- Environment variable: `TASK_X_ANY_VARIABLES=1` +- Breaks: + - Dynamically defined variables (using the `sh` keyword) + +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. + + + +[slim-sprig]: https://go-task.github.io/slim-sprig/ + + 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 d1eada7462..3afe02391d 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 @@ -4,7 +4,7 @@ slug: /experiments/gentle-force/ # Gentle Force -- Issue: [#1200][gentle-force-experiment] +- Issue: #1200 - Environment variable: `TASK_X_FORCE=1` - Breaks: - `--force` flag @@ -14,8 +14,3 @@ The `--force` flag currently forces _all_ tasks to run regardless of the status This experiment changes the `--force` flag to only force the directly called task. All dependant tasks will have their statuses checked as normal and will only run if Task considers them to be out of date. A new `--force-all` flag will also be added to maintain the current behavior for users that need this functionality. If you want to migrate, but continue to force all dependant tasks to run, you should replace all uses of the `--force` flag with `--force-all`. Alternatively, if you want to adopt the new behavior, you can continue to use the `--force` flag as you do now! - - - - -[gentle-force-experiment]: https://github.com/go-task/task/issues/1200 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 76d2117356..f090ee4d9b 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 @@ -4,7 +4,7 @@ slug: /experiments/remote-taskfiles/ # Remote Taskfiles -- Issue: [#1317][remote-taskfiles-experiment] +- Issue: #1317 - Environment variable: `TASK_X_REMOTE_TASKFILES=1` This experiment allows you to specify a remote Taskfile URL when including a Taskfile. For example: @@ -53,5 +53,4 @@ By default, Task will timeout requests to download remote files after 10 seconds -[remote-taskfiles-experiment]: https://github.com/go-task/task/issues/1317 [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 6ae94c0697..d00a655556 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,15 @@ sidebar_position: -1 #Always push to the top draft: true #Hide in production --- -# {Name of Experiment} +# \{Name of Experiment\} -- Issue: [#{issue}](https://github.com/go-task/task/issues/{issue}) +- Issue: #\{issue\} - Environment variable: `TASK_X_{feature}` - Breaks: - - {list any existing functionality that will be broken by this experiment} + - \{list any existing functionality that will be broken by this experiment\} - Deprecations: - - {link to any deprecation pages related to this experiment} + - \{link to any deprecation pages related to this experiment\} -{Short description of the feature} +\{Short description of the feature\} -{Short explanation of how users should migrate to the new behavior} +\{Short explanation of how users should migrate to the new behavior\} 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 8aed5c47e1..b12363fe14 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 9af50c3a67..d505783a1c 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 14d54ed363..8ff5574073 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/taskfile_versions.md b/docs/i18n/zh-Hans/docusaurus-plugin-content-docs/current/taskfile_versions.md index fe347d16b6..e8f53df65d 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 @@ -86,7 +86,7 @@ tasks: - aws s3 cp .env s3://myenvironment ``` -请检查 [文档][includes] +Please check the [documentation][includes] ## 版本 2.2 @@ -114,7 +114,7 @@ v2 schema support is [deprecated][deprecate-version-2-schema] and will be remove ::: -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' @@ -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 +[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 0467c98a7a..558c3250bb 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