]> Cypherpunks.ru repositories - nncp.git/blobdiff - doc/news.texi
Remove hdr/ files during ACK tossing
[nncp.git] / doc / news.texi
index ba822d2b08c58209b0f93522c21b8baa01f565bb..4ed60a086029d425bc633b44d1fa7b5af30a503f 100644 (file)
@@ -1,8 +1,310 @@
 @node News
 @node News
+@cindex news
 @unnumbered News
 
 See also this page @ref{Новости, on russian}.
 
 @unnumbered News
 
 See also this page @ref{Новости, on russian}.
 
+@node Release 8_7_0
+@section Release 8.7.0
+@itemize
+
+@item
+@command{nncp-ack} previously did not remove corresponding @file{hdr/} files.
+
+@end itemize
+
+@node Release 8_6_0
+@section Release 8.6.0
+@itemize
+
+@item
+@command{nncp-xfer} checks if locally copied packet's checksum differs
+from the source's one.
+
+@item
+@command{nncp-call} has bad return code if its queues contain unfinished jobs.
+
+@item
+@command{nncp-ack} command appeared, that sends explicit packet receipt
+acknowledgement (ACK packet). That acknowledgement deletes referenced
+packet from the outbound spool.
+
+@item
+Ability to turn @code{fsync} operation off using @env{$NNCPNOSYNC=1}
+environment variable.
+
+@item
+Added various indices in documentation, that should help searching in it.
+
+@end itemize
+
+@node Release 8_5_0
+@section Release 8.5.0
+@itemize
+
+@item
+Fixed @command{nncp-bundle} workability.
+
+@item
+Mistakenly @option{-mcd-wait} option was enabled by default in
+@command{nncp-call}.
+
+@item
+Ability to override internal default timeout for online protocol through
+@env{$NNCPDEADLINE} environment variable. Can be useful for very high
+delay links.
+
+@item
+NNCP builds on OpenBSD.
+
+@end itemize
+
+@node Release 8_4_0
+@section Release 8.4.0
+@itemize
+
+@item
+Multicast related interface names (@code{mcd-listen} and @code{mcd-send}
+configuration options) are now regular expressions. By default
+@command{nncp-cfgnew} uncomments them now with @code{.*} interface name.
+
+@item
+@command{nncp-call} command has @option{-mcd-wait} option to wait for
+multicast packet about node's address.
+
+@item
+@command{nncp-file} command skips everything that is neither regular
+file nor directory during pax-archive creation.
+
+@end itemize
+
+@node Release 8_3_0
+@section Release 8.3.0
+@itemize
+
+@item
+Fixed building issues on 32-bit systems.
+
+@end itemize
+
+@node Release 8_2_0
+@section Release 8.2.0
+@itemize
+
+@item
+Yggdrasil uses pure-Go IPv6+TCP network stack, instead of naked μTP
+transport protocol, making it able to work as an ordinary TCP server
+inside overlay network.
+
+@item
+Yggdrasil's @code{prv;bind1,bind2;pub@dots{}}-like configuration strings are
+replaced with URL-like ones (@code{yggdrasils://PRV?bind=BIND1&bind=BIND2&pub=PUB}).
+
+@item
+Ability to pass multicast-related parameters to Yggdrasil configuration.
+
+@item
+@command{nncp-daemon} is able to listen on both TCP and Yggdrasil-driven
+sockets simultaneously.
+
+@item
+@command{nncp-daemon}'s listening on peering endpoint socket is optional
+-- you can be reached through the peers.
+
+@end itemize
+
+@node Release 8_1_0
+@section Release 8.1.0
+@itemize
+
+@item
+@command{nncp-cfgdir} does not require @code{self} section existence in
+configuration file.
+
+@item
+Ability to act as Yggdrasil network client, using online protocol on top of it.
+
+@end itemize
+
+@node Release 8_0_2
+@section Release 8.0.2
+@itemize
+
+@item
+Fixed sending ability to areas.
+
+@end itemize
+
+@node Release 8_0_1
+@section Release 8.0.1
+@itemize
+
+@item
+Fixed incorrect @code{freq.chunked} value calculation. If it was missed,
+then chunked transfer mode was forcefully turned on anyway.
+
+@item
+Fixed incorrect full file's size calculation in @file{.nncp.meta}.
+
+@end itemize
+
+@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
 @node Release 7_2_0
 @section Release 7.2.0
 @itemize
@@ -18,6 +320,11 @@ route, then do not ignore, but use it.
 Do not relay multicast packet to area message's originator, that
 obviously has seen its own packet.
 
 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
 @end itemize
 
 @node Release 7_1_1
@@ -25,7 +332,7 @@ obviously has seen its own packet.
 @itemize
 
 @item
 @itemize
 
 @item
-Fixed failing directories fsync after @file{.seen} file creation.
+Fixed failing directories @code{fsync} after @file{.seen} file creation.
 
 @end itemize
 
 
 @end itemize
 
@@ -40,7 +347,7 @@ plain packet type with @command{nncp-toss}, @command{nncp-file} and
 
 @item
 Fixed workability of @command{nncp-file} and @command{nncp-exec}
 
 @item
 Fixed workability of @command{nncp-file} and @command{nncp-exec}
-commands, that use temporary file (stdin and @option{-use-tmp}).
+commands, that use temporary file (@code{stdin} and @option{-use-tmp}).
 
 @item
 Fixed disappearing bad return code in @command{nncp-exec} command.
 
 @item
 Fixed disappearing bad return code in @command{nncp-exec} command.
@@ -255,7 +562,7 @@ second while it is active.
 automatic tosser options.
 
 @item
 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.
 
 installation, because current minimal Go's version is 1.12 and it
 supports modules.
 
@@ -266,7 +573,7 @@ supports modules.
 @itemize
 
 @item
 @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
 variables in @file{config} during installation.
 
 @end itemize
@@ -427,7 +734,7 @@ Bugfix: private and public Noise keys were swapped in newly created
 configuration files, that lead to inability to authenticate online peers.
 
 @item
 configuration files, that lead to inability to authenticate online peers.
 
 @item
-Explicit directories fsync-ing for guaranteed files renaming.
+Explicit directories @code{fsync}-ing for guaranteed files renaming.
 
 @end itemize
 
 
 @end itemize
 
@@ -454,7 +761,7 @@ Free disk space is checked during outbound packets creation.
 @item
 @option{freq}, @option{freqminsize}, @option{freqchunked} configuration
 file options replaced with the structure:
 @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
 
 @item
 Added @option{freq.maxsize} configuration file option, forbidding of
@@ -629,8 +936,8 @@ option in configuration file and using @command{nncp-exec} command:
     you must use @verb{|nncp-exec NODE sendmail RECIPIENT|}.
     @item
     @option{sendmail} configuration file option is replaced with
     you must use @verb{|nncp-exec NODE sendmail RECIPIENT|}.
     @item
     @option{sendmail} configuration file option is replaced with
-    @option{exec}. @verb{|sendmail: [...]|} must be replaced with
-    @verb{|exec: sendmail: [...]|}.
+    @option{exec}. @code{sendmail: [@dots{}]} must be replaced with
+    @code{exec: sendmail: [@dots{}]}.
     @end itemize
 
 @item
     @end itemize
 
 @item
@@ -643,8 +950,8 @@ Chunked files, having size less than specified chunk size, will be sent
 as an ordinary single file.
 
 @item
 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
 
 @item
 Files, that are sent as a reply to freq, have niceness level taken from
@@ -720,7 +1027,7 @@ command line argument, or environment variable.
 @node Release 0_12
 @section Release 0.12
 @itemize
 @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
 @end itemize
 
 @node Release 0_11