Releases: go-task/task
Releases · go-task/task
v3.49.0-nightly
Changelog
- b7743ed chore(goreleaser): update descriptions
- c0796e9 chore: changelog for #2656
- cf54be3 fix(node_git): always use unix path style (#2656)
- e129ae2 docs: fix
dirheadline level (#2665) - ed69256 chore: update readme title and description to match website
- 40ad971 chore(website): improve home page title, including on opengraph
- 48f75f0 docs(cli): mention
--listwith--silent - f000ea2 chore(website): have a good opengraph image
- e8be687 chore(website): add "edit this page on github" links
- 788605a chore(deps): update actions/setup-go action to v6 (#2662)
- 697cf44 docs(blog): adjust post title
- e957edf chore(website): add goodx sponsor
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).
v3.46.4
v3.46.3
v3.46.2
v3.46.1
✨ 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).
v3.45.5
- 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.ymlwas not returned if reading it failed, and corrected handling of remote entrypoint Taskfiles (#2460, #2461 by @vmaerten). - Improved performance of
--listand--list-allby 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 1when a dependency task failed (#2286 by @GrahamDennis). - Fixed YAML library from the unmaintained
gopkg.in/yaml.v3to the new fork maintained by the official YAML org (#2171, #2434 by @andreynering). - On Windows, the built-in version of the
rmcore utils contains a fix related to the-fflag (#2426, u-root/u-root#3464, mvdan/sh#1199, #2506 by @andreynering).
v3.45.4
v3.45.3
- Task now includes built-in core utilities to greatly improve compatibility on Windows. This means that your commands that uses
cp,mv,mkdiror any other common core utility will now work by default on Windows, without extra setup. This is something we wanted to address for many many years, and it's finally being shipped! Read our blog post about this topic. (#197, #2360 by @andreynering). - ✨ Built and deployed a brand new website using VitePress (#2359, #2369, #2371, #2375, #2378 by @vmaerten, @andreynering, @pd93).
- Began releasing nightly builds. This will allow people to test our changes before they are fully released and without having to install Go to build them (#2358 by @vmaerten).
- Added support for global config files in
$XDG_CONFIG_HOME/task/taskrc.ymlor$HOME/.taskrc.yml. Check out our new configuration guide for more details (#2247, #2380, #2390, #2391 by @vmaerten, @pd93). - Added experiments to the taskrc schema to clarify the expected keys and values (#2235 by @vmaerten).
- Added support for new properties in
.taskrc.yml: insecure, verbose, concurrency, remote offline, remote timeout, and remote expiry.⚠️ Note: setting offline via environment variable is no longer supported. (#2389 by @vmaerten) - Added a
--nestedflag when outputting tasks using--list --json. This will output tasks in a nested structure when tasks are namespaced (#2415 by @pd93). - Enhanced support for tasks with wildcards: they are now logged correctly, and wildcard parameters are fully considered during fingerprinting (#1808, #1795 by @vmaerten).
- Fixed panic when a variable was declared as an empty hash (
{}) (#2416, #2417 by @trulede).
Package API
Other news
We recently released our official GitHub Action. This is based on the fantastic work by the Arduino team who created and maintained the community version. Now that this is officially adopted, fixes/updates should be more timely. We have already merged a couple of longstanding PRs in our first release (by @pd93, @shrink, @trim21 and all the previous contributors to arduino/setup-task).
NOTE: v3.45.0-v3.45.2 were skipped due to issues with our release process.
Want to support Task development? Consider becoming a sponsor.