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