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