Skip to content

Releases: go-task/task

v3.51.0-nightly

27 Apr 00:44
ecffcc7

Choose a tag to compare

v3.51.0-nightly Pre-release
Pre-release

Changelog

  • ecffcc7 chore(golangci-lint): improve and clean configuration (#2808)
  • be35b3a feat(website): highlight big orgs / projects that use Task (#2803)
  • 3aaedc7 chore(deps): update goreleaser/goreleaser-action digest to e24998b (#2804)
  • 0b19d97 chore(deps): update all non-major dependencies (#2805)
  • 70b6cd8 docs: add call internal task within a task example (#2789)
  • 1eb5720 chore: changelog for #2788
  • 1b06da1 feat(templater): add absPath template function (#2788)
  • 6e37e3d chore(website): remove controls to copy page content
  • 4bea638 feat: add security docs to website and update contributing (#2799)
  • 8f2d17a feat: use GH_PAT for goreleaser (#2797)
  • f7d17ff chore(website): update my bluesky handle
  • 697ef35 feat: add permissions to actions (#2796)
  • 8fe3d04 docs: document and add blog post about go tool task (#2791)

v3.50.0

13 Apr 21:45
v3.50.0
d61d92d

Choose a tag to compare

  • Added enum.ref support in requires: enum constraints can now reference variables or template pipelines (e.g., ref: .ALLOWED_ENVS) instead of duplicating static lists. Combined with sh: variables, this enables fully dynamic enum validation (#2678 by @vmaerten).
  • Fixed Fish completion using hardcoded task binary name instead of $GO_TASK_PROGNAME for 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: timestamp and the files listed on generates: were deleted. This makes method: timestamp behaves the same as method: checksum (#1230, #2716 by @drichardson).

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).