]> Cypherpunks.ru repositories - nncp.git/blobdiff - doc/news.texi
Remove hdr/ files during ACK tossing
[nncp.git] / doc / news.texi
index 07359030c4580dc2c3a619859c18c9f8ede70297..4ed60a086029d425bc633b44d1fa7b5af30a503f 100644 (file)
 @node News
+@cindex news
 @unnumbered News
 
 See also this page @ref{Новости, on russian}.
 
-@menu
-* Release 7.3.1: Release 7_3_1.
-* Release 7.3.0: Release 7_3_0.
-* Release 7.2.1: Release 7_2_1.
-* Release 7.2.0: Release 7_2_0.
-* Release 7.1.1: Release 7_1_1.
-* Release 7.1.0: Release 7_1_0.
-* Release 7.0.0: Release 7_0_0.
-* Release 6.6.0: Release 6_6_0.
-* Release 6.5.0: Release 6_5_0.
-* Release 6.4.0: Release 6_4_0.
-* Release 6.3.0: Release 6_3_0.
-* Release 6.2.1: Release 6_2_1.
-* Release 6.2.0: Release 6_2_0.
-* Release 6.1.0: Release 6_1_0.
-* Release 6.0.0: Release 6_0_0.
-* Release 5.6.0: Release 5_6_0.
-* Release 5.5.1: Release 5_5_1.
-* Release 5.5.0: Release 5_5_0.
-* Release 5.4.1: Release 5_4_1.
-* Release 5.4.0: Release 5_4_0.
-* Release 5.3.3: Release 5_3_3.
-* Release 5.3.2: Release 5_3_2.
-* Release 5.3.1: Release 5_3_1.
-* Release 5.3.0: Release 5_3_0.
-* Release 5.2.1: Release 5_2_1.
-* Release 5.2.0: Release 5_2_0.
-* Release 5.1.2: Release 5_1_2.
-* Release 5.1.1: Release 5_1_1.
-* Release 5.1.0: Release 5_1_0.
-* Release 5.0.0: Release 5_0_0.
-* Release 4.1: Release 4_1.
-* Release 4.0: Release 4_0.
-* Release 3.4: Release 3_4.
-* Release 3.3: Release 3_3.
-* Release 3.2: Release 3_2.
-* Release 3.1: Release 3_1.
-* Release 3.0: Release 3_0.
-* Release 2.0: Release 2_0.
-* Release 1.0: Release 1_0.
-* Release 0.12: Release 0_12.
-* Release 0.11: Release 0_11.
-* Release 0.10: Release 0_10.
-* Release 0.9: Release 0_9.
-* Release 0.8: Release 0_8.
-* Release 0.7: Release 0_7.
-* Release 0.6: Release 0_6.
-* Release 0.5: Release 0_5.
-* Release 0.4: Release 0_4.
-* Release 0.3: Release 0_3.
-* Release 0.2: Release 0_2.
-@end menu
+@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
@@ -117,7 +332,7 @@ command.
 @itemize
 
 @item
-Fixed failing directories fsync after @file{.seen} file creation.
+Fixed failing directories @code{fsync} after @file{.seen} file creation.
 
 @end itemize
 
@@ -132,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}
-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.
@@ -347,7 +562,7 @@ second while it is active.
 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.
 
@@ -358,7 +573,7 @@ supports modules.
 @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
@@ -519,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
-Explicit directories fsync-ing for guaranteed files renaming.
+Explicit directories @code{fsync}-ing for guaranteed files renaming.
 
 @end itemize
 
@@ -546,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:
-@option{freq: @{path: ..., minsize: ..., chunked: ...@}}.
+@option{freq: @{path: @dots{}, minsize: @dots{}, chunked: @dots{}@}}.
 
 @item
 Added @option{freq.maxsize} configuration file option, forbidding of
@@ -721,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
-    @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
@@ -735,8 +950,8 @@ Chunked files, having size less than specified chunk size, will be sent
 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
@@ -812,7 +1027,7 @@ command line argument, or environment variable.
 @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