Releases: go-task/task
Releases · go-task/task
Release list
v3.53.0-nightly
v3.52.0
- Fixed --interactive prompts for required vars sometimes appearing in a random order. Prompts now follow the order the vars are declared in the Taskfile. (#2871 by @caproven)
- Fixed Fish completions not being picked up correctly by installing them to Fish's
vendor_completions.ddirectory instead ofcompletions(#2850, #2859 by @Legimity). - PowerShell completions now work with aliases of the
taskcommand, not just thetaskbinary itself (#2852 by @kojiishi). - Fixed task and namespace aliases not being completed by the Zsh completion. A
show-aliaseszstyle can turn this off (#2865, #2864 by @vmaerten). - Fixed task names containing certain characters (e.g.
\,_,^) leaking into checksum/timestamp filenames, breakingsources:/generates:up-to-date detection (#2886 by @s3onghyun). - Fixed
for: matrix:loops usingref:rows producing wrong values when the same task was run concurrently (e.g. by paralleldeps) with different vars (#2890, #2894 by @amitmishra11). - Added a
secret: trueflag for variables that masks their value in logs,task --summary, and command output (#2514 by @vmaerten). - Added the
use_gitignoresetting (global or per-task) to skip files matched by your.gitignorewhen fingerprintingsources/generatesand when watching (#2773 by @vmaerten). - Added support for configuring output flags (
--output,--output-group-begin,--output-group-end,--output-group-error-only) via theTASK_OUTPUT*environment variables (#2873 by @liiight). - Added a
--temp-dirflag (withTASK_TEMP_DIRenv var andtemp-dirtaskrc config) to customise the directory where Task stores temporary files such as checksums. Relative paths are resolved against the root Taskfile (#2891 by @kjasn). - Defined environment variable behavior for remote taskfiles (#2267, #2847 by @vmaerten).
- Added support for remote Taskfiles hosted on Azure DevOps, whose git URLs use a
/_git/path segment rather than a.gitsuffix (#2904 by @pd93). - Re-added the example remote taskfile at taskfile.dev/Taskfile.yml (#2905 by @pd93).
- Fixed malformed
includes:entries (missingtaskfile/dir) reporting a misleading "include cycle detected" error instead of a clear configuration error (#1881, #2892 by @Lewin671).
v3.51.1
- A significant performance boost was achieved for large Taskfiles (monorepos) by skipping templating altogether when the string is static (#2820 by @romnn).
- Added
absPathtemplate function that resolves a path to its absolute form, cleaning..and.components (#2681, #2788 by @Mateenanjum). - Added
joinEnvfunction to join paths based on your oprating system:;for Windows and:elsewhere, andjoinUrlto join URL paths. Also, added two new special variables:FILE_PATH_SEPARATORwhich returns\on Windows and/elsewhere, andPATH_LIST_SEPARATORwhich returns;on Windows and:elsewhere (#2406, #2408 by @solvingj). - Update the shell interpreter with a regression fix (#2812, #2832 by @andreynering).
- Fix potential panic with the shell interpreter (#2810 by @trulede).
v3.50.0
- Added
enum.refsupport inrequires: enum constraints can now reference variables or template pipelines (e.g.,ref: .ALLOWED_ENVS) instead of duplicating static lists. Combined withsh:variables, this enables fully dynamic enum validation (#2678 by @vmaerten). - Fixed Fish completion using hardcoded
taskbinary name instead of$GO_TASK_PROGNAMEfor experiments cache (#2730, #2727 by @SergioChan). - Fixed watch mode ignoring SIGHUP signal, causing the watcher to exit instead of restarting (#2764, #2642).
- Fixed a long time bug where the task wouldn't re-run as it should when using
method: timestampand the files listed ongenerates:were deleted. This makesmethod: timestampbehaves the same asmethod: checksum(#1230, #2716 by @drichardson).
v3.49.1
v3.49.0
- Fixed included Taskfiles with
watch: truenot triggering watch mode when called from the root Taskfile (#2686, #1763 by @trulede). - Fixed Remote Git Taskfiles failing on Windows due to backslashes in URL paths (#2656 by @trim21).
- Fixed Remote Git Taskfiles timing out when resolving includes after accepting the trust prompt (#2669, #2668 by @vmaerten).
- Fixed unclear error message when Taskfile search stops at a directory ownership boundary (#2682, #1683 by @trulede).
- Fixed global variables from imported Taskfiles not resolving
ref:values correctly (#2632 by @trulede). - Every
.taskrc.ymloption can now be overridden with aTASK_-prefixed environment variable, making CI and container configuration easier (#2607, #1066 by @vmaerten).
v3.48.0
- Fixed
if:conditions when using to check dynamic variables. Also, skip variable prompt if task would be skipped byif:(#2658, #2660 by @vmaerten). - Fixed
ROOT_TASKFILEvariable pointing to directory instead of the actual Taskfile path when no explicit-tflag is provided (#2635, #1706 by @trulede). - Included Taskfiles with
silent: truenow properly propagate silence to their tasks, while still allowing individual tasks to override withsilent: false(#2640, #1319 by @trulede). - Added TLS certificate options for Remote Taskfiles: use
--cacertfor self-signed certificates and--cert/--cert-keyfor mTLS authentication (#2537, #2242 by @vmaerten).
v3.47.0
This release includes two highly requested features: if: condition and runtime prompt for required variables. Check out our blog post about them: https://taskfile.dev/blog/if-and-variable-prompt
- Fixed remote git Taskfiles: cloning now works without explicit ref, and directory includes are properly resolved (#2602 by @vmaerten).
- For
output: prefixed, printprefix:if set instead of task name (#1566, #2633 by @trulede). - Ensure no ANSI sequences are printed for
--color=false(#2560, #2584 by @trulede). - Task aliases can now contain wildcards and will match accordingly (e.g.,
s-*as alias forstart-*) (#1900, #2234 by @vmaerten). - Added conditional execution with the
iffield: skip tasks, commands, or task calls based on shell exit codes or template expressions like{{ eq .ENV "prod" }}(#2564, #608 by @vmaerten). - Task can now interactively prompt for missing required variables when running in a TTY, with support for enum selection menus. Enable with
--interactiveflag orinteractive: truein.taskrc.yml(#2579, #2079 by @vmaerten).