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