Releases: go-task/task
Releases · go-task/task
v3.45.0-nightly
Changelog
- 534dfa0 chore(deps): update all non-major dependencies (#2410)
- 51a3bca fix: cloudsmith and add docs (#2383)
- 6289fcf chore: simplify blog post title
- 2959737 chore(changelog): fix typo
- a3047d3 chore(changelog): add entries for #197 and #2360
- 725600f docs: add blog post about the built-in core utilities
- fd83414 docs: update docs and faq to mention the new core utils
- 6c645a3 feat: add native core utils to improve compatibility on windows
- 9d969e5 fix(website): remove
og:*
andtwitter:*
meta tags for now - 8b382a3 chore(website):
taskfile
->task
and change emoji - a34892a chore:
go mod tidy
- e55bb29 chore(deps): update all non-major dependencies (#2398)
- 1168ef3 chore(deps): update pnpm to v10 (#2399)
- 245d7f7 chore: use gotestsum for test (#2381)
- b216ae8 perf: pre-allocate known length arrays (#2354)
- 61cb15a chore: delete unnecessary whitespace (#2394)
- 04579c0 chore: changelog for #2391
- 39462cb feat: change XDG taskrc naming (#2391)
- 72dfec6 chore: changelog for #2380
- f89c12d feat: XDG taskrc config (#2380)
- c903d07 chore(deps): update all non-major dependencies (#2386)
- 138b9a5 chore(deps): update actions/checkout action to v5 (#2387)
- 1e2121a chore: changelog for #2235
- 9495fb2 feat: add experiments to taskrc.yml schema (#2235)
- 1fda559 chore: changelog for #2359, #2369, #2371, #2375, #2378, #2358 and #2358
- e6c808c chore(readme): github doesn't like svg images
- 0fc26a4 chore: bump minimun version to 1.24 (#2377)
- c0b4c19 chore(readme): fix images
- 1a8df44 fix: readd environment reference (#2378)
- 82ad1de docs: remove wrong (#2375)
- d59c795 fix: goreleaser with cloudsmith and npm (#2372)
- 504cb94 chore(website): add back google analytics
- e760663 docs: remove padding in team page and fix redirect (#2371)
- 9a05cea docs: use Algolia as search engine (#2369)
- 083654d build: publish npm package with goreleaser (#2363)
- 79c93fb docs: migrate website to vitepress (#2359)
- 64fc538 build: publish deb and rpm to cloudsmith (#2362)
- 4da081e chore(deps): update all non-major dependencies (#2364)
- 4bdfe5c fix: publish nightly draft and title (#2358)
- 26ef693 chore: publish nightly (#2246)
- 952f32d chore(deps): update all non-major dependencies (#2351)
- e72c35f fix(goreleaser): fix automatic submission of winget pr
v3.44.1
- Internal tasks will no longer be shown as suggestions since they cannot be called (#2309, #2323 by @maxmzkrcensys)
- Fixed install script for some ARM platforms (#1516, #2291 by @trulede).
- Fixed a regression where fingerprinting was not working correctly if the path to you Taskfile contained a space (#2321, #2322 by @pd93).
- Reverted a breaking change to
randInt
(#2312, #2316 by @pd93). - Made new variables
TEST_NAME
andTEST_DIR
available in fixture tests (#2265 by @pd93).
v3.44.0
- Added
uuid
,randInt
andrandIntN
template functions (#1346, #2225 by @pd93). - Added new
CLI_ARGS_LIST
array variable which contains the arguments passed to Task after the--
(the same asCLI_ARGS
, but an array instead of a string). (#2138, #2139, #2140 by @pd93). - Added
toYaml
andfromYaml
templating functions (#2217, #2219 by @pd93). - Added
task
field the--list --json
output (#2256 by @aleksandersh). - Added the ability to pin included taskfiles by specifying a checksum. This works with both local and remote Taskfiles (#2222, #2223 by @pd93).
- When using the Remote Taskfiles experiment, any credentials used in the URL will now be redacted in Task's output (#2100, #2220 by @pd93).
- Fixed fuzzy suggestions not working when misspelling a task name (#2192, #2200 by @vmaerten).
- Fixed a bug where taskfiles in directories containing spaces created directories in the wrong location (#2208, #2216 by @pd93).
- Added support for dual JSON schema files, allowing changes without affecting the current schema. The current schemas will only be updated during releases. (#2211 by @vmaerten).
- Improved fingerprint documentation by specifying that the method can be set at the root level to apply to all tasks (#2233 by @vmaerten).
- Fixed some watcher regressions after #2048 (#2199, #2202, #2241, #2196 by @wazazaby, #2271 by @andreynering).
v3.43.3
v3.43.2
v3.43.1
- Significant improvements were made to the watcher. We migrated from watcher to fsnotify. The former library used polling, which means Task had a high CPU usage when watching too many files.
fsnotify
uses proper the APIs from each operating system to watch files, which means a much better performance. The default interval changed from 5 seconds to 100 milliseconds, because now it configures the wait time for duplicated events, instead of the polling time (#2048 by @andreynering, #1508, #985, #1179). - The Map Variables experiment was made generally available so you can now define map variables in your Taskfiles! (#1585, #1547, #2081 by @pd93).
- Wildcards can now match multiple tasks (#2072, #2121 by @pd93).
- Added the ability to loop over the files specified by the
generates
keyword. This works the same way as looping over sources (#2151 by @sedyh). - Added the ability to resolve variables when defining an include variable (#2108, #2113 by @pd93).
- A few changes have been made to the Remote Taskfiles experiment (#1402, #2176 by @pd93):
- Cached files are now prioritized over remote ones.
- Added an
--expiry
flag which sets the TTL for a remote file cache. By default the value will be 0 (caching disabled). If Task is running in offline mode or fails to make a connection, it will fallback on the cache.
.taskrc
files can now be used from subdirectories and will be searched for recursively up the file tree in the same way that Taskfiles are (#2159, #2166 by @pd93).- The default taskfile (output when using the
--init
flag) is now an embedded file in the binary instead of being stored in the code (#2112 by @pd93). - Improved the way we report the Task version when using the
--version
flag or{{.TASK_VERSION}}
variable. This should now be more consistent and easier for package maintainers to use (#2131 by @pd93). - Fixed a bug where globstar (
**
) matching insources
only resolved the first result (#2073, #2075 by @pd93). - Fixed a bug where sorting tasks by "none" would use the default sorting instead of leaving tasks in the order they were defined (#2124, #2125 by @trulede).
- Fixed Fish completion on newer Fish versions (#2130 by @atusy).
- Fixed a bug where undefined/null variables resolved to an empty string instead of
nil
(#1911, #2144 by @pd93). - The
USER_WORKING_DIR
special now will now properly account for the--dir
(-d
) flag, if given (#2102, #2103 by @jaynis, #2186 by @andreynering). - Fix Fish completions when
--global
(-g
) is given (#2134 by @atusy). - Fixed variables not available when using
defer:
(#1909, #2173 by @vmaerten).
Contribute
Love Task? If you or your company benefit from our work, consider becoming a sponsor!
v3.42.1
v3.42.0
- Made
--init
less verbose by default and respect--silent
and--verbose
flags (#2009, #2011 by @HeCorr). --init
now accepts a file name or directory as an argument (#2008, #2018 by @HeCorr).- Fix a bug where an HTTP node's location was being mutated incorrectly (#2007 by @jeongukjae).
- Fixed a bug where allowed values didn't work with dynamic var (#2032, #2033 by @vmaerten).
- Use only the relevant checker (timestamp or checksum) to improve performance (#2029, #2031 by @vmaerten).
- Print warnings when attempting to enable an inactive experiment or an active experiment with an invalid value (#1979, #2049 by @pd93).
- Refactored the experiments package and added tests (#2049 by @pd93).
- Show allowed values when a variable with an enum is missing (#2027, #2052 by @vmaerten).
- Refactored how snippets in error work and added tests (#2068 by @pd93).
- Fixed a bug where errors decoding commands were sometimes unhelpful (#2068 by @pd93).
- Fixed a bug in the Taskfile schema where
defer
statements in the shorthandcmds
syntax were not considered valid (#2068 by @pd93). - Refactored how task sorting functions work (#1798 by @pd93).
- Added a new
.taskrc.yml
(or.taskrc.yaml
) file to let users enable experiments (similar to.env
) (#1982 by @vmaerten). - Added new Getting Started docs (#2086 by @pd93).
- Allow
matrix
to use references to other variables (#2065, #2069 by @pd93). - Fixed a bug where, when a dynamic variable is provided, even if it is not used, all other variables become unavailable in the templating system within the include (#2092 by @vmaerten).
Package API
Unlike our CLI tool, Task's package API is not currently stable. In an effort to ease the pain of breaking changes for our users, we will be providing changelogs for our package API going forwards. The hope is that these changes will provide a better long-term experience for our users and allow to stabilize the API in the future. #121 now tracks this piece of work.
- Bumped the minimum required Go version to 1.23 (#2059 by @pd93).
task.InitTaskfile
(#2011, ff8c913 by @HeCorr and @pd93)- No longer accepts an
io.Writer
(output is now the caller's responsibility). - The path argument can now be a filename OR a directory.
- The function now returns the full path of the generated file.
- No longer accepts an
TaskfileDecodeError.WithFileInfo
now accepts a string instead of the arguments required to generate a snippet (#2068 by @pd93).- The caller is now expected to create the snippet themselves (see below).
TaskfileSnippet
and related code moved from theerrors
package to thetaskfile
package (#2068 by @pd93).- Renamed
TaskMissingRequiredVars
toTaskMissingRequiredVarsError
(#2052 by @vmaerten). - Renamed
TaskNotAllowedVars
toTaskNotAllowedVarsError
(#2052 by @vmaerten). - The
taskfile.Reader
is now constructed using the functional options pattern (#2082 by @pd93). - Removed our internal
logger.Logger
from the entiretaskfile
package (#2082 by @pd93).- Users are now expected to pass a custom debug/prompt functions into
taskfile.Reader
if they want this functionality by using the newWithDebugFunc
andWithPromptFunc
functional options.
- Users are now expected to pass a custom debug/prompt functions into
- Remove
Range
functions in thetaskfile/ast
package in favour of new iterator functions (#1798 by @pd93). ast.Call
was moved from thetaskfile/ast
package to the maintask
package (#2084 by @pd93).ast.Tasks.FindMatchingTasks
was moved from thetaskfile/ast
package to thetask.Executor.FindMatchingTasks
in the maintask
package (#2084 by @pd93).- The
Compiler
and itsGetVariables
andFastGetVariables
methods were moved from theinternal/compiler
package to the maintask
package (#2084 by @pd93).
v3.41.0
- Fixed an issue where dynamic variables were not properly logged in verbose mode (#1920, #1921 by @mgbowman).
- Support
silent
for defer statements (#1877, #1879 by @danilobuerger). - Added an option to exclude some tasks from being included (#1859 by @vmaerten).
- Fixed an issue where a required variable was incorrectly handled in a template function (#1950, #1962 by @vmaerten).
- Expose a new
TASK_DIR
special variable, which will contain the absolute path of task directory. (#1959, #1961 by @vmaerten). - Fixed fatal bugs that caused concurrent map writes (#1605, #1972, #1974 by @pd93, @GrahamDennis and @trim21).
- Refactored internal ordered map implementation to use github.com/elliotchance/orderedmap (#1797 by @pd93).
- Fixed a bug where variables defined at the task level were being ignored in the
requires
section. (#1960, #1955, #1768 by @vmaerten and @mokeko) - The
CHECKSUM
andTIMESTAMP
variables are now accessible withincmds
(#1872 by @niklasr22). - Updated installation docs and added pip installation method (#935, #1989 by @pd93).
- Fixed a bug where dynamic variables could not access environment variables (#630, #1869 by @rohm1 and @pd93).
- Disable version check for use as an external library (#1938 by @leaanthony).