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