]> Cypherpunks.ru repositories - nncp.git/blob - doc/news.ru.texi
nncp-check -cycle
[nncp.git] / doc / news.ru.texi
1 @node Новости
2 @section Новости
3
4 @node Релиз 7.1.0
5 @subsection Релиз 7.1.0
6 @itemize
7
8 @item
9 Исправлена работоспособность @command{nncp-file} и @command{nncp-exec}
10 команд использующих временный файл (stdin и @option{-use-tmp}).
11
12 @item
13 Исправлен пропадающий плохой код возврата в @command{nncp-exec} команде.
14
15 @item
16 Исправлено некорректное генерирование @file{.hdr} при использовании
17 транзитных пакетов.
18
19 @item
20 У @command{nncp-rm} команды появилась @option{-all} опция, применяемая
21 ко всем нодам сразу.
22
23 @item
24 У @command{nncp-check} команды появилась @option{-cycle} опция, вводящая
25 проверку в бесконечный цикл.
26
27 @item
28 @command{nncp-pkt} может парсить @file{.hdr} файлы.
29
30 @item
31 Появилась возможность мультивещательной (multicast) рассылки пакетов.
32 Реализовано всего лишь дополнительным типом простых пакетов и изменением
33 @command{nncp-toss}, @command{nncp-file} и @command{nncp-exec} команд.
34
35 @end itemize
36
37 @node Релиз 7.0.0
38 @subsection Релиз 7.0.0
39 @itemize
40
41 @item
42 Минимальная требуемая версия Go 1.13.
43
44 @item
45 Хэширование с BLAKE3 на базе деревьев Меркле (Merkle Tree Hashing, MTH)
46 используется вместо BLAKE2b. Из-за этого, обратно @strong{несовместимое}
47 изменение формата шифрованных файлов (всего что находится в spool
48 области) и формата @file{.meta} файла при chunked передаче.
49
50 Текущая реализация далека от оптимальной: в ней нет распараллеливания
51 вычислений и имеет повышенное потребление памяти: около 512 KiB на
52 каждый 1 GiB данных файла. Будущая оптимизация производительности и
53 потребления памяти не должна привести к изменению формата пакетов. Но
54 это всё равно в несколько раз быстрее BLAKE2b.
55
56 @item
57 Из-за использования MTH, докачиваемые в online режиме файлы потребуют
58 чтения с диска только предшествующей части, а не полностью всего файла,
59 как было прежде.
60
61 @item
62 Добавлена @command{nncp-hash} утилита для вычисления MTH хэша файла.
63
64 @item
65 В шифрованных пакетах BLAKE2 KDF и XOF функции заменены на BLAKE3. Ещё
66 уменьшая количество примитивов. А также заголовок шифрованного файла
67 теперь является ассоциированными данными при шифровании.
68
69 @item
70 MultiCast Discovery использует
71 @verb{|ff02::4e4e:4350|} адрес вместо @verb{|ff02::1|}.
72
73 @item
74 @command{nncp-cfgenc} ошибочно трижды спрашивал парольную фразу при шифровании.
75
76 @item
77 @command{nncp-stat} выводит сводку о частично скачанных пакетах.
78
79 @item
80 Обновлены зависимые библиотеки.
81
82 @end itemize
83
84 @node Релиз 6.6.0
85 @subsection Релиз 6.6.0
86 @itemize
87
88 @item
89 @command{nncp-daemon}, @command{nncp-call} и @command{nncp-caller}
90 ожидают завершения всех процессов фоновой проверки контрольных сумм,
91 после того как соединение закрыто.
92
93 @item
94 Добавлена возможность определения адреса через multicast оповещение в
95 локальной сети, так называемый MCD (MultiCast Discovery).
96
97 @end itemize
98
99 @node Релиз 6.5.0
100 @subsection Релиз 6.5.0
101 @itemize
102
103 @item
104 Исправлено падение в @command{nncp-daemon} когда SP рукопожатие не было успешно.
105
106 @item
107 Исправлено возможное игнорирование плохого кода возврата автоматического tosser.
108
109 @item
110 Исправлена гонка при закрытии файловых дескрипторов во время завершения
111 работы online протокола, которая могла привести к ошибке записи
112 принятого фрагмента пакета.
113
114 @item
115 Убирать показ прогресса передачи пакетов когда вызов уже завершён в
116 @command{nncp-daemon}, @command{nncp-call} и @command{nncp-caller}.
117
118 @end itemize
119
120 @node Релиз 6.4.0
121 @subsection Релиз 6.4.0
122 @itemize
123
124 @item
125 Исправлена возможная гонка в online протоколе, приводящая к падению
126 программы.
127
128 @end itemize
129
130 @node Релиз 6.3.0
131 @subsection Релиз 6.3.0
132 @itemize
133
134 @item
135 Исправлено возможное падение программы во время показа прогресса online
136 протокола.
137
138 @end itemize
139
140 @node Релиз 6.2.1
141 @subsection Релиз 6.2.1
142 @itemize
143
144 @item
145 В трёх местах сообщений журналов по ошибке остались лишние @code{%s}.
146
147 @end itemize
148
149 @node Релиз 6.2.0
150 @subsection Релиз 6.2.0
151 @itemize
152
153 @item
154 Возвращена работоспособность @option{-autotoss*} опций @command{nncp-caller}.
155
156 @item
157 Очередной рефакторинг и упрощение системы журналирования.
158 Не должно быть видимых изменений для конечного пользователя.
159
160 @end itemize
161
162 @node Релиз 6.1.0
163 @subsection Релиз 6.1.0
164 @itemize
165
166 @item
167 Оптимизация: большинство команд теперь не держат открытыми файловые
168 дескрипторы. Прежде вы легко могли выйти за пределы максимально
169 допустимого количества открытых файлов, если у вас было много пакетов в
170 spool директории.
171
172 @item
173 Оптимизация: не закрывать файловый дескриптор файла который мы качаем.
174 Прежде каждый его кусочек приводил к дорогим open/close вызовам.
175
176 @item
177 Скачиваемые в режиме online файлы теперь сохраняются с @file{.nock}
178 суффиксом (non-checksummed), ожидая пока либо @command{nncp-check}, либо
179 online демоны не выполнят проверку целостности.
180
181 @item
182 Оптимизация: для файлов, скачивание которых не было продолжено, сразу же
183 вычисляет контрольная сумма, пропуская промежуточный @file{.nock} шаг.
184
185 @item
186 Возможность хранения заголовков зашифрованных пакетов в @file{.hdr}
187 файлах, рядом с самими пакетами. Это может существенно повысить скорость
188 получения списка пакетов на файловых системах с большим размером блока.
189
190 @end itemize
191
192 @node Релиз 6.0.0
193 @subsection Релиз 6.0.0
194 @itemize
195
196 @item
197 Журнал использует человеко-читаемый и легко обрабатываемый машиной
198 @url{https://www.gnu.org/software/recutils/, recfile} формат для своих
199 записей, вместо структурированных строчек RFC 3339. Старый формат
200 журналов не поддерживается @command{nncp-log}.
201
202 @item
203 Работоспособность @option{-autotoss*} опции с @option{-inetd} режимом
204 @command{nncp-daemon}.
205
206 @item
207 @option{when-tx-exists} опция вызова в конфигурационном файле позволяет
208 делать вызов только если имеются исходящие сообщения. Совмещённая с cron
209 выражением содержащим секунды, это можно использовать как возможность
210 вызова только при появлении исходящих пакетов.
211
212 @item
213 @command{nncp-cronexpr} команда позволяет проверить корректность и
214 ожидаемый результат от указанного cron выражения.
215
216 @end itemize
217
218 @node Релиз 5.6.0
219 @subsection Релиз 5.6.0
220 @itemize
221
222 @item
223 @option{-autotoss*} опции запускают tosser не после завершения вызова, а
224 во время него ежесекундно.
225
226 @item
227 В @option{calls} секции конфигурации появились опции
228 @option{autotoss}, @option{autotoss-doseen},
229 @option{autotoss-nofile}, @option{autotoss-nofreq},
230 @option{autotoss-noexec}, @option{autotoss-notrns}.
231 Вы можете настраивать опции автоматического tosser для каждого вызова.
232
233 @item
234 Использовать vendoring вместо переопределения @env{GOPATH} во время
235 установки tarball, так как текущая минимальная версия Go это 1.12,
236 поддерживающая модули.
237
238 @end itemize
239
240 @node Релиз 5.5.1
241 @subsection Релиз 5.5.1
242 @itemize
243
244 @item
245 Уважать @env{BINDIR}, @env{INFODIR} и @env{DOCDIR} переменные окружения
246 в @file{config} во время установки.
247
248 @end itemize
249
250 @node Релиз 5.5.0
251 @subsection Релиз 5.5.0
252 @itemize
253
254 @item
255 Исправления ошибок в @command{nncp-call(er)}/@command{nncp-daemon},
256 @command{nncp-bundle}, @command{nncp-stat} командах.
257
258 @item
259 У команды @command{nncp-rm} появились @option{-dryrun} и @option{-older} опции.
260
261 @item
262 У команды @command{nncp-exec} появились @option{-use-tmp} и
263 @option{-nocompress} опции. Несжатые пакеты не совместимы с предыдущими
264 версиями NNCP.
265
266 @item
267 У команд @command{nncp-call}, @command{nncp-caller} и @command{nncp-daemon}
268 появились @option{-autotoss*} опции для запуска tosser после завершения звонка.
269
270 @item
271 Обновлены зависимые библиотеки. Минимальная требуемая версия Go 1.12.
272
273 @end itemize
274
275 @node Релиз 5.4.1
276 @subsection Релиз 5.4.1
277 @itemize
278
279 @item
280 Исправлена ошибка с учётом @code{SENDMAIL} переменной при сборке.
281
282 @end itemize
283
284 @node Релиз 5.4.0
285 @subsection Релиз 5.4.0
286 @itemize
287
288 @item
289 Обновлены зависимые библиотеки.
290
291 @item
292 Система сборки переведена с Makefile-ов на @url{http://cr.yp.to/redo.html, redo}.
293 Это не должно повлиять на мейнтейнеров пакетов, так как минимальная
294 реализация @command{redo} включена в tarball.
295
296 @end itemize
297
298 @node Релиз 5.3.3
299 @subsection Релиз 5.3.3
300 @itemize
301
302 @item
303 Больше различных проверок в коде на ошибки.
304
305 @item
306 Обновлены зависимые библиотеки.
307
308 @end itemize
309
310 @node Релиз 5.3.2
311 @subsection Релиз 5.3.2
312 @itemize
313
314 @item
315 Исправлена некорректная логика @option{onlinedeadline} timeout-а, при
316 котором соединение могло не учитывать факты прихода пакетов и обрывать
317 связь.
318
319 @end itemize
320
321 @node Релиз 5.3.1
322 @subsection Релиз 5.3.1
323 @itemize
324
325 @item
326 Исправлена работоспособность @option{onlinedeadline} с адресами вызова
327 использующими внешние команды (@verb{#"|somecmd"#}).
328
329 @item
330 @command{nncp-stat} имеет опцию @option{-pkt} показывающую информацию по
331 каждому пакету в spool.
332
333 @end itemize
334
335 @node Релиз 5.3.0
336 @subsection Релиз 5.3.0
337 @itemize
338
339 @item
340 Сообщения прогресса содержат префикс, поясняющий выполняемое действие.
341
342 @item
343 Исправлено не происходящее дополнение (padding) handshake сообщений.
344
345 @item
346 Завершать все порождаемые в SP протоколе горутины, меньше утечек памяти.
347
348 @item
349 SP протокол порождает меньше вызовов записей (соответственно, и TCP
350 пакетов) в сокет.
351
352 @item
353 Проверять @option{onlinedeadline} и @option{maxonlinetime} ежесекундно,
354 независимо от чтения из сокета (раз в 10 секунд в худшем случае).
355
356 @item
357 Раз в минуту, если нет более никакого другого трафика, посылаются PING
358 пакеты в SP-соединении. Это позволит быстрее понимать что соединение
359 более не работоспособно.
360
361 @item
362 @command{nncp-toss} использует lock-file для предотвращения
363 одновременной обработки зашифрованных пакетов.
364
365 @end itemize
366
367 @node Релиз 5.2.1
368 @subsection Релиз 5.2.1
369 @itemize
370
371 @item
372 Исправлена обработка ошибки SP протокола, иногда вызывающая панику программы.
373
374 @end itemize
375
376 @node Релиз 5.2.0
377 @subsection Релиз 5.2.0
378 @itemize
379
380 @item
381 Большинство команд по умолчанию показывают однострочный прогресс
382 выполнения операции. Появились @option{-progress}, @option{-noprogress}
383 опции командной строки, @option{noprogress} опция конфигурационного
384 файла.
385
386 @item
387 Исправлен некорректный код возврата @command{nncp-check} команды,
388 который возвращал ошибку когда всё хорошо.
389
390 @item
391 Проверка свободного места для пакетов, во время выполнения
392 @command{nncp-bundle -rx}.
393
394 @end itemize
395
396 @node Релиз 5.1.2
397 @subsection Релиз 5.1.2
398 @itemize
399
400 @item
401 Исправлена @strong{критичная} уязвимость: аутентификация online нод
402 могла приводить к некорректной идентификации удалённой стороны, позволяя
403 скачивать чужие зашифрованные пакеты.
404
405 @item
406 Исправлена ошибка: в новосозданных конфигурационных файлах, приватный
407 публичный ключ Noise были поменяны местами, что приводило к
408 невозможности online аутентификации нод.
409
410 @item
411 Явная синхронизация (fsync) директорий для гарантированного
412 переименования файлов.
413
414 @end itemize
415
416 @node Релиз 5.1.1
417 @subsection Релиз 5.1.1
418 @itemize
419
420 @item
421 Исправлена работоспособность @command{nncp-file} с @option{-chunked 0} опцией.
422
423 @end itemize
424
425 @node Релиз 5.1.0
426 @subsection Релиз 5.1.0
427 @itemize
428
429 @item
430 @command{nncp-file} может отправлять директории, автоматически на лету
431 создавая pax архив.
432
433 @item
434 Во время создания исходящих сообщений проверяется наличие свободного
435 места на файловой системе.
436
437 @item
438 @option{freq}, @option{freqminsize}, @option{freqchunked} опции
439 конфигурационного файла заменены на структуру
440 @option{freq: @{path: ..., minsize: ..., chunked: ...@}}.
441
442 @item
443 Добавлена @option{freq.maxsize} опция конфигурационного файл,
444 запрещающая ответ на файловый запрос больше заданного размера.
445
446 @item
447 Возможность оповещения об успешно выполненных командах (exec) через
448 @option{notify.exec} опцию конфигурационного файла.
449
450 @end itemize
451
452 @node Релиз 5.0.0
453 @subsection Релиз 5.0.0
454 @itemize
455
456 @item
457 @strong{Несовместимое} изменение формата конфигурационного файла:
458 YAML заменён на Hjson, из-за его гораздо большей простоты, без
459 заметной потери функционала и удобства.
460
461 @item
462 @strong{Несовместимое} изменение формата простых пакетов. Работа со
463 старыми версиями не поддерживается. @code{zlib} сжатие заменено на
464 @code{Zstandard}, так как оно значительно быстрее и эффективнее, не
465 смотря на то, что версия библиотеки ещё не проверена временем.
466
467 @item
468 Возможность соединяться с удалёнными нодами не только по TCP, но и через
469 pipe вызов сторонней команды.
470
471 @item
472 @command{nncp-cfgnew} генерирует конфигурационный файл с множеством
473 комментариев. Можно использовать @option{-nocomments} опцию для старого
474 поведения.
475
476 @item
477 Дубликаты имён файлов имеют суффикс @file{.CTR}, вместо @file{CTR},
478 чтобы избежать возможных коллизий с @file{.nncp.chunkCTR}.
479
480 @item
481 Возможность переопределить umask процесса через опцию конфигурационного
482 файла.
483
484 @item
485 По умолчанию файлы и директории создаются с 666/777 правами доступа,
486 позволяя управлять ими @command{umask}-ом.
487
488 @item
489 Обновлены зависимости.
490
491 @item
492 Полное использование go модулей для управления зависимостями
493 (используется @code{go.cypherpunks.ru/nncp/v5} namespace).
494
495 @item
496 Отмена автоматического использования более новых версий GNU GPL
497 (лицензия проекта GNU GPLv3-только).
498
499 @end itemize
500
501 @node Релиз 4.1
502 @subsection Релиз 4.1
503 @itemize
504 @item Восстановлена работоспособность на GNU/Linux системах и Go версии 1.10.
505 @end itemize
506
507 @node Релиз 4.0
508 @subsection Релиз 4.0
509 @itemize
510
511 @item
512 @strong{Несовместимое} изменение формата зашифрованных и eblob пакетов:
513 используется AEAD режим шифрования с 128 КиБ блоками, так как раньше
514 @command{nncp-toss} не проверял MAC зашифрованного пакета прежде чем
515 отсылать дешифрованные данные внешней команде. Старые версии не
516 поддерживаются.
517
518 @item
519 Проверка доступного места перед копированием во время работы
520 @command{nncp-xfer}, @command{nncp-daemon}, @command{nncp-call(er)}.
521
522 @item
523 @command{nncp-call} имеет возможность только показывать список пакетов
524 на удалённой машине, без их передачи.
525
526 @item
527 @command{nncp-call} имеет возможность передавать только чётко указанные пакеты.
528
529 @item
530 Восстановлена работоспособность @option{xxrate} настройки в
531 @option{calls} секции конфигурационного файла.
532
533 @item
534 Зависимые библиотеки обновлены.
535
536 @item
537 Небольшие исправления ошибок.
538
539 @item
540 Начало использования @code{go.mod} подсистемы.
541
542 @end itemize
543
544 @node Релиз 3.4
545 @subsection Релиз 3.4
546 @itemize
547 @item @command{nncp-daemon} может быть запущен как @command{inetd}-служба.
548 @end itemize
549
550 @node Релиз 3.3
551 @subsection Релиз 3.3
552 @itemize
553
554 @item
555 @command{nncp-daemon}, @command{nncp-call}, @command{nncp-caller}
556 проверяют существование @file{.seen} файла и расценивают его как то, что
557 файл уже был скачан. Возможно передача данных была осуществлена
558 сторонним способом и удалённая сторона должна быть оповещена об этом.
559
560 @item
561 Если более высокоприоритетный пакет попадает в спул, то
562 @command{nncp-daemon} добавит его в очередь отправки первым, прерывая
563 низкоприоритетные передачи.
564
565 @item
566 К средствам связанным с online-соединениями (@command{nncp-daemon},
567 @command{nncp-call}, @command{nncp-caller}) добавлен простой
568 ограничитель скорости.
569
570 @item
571 Возможность задания приоритета символьными обозначениями:
572 @verb{|NORMAL|}, @verb{|BULK+10|}, @verb{|PRIORITY-5|}, итд.
573
574 @item
575 Изменены значения приоритетов по-умолчанию:
576 для @command{nncp-exec} с 64 на 96,
577 для @command{nncp-freq} с 64 на 160,
578 для @command{nncp-file} с 196 на 224.
579
580 @end itemize
581
582 @node Релиз 3.2
583 @subsection Релиз 3.2
584 @itemize
585 @item
586 @strong{Несовместимое} изменение формата @emph{bundle} архивов и
587 работоспособность @command{nncp-bundle} команды с Go 1.10+. Bundle
588 должен быть корректным tar архивом, но Go 1.9 делал его недействительным
589 из-за длинных путей внутри. NNCP нечаянно был зависим от этой баги.
590 Явное добавление @file{NNCP/} директории в архив восстанавливает
591 работоспособность с корректными tar архивами.
592 @end itemize
593
594 @node Релиз 3.1
595 @subsection Релиз 3.1
596 @itemize
597 @item
598 Возможность отключать пересылку через промежуточные ноды используя
599 @verb{|-via -|} опцию командной строки.
600 @end itemize
601
602 @node Релиз 3.0
603 @subsection Релиз 3.0
604 @itemize
605
606 @item
607 @strong{Несовместимое} изменение формата простых пакетов. Работа со
608 старыми версиями не поддерживается.
609
610 @item
611 Добавлена возможность удалённого исполнения команд, путём
612 конфигурирования @option{exec} опции конфигурационного файла и
613 использования команды @command{nncp-exec}:
614     @itemize
615     @item
616     Команда @command{nncp-mail} заменена более гибкой и широкой
617     @command{nncp-exec}. Вместо вызова @verb{|nncp-mail NODE RECIPIENT|}
618     нужно использовать @verb{|nncp-exec NODE sendmail RECIPIENT|}.
619     @item
620     @option{sendmail} опция конфигурационного файла заменена на более гибкую
621     @option{exec}. @verb{|sendmail: [...]|} нужно заменить на @verb{|exec:
622     sendmail: [...]|}.
623     @end itemize
624
625 @item
626 Возможность переопределить @option{via} опцию конфигурации для целевого
627 узла через @option{-via} опцию командной строки для следующих команд:
628 @command{nncp-file}, @command{nncp-freq}, @command{nncp-exec}.
629
630 @item
631 Chunked файлы, меньшего размера чем указанный chunk, отправляются просто
632 в виде одного файла.
633
634 @item
635 Exec команды вызываются с дополнительными переменными окружения
636 @env{NNCP_NICE} и @env{NNCP_SELF}.
637
638 @item
639 Отправляемые файлы в ответ на запрос имеют приоритет указанный в запросе.
640 Указать их желаемый приоритет во время вызова @command{nncp-freq} можно
641 аргументом @option{-replynice}.
642
643 @item
644 Команде @command{nncp-toss} можно сказать не обрабатывать определённые
645 типы пакетов, за счёт опций @option{-nofile}, @option{-nofreq},
646 @option{-noexec}, @option{-notrns}.
647
648 @item
649 По-умолчанию @command{nncp-file} команда для
650 @option{-minsize}/@option{-chunked} опций использует
651 @option{FreqMinSize}/@option{FreqChunked} из конфигурационного файла.
652 Это можно отключить указав нулевое значение.
653
654 @end itemize
655
656 @node Релиз 2.0
657 @subsection Релиз 2.0
658 @itemize
659
660 @item
661 @strong{Несовместимое} изменение формата зашифрованных и eblob пакетов.
662 Работа со старыми версиями не поддерживается.
663
664 @item
665 Алгоритм шифрования Twofish заменён на ChaCha20. Он намного быстрее.
666 Одним криптографическим примитивом меньше.
667
668 @item
669 HKDF-BLAKE2b-256 KDF алгоритм заменён на BLAKE2Xb XOF. Ещё одним
670 криптографическим примитивом меньше (предполагая, что BLAKE2X
671 практически идентичен BLAKE2).
672
673 @end itemize
674
675 @node Релиз 1.0
676 @subsection Релиз 1.0
677 @itemize
678
679 @item
680 @strong{Несовместимое} изменение формата зашифрованных пакетов. Работа
681 со старыми версиями не поддерживается.
682
683 @item
684 @command{nncp-bundle} команда может создавать потоки зашифрованных
685 пакетов или потреблять их. Это полезно когда речь идёт о
686 @code{stdin}/@code{stdout} методах передачи (например запись на CD-ROM
687 без создания промежуточного подготовленного ISO образа или работа с
688 ленточными накопителями).
689
690 @item
691 @command{nncp-toss} команда может создавать @file{.seen} файлы,
692 предотвращая приём дублированных пакетов.
693
694 @item
695 В команде @command{nncp-call} разрешается иметь только одного
696 обработчика контрольной суммы в фоне. Это полезно когда тысячи маленьких
697 входящих пакетов могут создать много горутин.
698
699 @item
700 Возможность переопределить путь до spool директории и файла журнала
701 через аргумент командной строки или переменную окружения.
702
703 @item
704 @command{nncp-rm} команда может удалять все исходящие/входящие,
705 @file{.seen}, @file{.part}, @file{.lock} и временные файлы.
706
707 @end itemize
708
709 @node Релиз 0.12
710 @subsection Релиз 0.12
711 @itemize
712 @item Команда sendmail вызывается с @env{NNCP_SENDER} переменной окружения.
713 @end itemize
714
715 @node Релиз 0.11
716 @subsection Релиз 0.11
717 @itemize
718 @item Вывод команды @command{nncp-stat} отсортирован по имени ноды.
719 @end itemize
720
721 @node Релиз 0.10
722 @subsection Релиз 0.10
723 @itemize
724 @item
725 @file{DST} аргумент @command{nncp-freq} команды теперь опционален.
726 По-умолчанию будет подставлен последний элемент @file{SRC} пути.
727 @end itemize
728
729 @node Релиз 0.9
730 @subsection Релиз 0.9
731 @itemize
732 @item
733 Исправлена обработка @option{-rx}/@option{-tx} опций @command{nncp-call}
734 команды. Они игнорировались.
735 @end itemize
736
737 @node Релиз 0.8
738 @subsection Релиз 0.8
739 @itemize
740 @item
741 Небольшое исправление ошибки в команде @command{nncp-file}, где опция
742 @option{-minsize} для передачи без разбиения на части была в байтах, а
743 не KiB-ах.
744 @end itemize
745
746 @node Релиз 0.7
747 @subsection Релиз 0.7
748 @itemize
749
750 @item
751 Возможность предоставлять данные для @command{nncp-file} через
752 стандартный ввод, используя временный зашифрованный файл для этого.
753
754 @item
755 Появилась возможность передачи файлов разбитых на части, с сопутствующей
756 @command{nncp-reass} командой и @option{freqchunked} опцией
757 конфигурационного файла. Полезно для передачи больших файлов через
758 маленькие устройства хранения.
759
760 @item
761 @option{freqminsize} опция конфигурационного файла, аналогичная
762 @option{-minsize}.
763
764 @item
765 Опция @option{-force} команды @command{nncp-xfer} переименована в
766 @option{-mkdir} для ясности.
767
768 @item
769 Опция @option{-minsize} задаётся в KiB, а не байтах, для удобства.
770
771 @item
772 Команда @command{nncp-newcfg} переименована в @command{nncp-cfgnew},
773 а @command{nncp-mincfg} в @command{nncp-cfgmin}, для того чтобы они
774 имели общий префикс и были сгруппированы для удобства.
775
776 @item
777 Появилась команда @command{nncp-cfgenc}, позволяющая
778 шифровать/дешифровать конфигурационный файл, чтобы безопасно его хранить
779 без использования OpenPGP или других подобных инструментов.
780
781 @item
782 Обновлены зависимые криптографические библиотеки.
783
784 @end itemize
785
786 @node Релиз 0.6
787 @subsection Релиз 0.6
788 @itemize
789 @item Появилась небольшая команда @command{nncp-rm}.
790 @item Обновлены зависимые криптографические библиотеки.
791 @end itemize
792
793 @node Релиз 0.5
794 @subsection Релиз 0.5
795 @itemize
796 @item
797 Тривиальное небольшое исправление в значениях приоритетов по-умолчанию в
798 @command{nncp-file} и @command{nncp-freq} командах.
799 @end itemize
800
801 @node Релиз 0.4
802 @subsection Релиз 0.4
803 @itemize
804
805 @item
806 Небольшое исправление в @command{nncp-call}, @command{nncp-caller},
807 @command{nncp-daemon}: иногда они могли падать с segmentation fault
808 ошибкой (данные не терялись).
809
810 @item
811 @command{nncp-newnode} переименована в @command{nncp-newcfg} --
812 это короче и удобнее для использования.
813
814 @item
815 Появилась команда @command{nncp-mincfg}: вспомогательная утилита
816 позволяющая создать минималистичный урезанный конфигурационный файл без
817 приватных ключей, что полезно во время использования @command{nncp-xfer}.
818
819 @end itemize
820
821 @node Релиз 0.3
822 @subsection Релиз 0.3
823 @itemize
824 @item Исправлена совместимость с Go 1.6.
825 @end itemize
826
827 @node Релиз 0.2
828 @subsection Релиз 0.2
829 @itemize
830
831 @item
832 @strong{Несовместимое} изменение формата пакета (магическое число тоже
833 изменено): поле размера пакета шифруется и не посылается в открытом виде.
834
835 @item
836 @option{-minsize} опция даёт возможность автоматически дополнять
837 исходящие пакеты до указанного минимального размера.
838
839 @item
840 @command{nncp-daemon} и @command{nncp-call}/@command{nncp-caller} всегда
841 в фоне проверяют появление исходящих @emph{tx} пакетов пока подключены.
842 Удалённая сторона сразу же оповещается об этом.
843
844 @item
845 @option{-onlinedeadline} опция даёт возможность выставления timeout-а на
846 неактивность в online соединении, когда оно должно быть отключено. Она
847 может быть использована для сохранения соединения на долгое время.
848
849 @item
850 @option{-maxonlinetime} опция даёт возможность указания максимального
851 возможного времени жизни соединения.
852
853 @item
854 Появилась @command{nncp-caller} команда: клиент TCP-демона работающий по
855 cron-у.
856
857 @item
858 @command{nncp-pkt} команда может разжимать данные.
859
860 @end itemize