See also this page @ref{Новости, on russian}.
-@node Release 6.5.0
+@node Release 8_0_0
+@section Release 8.0.0
+@itemize
+
+@item
+@strong{Incompatible} encrypted packet format change: payload and pad
+sizes are sent in-bound in the encrypted stream. That gives ability to
+streamingly create encrypted packets, without knowing sizes in advance,
+without creating temporary file or buffer data in memory.
+
+@item
+Proper encrypted packet padding verification is done now. This is not
+critical issue, but previously neither padding value, nor its size were
+authenticated, giving ability to iteratively strip trailing bytes and
+determine payload's size by observing the reaction of the encrypted
+packet processing.
+
+@item
+@command{nncp-exec} loses its @option{-use-tmp} option, because of
+streaming-compatible encrypted packets format.
+
+@item
+@command{nncp-file} and @command{nncp-exec} commands have
+@option{-maxsize} option, limiting maximal resulting encrypted packet's
+maximal size (returning error if it is exceeded). Could be useful,
+because no payload size could be known in advance.
+
+@end itemize
+
+@node Release 7_7_0
+@section Release 7.7.0
+@itemize
+
+@item
+Experimental @code{kqueue} and @code{inotify} based notifications
+support about spool directory changes, for reducing their often reading
+overhead.
+
+@item
+@file{.seen} and @file{.hdr} files moved to @file{seen/} and @file{hdr/}
+subdirectories, for faster scanning of spool directories.
+Current files migration required:
+
+@example
+$ find $NNCPSPOOL -type f -name "*.hdr" -exec rm @{@} +
+
+$ find $NNCPSPOOL -type d -name rx | while read rx ; do
+ cd $rx
+ mkdir -p seen
+ find . -type f -name "*.seen" | while read fn ; do
+ mv $fn seen/$@{fn%.seen@}
+ done
+done
+
+$ find $NNCPSPOOL -type d -name area | while read area ; do
+ find $area -type f -name "*.seen" | while read fn ; do
+ mv $fn $@{fn%.seen@}
+ done
+done
+@end example
+
+@end itemize
+
+@node Release 7_6_0
+@section Release 7.6.0
+@itemize
+
+@item
+Logging may be done to specified opened file descriptor
+(@env{$NNCPLOG=FD:5} for example).
+That is friendly to use under @command{daemontools}.
+
+@item
+Added additional checks of public keys existence in configuration file,
+preventing some commands from failing.
+
+@end itemize
+
+@node Release 7_5_1
+@section Release 7.5.1
+@itemize
+
+@item
+NNCP builds on NetBSD.
+
+@end itemize
+
+@node Release 7_5_0
+@section Release 7.5.0
+@itemize
+
+@item
+@command{nncp-daemon} is compatible with UCSPI-TCP interface, so log
+will contain remote side's address (when running under appropriate
+utility). @option{-ucspi} option should be used instead of @option{-inetd}.
+
+@item
+@command{nncp-call} can be UCSPI-TCP client, using @option{-ucspi} option.
+
+@item
+Do not exit if some of MCD network interfaces can not be listened --
+only warn about that.
+
+@end itemize
+
+@node Release 7_4_0
+@section Release 7.4.0
+@itemize
+
+@item
+Fixed simultaneous @command{nncp-daemon} and @command{nncp-caller} MCD work.
+
+@end itemize
+
+@node Release 7_3_2
+@section Release 7.3.2
+@itemize
+
+@item
+@command{hjson-cli} utility builds in vendor-mode now.
+
+@end itemize
+
+@node Release 7_3_1
+@section Release 7.3.1
+@itemize
+
+@item
+Fixed possibly left opened file descriptor in online commands.
+
+@item
+Severely decreased memory usage of MTH hashing.
+
+@end itemize
+
+@node Release 7_3_0
+@section Release 7.3.0
+@itemize
+
+@item
+Fixed some workability problems on 32-bit systems with big files.
+
+@item
+Ability to use directory with a bunch of files as a configuration.
+@command{nncp-cfgdir} command appeared.
+
+@end itemize
+
+@node Release 7_2_1
+@section Release 7.2.1
+@itemize
+
+@item
+Small optimizations in online commands.
+
+@end itemize
+
+@node Release 7_2_0
+@section Release 7.2.0
+@itemize
+
+@item
+@command{nncp-trns} command appeared for manual transition packets creation.
+
+@item
+If destination node of transitional packet has non empty @option{via}
+route, then do not ignore, but use it.
+
+@item
+Do not relay multicast packet to area message's originator, that
+obviously has seen its own packet.
+
+@item
+Much less memory usage during MTH hashing when offset is zero: when
+packet is not resumed, but for example checked with @command{nncp-check}
+command.
+
+@end itemize
+
+@node Release 7_1_1
+@section Release 7.1.1
+@itemize
+
+@item
+Fixed failing directories fsync after @file{.seen} file creation.
+
+@end itemize
+
+@node Release 7_1_0
+@section Release 7.1.0
+@itemize
+
+@item
+Multicasting areas feature appeared. Implemented merely by an additional
+plain packet type with @command{nncp-toss}, @command{nncp-file} and
+@command{nncp-exec} commands modification.
+
+@item
+Fixed workability of @command{nncp-file} and @command{nncp-exec}
+commands, that use temporary file (stdin and @option{-use-tmp}).
+
+@item
+Fixed disappearing bad return code in @command{nncp-exec} command.
+
+@item
+Fixed invalid @file{.hdr} generation when transitional packets are used.
+
+@item
+@option{-all} option appeared in @command{nncp-rm} command, applying to
+all the nodes at once.
+
+@item
+@option{-cycle} option appeared in @command{nncp-check} command, looping
+the check in infinite cycle.
+
+@item
+@command{nncp-rm} command can take node alias name.
+
+@item
+@command{nncp-pkt} can parse @file{.hdr} files.
+
+@end itemize
+
+@node Release 7_0_0
+@section Release 7.0.0
+@itemize
+
+@item
+Minimal required Go version 1.13.
+
+@item
+Merkle Tree-based Hashing with BLAKE3 (MTH) is used instead of BLAKE2b.
+Because of that, there are backward @strong{incompatible} changes of
+encrypted files (everything laying in the spool directory) and
+@file{.meta} files of chunked transfer.
+
+Current implementation is far from being optimal: it lacks
+parallelizable calculations and has higher memory consumption: nearly
+512 KiB for each 1 GiB of file's data. Future performance and memory
+size optimizations should not lead to packet's format change. But it is
+still several times faster than BLAKE2b.
+
+@item
+Resumed online downloads, because of MTH, require reading only of the
+preceding part of file, not the whole one as was before.
+
+@item
+@command{nncp-hash} utility appeared for calculating file's MTH hash.
+
+@item
+BLAKE2 KDF and XOF functions are replaced with BLAKE3 in encrypted
+packets. Lowering number of used primitives. Also, its encrypted
+packet's header is used as an associated data during encryption.
+
+@item
+MultiCast Discovery uses
+@verb{|ff02::4e4e:4350|} address instead of @verb{|ff02::1|}.
+
+@item
+@command{nncp-cfgenc} mistakenly asked passphrase three times during encryption.
+
+@item
+@command{nncp-stat} reports about partly downloaded packets.
+
+@item
+Updated dependencies.
+
+@end itemize
+
+@node Release 6_6_0
+@section Release 6.6.0
+@itemize
+
+@item
+@command{nncp-daemon}, @command{nncp-call} and @command{nncp-caller}
+commands wait for all background checksummers completion after
+connection is finished.
+
+@item
+Added possibility of address determining through multicast announcement
+in local area network, so called MCD (MultiCast Discovery).
+
+@end itemize
+
+@node Release 6_5_0
@section Release 6.5.0
@itemize
@end itemize
-@node Release 6.4.0
+@node Release 6_4_0
@section Release 6.4.0
@itemize
@end itemize
-@node Release 6.3.0
+@node Release 6_3_0
@section Release 6.3.0
@itemize
@end itemize
-@node Release 6.2.1
+@node Release 6_2_1
@section Release 6.2.1
@itemize
@end itemize
-@node Release 6.2.0
+@node Release 6_2_0
@section Release 6.2.0
@itemize
@end itemize
-@node Release 6.1.0
+@node Release 6_1_0
@section Release 6.1.0
@itemize
@end itemize
-@node Release 6.0.0
+@node Release 6_0_0
@section Release 6.0.0
@itemize
@end itemize
-@node Release 5.6.0
+@node Release 5_6_0
@section Release 5.6.0
@itemize
automatic tosser options.
@item
-Use vendoring, instead of @env{GOPATH} overriding during tarball
+Use vendoring, instead of @env{$GOPATH} overriding during tarball
installation, because current minimal Go's version is 1.12 and it
supports modules.
@end itemize
-@node Release 5.5.1
+@node Release 5_5_1
@section Release 5.5.1
@itemize
@item
-Respect for @env{BINDIR}, @env{INFODIR} and @env{DOCDIR} environment
+Respect for @env{$BINDIR}, @env{$INFODIR} and @env{$DOCDIR} environment
variables in @file{config} during installation.
@end itemize
-@node Release 5.5.0
+@node Release 5_5_0
@section Release 5.5.0
@itemize
@end itemize
-@node Release 5.4.1
+@node Release 5_4_1
@section Release 5.4.1
@itemize
@end itemize
-@node Release 5.4.0
+@node Release 5_4_0
@section Release 5.4.0
@itemize
@end itemize
-@node Release 5.3.3
+@node Release 5_3_3
@section Release 5.3.3
@itemize
@end itemize
-@node Release 5.3.2
+@node Release 5_3_2
@section Release 5.3.2
@itemize
@end itemize
-@node Release 5.3.1
+@node Release 5_3_1
@section Release 5.3.1
@itemize
@end itemize
-@node Release 5.3.0
+@node Release 5_3_0
@section Release 5.3.0
@itemize
@end itemize
-@node Release 5.2.1
+@node Release 5_2_1
@section Release 5.2.1
@itemize
@end itemize
-@node Release 5.2.0
+@node Release 5_2_0
@section Release 5.2.0
@itemize
@end itemize
-@node Release 5.1.2
+@node Release 5_1_2
@section Release 5.1.2
@itemize
@end itemize
-@node Release 5.1.1
+@node Release 5_1_1
@section Release 5.1.1
@itemize
@end itemize
-@node Release 5.1.0
+@node Release 5_1_0
@section Release 5.1.0
@itemize
@item
@option{freq}, @option{freqminsize}, @option{freqchunked} configuration
file options replaced with the structure:
-@option{freq: @{path: ..., minsize: ..., chunked: ...@}}.
+@option{freq: @{path: @dots{}, minsize: @dots{}, chunked: @dots{}@}}.
@item
Added @option{freq.maxsize} configuration file option, forbidding of
@end itemize
-@node Release 5.0.0
+@node Release 5_0_0
@section Release 5.0.0
@itemize
@end itemize
-@node Release 4.1
+@node Release 4_1
@section Release 4.1
@itemize
@item Workability on GNU/Linux systems and Go 1.10 is fixed.
@end itemize
-@node Release 4.0
+@node Release 4_0
@section Release 4.0
@itemize
@end itemize
-@node Release 3.4
+@node Release 3_4
@section Release 3.4
@itemize
@item @command{nncp-daemon} can be run as @command{inetd}-service.
@end itemize
-@node Release 3.3
+@node Release 3_3
@section Release 3.3
@itemize
@end itemize
-@node Release 3.2
+@node Release 3_2
@section Release 3.2
@itemize
@item
archives.
@end itemize
-@node Release 3.1
+@node Release 3_1
@section Release 3.1
@itemize
@item
Ability to disable relaying at all using @verb{|-via -|} command line option.
@end itemize
-@node Release 3.0
+@node Release 3_0
@section Release 3.0
@itemize
as an ordinary single file.
@item
-Exec commands are invoked with additional @env{NNCP_NICE} and
-@env{NNCP_SELF} environment variables.
+Exec commands are invoked with additional @env{$NNCP_NICE} and
+@env{$NNCP_SELF} environment variables.
@item
Files, that are sent as a reply to freq, have niceness level taken from
@end itemize
-@node Release 2.0
+@node Release 2_0
@section Release 2.0
@itemize
@end itemize
-@node Release 1.0
+@node Release 1_0
@section Release 1.0
@itemize
@end itemize
-@node Release 0.12
+@node Release 0_12
@section Release 0.12
@itemize
-@item Sendmail command is called with @env{NNCP_SENDER} environment variable.
+@item Sendmail command is called with @env{$NNCP_SENDER} environment variable.
@end itemize
-@node Release 0.11
+@node Release 0_11
@section Release 0.11
@itemize
@item @command{nncp-stat}'s command output is sorted by node name.
@end itemize
-@node Release 0.10
+@node Release 0_10
@section Release 0.10
@itemize
@item
@file{SRC} path's element will be used by default.
@end itemize
-@node Release 0.9
+@node Release 0_9
@section Release 0.9
@itemize
@item
@command{nncp-call} command. They were ignored.
@end itemize
-@node Release 0.8
+@node Release 0_8
@section Release 0.8
@itemize
@item
option for unchunked transfer was not in KiBs, but in bytes.
@end itemize
-@node Release 0.7
+@node Release 0_7
@section Release 0.7
@itemize
@end itemize
-@node Release 0.6
+@node Release 0_6
@section Release 0.6
@itemize
@item Small @command{nncp-rm} command appeared.
@item Cryptographic libraries (dependencies) are updated.
@end itemize
-@node Release 0.5
+@node Release 0_5
@section Release 0.5
@itemize
@item
and @command{nncp-freq} commands.
@end itemize
-@node Release 0.4
+@node Release 0_4
@section Release 0.4
@itemize
@end itemize
-@node Release 0.3
+@node Release 0_3
@section Release 0.3
@itemize
@item Fixed compatibility with Go 1.6.
@end itemize
-@node Release 0.2
+@node Release 0_2
@section Release 0.2
@itemize