✨ 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: trueeither on your.taskrc.ymlor per task, or use the--failfastflag, which will also work for--parallel(#1246, #2525 by @andreynering). - The
--summaryflag now displaysvars:(both global and task-level),env:, andrequires: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-fuzzyflag anddisable-fuzzytaskrc option to allow disabling fuzzy matching entirely (#2521, #2523 by @vmaerten). - Added LLM-optimized documentation via VitePress plugin, generating
llms.txtandllms-full.txtfor AI-powered development tools (#2513 by @vmaerten). - Added
--trusted-hostsCLI flag andremote.trusted-hostsconfig 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
--yesflag is now accessible in templates via the newCLI_ASSUME_YESvariable (#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-streamContent-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 --initand to the default Taskfile it generates (#2433 by @andreynering). - Added
--remote-cache-dirflag andremote.cache-dirtaskrc 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
applyOfis 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_changedto 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 ofrun: onceorrun: when_changedsettings (#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_errorwas ignored when usingtask:to call another task (#2552, #363 by @trulede). - Fixed Zsh completion not suggesting global tasks when using
-g/--globalflag (#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
forloops in Taskfiles (#2576 by @vmaerten).