]> Cypherpunks.ru repositories - nncp.git/blob - doc/news.texi
TREE_TRANSFORMATIONS can generate menus again
[nncp.git] / doc / news.texi
1 @node News
2 @unnumbered News
3
4 See also this page @ref{Новости, on russian}.
5
6 @node Release 7_3_2
7 @section Release 7.3.2
8 @itemize
9
10 @item
11 @command{hjson-cli} utility builds in vendor-mode now.
12
13 @end itemize
14
15 @node Release 7_3_1
16 @section Release 7.3.1
17 @itemize
18
19 @item
20 Fixed possibly left opened file descriptor in online commands.
21
22 @item
23 Severely decreased memory usage of MTH hashing.
24
25 @end itemize
26
27 @node Release 7_3_0
28 @section Release 7.3.0
29 @itemize
30
31 @item
32 Fixed some workability problems on 32-bit systems with big files.
33
34 @item
35 Ability to use directory with a bunch of files as a configuration.
36 @command{nncp-cfgdir} command appeared.
37
38 @end itemize
39
40 @node Release 7_2_1
41 @section Release 7.2.1
42 @itemize
43
44 @item
45 Small optimizations in online commands.
46
47 @end itemize
48
49 @node Release 7_2_0
50 @section Release 7.2.0
51 @itemize
52
53 @item
54 @command{nncp-trns} command appeared for manual transition packets creation.
55
56 @item
57 If destination node of transitional packet has non empty @option{via}
58 route, then do not ignore, but use it.
59
60 @item
61 Do not relay multicast packet to area message's originator, that
62 obviously has seen its own packet.
63
64 @item
65 Much less memory usage during MTH hashing when offset is zero: when
66 packet is not resumed, but for example checked with @command{nncp-check}
67 command.
68
69 @end itemize
70
71 @node Release 7_1_1
72 @section Release 7.1.1
73 @itemize
74
75 @item
76 Fixed failing directories fsync after @file{.seen} file creation.
77
78 @end itemize
79
80 @node Release 7_1_0
81 @section Release 7.1.0
82 @itemize
83
84 @item
85 Multicasting areas feature appeared. Implemented merely by an additional
86 plain packet type with @command{nncp-toss}, @command{nncp-file} and
87 @command{nncp-exec} commands modification.
88
89 @item
90 Fixed workability of @command{nncp-file} and @command{nncp-exec}
91 commands, that use temporary file (stdin and @option{-use-tmp}).
92
93 @item
94 Fixed disappearing bad return code in @command{nncp-exec} command.
95
96 @item
97 Fixed invalid @file{.hdr} generation when transitional packets are used.
98
99 @item
100 @option{-all} option appeared in @command{nncp-rm} command, applying to
101 all the nodes at once.
102
103 @item
104 @option{-cycle} option appeared in @command{nncp-check} command, looping
105 the check in infinite cycle.
106
107 @item
108 @command{nncp-rm} command can take node alias name.
109
110 @item
111 @command{nncp-pkt} can parse @file{.hdr} files.
112
113 @end itemize
114
115 @node Release 7_0_0
116 @section Release 7.0.0
117 @itemize
118
119 @item
120 Minimal required Go version 1.13.
121
122 @item
123 Merkle Tree-based Hashing with BLAKE3 (MTH) is used instead of BLAKE2b.
124 Because of that, there are backward @strong{incompatible} changes of
125 encrypted files (everything laying in the spool directory) and
126 @file{.meta} files of chunked transfer.
127
128 Current implementation is far from being optimal: it lacks
129 parallelizable calculations and has higher memory consumption: nearly
130 512 KiB for each 1 GiB of file's data. Future performance and memory
131 size optimizations should not lead to packet's format change. But it is
132 still several times faster than BLAKE2b.
133
134 @item
135 Resumed online downloads, because of MTH, require reading only of the
136 preceding part of file, not the whole one as was before.
137
138 @item
139 @command{nncp-hash} utility appeared for calculating file's MTH hash.
140
141 @item
142 BLAKE2 KDF and XOF functions are replaced with BLAKE3 in encrypted
143 packets. Lowering number of used primitives. Also, its encrypted
144 packet's header is used as an associated data during encryption.
145
146 @item
147 MultiCast Discovery uses
148 @verb{|ff02::4e4e:4350|} address instead of @verb{|ff02::1|}.
149
150 @item
151 @command{nncp-cfgenc} mistakenly asked passphrase three times during encryption.
152
153 @item
154 @command{nncp-stat} reports about partly downloaded packets.
155
156 @item
157 Updated dependencies.
158
159 @end itemize
160
161 @node Release 6_6_0
162 @section Release 6.6.0
163 @itemize
164
165 @item
166 @command{nncp-daemon}, @command{nncp-call} and @command{nncp-caller}
167 commands wait for all background checksummers completion after
168 connection is finished.
169
170 @item
171 Added possibility of address determining through multicast announcement
172 in local area network, so called MCD (MultiCast Discovery).
173
174 @end itemize
175
176 @node Release 6_5_0
177 @section Release 6.5.0
178 @itemize
179
180 @item
181 Fixed segfault in @command{nncp-daemon} when SP handshake did not succeed.
182
183 @item
184 Fixed possible bad return code ignoring in automatic tosser.
185
186 @item
187 Fixed race during file descriptors closing when online protocol call is
188 finished, that could lead to write error of received packet fragment.
189
190 @item
191 Kill all packet transmission progress bars in @command{nncp-daemon},
192 @command{nncp-call} and @command{nncp-caller} when call is finished.
193
194 @end itemize
195
196 @node Release 6_4_0
197 @section Release 6.4.0
198 @itemize
199
200 @item
201 Fixed possible race in online protocol, that lead to panic.
202
203 @end itemize
204
205 @node Release 6_3_0
206 @section Release 6.3.0
207 @itemize
208
209 @item
210 Fixed possible panic while showing progress during online protocol.
211
212 @end itemize
213
214 @node Release 6_2_1
215 @section Release 6.2.1
216 @itemize
217
218 @item
219 Three places in logs contained excess @code{%s}.
220
221 @end itemize
222
223 @node Release 6_2_0
224 @section Release 6.2.0
225 @itemize
226
227 @item
228 Returned @command{nncp-caller}'s @option{-autotoss*} options workability.
229
230 @item
231 Yet another logging refactoring and simplification.
232 Should be no visible differences to the end user.
233
234 @end itemize
235
236 @node Release 6_1_0
237 @section Release 6.1.0
238 @itemize
239
240 @item
241 Optimization: most commands do not keep opened file descriptors now.
242 Previously you can exceed maximal number of opened files if you have got
243 many packets in the spool directory.
244
245 @item
246 Optimization: do not close file descriptor of the file we download
247 online. Previously each chunk lead to expensive open/close calls.
248
249 @item
250 Online downloaded files are saved with @file{.nock} (non-checksummed)
251 suffix, waiting either for @command{nncp-check}, or online daemons to
252 perform integrity check.
253
254 @item
255 Optimization: files, that are not resumed, are checksummed immediately
256 during the online download, skipping @file{.nock}-intermediate step.
257
258 @item
259 Ability to store encrypted packet's header in @file{.hdr} file, close to
260 the packet itself. That can greatly increase performance of packets
261 listing on filesystems with big block's size.
262
263 @end itemize
264
265 @node Release 6_0_0
266 @section Release 6.0.0
267 @itemize
268
269 @item
270 Log uses human readable and easy machine parseable
271 @url{https://www.gnu.org/software/recutils/, recfile} format for the
272 records, instead of structured RFC 3339 lines. Old logs are not readable
273 by @command{nncp-log} anymore.
274
275 @item
276 @option{-autotoss*} option workability with @command{nncp-daemon}'s
277 @option{-inetd} mode.
278
279 @item
280 Call's @option{when-tx-exists} allows to make a call only when outbound
281 packets exists. Combined with seconds-aware cron expression that can be
282 used as some kind of auto dialler.
283
284 @item
285 @command{nncp-cronexpr} command allows you to check validity and
286 expectations of specified cron expression.
287
288 @end itemize
289
290 @node Release 5_6_0
291 @section Release 5.6.0
292 @itemize
293
294 @item
295 @option{-autotoss*} option runs tosser not after the call, but every
296 second while it is active.
297
298 @item
299 @option{autotoss}, @option{autotoss-doseen},
300 @option{autotoss-nofile}, @option{autotoss-nofreq},
301 @option{autotoss-noexec}, @option{autotoss-notrns} options available in
302 @option{calls} configuration section. You can configure per-call
303 automatic tosser options.
304
305 @item
306 Use vendoring, instead of @env{GOPATH} overriding during tarball
307 installation, because current minimal Go's version is 1.12 and it
308 supports modules.
309
310 @end itemize
311
312 @node Release 5_5_1
313 @section Release 5.5.1
314 @itemize
315
316 @item
317 Respect for @env{BINDIR}, @env{INFODIR} and @env{DOCDIR} environment
318 variables in @file{config} during installation.
319
320 @end itemize
321
322 @node Release 5_5_0
323 @section Release 5.5.0
324 @itemize
325
326 @item
327 Bugfixes in @command{nncp-call(er)}/@command{nncp-daemon},
328 @command{nncp-bundle} and @command{nncp-stat}.
329
330 @item
331 @command{nncp-rm} has @option{-dryrun} and @option{-older} options now.
332
333 @item
334 @command{nncp-exec} has @option{-use-tmp} and @option{-nocompress}
335 options now. Uncompressed packets are not compatible with previous NNCP
336 versions.
337
338 @item
339 @command{nncp-call}, @command{nncp-caller} and @command{nncp-daemon} commands
340 have @option{-autotoss*} options for running tosser after call is ended.
341
342 @item
343 Updated dependencies. Minimal required Go version is 1.12.
344
345 @end itemize
346
347 @node Release 5_4_1
348 @section Release 5.4.1
349 @itemize
350
351 @item
352 Fixed @code{SENDMAIL} variable usage during the build.
353
354 @end itemize
355
356 @node Release 5_4_0
357 @section Release 5.4.0
358 @itemize
359
360 @item
361 Updated dependencies.
362
363 @item
364 Build system is moved from Makefiles to @url{http://cr.yp.to/redo.html, redo}.
365 This should not influence package maintainers, because minimal @command{redo}
366 implementation is included in tarball.
367
368 @end itemize
369
370 @node Release 5_3_3
371 @section Release 5.3.3
372 @itemize
373
374 @item
375 More various error checks.
376
377 @item
378 Updated dependencies.
379
380 @end itemize
381
382 @node Release 5_3_2
383 @section Release 5.3.2
384 @itemize
385
386 @item
387 Fixed incorrect logic of @option{onlinedeadline} timeout, where
388 connection won't take into account incoming packets events and will
389 forcefully disconnect.
390
391 @end itemize
392
393 @node Release 5_3_1
394 @section Release 5.3.1
395 @itemize
396
397 @item
398 Fixed @option{onlinedeadline} workability with call addresses that use
399 external commands (@verb{#"|somecmd"#}).
400
401 @item
402 @command{nncp-stat} has @option{-pkt} option displaying information
403 about each packet in the spool.
404
405 @end itemize
406
407 @node Release 5_3_0
408 @section Release 5.3.0
409 @itemize
410
411 @item
412 Progress messages contain prefix, describing the running action.
413
414 @item
415 Fixed not occurring handshake messages padding.
416
417 @item
418 Finish all SP protocol related goroutines, less memory leak.
419
420 @item
421 SP protocol generates less socket write calls, thus generating less TCP
422 packets.
423
424 @item
425 Check @option{onlinedeadline} and @option{maxonlinetime} options every
426 second, independently from socket reads (up to 10 seconds).
427
428 @item
429 Once per minute, if no other traffic exists, PING packets are sent in
430 SP-connection. That allows faster determining of connection unworkability.
431
432 @item
433 @command{nncp-toss} uses lock-file to prevent simultaneous tossing.
434
435 @end itemize
436
437 @node Release 5_2_1
438 @section Release 5.2.1
439 @itemize
440
441 @item
442 Fixed SP protocol error handling, sometimes causing program panic.
443
444 @end itemize
445
446 @node Release 5_2_0
447 @section Release 5.2.0
448 @itemize
449
450 @item
451 Most commands by default show oneline operations progress.
452 @option{-progress}, @option{-noprogress} command line options,
453 @option{noprogress} configuration file option appeared.
454
455 @item
456 Fixed incorrect @command{nncp-check} command return code, that returned
457 bad code when everything is good.
458
459 @item
460 Free disk space check during @command{nncp-bundle -rx} call.
461
462 @end itemize
463
464 @node Release 5_1_2
465 @section Release 5.1.2
466 @itemize
467
468 @item
469 @strong{Critical} vulnerability: remote peers authentication could lead
470 to incorrect identification of remote side, allowing foreign encrypted
471 packets downloading.
472
473 @item
474 Bugfix: private and public Noise keys were swapped in newly created
475 configuration files, that lead to inability to authenticate online peers.
476
477 @item
478 Explicit directories fsync-ing for guaranteed files renaming.
479
480 @end itemize
481
482 @node Release 5_1_1
483 @section Release 5.1.1
484 @itemize
485
486 @item
487 Fixed workability of @command{nncp-file} with @option{-chunked 0} option.
488
489 @end itemize
490
491 @node Release 5_1_0
492 @section Release 5.1.0
493 @itemize
494
495 @item
496 @command{nncp-file} can send directories, automatically creating pax
497 archive on the fly.
498
499 @item
500 Free disk space is checked during outbound packets creation.
501
502 @item
503 @option{freq}, @option{freqminsize}, @option{freqchunked} configuration
504 file options replaced with the structure:
505 @option{freq: @{path: ..., minsize: ..., chunked: ...@}}.
506
507 @item
508 Added @option{freq.maxsize} configuration file option, forbidding of
509 freq sending larger than specified size.
510
511 @item
512 Ability to notify about successfully executed commands (exec) with
513 @option{notify.exec} configuration file option.
514
515 @end itemize
516
517 @node Release 5_0_0
518 @section Release 5.0.0
519 @itemize
520
521 @item
522 @strong{Incompatible} configuration file format change: YAML is
523 replaced with Hjson, due to its simplicity, without noticeable lack
524 of either functionality or convenience.
525
526 @item
527 @strong{Incompatible} plain packet format changes. Older versions are
528 not supported. @code{zlib} compression is replaced with
529 @code{Zstandard}, due to its speed and efficiency, despite library
530 version is not mature enough.
531
532 @item
533 Ability to call remote nodes via pipe call of external command, not only
534 through TCP.
535
536 @item
537 @command{nncp-cfgnew} generates configuration file with many
538 comments. @option{-nocomments} option can be used for an old
539 behaviour.
540
541 @item
542 Duplicate filenames have @file{.CTR} suffix, instead of @file{CTR}, to
543 avoid possible collisions with @file{.nncp.chunkCTR}.
544
545 @item
546 Ability to override process umask through configuration file option.
547
548 @item
549 Files and directories are created with 666/777 permissions by default,
550 allowing control with @command{umask}.
551
552 @item
553 Updated dependencies.
554
555 @item
556 Full usage of go modules for dependencies management
557 (@code{go.cypherpunks.ru/nncp/v5} namespace is used).
558
559 @item
560 Forbid any later GNU GPL version autousage
561 (project's licence now is GNU GPLv3-only).
562
563 @end itemize
564
565 @node Release 4_1
566 @section Release 4.1
567 @itemize
568 @item Workability on GNU/Linux systems and Go 1.10 is fixed.
569 @end itemize
570
571 @node Release 4_0
572 @section Release 4.0
573 @itemize
574
575 @item
576 @strong{Incompatible} encrypted and eblob packet format change: AEAD
577 encryption mode with 128 KiB blocks is used now, because previously
578 @command{nncp-toss} did not verify encrypted packet's MAC before feeding
579 decrypted data to external command. Older versions are not supported.
580
581 @item
582 Available free space checking before copying in @command{nncp-xfer},
583 @command{nncp-daemon}, @command{nncp-call(er)}.
584
585 @item
586 @command{nncp-call} has ability only to list packets on remote node,
587 without their transmission.
588
589 @item
590 @command{nncp-call} has ability to transfer only specified packets.
591
592 @item
593 Workability of @option{xxrate} preference in @option{calls}
594 configuration file section.
595
596 @item
597 Dependant libraries are updated.
598
599 @item
600 Minor bugfixes.
601
602 @item
603 Begin using of @code{go.mod} subsystem.
604
605 @end itemize
606
607 @node Release 3_4
608 @section Release 3.4
609 @itemize
610 @item @command{nncp-daemon} can be run as @command{inetd}-service.
611 @end itemize
612
613 @node Release 3_3
614 @section Release 3.3
615 @itemize
616
617 @item
618 @command{nncp-daemon}, @command{nncp-call}, @command{nncp-caller} check
619 if @file{.seen} exists and treat it like file was already downloaded.
620 Possibly it was transferred out-of-bound and remote side needs to be
621 notifier about that.
622
623 @item
624 If higher priority packet is spooled, then @command{nncp-daemon} will
625 queue its sending first, interrupting lower priority transmissions.
626
627 @item
628 Simple packet rate limiter added to online-related tools
629 (@command{nncp-daemon}, @command{nncp-call}, @command{nncp-caller}).
630
631 @item
632 Ability to specify niceness with symbolic notation:
633 @verb{|NORMAL|}, @verb{|BULK+10|}, @verb{|PRIORITY-5|}, etc.
634
635 @item
636 Changed default niceness levels:
637 for @command{nncp-exec} from 64 to 96,
638 for @command{nncp-freq} from 64 to 160,
639 for @command{nncp-file} from 196 to 224.
640
641 @end itemize
642
643 @node Release 3_2
644 @section Release 3.2
645 @itemize
646 @item
647 @strong{Incompatible} @emph{bundle} archive format changes and
648 @command{nncp-bundle} workability with Go 1.10+. Bundles must be
649 valid tar archives, but Go 1.9 made them invalid because of long paths
650 inside. NNCP accidentally was dependant on that bug. Explicit adding of
651 @file{NNCP/} directory in archive restores workability with valid tar
652 archives.
653 @end itemize
654
655 @node Release 3_1
656 @section Release 3.1
657 @itemize
658 @item
659 Ability to disable relaying at all using @verb{|-via -|} command line option.
660 @end itemize
661
662 @node Release 3_0
663 @section Release 3.0
664 @itemize
665
666 @item
667 @strong{Incompatible} plain packet format changes. Older versions are
668 not supported.
669
670 @item
671 Ability to queue remote command execution, by configuring @option{exec}
672 option in configuration file and using @command{nncp-exec} command:
673     @itemize
674     @item
675     @command{nncp-mail} command is replaced with more flexible
676     @command{nncp-exec}. Instead of @verb{|nncp-mail NODE RECIPIENT|}
677     you must use @verb{|nncp-exec NODE sendmail RECIPIENT|}.
678     @item
679     @option{sendmail} configuration file option is replaced with
680     @option{exec}. @verb{|sendmail: [...]|} must be replaced with
681     @verb{|exec: sendmail: [...]|}.
682     @end itemize
683
684 @item
685 Ability to override @option{via} configuration option for destination
686 node via @option{-via} command line option for following commands:
687 @command{nncp-file}, @command{nncp-freq}, @command{nncp-exec}.
688
689 @item
690 Chunked files, having size less than specified chunk size, will be sent
691 as an ordinary single file.
692
693 @item
694 Exec commands are invoked with additional @env{NNCP_NICE} and
695 @env{NNCP_SELF} environment variables.
696
697 @item
698 Files, that are sent as a reply to freq, have niceness level taken from
699 the freq packet. You can set desired niceness during @command{nncp-freq}
700 invocation using @option{-replynice} option.
701
702 @item
703 @command{nncp-toss} command can ignore specified packet types during
704 processing: @option{-nofile}, @option{-nofreq}, @option{-noexec},
705 @option{-notrns}.
706
707 @item
708 @command{nncp-file} command uses
709 @option{FreqMinSize}/@option{FreqChunked} configuration file options
710 for @option{-minsize}/@option{-chunked} by default. You can turn this
711 off by specifying zero value.
712
713 @end itemize
714
715 @node Release 2_0
716 @section Release 2.0
717 @itemize
718
719 @item
720 @strong{Incompatible} encrypted/eblob packet format changes. Older
721 versions are not supported.
722
723 @item
724 Twofish encryption algorithm is replaced with ChaCha20. It is much more
725 faster. One cryptographic primitive less.
726
727 @item
728 HKDF-BLAKE2b-256 KDF algorithm is replaced with BLAKE2Xb XOF. Yet
729 another cryptographic primitive less (assuming that BLAKE2X is nearly
730 identical to BLAKE2).
731
732 @end itemize
733
734 @node Release 1_0
735 @section Release 1.0
736 @itemize
737
738 @item
739 @strong{Incompatible} encrypted packet format changes. Older versions
740 are not supported.
741
742 @item
743 @command{nncp-bundle} command can either create stream of encrypted
744 packets, or digest it. It is useful when dealing with
745 @code{stdin}/@code{stdout} based transmission methods (like writing to
746 CD-ROM without intermediate prepared ISO image and working with tape
747 drives).
748
749 @item
750 @command{nncp-toss} is able to create @file{.seen} files preventing
751 duplicate packets receiving.
752
753 @item
754 Single background checksum verifier worker is allowed in
755 @command{nncp-call}. This is helpful when thousands of small inbound
756 packets could create many goroutines.
757
758 @item
759 Ability to override path to spool directory and logfile through either
760 command line argument, or environment variable.
761
762 @item
763 @command{nncp-rm} is able to delete outbound/inbound, @file{.seen},
764 @file{.part}, @file{.lock} and temporary files.
765
766 @end itemize
767
768 @node Release 0_12
769 @section Release 0.12
770 @itemize
771 @item Sendmail command is called with @env{NNCP_SENDER} environment variable.
772 @end itemize
773
774 @node Release 0_11
775 @section Release 0.11
776 @itemize
777 @item @command{nncp-stat}'s command output is sorted by node name.
778 @end itemize
779
780 @node Release 0_10
781 @section Release 0.10
782 @itemize
783 @item
784 @command{nncp-freq}'s @file{DST} argument is optional now. Last
785 @file{SRC} path's element will be used by default.
786 @end itemize
787
788 @node Release 0_9
789 @section Release 0.9
790 @itemize
791 @item
792 Fix @option{-rx}/@option{-tx} arguments processing in
793 @command{nncp-call} command. They were ignored.
794 @end itemize
795
796 @node Release 0_8
797 @section Release 0.8
798 @itemize
799 @item
800 Little bugfix in @command{nncp-file} command, where @option{-minsize}
801 option for unchunked transfer was not in KiBs, but in bytes.
802 @end itemize
803
804 @node Release 0_7
805 @section Release 0.7
806 @itemize
807
808 @item
809 Ability to feed @command{nncp-file} from @code{stdin}, that uses an
810 encrypted temporary file for that.
811
812 @item
813 Chunked files transmission appeared with corresponding
814 @command{nncp-reass} command and @option{freqchunked} configuration file
815 entry. Useful for transferring big files over small storage devices.
816
817 @item
818 @option{freqminsize} configuration file option, analogue to
819 @option{-minsize} one.
820
821 @item
822 @command{nncp-xfer}'s @option{-force} option is renamed to
823 @option{-mkdir} for clarity.
824
825 @item
826 @option{-minsize} option is specified in KiBs, not bytes, for
827 convenience.
828
829 @item
830 @command{nncp-newcfg} command is renamed to @command{nncp-cfgnew},
831 and @command{nncp-mincfg} to @command{nncp-cfgmin} -- now they have
832 common prefix and are grouped together for convenience.
833
834 @item
835 @command{nncp-cfgenc} command appeared, allowing configuration file
836 encryption/decryption, for keeping it safe without any either OpenPGP or
837 similar tools usage.
838
839 @item
840 Cryptographic libraries (dependencies) are updated.
841
842 @end itemize
843
844 @node Release 0_6
845 @section Release 0.6
846 @itemize
847 @item Small @command{nncp-rm} command appeared.
848 @item Cryptographic libraries (dependencies) are updated.
849 @end itemize
850
851 @node Release 0_5
852 @section Release 0.5
853 @itemize
854 @item
855 Trivial small fix in default niceness level of @command{nncp-file}
856 and @command{nncp-freq} commands.
857 @end itemize
858
859 @node Release 0_4
860 @section Release 0.4
861 @itemize
862
863 @item
864 Small fix in @command{nncp-call}, @command{nncp-caller},
865 @command{nncp-daemon}: they can segmentation fail sometimes (no data is
866 lost).
867
868 @item
869 @command{nncp-newnode} renamed to @command{nncp-newcfg} -- it is shorter
870 and more convenient to use.
871
872 @item
873 @command{nncp-mincfg} command appeared: helper allowing to create
874 minimalistic stripped down configuration file without private keys, that
875 is useful during @command{nncp-xfer} usage.
876
877 @end itemize
878
879 @node Release 0_3
880 @section Release 0.3
881 @itemize
882 @item Fixed compatibility with Go 1.6.
883 @end itemize
884
885 @node Release 0_2
886 @section Release 0.2
887 @itemize
888
889 @item
890 @strong{Incompatible} packet's format change (magic number is changed
891 too): size field is encrypted and is not send in plaintext anymore.
892
893 @item
894 @option{-minsize} option gives ability to automatically pad outgoing
895 packets to specified minimal size.
896
897 @item
898 @command{nncp-daemon} and @command{nncp-call}/@command{nncp-caller}
899 always check new @emph{tx} packets appearance in the background while
900 connected. Remote side is immediately notified.
901
902 @item
903 @option{-onlinedeadline} option gives ability to configure timeout of
904 inactivity of online connection, when it could be disconnected. It could
905 be used to keep connection alive for a long time.
906
907 @item
908 @option{-maxonlinetime} option gives ability to set maximal allowable
909 online connection aliveness time.
910
911 @item
912 @command{nncp-caller} command appeared: cron-ed TCP daemon caller.
913
914 @item
915 @command{nncp-pkt} command can decompress the data.
916
917 @end itemize