Releases: go-task/task
Releases · go-task/task
v3.51.0-nightly
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
- 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).
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).