Task Versions Save

A task runner / simpler Make alternative written in Go

v3.24.0

1 year ago
  • Fix Fish shell completion for tasks with aliases (#1113 by @patricksjackson).
  • The default branch was renamed from master to main (#1049, #1048 by @pd93).
  • Fix bug where "up-to-date" logs were not being omitted for silent tasks (#546, #1107 by @danquah).
  • Add .hg (Mercurial) to the list of ignored directories when using --watch (#1098 by @misery).
  • More improvements to the release tool (#1096 by @pd93).
  • Enforce gofumpt linter (#1099 by @pd93)
  • Add --sort flag for use with --list and --list-all (#946, #1105 by @pd93).
  • Task now has custom exit codes depending on the error (#1114 by @pd93).

v3.23.0

1 year ago

Task now has an official extension for Visual Studio Code contributed by @pd93! :tada: The extension is maintained in a new repository under the go-task organization. We're looking to gather feedback from the community so please give it a go and let us know what you think via a discussion, issue or on our Discord!

NOTE: The extension requires v3.23.0 to be installed in order to work.

  • The website was integrated with Crowdin to allow the community to contribute with translations! Chinese is the first language available (#1057, #1058 by @misitebao).
  • Added task location data to the --json flag output (#1056 by @pd93)
  • Change the name of the file generated by task --init from Taskfile.yaml to Taskfile.yml (#1062 by @misitebao).
  • Added new splitArgs template function ({{splitArgs "foo bar 'foo bar baz'"}}) to ensure string is split as arguments (#1040, #1059 by @dhanusaputra).
  • Fix the value of {{.CHECKSUM}} variable in status (#1076, #1080 by @pd93).
  • Fixed deep copy implementation (#1072 by @pd93)
  • Created a tool to assist with releases (#1086 by @pd93).

v3.22.0

1 year ago
  • Add a brand new --global (-g) flag that will run a Taskfile from your $HOME directory. This is useful to have automation that you can run from anywhere in your system! (Documentation, #1029 by @andreynering).
  • Add ability to set error_only: true on the group output mode. This will instruct Task to only print a command output if it returned with a non-zero exit code (#664, #1022 by @jaedle).
  • Fixed bug where .task/checksum file was sometimes not being created when task also declares a status: (#840, #1035 by @harelwa, #1037 by @pd93).
  • Refactored and decoupled fingerprinting from the main Task executor (#1039 by @pd93).
  • Fixed deadlock issue when using run: once (#715, #1025 by @theunrepentantgeek).

If Task is useful to you or your company, consider becoming a sponsor.

v3.21.0

1 year ago
  • Added new TASK_VERSION special variable (#990, #1014 by @ja1code).
  • Fixed a bug where tasks were sometimes incorrectly marked as internal (#1007 by @pd93).
  • Update to Go 1.20 (bump minimum version to 1.19) (#1010 by @pd93)
  • Added environment variable FORCE_COLOR support to force color output. Usefull for environments without TTY (#1003 by @automation-stack)

v3.20.0

1 year ago
  • Improve behavior and performance of status checking when using the timestamp mode (#976, #977 by @aminya).
  • Performance optimizations were made for large Taskfiles (#982 by @pd93).
  • Add ability to configure options for the set and shopt builtins (#908, #929 by @pd93, Documentation).
  • Add new platforms: attribute to task and cmd, so it's now possible to choose in which platforms that given task or command will be run on. Possible values are operating system (GOOS), architecture (GOARCH) or a combination of the two. Example: platforms: [linux], platforms: [amd64] or platforms: [linux/amd64]. Other platforms will be skipped (#978, #980 by @leaanthony).

v3.19.1

1 year ago

I hope everyone had a great Christmas 🎄 and I wish all an incredible 2023 as well 🌟 🎆

This release includes mostly small bug fixes, but it also included support to the brand new --json flag.


  • Small bug fix: closing Taskfile.yml once we're done reading it (#963, #964 by @HeCorr).
  • Fixes a bug in v2 that caused a panic when using a Taskfile_{{OS}}.yml file (#961, #971 by @pd93).
  • Fixed a bug where watch intervals set in the Taskfile were not being respected (#969, #970 by @pd93)
  • Add --json flag (alias -j) with the intent to improve support for code editors and add room to other possible integrations. This is basic for now, but we plan to add more info in the near future (#936 by @davidalpert, #764).

v3.19.0

1 year ago
  • Installation via npm now supports pnpm as well (go-task/go-npm#2, go-task/go-npm#3).
  • It's now possible to run Taskfiles from subdirectories! A new USER_WORKING_DIR special variable was added to add even more flexibility for monorepos (#289, #920).
  • Add task-level dotenv support (#389, #904).
  • It's now possible to use global level variables on includes (#942, #943).
  • The website got a brand new translation to Chinese by @DeronW. Thanks!

Special thanks to @pd93 for working on 3 of the topics above. Some other important contributions in recent releases were from him as well.

Also, thanks @appwrite for sponsoring Task as part of their OSS Fund Program.

v3.18.0

1 year ago
  • Show aliases on task --list --silent (task --ls). This means that aliases will be completed by the completion scripts (#919).
  • Tasks in the root Taskfile will now be displayed first in --list/--list-all output (#806, #890).
  • It's now possible to call a default task in an included Taskfile by using just the namespace. For example: docs:default is now automatically aliased to docs (#661, #815).

v3.17.0

1 year ago
  • Add a "Did you mean ...?" suggestion when a task does not exits another one with a similar name is found (#867, #880).
  • Now YAML parse errors will print which Taskfile failed to parse (#885, #887).
  • Add ability to set aliases for tasks and namespaces (#268, #340, #879).
  • Improvements to Fish shell completion (#897).
  • Added ability to set a different watch interval by setting interval: '500ms' or using the --interval=500ms flag (#813, #865).
  • Add colored output to --list, --list-all and --summary flags (#845, #874).
  • Fix unexpected behavior where label: was being shown instead of the task name on --list (#603, #877).

v3.16.0

1 year ago
  • Add npm as new installation method: npm i -g @go-task/cli (#870, #871, npm package).
  • Add support to marking tasks and includes as internal, which will hide them from --list and --list-all (#818).