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