@node News
+@cindex news
@unnumbered News
+@anchor{Release 2_2_0}
+@section Release 2.2.0
+@itemize
+@item
+ Prefix target's output lines with the name of the target.
+@end itemize
+
+@anchor{Release 2_1_0}
+@section Release 2.1.0
+@itemize
+@item
+ Mistakenly path to @file{.do} file was not absolute and OS can
+ refuse to run it because it is not in @env{$PATH}.
+@end itemize
+
+@anchor{Release 2_0_0}
+@section Release 2.0.0
+@itemize
+@item
+ Huge quantity of performance optimisations.
+
+@item
+ Fixed possible unexpected lock file closing.
+
+@item
+ When resulting target has the same contents, it does not replace
+ already existing one. That was done previously. But now it also
+ copies the file's mode flags to the target (for example making it
+ executable).
+
+@item
+ If @command{redo-*} command runs under control of another
+ (top-level) redo, then it does not parse the flags as options and
+ treat each argument as a target, allowing passing the targets with
+ dashes in the beginning.
+
+@item
+ Prevented possible concurrent stderr writing by multiple running targets.
+
+@item
+ @command{redo-depfix} command now always rewrites dependency files
+ and calculates checksums of the files.
+
+@item
+ Own binary format is used for dependency files (@file{.dep}),
+ instead of recfile (@file{.rec}) one. It is several times smaller
+ and much faster to parse. You must run @command{redo-depfix} to
+ convert all existing @file{.redo/*.rec} files to that binary format.
+
+@item
+ @command{redo-dep2rec} command appeared, that can convert
+ @file{.dep} to recfile on stdout.
+
+@end itemize
+
+@anchor{Release 1_32_0}
+@section Release 1.32.0
+@itemize
+@item
+ Omit printing of the @code{resource deadlock avoided} warning when
+ trying to take the lock.
+@end itemize
+
+@anchor{Release 1_31_0}
+@section Release 1.31.0
+@itemize
+@item
+ Fixed possible race when target can be built more than once.
+@item
+ Print out finished targets much more quickly.
+@end itemize
+
+@anchor{Release 1_30_0}
+@section Release 1.30.0
+@itemize
+@item
+ Fixed wrong OOD-cache value of source file dependency.
+ Targets could be rebuilt without any reason.
+@end itemize
+
+@anchor{Release 1_29_0}
+@section Release 1.29.0
+@itemize
+@item
+ Fix possible error when two always-ed targets are run simultaneously.
+@item
+ Updated dependant libraries.
+@end itemize
+
+@anchor{Release 1_28_0}
+@section Release 1.28.0
+@itemize
+@item
+ Do not remove @file{.lock} files, that leads to possible races
+ between running targets. Although @command{nncp-cleanup lock}
+ can be used to cleanup.
+@item
+ Updated dependant libraries.
+@end itemize
+
+@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