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!