X-Git-Url: http://www.git.cypherpunks.ru/?a=blobdiff_plain;f=doc%2Fnews.texi;h=3375cd45745422e961a08961dd176dc4aee83dc2;hb=65ac1674ff0f9bd99bb29b5b8b1dc596b06216ce;hp=92ff418e8ea842ea50e7e4b967b84ae2dd262561;hpb=622e37f1efb48a710f5bf68aaa059f594a7d4a8e;p=nncp.git diff --git a/doc/news.texi b/doc/news.texi index 92ff418..3375cd4 100644 --- a/doc/news.texi +++ b/doc/news.texi @@ -3,7 +3,422 @@ See also this page @ref{Новости, on russian}. -@node Release 5.3.1 +@menu +* 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 7_3_0 +@section Release 7.3.0 +@itemize + +@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 + +@item +Fixed segfault in @command{nncp-daemon} when SP handshake did not succeed. + +@item +Fixed possible bad return code ignoring in automatic tosser. + +@item +Fixed race during file descriptors closing when online protocol call is +finished, that could lead to write error of received packet fragment. + +@item +Kill all packet transmission progress bars in @command{nncp-daemon}, +@command{nncp-call} and @command{nncp-caller} when call is finished. + +@end itemize + +@node Release 6_4_0 +@section Release 6.4.0 +@itemize + +@item +Fixed possible race in online protocol, that lead to panic. + +@end itemize + +@node Release 6_3_0 +@section Release 6.3.0 +@itemize + +@item +Fixed possible panic while showing progress during online protocol. + +@end itemize + +@node Release 6_2_1 +@section Release 6.2.1 +@itemize + +@item +Three places in logs contained excess @code{%s}. + +@end itemize + +@node Release 6_2_0 +@section Release 6.2.0 +@itemize + +@item +Returned @command{nncp-caller}'s @option{-autotoss*} options workability. + +@item +Yet another logging refactoring and simplification. +Should be no visible differences to the end user. + +@end itemize + +@node Release 6_1_0 +@section Release 6.1.0 +@itemize + +@item +Optimization: most commands do not keep opened file descriptors now. +Previously you can exceed maximal number of opened files if you have got +many packets in the spool directory. + +@item +Optimization: do not close file descriptor of the file we download +online. Previously each chunk lead to expensive open/close calls. + +@item +Online downloaded files are saved with @file{.nock} (non-checksummed) +suffix, waiting either for @command{nncp-check}, or online daemons to +perform integrity check. + +@item +Optimization: files, that are not resumed, are checksummed immediately +during the online download, skipping @file{.nock}-intermediate step. + +@item +Ability to store encrypted packet's header in @file{.hdr} file, close to +the packet itself. That can greatly increase performance of packets +listing on filesystems with big block's size. + +@end itemize + +@node Release 6_0_0 +@section Release 6.0.0 +@itemize + +@item +Log uses human readable and easy machine parseable +@url{https://www.gnu.org/software/recutils/, recfile} format for the +records, instead of structured RFC 3339 lines. Old logs are not readable +by @command{nncp-log} anymore. + +@item +@option{-autotoss*} option workability with @command{nncp-daemon}'s +@option{-inetd} mode. + +@item +Call's @option{when-tx-exists} allows to make a call only when outbound +packets exists. Combined with seconds-aware cron expression that can be +used as some kind of auto dialler. + +@item +@command{nncp-cronexpr} command allows you to check validity and +expectations of specified cron expression. + +@end itemize + +@node Release 5_6_0 +@section Release 5.6.0 +@itemize + +@item +@option{-autotoss*} option runs tosser not after the call, but every +second while it is active. + +@item +@option{autotoss}, @option{autotoss-doseen}, +@option{autotoss-nofile}, @option{autotoss-nofreq}, +@option{autotoss-noexec}, @option{autotoss-notrns} options available in +@option{calls} configuration section. You can configure per-call +automatic tosser options. + +@item +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 +@section Release 5.5.1 +@itemize + +@item +Respect for @env{BINDIR}, @env{INFODIR} and @env{DOCDIR} environment +variables in @file{config} during installation. + +@end itemize + +@node Release 5_5_0 +@section Release 5.5.0 +@itemize + +@item +Bugfixes in @command{nncp-call(er)}/@command{nncp-daemon}, +@command{nncp-bundle} and @command{nncp-stat}. + +@item +@command{nncp-rm} has @option{-dryrun} and @option{-older} options now. + +@item +@command{nncp-exec} has @option{-use-tmp} and @option{-nocompress} +options now. Uncompressed packets are not compatible with previous NNCP +versions. + +@item +@command{nncp-call}, @command{nncp-caller} and @command{nncp-daemon} commands +have @option{-autotoss*} options for running tosser after call is ended. + +@item +Updated dependencies. Minimal required Go version is 1.12. + +@end itemize + +@node Release 5_4_1 +@section Release 5.4.1 +@itemize + +@item +Fixed @code{SENDMAIL} variable usage during the build. + +@end itemize + +@node Release 5_4_0 +@section Release 5.4.0 +@itemize + +@item +Updated dependencies. + +@item +Build system is moved from Makefiles to @url{http://cr.yp.to/redo.html, redo}. +This should not influence package maintainers, because minimal @command{redo} +implementation is included in tarball. + +@end itemize + +@node Release 5_3_3 +@section Release 5.3.3 +@itemize + +@item +More various error checks. + +@item +Updated dependencies. + +@end itemize + +@node Release 5_3_2 +@section Release 5.3.2 +@itemize + +@item +Fixed incorrect logic of @option{onlinedeadline} timeout, where +connection won't take into account incoming packets events and will +forcefully disconnect. + +@end itemize + +@node Release 5_3_1 @section Release 5.3.1 @itemize @@ -11,9 +426,13 @@ See also this page @ref{Новости, on russian}. Fixed @option{onlinedeadline} workability with call addresses that use external commands (@verb{#"|somecmd"#}). +@item +@command{nncp-stat} has @option{-pkt} option displaying information +about each packet in the spool. + @end itemize -@node Release 5.3.0 +@node Release 5_3_0 @section Release 5.3.0 @itemize @@ -43,7 +462,7 @@ SP-connection. That allows faster determining of connection unworkability. @end itemize -@node Release 5.2.1 +@node Release 5_2_1 @section Release 5.2.1 @itemize @@ -52,7 +471,7 @@ Fixed SP protocol error handling, sometimes causing program panic. @end itemize -@node Release 5.2.0 +@node Release 5_2_0 @section Release 5.2.0 @itemize @@ -70,7 +489,7 @@ Free disk space check during @command{nncp-bundle -rx} call. @end itemize -@node Release 5.1.2 +@node Release 5_1_2 @section Release 5.1.2 @itemize @@ -88,7 +507,7 @@ Explicit directories fsync-ing for guaranteed files renaming. @end itemize -@node Release 5.1.1 +@node Release 5_1_1 @section Release 5.1.1 @itemize @@ -97,7 +516,7 @@ Fixed workability of @command{nncp-file} with @option{-chunked 0} option. @end itemize -@node Release 5.1.0 +@node Release 5_1_0 @section Release 5.1.0 @itemize @@ -123,7 +542,7 @@ Ability to notify about successfully executed commands (exec) with @end itemize -@node Release 5.0.0 +@node Release 5_0_0 @section Release 5.0.0 @itemize @@ -171,13 +590,13 @@ Forbid any later GNU GPL version autousage @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 @@ -213,13 +632,13 @@ Begin using of @code{go.mod} subsystem. @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 @@ -249,7 +668,7 @@ for @command{nncp-file} from 196 to 224. @end itemize -@node Release 3.2 +@node Release 3_2 @section Release 3.2 @itemize @item @@ -261,14 +680,14 @@ inside. NNCP accidentally was dependant on that bug. Explicit adding of 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 @@ -321,7 +740,7 @@ off by specifying zero value. @end itemize -@node Release 2.0 +@node Release 2_0 @section Release 2.0 @itemize @@ -340,7 +759,7 @@ identical to BLAKE2). @end itemize -@node Release 1.0 +@node Release 1_0 @section Release 1.0 @itemize @@ -350,9 +769,10 @@ are not supported. @item @command{nncp-bundle} command can either create stream of encrypted -packets, or digest it. It is useful when dealing with stdin/stdout based -transmission methods (like writing to CD-ROM without intermediate -prepared ISO image and working with tape drives). +packets, or digest it. It is useful when dealing with +@code{stdin}/@code{stdout} based transmission methods (like writing to +CD-ROM without intermediate prepared ISO image and working with tape +drives). @item @command{nncp-toss} is able to create @file{.seen} files preventing @@ -373,19 +793,19 @@ command line argument, or environment variable. @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. @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 @@ -393,7 +813,7 @@ command line argument, or environment variable. @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 @@ -401,7 +821,7 @@ Fix @option{-rx}/@option{-tx} arguments processing in @command{nncp-call} command. They were ignored. @end itemize -@node Release 0.8 +@node Release 0_8 @section Release 0.8 @itemize @item @@ -409,13 +829,13 @@ Little bugfix in @command{nncp-file} command, where @option{-minsize} 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 @item -Ability to feed @command{nncp-file} from stdin, that uses an encrypted -temporary file for that. +Ability to feed @command{nncp-file} from @code{stdin}, that uses an +encrypted temporary file for that. @item Chunked files transmission appeared with corresponding @@ -449,14 +869,14 @@ Cryptographic libraries (dependencies) are updated. @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 @@ -464,7 +884,7 @@ Trivial small fix in default niceness level of @command{nncp-file} and @command{nncp-freq} commands. @end itemize -@node Release 0.4 +@node Release 0_4 @section Release 0.4 @itemize @@ -484,13 +904,13 @@ is useful during @command{nncp-xfer} usage. @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