]> Cypherpunks.ru repositories - goredo.git/blob - doc/news.texi
Missing NO_COLOR check
[goredo.git] / doc / news.texi
1 @node News
2 @cindex news
3 @unnumbered News
4
5 @anchor{Release 1_26_0}
6 @section Release 1.26.0
7 @itemize
8 @item
9     Debug output contained colour-related attribute even if
10     @env{$NO_COLOR=1} was set.
11 @end itemize
12
13 @anchor{Release 1_25_0}
14 @section Release 1.25.0
15 @itemize
16 @item
17     Target's lock file requires a token from the jobserver now. So
18     amount of simultaneously opened lock files depends on job slots
19     available.
20 @end itemize
21
22 @anchor{Release 1_24_0}
23 @section Release 1.24.0
24 @itemize
25 @item
26     @command{redo-cleanup tmp} also removes temporarily (@code{$3})
27     created directories.
28 @end itemize
29
30 @anchor{Release 1_23_0}
31 @section Release 1.23.0
32 @itemize
33 @item
34     @command{redo-ifchange}'s @option{-f} option forces each target
35     rebuilding. Comparing to @command{redo}, it will parallelize the
36     process.
37 @item
38     Inode's number is also stored as dependency information, just to
39     prevent possible @code{ctime} collision of two files.
40 @item
41     Performance optimization: do not use target's temporary output file
42     at all, if its hash equals to already existing target's one. Just
43     touch existing target file instead.
44 @end itemize
45
46 @anchor{Release 1_22_0}
47 @section Release 1.22.0
48 @itemize
49 @item
50     @code{flock} locks replaced with POSIX @code{fcntl} ones.
51     They could be more portable.
52 @item
53     @command{redo-depfix} command appeared, that traverses through all
54     @file{.redo} directories and their dependency files, checks if
55     corresponding targets has the same content but different
56     @code{ctime}/@code{mtime} values and rewrites dependencies with that
57     updated inode information.
58 @item
59     With @env{$REDO_STOP_IF_MODIFIED=1} environment variable redo will
60     stop and fail if it meet externally modified file. By default user
61     is only warned about it, but building continues for convenience.
62 @end itemize
63
64 @anchor{Release 1_21_0}
65 @section Release 1.21.0
66 @itemize
67 @item
68     @env{$REDO_INODE_NO_TRUST} is replaced with @env{$REDO_INODE_TRUST}
69     environment variable, that takes either @code{none}, or @code{ctime}
70     (the default one), or @code{mtime} (new one). Check documentation's
71     separate page about that option.
72 @end itemize
73
74 @anchor{Release 1_20_0}
75 @section Release 1.20.0
76 @itemize
77 @item
78     Print warning message if both ifcreate and ifchange records were
79     discovered after the target is done.
80 @end itemize
81
82 @anchor{Release 1_19_0}
83 @section Release 1.19.0
84 @itemize
85 @item
86     Skip target itself, when searching for corresponding @file{.do}
87     file. For example @file{default.do} must use @file{../default.do}
88     instead of the self.
89 @end itemize
90
91 @anchor{Release 1_18_0}
92 @section Release 1.18.0
93 @itemize
94 @item
95     Fix regression of known OODs passing since 1.3.0, that leads to
96     rebuilding of already built targets.
97 @end itemize
98
99 @anchor{Release 1_17_0}
100 @section Release 1.17.0
101 @itemize
102 @item
103     If @command{redo*} process is killed, then it sends @code{SIGTERM}
104     to all his children too, properly terminating the whole job queue.
105 @end itemize
106
107 @anchor{Release 1_16_0}
108 @section Release 1.16.0
109 @itemize
110 @item
111     Unexistent targets are considered always out-of-date, as it should be.
112 @item
113     Do not panic if @env{$REDO_LOGS=1} and we were unable to start the command.
114 @end itemize
115
116 @anchor{Release 1_15_0}
117 @section Release 1.15.0
118 @itemize
119 @item
120     Explicitly check if @code{$1} target is touched and then fail.
121     Previously we check if @code{$1} was only altered.
122 @end itemize
123
124 @anchor{Release 1_14_0}
125 @section Release 1.14.0
126 @itemize
127 @item
128     Fixed @command{redo-ifcreate}'s targets proper relative paths to the target.
129 @end itemize
130
131 @anchor{Release 1_13_0}
132 @section Release 1.13.0
133 @itemize
134 @item
135     Use @file{.log-rec} extension, instead of @file{.log.rec}, that
136     won't collide with already existing @file{.log} and @file{.rec} in
137     @file{.redo} directory.
138 @end itemize
139
140 @anchor{Release 1_12_0}
141 @section Release 1.12.0
142 @itemize
143 @item
144     Fix possible lack of success finish message printing if any of
145     targets fail.
146 @end itemize
147
148 @anchor{Release 1_11_0}
149 @section Release 1.11.0
150 @itemize
151 @item
152     Fix nasty bug with incorrect @file{.redo/tgt.rec} files renaming.
153 @end itemize
154
155 @anchor{Release 1_10_0}
156 @section Release 1.10.0
157 @itemize
158 @item
159     @command{redo-cleanup} now also cleans @file{.redo/tgt.log.rec} files.
160 @item
161     Recursive logs do not require @file{.redo/tgt.rec} existence anymore.
162 @end itemize
163
164 @anchor{Release 1_9_0}
165 @section Release 1.9.0
166 @itemize
167 @item
168     Do not enable command line options not applicable to the command.
169     For example @option{-j} option is only applicable to @command{redo}
170     and @command{redo-ifchange} commands.
171 @item
172     @itemize
173     @item @option{-dry-run} option is renamed to @option{-n}
174     @item @option{-logs} option is renamed to @option{-k}
175     @item @option{-silent} option is renamed to @option{-s}
176     @end itemize
177 @item
178     When @code{stderr} logs are kept, all environment variables, working
179     directory, command line arguments, start/finish times, duration,
180     participated PIDs, return codes are saved in corresponding
181     @file{.redo/tgt.log.rec} file. Some of them can be viewed with
182     @option{-c} option to @command{redo-log}.
183 @item
184     @command{redo-log}'s @option{-r} option allows recursive, indented
185     viewing of the whole redo commands invocations for the given target
186     in serialized way.
187 @end itemize
188
189 @anchor{Release 1_8_0}
190 @section Release 1.8.0
191 @itemize
192 @item
193     Fixed possibly wrong relative path record of the dependency, when
194     redo commands are run in different directory from the @file{.do}.
195 @item
196     Fixed possible failing in @command{redo-sources} if no @file{.dep}
197     is found.
198 @end itemize
199
200 @anchor{Release 1_7_0}
201 @section Release 1.7.0
202 @itemize
203 @item
204     Optional compatibility (through @env{$REDO_MAKE=@{bmake|gmake@}})
205     with either NetBSD's bmake or GNU Make jobserver protocols, being
206     able to tightly integrate @command{goredo} with the @command{make}.
207 @end itemize
208
209 @anchor{Release 1_6_0}
210 @section Release 1.6.0
211 @itemize
212 @item
213     @command{redo-affects} command appeared, that shows all targets that
214     will be affected by changing the specified ones.
215 @end itemize
216
217 @anchor{Release 1_5_0}
218 @section Release 1.5.0
219 @itemize
220 @item
221     @command{redo-ood}, @command{redo-sources} and
222     @command{redo-targets} can optionally take list of targets to apply
223     the command on, to narrow the result.
224 @item
225     @command{redo-sources} mistakenly missed @file{.do} files in the output.
226 @item
227     @command{redo-sources} now recursively searches for all source
228     files, not the "first" depth level ones.
229 @end itemize
230
231 @anchor{Release 1_4_1}
232 @section Release 1.4.1
233 @itemize
234 @item
235     Even more simpler statusline cleaning function.
236 @end itemize
237
238 @anchor{Release 1_4_0}
239 @section Release 1.4.0
240 @itemize
241 @item
242     Fixed proper @option{-xx} and @env{$REDO_TRACE} workability, that
243     previously was not applied to all targets.
244 @item
245     Simpler statusline cleaning function, does not leading to whitespace
246     junk after long lines.
247 @item
248     Updated dependant libraries.
249 @end itemize
250
251 @anchor{Release 1_3_0}
252 @section Release 1.3.0
253 @itemize
254 @item
255     Experimental @command{redo-sources}, @command{redo-targets} and
256     @command{redo-ood} commands.
257 @item
258     Repetitive OOD determination optimization: pass all already known to
259     be OOD targets to redoing targets.
260 @end itemize
261
262 @anchor{Release 1_2_0}
263 @section Release 1.2.0
264 @itemize
265 @item
266     Dependency files @file{.dep} extension changed to @file{.rec}, to
267     reflect its recfile format nature and editors file type better
268     determination.
269 @item
270     Reduce number of file descriptors kept open (1 instead of 4) while
271     waiting for job slot token.
272 @end itemize
273
274 @anchor{Release 1_1_0}
275 @section Release 1.1.0
276 @itemize
277 @item
278     @command{redo-cleanup} has @option{-dry-run} option.
279 @end itemize
280
281 @anchor{Release 1_0_0}
282 @section Release 1.0.0
283 @itemize
284 @item
285     @code{Size} is stored in the state, for faster OOD detection.
286     Previous @command{goredo} state files won't work.
287 @item
288     Setting of @env{$REDO_INODE_NO_TRUST} environment variable brings no
289     trust to file inode's information (except for its size), forcing its
290     checksum checking.
291 @item
292     @command{redo-whichdo} resembles @code{apenwarr/redo}'s one behaviour more.
293 @end itemize
294
295 @anchor{Release 0_12_3}
296 @section Release 0.12.3
297 @itemize
298 @item
299     Use an updated @code{lukechampine.com/blake3} with possibly working
300     arm64 macOS fix.
301 @end itemize
302
303 @anchor{Release 0_12_2}
304 @section Release 0.12.2
305 @itemize
306 @item
307     Try to fix failing @code{lukechampine.com/blake3} on arm64 macOS.
308 @item
309     Fixed tests permissions in the tarball.
310 @end itemize
311
312 @anchor{Release 0_12_1}
313 @section Release 0.12.1
314 @itemize
315 @item
316     Tarball uses @file{vendor} directory without @env{$GOPATH}
317     overriding. @command{goredo} and its dependencies anyway uses Go
318     1.12+ versions, that have @file{vendor}-ing support.
319 @end itemize
320
321 @anchor{Release 0_12_0}
322 @section Release 0.12.0
323 @itemize
324 @item
325     Do not forget to save even output-less target as a dependency.
326 @item
327     @option{-debug} option renamed to shorter @option{-d}.
328 @end itemize
329
330 @anchor{Release 0_11_0}
331 @section Release 0.11.0
332 @itemize
333 @item
334     Previously @env{$REDO_JOBS} overrided even explicitly specified
335     @option{-j} option. Fix that behaviour -- command line options must
336     precede environment variables.
337 @item @url{https://github.com/BLAKE3-team/BLAKE3, BLAKE3} replaces
338     BLAKE2b hashing algorithm for even better performance.
339 @end itemize
340
341 @anchor{Release 0_10_0}
342 @section Release 0.10.0
343 @itemize
344 @item Initial tarballed release.
345 @end itemize