2018-12-15 20:14:39 +02:00
# Changelog
2022-12-06 03:28:15 +02:00
## v3.19.0 - 2022-12-05
2022-11-26 23:16:38 +02:00
2022-12-06 03:24:10 +02:00
- Installation via npm now supports [pnpm ](https://pnpm.io/ ) as well
([go-task/go-npm#2](https://github.com/go-task/go-npm/issues/2), [go-task/go-npm#3 ](https://github.com/go-task/go-npm/pull/3 )).
2022-12-06 02:58:20 +02:00
- 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](https://github.com/go-task/task/issues/289), [#920 ](https://github.com/go-task/task/pull/920 )).
2022-12-06 02:25:16 +02:00
- Add task-level `dotenv` support
([#389](https://github.com/go-task/task/issues/389), [#904 ](https://github.com/go-task/task/pull/904 )).
2022-12-06 01:56:47 +02:00
- It's now possible to use global level variables on `includes`
([#942](https://github.com/go-task/task/issues/942), [#943 ](https://github.com/go-task/task/pull/943 )).
2022-11-26 23:16:38 +02:00
- The website got a brand new [translation to Chinese ](https://task-zh.readthedocs.io/zh_CN/latest/ )
by [@DeronW ](https://github.com/DeronW ). Thanks!
2022-12-06 03:28:15 +02:00
## v3.18.0 - 2022-11-12
2022-11-02 16:39:05 +02:00
2022-11-12 15:19:11 +02:00
- Show aliases on `task --list --silent` (`task --ls`). This means that aliases
will be completed by the completion scripts
([#919](https://github.com/go-task/task/pull/919)).
2022-11-02 16:38:26 +02:00
- Tasks in the root Taskfile will now be displayed first in `--list` /`--list-all`
output ([#806](https://github.com/go-task/task/pull/806), [#890 ](https://github.com/go-task/task/pull/890 )).
2022-11-02 16:39:05 +02:00
- 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](https://github.com/go-task/task/issues/661), [#815 ](https://github.com/go-task/task/pull/815 )).
2022-12-06 03:28:15 +02:00
## v3.17.0 - 2022-10-14
2022-10-07 03:46:59 +02:00
2022-10-15 01:08:00 +02:00
- Add a "Did you mean ...?" suggestion when a task does not exits another one
with a similar name is found
([#867](https://github.com/go-task/task/issues/867), [#880 ](https://github.com/go-task/task/pull/880 )).
2022-10-15 00:48:45 +02:00
- Now YAML parse errors will print which Taskfile failed to parse
([#885](https://github.com/go-task/task/issues/885), [#887 ](https://github.com/go-task/task/pull/887 )).
2022-10-07 12:34:50 +02:00
- Add ability to set `aliases` for tasks and namespaces ([#268](https://github.com/go-task/task/pull/268), [#340 ](https://github.com/go-task/task/pull/340 ), [#879 ](https://github.com/go-task/task/pull/879 )).
2022-10-14 23:32:12 +02:00
- Improvements to Fish shell completion
([#897](https://github.com/go-task/task/pull/897)).
2022-10-14 21:45:04 +02:00
- Added ability to set a different watch interval by setting
`interval: '500ms'` or using the `--interval=500ms` flag
([#813](https://github.com/go-task/task/issues/813), [#865 ](https://github.com/go-task/task/pull/865 )).
2022-10-07 12:01:54 +02:00
- Add colored output to `--list` , `--list-all` and `--summary` flags ([#845](https://github.com/go-task/task/pull/845), [#874 ](https://github.com/go-task/task/pull/874 )).
2022-10-07 03:46:59 +02:00
- Fix unexpected behavior where `label:` was being shown instead of the task
name on `--list`
([#603](https://github.com/go-task/task/issues/603), [#877 ](https://github.com/go-task/task/pull/877 )).
2022-09-30 03:01:16 +02:00
## v3.16.0 - 2022-09-29
2022-09-17 18:10:55 +02:00
2022-09-30 02:27:30 +02:00
- Add `npm` as new installation method: `npm i -g @go-task/cli`
([#870](https://github.com/go-task/task/issues/870), [#871 ](https://github.com/go-task/task/pull/871 ), [npm package ](https://www.npmjs.com/package/@go-task/cli )).
2022-09-17 18:10:55 +02:00
- Add support to marking tasks and includes as internal, which will hide them
from `--list` and `--list-all`
([#818](https://github.com/go-task/task/pull/818)).
2022-09-09 02:25:54 +02:00
## v3.15.2 - 2022-09-08
2022-09-09 02:21:39 +02:00
- Fix error when using variable in `env:` introduced in the previous release
([#858](https://github.com/go-task/task/issues/858), [#866 ](https://github.com/go-task/task/pull/866 )).
- Fix handling of `CLI_ARGS` (`--`) in Bash completion
([#863](https://github.com/go-task/task/pull/863)).
- On zsh completion, add ability to replace `--list-all` with `--list` as
already possible on the Bash completion
([#861](https://github.com/go-task/task/pull/861)).
2022-09-03 23:21:40 +02:00
## v3.15.0 - 2022-09-03
2022-08-15 14:55:11 +02:00
2022-09-03 23:14:54 +02:00
- Add new special variables `ROOT_DIR` and `TASKFILE_DIR` . This was a highly
requested feature
2022-09-03 23:28:24 +02:00
([#215](https://github.com/go-task/task/issues/215), [#857 ](https://github.com/go-task/task/pull/857 ), [Documentation ](https://taskfile.dev/api/#special-variables )).
2022-08-23 23:43:04 +02:00
- Follow symlinks on `sources`
([#826](https://github.com/go-task/task/issues/826), [#831 ](https://github.com/go-task/task/pull/831 )).
2022-08-15 14:55:11 +02:00
- Improvements and fixes to Bash completion
2022-08-23 23:40:34 +02:00
([#835](https://github.com/go-task/task/pull/835), [#844 ](https://github.com/go-task/task/pull/844 )).
2022-08-15 14:55:11 +02:00
2022-08-04 03:08:17 +02:00
## v3.14.1 - 2022-08-03
2022-07-17 03:07:24 +02:00
2022-07-26 00:10:16 +02:00
- Always resolve relative include paths relative to the including Taskfile
([#822](https://github.com/go-task/task/issues/822), [#823 ](https://github.com/go-task/task/pull/823 )).
2022-07-17 03:07:24 +02:00
- Fix ZSH and PowerShell completions to consider all tasks instead of just the
public ones (those with descriptions)
([#803](https://github.com/go-task/task/pull/803)).
2022-07-08 20:19:32 +02:00
## v3.14.0 - 2022-07-08
2022-07-04 15:37:49 +02:00
2022-07-08 19:40:10 +02:00
- Add ability to override the `.task` directory location with the
`TASK_TEMP_DIR` environment variable.
2022-06-28 03:47:56 +02:00
- Allow to override Task colors using environment variables:
`TASK_COLOR_RESET` , `TASK_COLOR_BLUE` , `TASK_COLOR_GREEN` ,
`TASK_COLOR_CYAN` , `TASK_COLOR_YELLOW` , `TASK_COLOR_MAGENTA`
and `TASK_COLOR_RED`
([#568](https://github.com/go-task/task/pull/568), [#792 ](https://github.com/go-task/task/pull/792 )).
2022-07-06 15:43:32 +02:00
- Fixed bug when using the `output: group` mode where STDOUT and STDERR were
being print in separated blocks instead of in the right order
([#779](https://github.com/go-task/task/issues/779)).
2022-07-04 16:49:15 +02:00
- Starting on this release, ARM architecture binaries are been released to Snap
as well
([#795](https://github.com/go-task/task/issues/795)).
- i386 binaries won't be available anymore on Snap because Ubuntu removed the support
for this architecture.
2022-07-04 15:37:49 +02:00
- Upgrade mvdan.cc/sh, which fixes a bug with associative arrays
([#785](https://github.com/go-task/task/issues/785), [mvdan/sh#884 ](https://github.com/mvdan/sh/issues/884 ), [mvdan/sh#893 ](https://github.com/mvdan/sh/pull/893 )).
2022-06-14 02:08:26 +02:00
## v3.13.0 - 2022-06-13
2022-06-12 01:01:48 +02:00
2022-06-14 02:02:57 +02:00
- Added `-n` as an alias to `--dry`
([#776](https://github.com/go-task/task/issues/776), [#777 ](https://github.com/go-task/task/pull/777 )).
2022-06-12 02:32:06 +02:00
- Fix behavior of interrupt (SIGINT, SIGTERM) signals. Task will now give time
for the processes running to do cleanup work
2022-07-04 15:44:17 +02:00
([#458](https://github.com/go-task/task/issues/458), [#479 ](https://github.com/go-task/task/pull/479 ), [#728 ](https://github.com/go-task/task/issues/728 ), [#769 ](https://github.com/go-task/task/pull/769 )).
2022-06-12 01:01:48 +02:00
- Add new `--exit-code` (`-x`) flag that will pass-through the exit form the
command being ran
([#755](https://github.com/go-task/task/pull/755)).
2022-05-10 23:00:45 +02:00
## v3.12.1 - 2022-05-10
2022-05-08 22:33:54 +02:00
- Fixed bug where, on Windows, variables were ending with `\r` because we were
only removing the final `\n` but not `\r\n`
([#717](https://github.com/go-task/task/issues/717)).
2022-04-01 02:44:59 +02:00
## v3.12.0 - 2022-03-31
2022-03-19 23:41:03 +02:00
2022-04-01 02:37:06 +02:00
- The `--list` and `--list-all` flags can now be combined with the `--silent`
flag to print the task names only, without their description
([#691](https://github.com/go-task/task/pull/691)).
2022-04-01 02:19:16 +02:00
- Added support for multi-level inclusion of Taskfiles. This means that
included Taskfiles can also include other Taskfiles. Before this was limited
to one level
([#390](https://github.com/go-task/task/issues/390), [#623 ](https://github.com/go-task/task/discussions/623 ), [#656 ](https://github.com/go-task/task/pull/656 )).
2022-03-19 23:41:03 +02:00
- Add ability to specify vars when including a Taskfile.
2022-03-21 15:31:48 +02:00
[Check out the documentation ](https://taskfile.dev/#/usage?id=vars-of-included-taskfiles )
2022-03-19 23:41:03 +02:00
for more information.
([#677](https://github.com/go-task/task/pull/677)).
2022-04-01 02:44:59 +02:00
## v3.11.0 - 2022-02-19
2022-02-19 23:24:43 +02:00
2022-02-20 00:31:27 +02:00
- Task now supports printing begin and end messages when using the `group`
output mode, useful for grouping tasks in CI systems.
[Check out the documentation ](http://taskfile.dev/#/usage?id=output-syntax ) for more information
([#647](https://github.com/go-task/task/issues/647), [#651 ](https://github.com/go-task/task/pull/651 )).
2022-02-19 23:24:43 +02:00
- Add `Taskfile.dist.yml` and `Taskfile.dist.yaml` to the supported file
2022-02-20 00:31:27 +02:00
name list. [Check out the documentation ](https://taskfile.dev/#/usage?id=supported-file-names ) for more information
2022-02-19 23:24:43 +02:00
([#498](https://github.com/go-task/task/issues/498), [#666 ](https://github.com/go-task/task/pull/666 )).
2022-01-04 23:19:48 +02:00
## v3.10.0 - 2022-01-04
2021-10-30 16:15:56 +02:00
2022-01-04 22:16:21 +02:00
- A new `--list-all` (alias `-a` ) flag is now available. It's similar to the
exiting `--list` (`-l`) but prints all tasks, even those without a
description
([#383](https://github.com/go-task/task/issues/383), [#401 ](https://github.com/go-task/task/pull/401 )).
2022-01-04 21:56:13 +02:00
- It's now possible to schedule cleanup commands to run once a task finishes
with the `defer:` keyword
2022-01-04 22:16:21 +02:00
([Documentation](https://taskfile.dev/#/usage?id=doing-task-cleanup-with-defer), [#475 ](https://github.com/go-task/task/issues/475 ), [#626 ](https://github.com/go-task/task/pull/626 )).
2022-01-02 20:15:54 +02:00
- Remove long deprecated and undocumented `$` variable prefix and `^` command
prefix
([#642](https://github.com/go-task/task/issues/642), [#644 ](https://github.com/go-task/task/issues/644 ), [#645 ](https://github.com/go-task/task/pull/645 )).
- Add support for `.yaml` extension (as an alternative to `.yml` ).
This was requested multiple times throughout the years. Enjoy!
([#183](https://github.com/go-task/task/issues/183), [#184 ](https://github.com/go-task/task/pull/184 ), [#369 ](https://github.com/go-task/task/issues/369 ), [#584 ](https://github.com/go-task/task/issues/584 ), [#621 ](https://github.com/go-task/task/pull/621 )).
2022-01-04 23:10:24 +02:00
- Fixed error when computing a variable when the task directory do not exist
yet
([#481](https://github.com/go-task/task/issues/481), [#579 ](https://github.com/go-task/task/pull/579 )).
2021-12-04 17:37:52 +02:00
## v3.9.2 - 2021-12-02
- Upgrade [mvdan/sh ](https://github.com/mvdan/sh ) which contains a fix a for
a important regression on Windows
([#619](https://github.com/go-task/task/issues/619), [mvdan/sh#768 ](https://github.com/mvdan/sh/issues/768 ), [mvdan/sh#769 ](https://github.com/mvdan/sh/pull/769 )).
## v3.9.1 - 2021-11-28
- Add logging in verbose mode for when a task starts and finishes
([#533](https://github.com/go-task/task/issues/533), [#588 ](https://github.com/go-task/task/pull/588 )).
- Fix an issue with preconditions and context errors
([#597](https://github.com/go-task/task/issues/597), [#598 ](https://github.com/go-task/task/pull/598 )).
- Quote each `{{.CLI_ARGS}}` argument to prevent one with spaces to become many
([#613](https://github.com/go-task/task/pull/613)).
- Fix nil pointer when `cmd:` was left empty
([#612](https://github.com/go-task/task/issues/612), [#614 ](https://github.com/go-task/task/pull/614 )).
- Upgrade [mvdan/sh ](https://github.com/mvdan/sh ) which contains two
relevant fixes:
- Fix quote of empty strings in `shellQuote`
([#609](https://github.com/go-task/task/issues/609), [mvdan/sh#763 ](https://github.com/mvdan/sh/issues/763 )).
- Fix issue of wrong environment variable being picked when there's another
very similar one
([#586](https://github.com/go-task/task/issues/586), [mvdan/sh#745 ](https://github.com/mvdan/sh/pull/745 )).
2021-10-30 16:15:56 +02:00
- Install shell completions automatically when installing via Homebrew
([#264](https://github.com/go-task/task/issues/264), [#592 ](https://github.com/go-task/task/pull/592 ), [go-task/homebrew-tap#2 ](https://github.com/go-task/homebrew-tap/pull/2 )).
2021-10-02 23:47:30 +02:00
## v3.9.0 - 2021-10-02
2021-10-02 23:07:54 +02:00
2021-10-02 23:51:52 +02:00
- A new `shellQuote` function was added to the template system
2021-10-02 23:29:07 +02:00
(`{{shellQuote "a string"}}`) to ensure a string is safe for use in shell
([mvdan/sh#727](https://github.com/mvdan/sh/pull/727), [mvdan/sh#737 ](https://github.com/mvdan/sh/pull/737 ), [Documentation ](https://pkg.go.dev/mvdan.cc/sh/v3@v3.4.0/syntax#Quote ))
2021-10-02 23:07:54 +02:00
- In this version [mvdan.cc/sh ](https://github.com/mvdan/sh ) was upgraded
with some small fixes and features
- The `read -p` flag is now supported
([#314](https://github.com/go-task/task/issues/314), [mvdan/sh#551 ](https://github.com/mvdan/sh/issues/551 ), [mvdan/sh#772 ](https://github.com/mvdan/sh/pull/722 ))
- The `pwd -P` and `pwd -L` flags are now supported
([#553](https://github.com/go-task/task/issues/553), [mvdan/sh#724 ](https://github.com/mvdan/sh/issues/724 ), [mvdan/sh#728 ](https://github.com/mvdan/sh/pull/728 ))
- The `$GID` environment variable is now correctly being set
([#561](https://github.com/go-task/task/issues/561), [mvdan/sh#723 ](https://github.com/mvdan/sh/pull/723 ))
2021-09-27 03:29:57 +02:00
## v3.8.0 - 2021-09-26
2021-09-06 15:30:45 +02:00
2021-09-27 02:55:31 +02:00
- Add `interactive: true` setting to improve support for interactive CLI apps
([#217](https://github.com/go-task/task/issues/217), [#563 ](https://github.com/go-task/task/pull/563 )).
2021-09-25 14:48:49 +02:00
- Fix some `nil` errors
([#534](https://github.com/go-task/task/issues/534), [#573 ](https://github.com/go-task/task/pull/573 )).
2021-09-25 14:40:03 +02:00
- Add ability to declare an included Taskfile as optional
([#519](https://github.com/go-task/task/issues/519), [#552 ](https://github.com/go-task/task/pull/552 )).
2021-09-06 15:30:45 +02:00
- Add support for including Taskfiles in the home directory by using `~`
([#539](https://github.com/go-task/task/issues/539), [#557 ](https://github.com/go-task/task/pull/557 )).
2021-09-27 03:29:57 +02:00
## v3.7.3 - 2021-09-04
2021-09-05 02:52:46 +02:00
- Add official support to Apple M1 ([#564](https://github.com/go-task/task/pull/564), [#567 ](https://github.com/go-task/task/pull/567 )).
- Our [official Homebrew tap ](https://github.com/go-task/homebrew-tap ) will
support more platforms, including Apple M1
2021-08-01 02:36:03 +02:00
## v3.7.0 - 2021-07-31
2021-08-01 01:29:59 +02:00
- Add `run:` setting to control if tasks should run multiple times or not.
Available options are `always` (the default), `when_changed` (if a variable
modified the task) and `once` (run only once no matter what).
This is a long time requested feature. Enjoy!
([#53](https://github.com/go-task/task/issues/53), [#359 ](https://github.com/go-task/task/pull/359 )).
2021-07-11 04:13:03 +02:00
## v3.6.0 - 2021-07-10
2021-07-11 00:46:53 +02:00
2021-07-11 02:58:03 +02:00
- Allow using both `sources:` and `status:` in the same task
2021-07-11 03:04:15 +02:00
([#411](https://github.com/go-task/task/issues/411), [#427 ](https://github.com/go-task/task/issues/427 ), [#477 ](https://github.com/go-task/task/pull/477 )).
2021-07-11 00:46:53 +02:00
- Small optimization and bug fix: don't compute variables if not needed for
`dotenv:` ([#517](https://github.com/go-task/task/issues/517)).
2021-07-05 02:53:22 +02:00
## v3.5.0 - 2021-07-04
2021-06-05 21:04:01 +02:00
- Add support for interpolation in `dotenv:`
([#433](https://github.com/go-task/task/discussions/433), [#434 ](https://github.com/go-task/task/issues/434 ), [#453 ](https://github.com/go-task/task/pull/453 )).
2021-05-31 04:03:10 +02:00
## v3.4.3 - 2021-05-30
2021-05-21 02:30:10 +02:00
2021-05-31 03:48:48 +02:00
- Add support for the `NO_COLOR` environment variable.
([#459](https://github.com/go-task/task/issues/459), [fatih/color#137 ](https://github.com/fatih/color/pull/137 )).
2021-05-21 02:30:10 +02:00
- Fix bug where sources were not considering the right directory
in `--watch` mode
([#484](https://github.com/go-task/task/issues/484), [#485 ](https://github.com/go-task/task/pull/485 )).
2021-04-23 23:11:31 +02:00
## v3.4.2 - 2021-04-23
2021-04-23 22:33:13 +02:00
2021-04-23 23:11:31 +02:00
- On watch, report which file failed to read
([#472](https://github.com/go-task/task/pull/472)).
- Do not try to catch SIGKILL signal, which are not actually possible
([#476](https://github.com/go-task/task/pull/476)).
2021-04-23 22:33:13 +02:00
- Improve version reporting when building Task from source using Go Modules
([#462](https://github.com/go-task/task/pull/462), [#473 ](https://github.com/go-task/task/pull/473 )).
2021-04-17 22:48:36 +02:00
## v3.4.1 - 2021-04-17
2021-04-04 20:32:39 +02:00
2021-04-17 22:12:39 +02:00
- Improve error reporting when parsing YAML: in some situations where you
would just see an generic error, you'll now see the actual error with
2021-04-17 22:57:08 +02:00
more detail: the YAML line the failed to parse, for example
([#467](https://github.com/go-task/task/issues/467)).
2021-04-17 16:58:49 +02:00
- A JSON Schema was published [here ](https://json.schemastore.org/taskfile.json )
2021-04-17 22:57:08 +02:00
and is automatically being used by some editors like Visual Studio Code
2021-04-17 16:58:49 +02:00
([#135](https://github.com/go-task/task/issues/135)).
2020-11-05 22:27:42 +02:00
- Print task name before the command in the log output
([#398](https://github.com/go-task/task/pull/398)).
2021-04-04 20:32:39 +02:00
2021-03-20 18:21:00 +02:00
## v3.3.0 - 2021-03-20
2020-06-12 20:09:53 +02:00
2021-03-20 16:56:19 +02:00
- Add support for delegating CLI arguments to commands with `--` and a
special `CLI_ARGS` variable
([#327](https://github.com/go-task/task/issues/327)).
2020-06-12 20:09:53 +02:00
- Add a `--concurrency` (alias `-C` ) flag, to limit the number of tasks that
run concurrently. This is useful for heavy workloads.
([#345](https://github.com/go-task/task/pull/345)).
2021-02-16 22:52:32 +02:00
## v3.2.2 - 2021-01-12
2021-01-12 16:09:46 +02:00
2021-01-12 17:03:04 +02:00
- Improve performance of `--list` and `--summary` by skipping running shell
variables for these flags
([#332](https://github.com/go-task/task/issues/332)).
2021-01-12 16:32:49 +02:00
- Fixed a bug where an environment in a Taskfile was not always overridable
by the system environment
([#425](https://github.com/go-task/task/issues/425)).
2021-01-12 16:09:46 +02:00
- Fixed environment from .env files not being available as variables
([#379](https://github.com/go-task/task/issues/379)).
2021-01-12 17:09:03 +02:00
- The install script is now working for ARM platforms
([#428](https://github.com/go-task/task/pull/428)).
2021-01-12 16:09:46 +02:00
2021-02-16 22:52:32 +02:00
## v3.2.1 - 2021-01-09
2021-01-09 15:46:53 +02:00
2021-01-09 17:09:23 +02:00
- Fixed some bugs and regressions regarding dynamic variables and directories
([#426](https://github.com/go-task/task/issues/426)).
2021-01-09 15:46:53 +02:00
- The [slim-sprig ](https://github.com/go-task/slim-sprig ) package was updated
with the upstream [sprig ](https://github.com/Masterminds/sprig ).
2021-02-16 22:52:32 +02:00
## v3.2.0 - 2021-01-07
2021-01-05 15:48:04 +02:00
2021-01-07 16:36:09 +02:00
- Fix the `.task` directory being created in the task directory instead of the
Taskfile directory
([#247](https://github.com/go-task/task/issues/247)).
2021-01-07 16:17:38 +02:00
- Fix a bug where dynamic variables (those declared with `sh:` ) were not
running in the task directory when the task has a custom dir or it was
2021-01-07 16:36:09 +02:00
in an included Taskfile
2021-01-07 16:17:38 +02:00
([#384](https://github.com/go-task/task/issues/384)).
2021-01-05 15:48:04 +02:00
- The watch feature (via the `--watch` flag) got a few different bug fixes and
should be more stable now
2021-01-05 16:19:34 +02:00
([#423](https://github.com/go-task/task/pull/423), [#365 ](https://github.com/go-task/task/issues/365 )).
2021-01-05 15:48:04 +02:00
2021-02-16 22:52:32 +02:00
## v3.1.0 - 2021-01-03
2020-12-27 22:15:12 +02:00
2021-01-04 00:22:38 +02:00
- Fix a bug when the checksum up-to-date resolution is used by a task
with a custom `label:` attribute
([#412](https://github.com/go-task/task/issues/412)).
2021-01-04 00:10:28 +02:00
- Starting from this release, we're releasing official ARMv6 and ARM64 binaries
for Linux
([#375](https://github.com/go-task/task/issues/375), [#418 ](https://github.com/go-task/task/issues/418 )).
2021-01-01 23:57:28 +02:00
- Task now respects the order of declaration of included Taskfiles when
evaluating variables declaring by them
([#393](https://github.com/go-task/task/issues/393)).
2020-12-27 22:15:12 +02:00
- `set -e` is now automatically set on every command. This was done to fix an
issue where multiline string commands wouldn't really fail unless the
sentence was in the last line
([#403](https://github.com/go-task/task/issues/403)).
2021-02-16 22:52:32 +02:00
## v3.0.1 - 2020-12-26
2020-10-13 02:03:13 +02:00
2021-01-02 00:06:00 +02:00
- Allow use as a library by moving the required packages out of the `internal`
directory
([#358](https://github.com/go-task/task/pull/358)).
2020-10-13 02:16:09 +02:00
- Do not error if a specified dotenv file does not exist
([#378](https://github.com/go-task/task/issues/378), [#385 ](https://github.com/go-task/task/pull/385 )).
2020-10-13 02:03:13 +02:00
- Fix panic when you have empty tasks in your Taskfile
([#338](https://github.com/go-task/task/issues/338), [#362 ](https://github.com/go-task/task/pull/362 )).
2021-02-16 22:53:28 +02:00
## v3.0.0 - 2020-08-16
2020-06-14 22:12:20 +02:00
2020-08-17 02:26:10 +02:00
- On `v3` , all CLI variables will be considered global variables
([#336](https://github.com/go-task/task/issues/336), [#341 ](https://github.com/go-task/task/pull/341 ))
2020-08-16 00:12:39 +02:00
- Add support to `.env` like files
([#324](https://github.com/go-task/task/issues/324), [#356 ](https://github.com/go-task/task/pull/356 )).
2020-06-14 22:12:20 +02:00
- Add `label:` to task so you can override the task name in the logs
([#321](https://github.com/go-task/task/issues/321]), [#337 ](https://github.com/go-task/task/pull/337 )).
2020-05-21 03:32:30 +02:00
- Refactor how variables work on version 3
([#311](https://github.com/go-task/task/pull/311)).
- Disallow `expansions` on v3 since it has no effect.
- `Taskvars.yml` is not automatically included anymore.
- `Taskfile_{{OS}}.yml` is not automatically included anymore.
- Allow interpolation on `includes` , so you can manually include a Taskfile
based on operation system, for example.
2019-12-08 00:43:10 +02:00
- Expose `.TASK` variable in templates with the task name
([#252](https://github.com/go-task/task/issues/252)).
2019-12-08 02:28:02 +02:00
- Implement short task syntax
([#194](https://github.com/go-task/task/issues/194), [#240 ](https://github.com/go-task/task/pull/240 )).
2020-02-15 17:07:27 +02:00
- Added option to make included Taskfile run commands on its own directory
([#260](https://github.com/go-task/task/issues/260), [#144 ](https://github.com/go-task/task/issues/144 ))
2019-08-25 23:17:33 +02:00
- Taskfiles in version 1 are not supported anymore
([#237](https://github.com/go-task/task/pull/237)).
2019-09-09 03:59:27 +02:00
- Added global `method:` option. With this option, you can set a default
method to all tasks in a Taskfile
([#246](https://github.com/go-task/task/issues/246)).
- Changed default method from `timestamp` to `checksum`
([#246](https://github.com/go-task/task/issues/246)).
2019-09-14 23:09:34 +02:00
- New magic variables are now available when using `status:` :
`.TIMESTAMP` which contains the greatest modification date
from the files listed in `sources:` , and `.CHECKSUM` , which
contains a checksum of all files listed in `status:` .
This is useful for manual checking when using external, or even remote,
artifacts when using `status:`
([#216](https://github.com/go-task/task/pull/216)).
2019-06-23 03:47:23 +02:00
- We're now using [slim-sprig ](https://github.com/go-task/slim-sprig ) instead of
[sprig ](https://github.com/Masterminds/sprig ), which allowed a file size
reduction of about 22%
([#219](https://github.com/go-task/task/pull/219)).
2019-08-12 04:10:12 +02:00
- We now use some colors on Task output to better distinguish message types -
commands are green, errors are red, etc
([#207](https://github.com/go-task/task/pull/207)).
2019-06-23 03:47:23 +02:00
2021-02-16 22:52:32 +02:00
## v2.8.1 - 2020-05-20
2020-05-01 20:50:32 +02:00
2020-05-21 00:26:23 +02:00
- Fix error code for the `--help` flag
([#300](https://github.com/go-task/task/issues/300), [#330 ](https://github.com/go-task/task/pull/330 )).
- Print version to stdout instead of stderr
([#299](https://github.com/go-task/task/issues/299), [#329 ](https://github.com/go-task/task/pull/329 )).
2020-05-01 20:50:32 +02:00
- Supress `context` errors when using the `--watch` flag
([#313](https://github.com/go-task/task/issues/313), [#317 ](https://github.com/go-task/task/pull/317 )).
2020-05-21 00:26:23 +02:00
- Support templating on description
([#276](https://github.com/go-task/task/issues/276), [#283 ](https://github.com/go-task/task/pull/283 )).
2020-05-01 20:50:32 +02:00
2019-12-08 02:54:10 +02:00
## v2.8.0 - 2019-12-07
2019-10-27 23:27:47 +02:00
2019-11-16 04:31:01 +02:00
- Add `--parallel` flag (alias `-p` ) to run tasks given by the command line in
parallel
([#266](https://github.com/go-task/task/pull/266)).
2019-12-07 21:20:36 +02:00
- Fixed bug where calling the `task` CLI only informing global vars would not
execute the `default` task.
2019-12-08 02:44:09 +02:00
- Add hability to silent all tasks by adding `silent: true` a the root of the
Taskfile.
2019-11-16 04:31:01 +02:00
2019-11-11 01:36:17 +02:00
## v2.7.1 - 2019-11-10
2019-10-27 23:27:47 +02:00
- Fix error being raised when `exit 0` was called
([#251](https://github.com/go-task/task/issues/251)).
2019-09-22 23:21:31 +02:00
## v2.7.0 - 2019-09-22
2019-06-16 02:12:54 +02:00
2019-08-12 04:01:25 +02:00
- Fixed panic bug when assigning a global variable
([#229](https://github.com/go-task/task/issues/229), [#243 ](https://github.com/go-task/task/issues/234 )).
2019-08-25 21:41:54 +02:00
- A task with `method: checksum` will now re-run if generated files are deleted
([#228](https://github.com/go-task/task/pull/228), [#238 ](https://github.com/go-task/task/issues/238 )).
2019-08-12 04:01:25 +02:00
2019-07-21 16:23:49 +02:00
## v2.6.0 - 2019-07-21
2019-06-16 02:12:54 +02:00
2019-06-16 03:37:20 +02:00
- Fixed some bugs regarding minor version checks on `version:` .
2019-06-16 02:56:34 +02:00
- Add `preconditions:` to task
([#205](https://github.com/go-task/task/pull/205)).
2019-06-16 02:12:54 +02:00
- Create directory informed on `dir:` if it doesn't exist
([#209](https://github.com/go-task/task/issues/209), [#211 ](https://github.com/go-task/task/pull/211 )).
2019-07-21 15:54:09 +02:00
- We now have a `--taskfile` flag (alias `-t` ), which can be used to run
another Taskfile (other than the default `Taskfile.yml` )
([#221](https://github.com/go-task/task/pull/221)).
2019-07-21 16:03:20 +02:00
- It's now possible to install Task using Homebrew on Linux
([go-task/homebrew-tap#1](https://github.com/go-task/homebrew-tap/pull/1)).
2019-06-16 02:12:54 +02:00
2019-05-11 16:28:21 +02:00
## v2.5.2 - 2019-05-11
2019-05-11 16:06:47 +02:00
2019-05-11 16:28:21 +02:00
- Reverted YAML upgrade due issues with CRLF on Windows
([#201](https://github.com/go-task/task/issues/201), [go-yaml/yaml#450 ](https://github.com/go-yaml/yaml/issues/450 )).
2019-05-11 16:06:47 +02:00
- Allow setting global variables through the CLI
([#192](https://github.com/go-task/task/issues/192)).
2019-04-27 22:56:30 +02:00
## 2.5.1 - 2019-04-27
2019-04-21 22:16:35 +02:00
- Fixed some issues with interactive command line tools, where sometimes
the output were not being shown, and similar issues
([#114](https://github.com/go-task/task/issues/114), [#190 ](https://github.com/go-task/task/issues/190 ), [#200 ](https://github.com/go-task/task/pull/200 )).
2019-04-27 22:28:58 +02:00
- Upgraded [go-yaml/yaml ](https://github.com/go-yaml/yaml ) from v2 to v3.
2019-04-21 22:16:35 +02:00
2019-04-27 22:28:58 +02:00
## v2.5.0 - 2019-03-16
2019-03-05 03:08:19 +02:00
2019-03-05 04:23:30 +02:00
- We moved from the taskfile.org domain to the new fancy taskfile.dev domain.
While stuff is being redirected, we strongly recommend to everyone that use
[this install script ](https://taskfile.dev/#/installation?id=install-script )
to use the new taskfile.dev domain on scripts from now on.
2019-03-16 15:46:22 +02:00
- Fixed to the ZSH completion
2019-03-05 03:08:19 +02:00
([#182](https://github.com/go-task/task/pull/182)).
- Add [`--summary` flag along with `summary:` task attribute ](https://taskfile.org/#/usage?id=display-summary-of-task )
([#180](https://github.com/go-task/task/pull/180)).
2019-02-22 02:27:18 +02:00
## v2.4.0 - 2019-02-21
2019-02-03 01:12:57 +02:00
- Allow calling a task of the root Taskfile from an included Taskfile
by prefixing it with `:`
2019-02-09 14:01:07 +02:00
([#161](https://github.com/go-task/task/issues/161), [#172 ](https://github.com/go-task/task/issues/172 )),
- Add flag to override the `output` option
2019-02-09 14:41:19 +02:00
([#173](https://github.com/go-task/task/pull/173));
- Fix bug where Task was persisting the new checksum on the disk when the Dry
Mode is enabled
2019-02-22 02:06:46 +02:00
([#166](https://github.com/go-task/task/issues/166));
- Fix file timestamp issue when the file name has spaces
2019-02-22 02:20:20 +02:00
([#176](https://github.com/go-task/task/issues/176));
- Mitigating path expanding issues on Windows
([#170](https://github.com/go-task/task/pull/170)).
2019-02-03 01:12:57 +02:00
2019-01-02 17:44:27 +02:00
## v2.3.0 - 2019-01-02
2018-12-24 19:03:30 +02:00
- On Windows, Task can now be installed using [Scoop ](https://scoop.sh/ )
2018-12-24 19:22:42 +02:00
([#152](https://github.com/go-task/task/pull/152));
2019-01-02 17:44:27 +02:00
- Fixed issue with file/directory globing
2019-01-02 17:21:21 +02:00
([#153](https://github.com/go-task/task/issues/153));
2019-01-02 17:44:27 +02:00
- Added ability to globally set environment variables
2019-01-02 17:21:21 +02:00
(
[#138 ](https://github.com/go-task/task/pull/138 ),
[#159 ](https://github.com/go-task/task/pull/159 )
).
2018-12-24 19:03:30 +02:00
2018-12-15 20:14:39 +02:00
## v2.2.1 - 2018-12-09
- This repository now uses Go Modules (#143). We'll still keep the `vendor` directory in sync for some time, though;
- Fixing a bug when the Taskfile has no tasks but includes another Taskfile (#150);
- Fix a bug when calling another task or a dependency in an included Taskfile (#151).
## v2.2.0 - 2018-10-25
- Added support for [including other Taskfiles ](https://taskfile.org/#/usage?id=including-other-taskfiles ) (#98)
- This should be considered experimental. For now, only including local files is supported, but support for including remote Taskfiles is being discussed. If you have any feedback, please comment on #98 .
- Task now have a dedicated documentation site: https://taskfile.org
- Thanks to [Docsify ](https://docsify.js.org/ ) for making this pretty easy. To check the source code, just take a look at the [docs ](https://github.com/go-task/task/tree/master/docs ) directory of this repository. Contributions to the documentation is really appreciated.
## v2.1.1 - 2018-09-17
- Fix suggestion to use `task --init` not being shown anymore (when a `Taskfile.yml` is not found)
- Fix error when using checksum method and no file exists for a source glob (#131)
- Fix signal handling when the `--watch` flag is given (#132)
## v2.1.0 - 2018-08-19
- Add a `ignore_error` option to task and command (#123)
- Add a dry run mode (`--dry` flag) (#126)
## v2.0.3 - 2018-06-24
- Expand environment variables on "dir", "sources" and "generates" (#116)
- Fix YAML merging syntax (#112)
- Add ZSH completion (#111)
- Implement new `output` option. Please check out the [documentation ](https://github.com/go-task/task#output-syntax )
## v2.0.2 - 2018-05-01
- Fix merging of YAML anchors (#112)
## v2.0.1 - 2018-03-11
- Fixes panic on `task --list`
## v2.0.0 - 2018-03-08
Version 2.0.0 is here, with a new Taskfile format.
Please, make sure to read the [Taskfile versions ](https://github.com/go-task/task/blob/master/TASKFILE_VERSIONS.md ) document, since it describes in depth what changed for this version.
* New Taskfile version 2 (https://github.com/go-task/task/issues/77)
* Possibility to have global variables in the `Taskfile.yml` instead of `Taskvars.yml` (https://github.com/go-task/task/issues/66)
* Small improvements and fixes
## v1.4.4 - 2017-11-19
- Handle SIGINT and SIGTERM (#75);
- List: print message with there's no task with description;
- Expand home dir ("~" symbol) on paths (#74);
- Add Snap as an installation method;
- Move examples to its own repo;
- Watch: also walk on tasks called on on "cmds", and not only on "deps";
- Print logs to stderr instead of stdout (#68);
- Remove deprecated `set` keyword;
- Add checksum based status check, alternative to timestamp based.
## v1.4.3 - 2017-09-07
- Allow assigning variables to tasks at run time via CLI (#33)
- Added suport for multiline variables from sh (#64)
- Fixes env: remove square braces and evaluate shell (#62)
- Watch: change watch library and few fixes and improvements
- When use watching, cancel and restart long running process on file change (#59 and #60 )
## v1.4.2 - 2017-07-30
- Flag to set directory of execution
- Always echo command if is verbose mode
- Add silent mode to disable echoing of commands
- Fixes and improvements of variables (#56)
## v1.4.1 - 2017-07-15
- Allow use of YAML for dynamic variables instead of $ prefix
- `VAR: {sh: echo Hello}` instead of `VAR: $echo Hello`
- Add `--list` (or `-l` ) flag to print existing tasks
- OS specific Taskvars file (e.g. `Taskvars_windows.yml` , `Taskvars_linux.yml` , etc)
- Consider task up-to-date on equal timestamps (#49)
- Allow absolute path in generates section (#48)
- Bugfix: allow templating when calling deps (#42)
- Fix panic for invalid task in cyclic dep detection
- Better error output for dynamic variables in Taskvars.yml (#41)
- Allow template evaluation in parameters
## v1.4.0 - 2017-07-06
- Cache dynamic variables
- Add verbose mode (`-v` flag)
- Support to task parameters (overriding vars) (#31) (#32)
- Print command, also when "set:" is specified (#35)
- Improve task command help text (#35)
## v1.3.1 - 2017-06-14
- Fix glob not working on commands (#28)
- Add ExeExt template function
- Add `--init` flag to create a new Taskfile
- Add status option to prevent task from running (#27)
- Allow interpolation on `generates` and `sources` attributes (#26)
## v1.3.0 - 2017-04-24
- Migrate from os/exec.Cmd to a native Go sh/bash interpreter
- This is a potentially breaking change if you use Windows.
- Now, `cmd` is not used anymore on Windows. Always use Bash-like syntax for your commands, even on Windows.
- Add "ToSlash" and "FromSlash" to template functions
- Use functions defined on github.com/Masterminds/sprig
- Do not redirect stdin while running variables commands
- Using `context` and `errgroup` packages (this will make other tasks to be cancelled, if one returned an error)
## v1.2.0 - 2017-04-02
- More tests and Travis integration
- Watch a task (experimental)
- Possibility to call another task
- Fix "=" not being reconized in variables/environment variables
- Tasks can now have a description, and help will print them (#10)
- Task dependencies now run concurrently
- Support for a default task (#16)
## v1.1.0 - 2017-03-08
- Support for YAML, TOML and JSON (#1)
- Support running command in another directory (#4)
- `--force` or `-f` flag to force execution of task even when it's up-to-date
- Detection of cyclic dependencies (#5)
- Support for variables (#6, #9 , #14 )
- Operation System specific commands and variables (#13)
## v1.0.0 - 2017-02-28
- Add LICENSE file