X-Git-Url: http://www.git.cypherpunks.ru/?a=blobdiff_plain;f=doc%2Fnews.texi;h=2e4a72b29a4fcc174f6cf0018267f4498ba685b7;hb=630b0f862b0105ca934d97f8b8d655818c32c9ed;hp=8955eabef8abc3d33e5bb9706c1fb0f7e63df960;hpb=fd3be6ccc0576edf0a74b9f312f8308482b7dd9c;p=goredo.git diff --git a/doc/news.texi b/doc/news.texi index 8955eab..2e4a72b 100644 --- a/doc/news.texi +++ b/doc/news.texi @@ -1,7 +1,341 @@ @node News +@cindex news @unnumbered News -@anchor{Release 0.12.0} +@anchor{Release 1_27_1} +@section Release 1.27.1 +@itemize +@item + Fixed lack of @file{.redo.}-prefix in temporary file names. +@end itemize + +@anchor{Release 1_27_0} +@section Release 1.27.0 +@itemize +@item + Improved out-of-date check and @file{.do} files search performance, + because of caching their results. +@end itemize + +@anchor{Release 1_26_0} +@section Release 1.26.0 +@itemize +@item + Debug output contained colour-related attribute even if + @env{$NO_COLOR=1} was set. +@item + Updated dependant libraries. +@end itemize + +@anchor{Release 1_25_0} +@section Release 1.25.0 +@itemize +@item + Target's lock file requires a token from the jobserver now. So + amount of simultaneously opened lock files depends on job slots + available. +@end itemize + +@anchor{Release 1_24_0} +@section Release 1.24.0 +@itemize +@item + @command{redo-cleanup tmp} also removes temporarily (@code{$3}) + created directories. +@end itemize + +@anchor{Release 1_23_0} +@section Release 1.23.0 +@itemize +@item + @command{redo-ifchange}'s @option{-f} option forces each target + rebuilding. Comparing to @command{redo}, it will parallelize the + process. +@item + Inode's number is also stored as dependency information, just to + prevent possible @code{ctime} collision of two files. +@item + Performance optimization: do not use target's temporary output file + at all, if its hash equals to already existing target's one. Just + touch existing target file instead. +@end itemize + +@anchor{Release 1_22_0} +@section Release 1.22.0 +@itemize +@item + @code{flock} locks replaced with POSIX @code{fcntl} ones. + They could be more portable. +@item + @command{redo-depfix} command appeared, that traverses through all + @file{.redo} directories and their dependency files, checks if + corresponding targets has the same content but different + @code{ctime}/@code{mtime} values and rewrites dependencies with that + updated inode information. +@item + With @env{$REDO_STOP_IF_MODIFIED=1} environment variable redo will + stop and fail if it meet externally modified file. By default user + is only warned about it, but building continues for convenience. +@end itemize + +@anchor{Release 1_21_0} +@section Release 1.21.0 +@itemize +@item + @env{$REDO_INODE_NO_TRUST} is replaced with @env{$REDO_INODE_TRUST} + environment variable, that takes either @code{none}, or @code{ctime} + (the default one), or @code{mtime} (new one). Check documentation's + separate page about that option. +@end itemize + +@anchor{Release 1_20_0} +@section Release 1.20.0 +@itemize +@item + Print warning message if both ifcreate and ifchange records were + discovered after the target is done. +@end itemize + +@anchor{Release 1_19_0} +@section Release 1.19.0 +@itemize +@item + Skip target itself, when searching for corresponding @file{.do} + file. For example @file{default.do} must use @file{../default.do} + instead of the self. +@end itemize + +@anchor{Release 1_18_0} +@section Release 1.18.0 +@itemize +@item + Fix regression of known OODs passing since 1.3.0, that leads to + rebuilding of already built targets. +@end itemize + +@anchor{Release 1_17_0} +@section Release 1.17.0 +@itemize +@item + If @command{redo*} process is killed, then it sends @code{SIGTERM} + to all his children too, properly terminating the whole job queue. +@end itemize + +@anchor{Release 1_16_0} +@section Release 1.16.0 +@itemize +@item + Unexistent targets are considered always out-of-date, as it should be. +@item + Do not panic if @env{$REDO_LOGS=1} and we were unable to start the command. +@end itemize + +@anchor{Release 1_15_0} +@section Release 1.15.0 +@itemize +@item + Explicitly check if @code{$1} target is touched and then fail. + Previously we check if @code{$1} was only altered. +@end itemize + +@anchor{Release 1_14_0} +@section Release 1.14.0 +@itemize +@item + Fixed @command{redo-ifcreate}'s targets proper relative paths to the target. +@end itemize + +@anchor{Release 1_13_0} +@section Release 1.13.0 +@itemize +@item + Use @file{.log-rec} extension, instead of @file{.log.rec}, that + won't collide with already existing @file{.log} and @file{.rec} in + @file{.redo} directory. +@end itemize + +@anchor{Release 1_12_0} +@section Release 1.12.0 +@itemize +@item + Fix possible lack of success finish message printing if any of + targets fail. +@end itemize + +@anchor{Release 1_11_0} +@section Release 1.11.0 +@itemize +@item + Fix nasty bug with incorrect @file{.redo/tgt.rec} files renaming. +@end itemize + +@anchor{Release 1_10_0} +@section Release 1.10.0 +@itemize +@item + @command{redo-cleanup} now also cleans @file{.redo/tgt.log.rec} files. +@item + Recursive logs do not require @file{.redo/tgt.rec} existence anymore. +@end itemize + +@anchor{Release 1_9_0} +@section Release 1.9.0 +@itemize +@item + Do not enable command line options not applicable to the command. + For example @option{-j} option is only applicable to @command{redo} + and @command{redo-ifchange} commands. +@item + @itemize + @item @option{-dry-run} option is renamed to @option{-n} + @item @option{-logs} option is renamed to @option{-k} + @item @option{-silent} option is renamed to @option{-s} + @end itemize +@item + When @code{stderr} logs are kept, all environment variables, working + directory, command line arguments, start/finish times, duration, + participated PIDs, return codes are saved in corresponding + @file{.redo/tgt.log.rec} file. Some of them can be viewed with + @option{-c} option to @command{redo-log}. +@item + @command{redo-log}'s @option{-r} option allows recursive, indented + viewing of the whole redo commands invocations for the given target + in serialized way. +@end itemize + +@anchor{Release 1_8_0} +@section Release 1.8.0 +@itemize +@item + Fixed possibly wrong relative path record of the dependency, when + redo commands are run in different directory from the @file{.do}. +@item + Fixed possible failing in @command{redo-sources} if no @file{.dep} + is found. +@end itemize + +@anchor{Release 1_7_0} +@section Release 1.7.0 +@itemize +@item + Optional compatibility (through @env{$REDO_MAKE=@{bmake|gmake@}}) + with either NetBSD's bmake or GNU Make jobserver protocols, being + able to tightly integrate @command{goredo} with the @command{make}. +@end itemize + +@anchor{Release 1_6_0} +@section Release 1.6.0 +@itemize +@item + @command{redo-affects} command appeared, that shows all targets that + will be affected by changing the specified ones. +@end itemize + +@anchor{Release 1_5_0} +@section Release 1.5.0 +@itemize +@item + @command{redo-ood}, @command{redo-sources} and + @command{redo-targets} can optionally take list of targets to apply + the command on, to narrow the result. +@item + @command{redo-sources} mistakenly missed @file{.do} files in the output. +@item + @command{redo-sources} now recursively searches for all source + files, not the "first" depth level ones. +@end itemize + +@anchor{Release 1_4_1} +@section Release 1.4.1 +@itemize +@item + Even more simpler statusline cleaning function. +@end itemize + +@anchor{Release 1_4_0} +@section Release 1.4.0 +@itemize +@item + Fixed proper @option{-xx} and @env{$REDO_TRACE} workability, that + previously was not applied to all targets. +@item + Simpler statusline cleaning function, does not leading to whitespace + junk after long lines. +@item + Updated dependant libraries. +@end itemize + +@anchor{Release 1_3_0} +@section Release 1.3.0 +@itemize +@item + Experimental @command{redo-sources}, @command{redo-targets} and + @command{redo-ood} commands. +@item + Repetitive OOD determination optimization: pass all already known to + be OOD targets to redoing targets. +@end itemize + +@anchor{Release 1_2_0} +@section Release 1.2.0 +@itemize +@item + Dependency files @file{.dep} extension changed to @file{.rec}, to + reflect its recfile format nature and editors file type better + determination. +@item + Reduce number of file descriptors kept open (1 instead of 4) while + waiting for job slot token. +@end itemize + +@anchor{Release 1_1_0} +@section Release 1.1.0 +@itemize +@item + @command{redo-cleanup} has @option{-dry-run} option. +@end itemize + +@anchor{Release 1_0_0} +@section Release 1.0.0 +@itemize +@item + @code{Size} is stored in the state, for faster OOD detection. + Previous @command{goredo} state files won't work. +@item + Setting of @env{$REDO_INODE_NO_TRUST} environment variable brings no + trust to file inode's information (except for its size), forcing its + checksum checking. +@item + @command{redo-whichdo} resembles @code{apenwarr/redo}'s one behaviour more. +@end itemize + +@anchor{Release 0_12_3} +@section Release 0.12.3 +@itemize +@item + Use an updated @code{lukechampine.com/blake3} with possibly working + arm64 macOS fix. +@end itemize + +@anchor{Release 0_12_2} +@section Release 0.12.2 +@itemize +@item + Try to fix failing @code{lukechampine.com/blake3} on arm64 macOS. +@item + Fixed tests permissions in the tarball. +@end itemize + +@anchor{Release 0_12_1} +@section Release 0.12.1 +@itemize +@item + Tarball uses @file{vendor} directory without @env{$GOPATH} + overriding. @command{goredo} and its dependencies anyway uses Go + 1.12+ versions, that have @file{vendor}-ing support. +@end itemize + +@anchor{Release 0_12_0} @section Release 0.12.0 @itemize @item @@ -10,18 +344,18 @@ @option{-debug} option renamed to shorter @option{-d}. @end itemize -@anchor{Release 0.11.0} +@anchor{Release 0_11_0} @section Release 0.11.0 @itemize @item - Previously @env{REDO_JOBS} overrided even explicitly specified + Previously @env{$REDO_JOBS} overrided even explicitly specified @option{-j} option. Fix that behaviour -- command line options must precede environment variables. @item @url{https://github.com/BLAKE3-team/BLAKE3, BLAKE3} replaces BLAKE2b hashing algorithm for even better performance. @end itemize -@anchor{Release 0.10.0} +@anchor{Release 0_10_0} @section Release 0.10.0 @itemize @item Initial tarballed release.