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