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