4 @anchor{Release 1_22_0}
5 @section Release 1.22.0
8 @code{flock} locks replaced with POSIX @code{fcntl} ones.
9 They could be more portable.
11 @command{redo-depfix} command appeared, that traverses through all
12 @file{.redo} directories and their dependency files, checks if
13 corresponding targets has the same content but different
14 @code{ctime}/@code{mtime} values and rewrites dependencies with that
15 updated inode information.
18 @anchor{Release 1_21_0}
19 @section Release 1.21.0
22 @env{$REDO_INODE_NO_TRUST} is replaced with @env{$REDO_INODE_TRUST}
23 environment variable, that takes either @code{none}, or @code{ctime}
24 (the default one), or @code{mtime} (new one). Check documentation's
25 separate page about that option.
28 @anchor{Release 1_20_0}
29 @section Release 1.20.0
32 Print warning message if both ifcreate and ifchange records were
33 discovered after the target is done.
36 @anchor{Release 1_19_0}
37 @section Release 1.19.0
40 Skip target itself, when searching for corresponding @file{.do}
41 file. For example @file{default.do} must use @file{../default.do}
45 @anchor{Release 1_18_0}
46 @section Release 1.18.0
49 Fix regression of known OODs passing since 1.3.0, that leads to
50 rebuilding of already built targets.
53 @anchor{Release 1_17_0}
54 @section Release 1.17.0
57 If @command{redo*} process is killed, then it sends @code{SIGTERM}
58 to all his children too, properly terminating the whole job queue.
61 @anchor{Release 1_16_0}
62 @section Release 1.16.0
65 Unexistent targets are considered always out-of-date, as it should be.
67 Do not panic if @env{$REDO_LOGS=1} and we were unable to start the command.
70 @anchor{Release 1_15_0}
71 @section Release 1.15.0
74 Explicitly check if @code{$1} target is touched and then fail.
75 Previously we check if @code{$1} was only altered.
78 @anchor{Release 1_14_0}
79 @section Release 1.14.0
82 Fixed @command{redo-ifcreate}'s targets proper relative paths to the target.
85 @anchor{Release 1_13_0}
86 @section Release 1.13.0
89 Use @file{.log-rec} extension, instead of @file{.log.rec}, that
90 won't collide with already existing @file{.log} and @file{.rec} in
91 @file{.redo} directory.
94 @anchor{Release 1_12_0}
95 @section Release 1.12.0
98 Fix possible lack of success finish message printing if any of
102 @anchor{Release 1_11_0}
103 @section Release 1.11.0
106 Fix nasty bug with incorrect @file{.redo/tgt.rec} files renaming.
109 @anchor{Release 1_10_0}
110 @section Release 1.10.0
113 @command{redo-cleanup} now also cleans @file{.redo/tgt.log.rec} files.
115 Recursive logs do not require @file{.redo/tgt.rec} existence anymore.
118 @anchor{Release 1_9_0}
119 @section Release 1.9.0
122 Do not enable command line options not applicable to the command.
123 For example @option{-j} option is only applicable to @command{redo}
124 and @command{redo-ifchange} commands.
127 @item @option{-dry-run} option is renamed to @option{-n}
128 @item @option{-logs} option is renamed to @option{-k}
129 @item @option{-silent} option is renamed to @option{-s}
132 When @code{stderr} logs are kept, all environment variables, working
133 directory, command line arguments, start/finish times, duration,
134 participated PIDs, return codes are saved in corresponding
135 @file{.redo/tgt.log.rec} file. Some of them can be viewed with
136 @option{-c} option to @command{redo-log}.
138 @command{redo-log}'s @option{-r} option allows recursive, indented
139 viewing of the whole redo commands invocations for the given target
143 @anchor{Release 1_8_0}
144 @section Release 1.8.0
147 Fixed possibly wrong relative path record of the dependency, when
148 redo commands are run in different directory from the @file{.do}.
150 Fixed possible failing in @command{redo-sources} if no @file{.dep}
154 @anchor{Release 1_7_0}
155 @section Release 1.7.0
158 Optional compatibility (through @env{$REDO_MAKE=@{bmake|gmake@}})
159 with either NetBSD's bmake or GNU Make jobserver protocols, being
160 able to tightly integrate @command{goredo} with the @command{make}.
163 @anchor{Release 1_6_0}
164 @section Release 1.6.0
167 @command{redo-affects} command appeared, that shows all targets that
168 will be affected by changing the specified ones.
171 @anchor{Release 1_5_0}
172 @section Release 1.5.0
175 @command{redo-ood}, @command{redo-sources} and
176 @command{redo-targets} can optionally take list of targets to apply
177 the command on, to narrow the result.
179 @command{redo-sources} mistakenly missed @file{.do} files in the output.
181 @command{redo-sources} now recursively searches for all source
182 files, not the "first" depth level ones.
185 @anchor{Release 1_4_1}
186 @section Release 1.4.1
189 Even more simpler statusline cleaning function.
192 @anchor{Release 1_4_0}
193 @section Release 1.4.0
196 Fixed proper @option{-xx} and @env{$REDO_TRACE} workability, that
197 previously was not applied to all targets.
199 Simpler statusline cleaning function, does not leading to whitespace
200 junk after long lines.
202 Updated dependant libraries.
205 @anchor{Release 1_3_0}
206 @section Release 1.3.0
209 Experimental @command{redo-sources}, @command{redo-targets} and
210 @command{redo-ood} commands.
212 Repetitive OOD determination optimization: pass all already known to
213 be OOD targets to redoing targets.
216 @anchor{Release 1_2_0}
217 @section Release 1.2.0
220 Dependency files @file{.dep} extension changed to @file{.rec}, to
221 reflect its recfile format nature and editors file type better
224 Reduce number of file descriptors kept open (1 instead of 4) while
225 waiting for job slot token.
228 @anchor{Release 1_1_0}
229 @section Release 1.1.0
232 @command{redo-cleanup} has @option{-dry-run} option.
235 @anchor{Release 1_0_0}
236 @section Release 1.0.0
239 @code{Size} is stored in the state, for faster OOD detection.
240 Previous @command{goredo} state files won't work.
242 Setting of @env{$REDO_INODE_NO_TRUST} environment variable brings no
243 trust to file inode's information (except for its size), forcing its
246 @command{redo-whichdo} resembles @code{apenwarr/redo}'s one behaviour more.
249 @anchor{Release 0_12_3}
250 @section Release 0.12.3
253 Use an updated @code{lukechampine.com/blake3} with possibly working
257 @anchor{Release 0_12_2}
258 @section Release 0.12.2
261 Try to fix failing @code{lukechampine.com/blake3} on arm64 macOS.
263 Fixed tests permissions in the tarball.
266 @anchor{Release 0_12_1}
267 @section Release 0.12.1
270 Tarball uses @file{vendor} directory without @env{$GOPATH}
271 overriding. @command{goredo} and its dependencies anyway uses Go
272 1.12+ versions, that have @file{vendor}-ing support.
275 @anchor{Release 0_12_0}
276 @section Release 0.12.0
279 Do not forget to save even output-less target as a dependency.
281 @option{-debug} option renamed to shorter @option{-d}.
284 @anchor{Release 0_11_0}
285 @section Release 0.11.0
288 Previously @env{$REDO_JOBS} overrided even explicitly specified
289 @option{-j} option. Fix that behaviour -- command line options must
290 precede environment variables.
291 @item @url{https://github.com/BLAKE3-team/BLAKE3, BLAKE3} replaces
292 BLAKE2b hashing algorithm for even better performance.
295 @anchor{Release 0_10_0}
296 @section Release 0.10.0
298 @item Initial tarballed release.