Skip to content

Releases: go-task/task

v3.50.0-nightly

23 Mar 00:34
470ef30

Choose a tag to compare

v3.50.0-nightly Pre-release
Pre-release

Changelog

  • 470ef30 chore: changelog for #2730
  • 87b12e6 fix(fish): honor GO_TASK_PROGNAME for experiments cache (#2730)
  • e61700f chore: changelog for #2678
  • 8b6aca5 feat(requires): support variable references in enum constraints (#2678)
  • 19d8fae docs: correct stdin Taskfile command example (#2738)
  • c387048 feat(website): add APK (Alpine Linux) to official package managers
  • f2b3ba1 ✨ feat(website): add community sponsors section with Cloudsmith (#2748)
  • 2139e32 chore(deps): update dependency netlify-cli to v24 (#2729)
  • d4e1681 chore(deps): update pnpm/action-setup digest to fc06bc1 (#2744)
  • 54bdcba ci: update to go 1.26 (#2724)
  • c55c969 docs: update changelog
  • 73f9879 docs: bring back line commented out by mistake

v3.49.1

08 Mar 20:08
v3.49.1
aa83651

Choose a tag to compare

  • Reverted #2632 for now, which caused some regressions. That change will be reworked. (#2720, #2722, #2723).

v3.49.0

07 Mar 22:26
v3.49.0
a1b8985

Choose a tag to compare

  • Fixed included Taskfiles with watch: true not 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.yml option can now be overridden with a TASK_-prefixed environment variable, making CI and container configuration easier (#2607, #1066 by @vmaerten).

v3.48.0

26 Jan 12:30
v3.48.0
09e7247

Choose a tag to compare

  • Fixed if: conditions when using to check dynamic variables. Also, skip variable prompt if task would be skipped by if: (#2658, #2660 by @vmaerten).
  • Fixed ROOT_TASKFILE variable pointing to directory instead of the actual Taskfile path when no explicit -t flag is provided (#2635, #1706 by @trulede).
  • Included Taskfiles with silent: true now properly propagate silence to their tasks, while still allowing individual tasks to override with silent: false (#2640, #1319 by @trulede).
  • Added TLS certificate options for Remote Taskfiles: use --cacert for self-signed certificates and --cert/--cert-key for mTLS authentication (#2537, #2242 by @vmaerten).

v3.47.0

25 Jan 00:04
v3.47.0
12a26fa

Choose a tag to compare

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, print prefix: 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 for start-*) (#1900, #2234 by @vmaerten).
  • Added conditional execution with the if field: 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 --interactive flag or interactive: true in .taskrc.yml (#2579, #2079 by @vmaerten).

v3.46.4

24 Dec 22:03
v3.46.4
179bde1

Choose a tag to compare

v3.46.3

19 Dec 18:54
v3.46.3
8dfafe5

Choose a tag to compare

v3.46.2

18 Dec 21:08
v3.46.2
fc378cf

Choose a tag to compare

  • Fixed a regression on previous release that affected variables passed via command line (#2588, #2589 by @vmaerten).

v3.46.1

18 Dec 16:52
28fee2c

Choose a tag to compare

✨ Features

  • A small behavior change was made to dependencies. Task will now wait for all dependencies to finish running before continuing, even if any of them fail. To opt for the previous behavior, set failfast: true either on your .taskrc.yml or per task, or use the --failfast flag, which will also work for --parallel (#1246, #2525 by @andreynering).
  • The --summary flag now displays vars: (both global and task-level), env:, and requires: sections. Dynamic variables show their shell command (e.g., sh: echo "hello") instead of the evaluated value (#2486 ,#2524 by @vmaerten).
  • Improved performance of fuzzy task name matching by implementing lazy initialization. Added --disable-fuzzy flag and disable-fuzzy taskrc option to allow disabling fuzzy matching entirely (#2521, #2523 by @vmaerten).
  • Added LLM-optimized documentation via VitePress plugin, generating llms.txt and llms-full.txt for AI-powered development tools (#2513 by @vmaerten).
  • Added --trusted-hosts CLI flag and remote.trusted-hosts config option to skip confirmation prompts for specified hosts when using Remote Taskfiles (#2491, #2473 by @maciejlech).
  • When running in GitHub Actions, Task now automatically emits error annotations on failure, improving visibility in workflow summaries (#2568 by @vmaerten).
  • The --yes flag is now accessible in templates via the new CLI_ASSUME_YES variable (#2577, #2479 by @semihbkgr).
  • Improved shell completion scripts (Zsh, Fish, PowerShell) by adding missing flags and dynamic experimental feature detection (#2532 by @vmaerten).
  • Remote Taskfiles now accept application/octet-stream Content-Type (#2536, #1944 by @vmaerten).
  • Shell completion now works when Task is installed or aliased under a different binary name via TASK_EXE environment variable (#2495, #2468 by @vmaerten).
  • Some small fixes and improvements were made to task --init and to the default Taskfile it generates (#2433 by @andreynering).
  • Added --remote-cache-dir flag and remote.cache-dir taskrc option to customize the cache directory for Remote Taskfiles (#2572 by @vmaerten).
  • Zsh completion now supports zstyle verbose option to show or hide task descriptions (#2571 by @vmaerten).
  • Task now automatically enables colored output in CI environments (GitHub Actions, GitLab CI, etc.) without requiring FORCE_COLOR=1 (#2569 by @vmaerten).
  • Added color taskrc option to explicitly enable or disable colored output globally (#2569 by @vmaerten).
  • Improved Git Remote Taskfiles by switching to go-getter: SSH authentication now works out of the box and applyOf is properly supported (#2512 by @vmaerten).

🐛 Fixes

  • Fix RPM upload to Cloudsmith by including the version in the filename to ensure unique filenames (#2507 by @vmaerten).
  • Fix run: when_changed to work properly for Taskfiles included multiple times (#2508, #2511 by @trulede).
  • Fixed Zsh and Fish completions to stop suggesting task names after -- separator, allowing proper CLI_ARGS completion (#1843, #1844 by @boiledfroginthewell).
  • Watch mode (--watch) now always runs the task, regardless of run: once or run: when_changed settings (#2566, #1388 by @trulede).
  • Fixed global variables (CLI_ARGS, CLI_FORCE, etc.) not being accessible in root-level vars section (#2403, #2397 by @trulede, @vmaerten).
  • Fixed a bug where ignore_error was ignored when using task: to call another task (#2552, #363 by @trulede).
  • Fixed Zsh completion not suggesting global tasks when using -g/--global flag (#1574, #2574 by @vmaerten).
  • Fixed Fish completion failing to parse task descriptions containing colons (e.g., URLs or namespaced functions) (#2101, #2573 by @vmaerten).
  • Fixed false positive "property 'for' is not allowed" warnings in IntelliJ when using for loops in Taskfiles (#2576 by @vmaerten).

v3.45.5

11 Nov 20:22

Choose a tag to compare

  • Fixed bug that made a generic message, instead of an useful one, appear when a Taskfile could not be found (#2431 by @andreynering).
  • Fixed a bug that caused an error when including a Remote Git Taskfile (#2438 by @twelvelabs).
  • Fixed issue where .taskrc.yml was not returned if reading it failed, and corrected handling of remote entrypoint Taskfiles (#2460, #2461 by @vmaerten).
  • Improved performance of --list and --list-all by introducing a faster compilation method that skips source globbing and checksum updates (#1322, #2053 by @vmaerten).
  • Fixed a concurrency bug with output: group. This ensures that begin/end parts won't be mixed up from different tasks (#1208, #2349, #2350 by @trulede).
  • Do not re-evaluate variables for defer: (#2244, #2418 by @trulede).
  • Improve error message when a Taskfile is not found (#2441, #2494 by @vmaerten).
  • Fixed generic error message exit status 1 when a dependency task failed (#2286 by @GrahamDennis).
  • Fixed YAML library from the unmaintained gopkg.in/yaml.v3 to the new fork maintained by the official YAML org (#2171, #2434 by @andreynering).
  • On Windows, the built-in version of the rm core utils contains a fix related to the -f flag (#2426, u-root/u-root#3464, mvdan/sh#1199, #2506 by @andreynering).