X-Git-Url: http://www.git.cypherpunks.ru/?a=blobdiff_plain;f=doc%2Fnews.texi;h=7314d4efeb44e48f25b38c483ec32862f93995c4;hb=0fad171c0d79ad583c0faf5427e22d1d62a0a52d;hp=894a2efe2e9b9ebc4d8b9da5d4b86f1d7d4315fe;hpb=a5b336bbaed02701d0a9860783b52ee66e3ec236;p=nncp.git diff --git a/doc/news.texi b/doc/news.texi index 894a2ef..7314d4e 100644 --- a/doc/news.texi +++ b/doc/news.texi @@ -3,6 +3,284 @@ See also this page @ref{Новости, on russian}. +@node Release 7.0.0 +@section Release 7.0.0 +@itemize + +@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 +MultiCast Discovery uses +@verb{|ff02::4e4e:4350|} address instead of @verb{|ff02::1|}. + +@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 + +@item +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 @section Release 5.3.0 @itemize @@ -10,6 +288,27 @@ See also this page @ref{Новости, on russian}. @item Progress messages contain prefix, describing the running action. +@item +Fixed not occurring handshake messages padding. + +@item +Finish all SP protocol related goroutines, less memory leak. + +@item +SP protocol generates less socket write calls, thus generating less TCP +packets. + +@item +Check @option{onlinedeadline} and @option{maxonlinetime} options every +second, independently from socket reads (up to 10 seconds). + +@item +Once per minute, if no other traffic exists, PING packets are sent in +SP-connection. That allows faster determining of connection unworkability. + +@item +@command{nncp-toss} uses lock-file to prevent simultaneous tossing. + @end itemize @node Release 5.2.1 @@ -319,9 +618,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 @@ -383,8 +683,8 @@ option for unchunked transfer was not in KiBs, but in bytes. @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