@@ -5,6 +5,77 @@ sidebar_position: 14
55
66# Changelog
77
8+ ## v3.43.0 - 2025-04-21
9+
10+ - Significant improvements were made to the watcher. We migrated from
11+ [ watcher] ( https://github.com/radovskyb/watcher ) to
12+ [ fsnotify] ( https://github.com/fsnotify/fsnotify ) . The former library used
13+ polling, which means Task had a high CPU usage when watching too many files.
14+ ` fsnotify ` uses proper the APIs from each operating system to watch files,
15+ which means a much better performance. The default interval changed from 5
16+ seconds to 100 milliseconds, because now it configures the wait time for
17+ duplicated events, instead of the polling time (#2048 by @andreynering , #1508 ,
18+ #985 , #1179 ).
19+ - The [ Map Variables experiment] ( https://github.com/go-task/task/issues/1585 )
20+ was made generally available so you can now
21+ [ define map variables in your Taskfiles!] ( https://taskfile.dev/usage/#variables )
22+ (#1585 , #1547 , #2081 by @pd93 ).
23+ - Wildcards can now
24+ [ match multiple tasks] ( https://taskfile.dev/usage/#wildcard-arguments ) (#2072 ,
25+ #2121 by @pd93 ).
26+ - Added the ability to
27+ [ loop over the files specified by the ` generates ` keyword] ( https://taskfile.dev/usage/#looping-over-your-tasks-sources-or-generated-files ) .
28+ This works the same way as looping over sources (#2151 by @sedyh ).
29+ - Added the ability to resolve variables when defining an include variable
30+ (#2108 , #2113 by @pd93 ).
31+ - A few changes have been made to the
32+ [ Remote Taskfiles experiment] ( https://github.com/go-task/task/issues/1317 )
33+ (#1402 , #2176 by @pd93 ):
34+ - Cached files are now prioritized over remote ones.
35+ - Added an ` --expiry ` flag which sets the TTL for a remote file cache. By
36+ default the value will be 0 (caching disabled). If Task is running in
37+ offline mode or fails to make a connection, it will fallback on the cache.
38+ - ` .taskrc ` files can now be used from subdirectories and will be searched for
39+ recursively up the file tree in the same way that Taskfiles are (#2159 , #2166
40+ by @pd93 ).
41+ - The default taskfile (output when using the ` --init ` flag) is now an embedded
42+ file in the binary instead of being stored in the code (#2112 by @pd93 ).
43+ - Improved the way we report the Task version when using the ` --version ` flag or
44+ ` {{.TASK_VERSION}} ` variable. This should now be more consistent and easier
45+ for package maintainers to use (#2131 by @pd93 ).
46+ - Fixed a bug where globstar (` ** ` ) matching in ` sources ` only resolved the
47+ first result (#2073 , #2075 by @pd93 ).
48+ - Fixed a bug where sorting tasks by "none" would use the default sorting
49+ instead of leaving tasks in the order they were defined (#2124 , #2125 by
50+ @trulede ).
51+ - Fixed Fish completion on newer Fish versions (#2130 by @atusy ).
52+ - Fixed a bug where undefined/null variables resolved to an empty string instead
53+ of ` nil ` (#1911 , #2144 by @pd93 ).
54+ - The ` USER_WORKING_DIR ` special now will now properly account for the ` --dir `
55+ (` -d ` ) flag, if given (#2102 , #2103 by @jaynis , #2186 by @andreynering ).
56+ - Fix Fish completions when ` --global ` (` -g ` ) is given (#2134 by @atusy ).
57+ - Fixed variables not available when using ` defer: ` (#1909 , #2173 by @vmaerten ).
58+
59+ #### Package API
60+
61+ - The [ ` Executor ` ] ( https://pkg.go.dev/github.com/go-task/task/v3#Executor ) now
62+ uses the functional options pattern (#2085 , #2147 , #2148 by @pd93 ).
63+ - The functional options for the
64+ [ ` taskfile.Reader ` ] ( https://pkg.go.dev/github.com/go-task/task/v3/taskfile#Reader )
65+ and
66+ [ ` taskfile.Snippet ` ] ( https://pkg.go.dev/github.com/go-task/task/v3/taskfile#Snippet )
67+ types no longer have the ` Reader ` /` Snippet ` respective prefixes (#2148 by
68+ @pd93 ).
69+ - [ ` taskfile.Reader ` ] ( https://pkg.go.dev/github.com/go-task/task/v3/taskfile#Reader )
70+ no longer accepts a
71+ [ ` taskfile.Node ` ] ( https://pkg.go.dev/github.com/go-task/task/v3/taskfile#Node ) .
72+ Instead nodes are passed directly into the
73+ [ ` Reader.Read ` ] ( https://pkg.go.dev/github.com/go-task/task/v3/taskfile#Reader.Read )
74+ method (#2169 by @pd93 ).
75+ - [ ` Reader.Read ` ] ( https://pkg.go.dev/github.com/go-task/task/v3/taskfile#Reader.Read )
76+ also now accepts a [ ` context.Context ` ] ( https://pkg.go.dev/context#Context )
77+ (#2176 by @pd93 ).
78+
879## v3.42.1 - 2025-03-10
980
1081- Fixed a bug where some special variables caused a type error when used global
0 commit comments