]> Cypherpunks.ru repositories - nncp.git/blob - doc/news.ru.texi
d99a621ecac048171d449be586b48b6d14a9599c
[nncp.git] / doc / news.ru.texi
1 @node Новости
2 @section Новости
3
4 @node Релиз 5.1.2
5 @subsection Релиз 5.1.2
6 @itemize
7
8 @item
9 Явная синхронизация (fsync) директорий для гарантированного
10 переименования файлов.
11
12 @end itemize
13
14 @node Релиз 5.1.1
15 @subsection Релиз 5.1.1
16 @itemize
17
18 @item
19 Исправлена работоспособность @command{nncp-file} с @option{-chunked 0} опцией.
20
21 @end itemize
22
23 @node Релиз 5.1.0
24 @subsection Релиз 5.1.0
25 @itemize
26
27 @item
28 @command{nncp-file} может отправлять директории, автоматически на лету
29 создавая pax архив.
30
31 @item
32 Во время создания исходящих сообщений проверяется наличие свободного
33 места на файловой системе.
34
35 @item
36 @option{freq}, @option{freqminsize}, @option{freqchunked} опции
37 конфигурационного файла заменены на структуру
38 @option{freq: @{path: ..., minsize: ..., chunked: ...@}}.
39
40 @item
41 Добавлена @option{freq.maxsize} опция конфигурационного файл,
42 запрещающая ответ на файловый запрос больше заданного размера.
43
44 @item
45 Возможность оповещения об успешно выполненных командах (exec) через
46 @option{notify.exec} опцию конфигурационного файла.
47
48 @end itemize
49
50 @node Релиз 5.0.0
51 @subsection Релиз 5.0.0
52 @itemize
53
54 @item
55 @strong{Несовместимое} изменение формата конфигурационного файла:
56 YAML заменён на Hjson, из-за его гораздо большей простоты, без
57 заметной потери функционала и удобства.
58
59 @item
60 @strong{Несовместимое} изменение формата простых пакетов. Работа со
61 старыми версиями не поддерживается. @code{zlib} сжатие заменено на
62 @code{Zstandard}, так как оно значительно быстрее и эффективнее, не
63 смотря на то, что версия библиотеки ещё не проверена временем.
64
65 @item
66 Возможность соединяться с удалёнными нодами не только по TCP, но и через
67 pipe вызов сторонней команды.
68
69 @item
70 @command{nncp-cfgnew} генерирует конфигурационный файл с множеством
71 комментариев. Можно использовать @option{-nocomments} опцию для старого
72 поведения.
73
74 @item
75 Дубликаты имён файлов имеют суффикс @file{.CTR}, вместо @file{CTR},
76 чтобы избежать возможных коллизий с @file{.nncp.chunkCTR}.
77
78 @item
79 Возможность переопределить umask процесса через опцию конфигурационного
80 файла.
81
82 @item
83 По умолчанию файлы и директории создаются с 666/777 правами доступа,
84 позволяя управлять ими @command{umask}-ом.
85
86 @item
87 Обновлены зависимости.
88
89 @item
90 Полное использование go модулей для управления зависимостями
91 (используется @code{go.cypherpunks.ru/nncp/v5} namespace).
92
93 @item
94 Отмена автоматического использования более новых версий GNU GPL
95 (лицензия проекта GNU GPLv3-только).
96
97 @end itemize
98
99 @node Релиз 4.1
100 @subsection Релиз 4.1
101 @itemize
102 @item Восстановлена работоспособность на GNU/Linux системах и Go версии 1.10.
103 @end itemize
104
105 @node Релиз 4.0
106 @subsection Релиз 4.0
107 @itemize
108
109 @item
110 @strong{Несовместимое} изменение формата зашифрованных и eblob пакетов:
111 используется AEAD режим шифрования с 128 КиБ блоками, так как раньше
112 @command{nncp-toss} не проверял MAC зашифрованного пакета прежде чем
113 отсылать дешифрованные данные внешней команде. Старые версии не
114 поддерживаются.
115
116 @item
117 Проверка доступного места перед копированием во время работы
118 @command{nncp-xfer}, @command{nncp-daemon}, @command{nncp-call(er)}.
119
120 @item
121 @command{nncp-call} имеет возможность только показывать список пакетов
122 на удалённой машине, без их передачи.
123
124 @item
125 @command{nncp-call} имеет возможность передавать только чётко указанные пакеты.
126
127 @item
128 Восстановлена работоспособность @option{xxrate} настройки в
129 @option{calls} секции конфигурационного файла.
130
131 @item
132 Зависимые библиотеки обновлены.
133
134 @item
135 Небольшие исправления ошибок.
136
137 @item
138 Начало использования @code{go.mod} подсистемы.
139
140 @end itemize
141
142 @node Релиз 3.4
143 @subsection Релиз 3.4
144 @itemize
145 @item @command{nncp-daemon} может быть запущен как @command{inetd}-служба.
146 @end itemize
147
148 @node Релиз 3.3
149 @subsection Релиз 3.3
150 @itemize
151
152 @item
153 @command{nncp-daemon}, @command{nncp-call}, @command{nncp-caller}
154 проверяют существование @file{.seen} файла и расценивают его как то, что
155 файл уже был скачан. Возможно передача данных была осуществлена
156 сторонним способом и удалённая сторона должна быть оповещена об этом.
157
158 @item
159 Если более высокоприоритетный пакет попадает в спул, то
160 @command{nncp-daemon} добавит его в очередь отправки первым, прерывая
161 низкоприоритетные передачи.
162
163 @item
164 К средствам связанным с online-соединениями (@command{nncp-daemon},
165 @command{nncp-call}, @command{nncp-caller}) добавлен простой
166 ограничитель скорости.
167
168 @item
169 Возможность задания приоритета символьными обозначениями:
170 @verb{|NORMAL|}, @verb{|BULK+10|}, @verb{|PRIORITY-5|}, итд.
171
172 @item
173 Изменены значения приоритетов по-умолчанию:
174 для @command{nncp-exec} с 64 на 96,
175 для @command{nncp-freq} с 64 на 160,
176 для @command{nncp-file} с 196 на 224.
177
178 @end itemize
179
180 @node Релиз 3.2
181 @subsection Релиз 3.2
182 @itemize
183 @item
184 @strong{Несовместимое} изменение формата @emph{bundle} архивов и
185 работоспособность @command{nncp-bundle} команды с Go 1.10+. Bundle
186 должен быть корректным tar архивом, но Go 1.9 делал его недействительным
187 из-за длинных путей внутри. NNCP нечаянно был зависим от этой баги.
188 Явное добавление @file{NNCP/} директории в архив восстанавливает
189 работоспособность с корректными tar архивами.
190 @end itemize
191
192 @node Релиз 3.1
193 @subsection Релиз 3.1
194 @itemize
195 @item
196 Возможность отключать пересылку через промежуточные ноды используя
197 @verb{|-via -|} опцию командной строки.
198 @end itemize
199
200 @node Релиз 3.0
201 @subsection Релиз 3.0
202 @itemize
203
204 @item
205 @strong{Несовместимое} изменение формата простых пакетов. Работа со
206 старыми версиями не поддерживается.
207
208 @item
209 Добавлена возможность удалённого исполнения команд, путём
210 конфигурирования @option{exec} опции конфигурационного файла и
211 использования команды @command{nncp-exec}:
212     @itemize
213     @item
214     Команда @command{nncp-mail} заменена более гибкой и широкой
215     @command{nncp-exec}. Вместо вызова @verb{|nncp-mail NODE RECIPIENT|}
216     нужно использовать @verb{|nncp-exec NODE sendmail RECIPIENT|}.
217     @item
218     @option{sendmail} опция конфигурационного файла заменена на более гибкую
219     @option{exec}. @verb{|sendmail: [...]|} нужно заменить на @verb{|exec:
220     sendmail: [...]|}.
221     @end itemize
222
223 @item
224 Возможность переопределить @option{via} опцию конфигурации для целевого
225 узла через @option{-via} опцию командной строки для следующих команд:
226 @command{nncp-file}, @command{nncp-freq}, @command{nncp-exec}.
227
228 @item
229 Chunked файлы, меньшего размера чем указанный chunk, отправляются просто
230 в виде одного файла.
231
232 @item
233 Exec команды вызываются с дополнительными переменными окружения
234 @env{NNCP_NICE} и @env{NNCP_SELF}.
235
236 @item
237 Отправляемые файлы в ответ на запрос имеют приоритет указанный в запросе.
238 Указать их желаемый приоритет во время вызова @command{nncp-freq} можно
239 аргументом @option{-replynice}.
240
241 @item
242 Команде @command{nncp-toss} можно сказать не обрабатывать определённые
243 типы пакетов, за счёт опций @option{-nofile}, @option{-nofreq},
244 @option{-noexec}, @option{-notrns}.
245
246 @item
247 По-умолчанию @command{nncp-file} команда для
248 @option{-minsize}/@option{-chunked} опций использует
249 @option{FreqMinSize}/@option{FreqChunked} из конфигурационного файла.
250 Это можно отключить указав нулевое значение.
251
252 @end itemize
253
254 @node Релиз 2.0
255 @subsection Релиз 2.0
256 @itemize
257
258 @item
259 @strong{Несовместимое} изменение формата зашифрованных и eblob пакетов.
260 Работа со старыми версиями не поддерживается.
261
262 @item
263 Алгоритм шифрования Twofish заменён на ChaCha20. Он намного быстрее.
264 Одним криптографическим примитивом меньше.
265
266 @item
267 HKDF-BLAKE2b-256 KDF алгоритм заменён на BLAKE2Xb XOF. Ещё одним
268 криптографическим примитивом меньше (предполагая, что BLAKE2X
269 практически идентичен BLAKE2).
270
271 @end itemize
272
273 @node Релиз 1.0
274 @subsection Релиз 1.0
275 @itemize
276
277 @item
278 @strong{Несовместимое} изменение формата зашифрованных пакетов. Работа
279 со старыми версиями не поддерживается.
280
281 @item
282 @command{nncp-bundle} команда может создавать потоки зашифрованных
283 пакетов или потреблять их. Это полезно когда речь идёт о stdin/stdout
284 методах передачи (например запись на CD-ROM без создания промежуточного
285 подготовленного ISO образа или работа с ленточными накопителями).
286
287 @item
288 @command{nncp-toss} команда может создавать @file{.seen} файлы,
289 предотвращая приём дублированных пакетов.
290
291 @item
292 В команде @command{nncp-call} разрешается иметь только одного
293 обработчика контрольной суммы в фоне. Это полезно когда тысячи маленьких
294 входящих пакетов могут создать много горутин.
295
296 @item
297 Возможность переопределить путь до spool директории и файла журнала
298 через аргумент командной строки или переменную окружения.
299
300 @item
301 @command{nncp-rm} команда может удалять все исходящие/входящие,
302 @file{.seen}, @file{.part}, @file{.lock} и временные файлы.
303
304 @end itemize
305
306 @node Релиз 0.12
307 @subsection Релиз 0.12
308 @itemize
309 @item Команда sendmail вызывается с @env{NNCP_SENDER} переменной окружения.
310 @end itemize
311
312 @node Релиз 0.11
313 @subsection Релиз 0.11
314 @itemize
315 @item Вывод команды @command{nncp-stat} отсортирован по имени ноды.
316 @end itemize
317
318 @node Релиз 0.10
319 @subsection Релиз 0.10
320 @itemize
321 @item
322 @file{DST} аргумент @command{nncp-freq} команды теперь опционален.
323 По-умолчанию будет подставлен последний элемент @file{SRC} пути.
324 @end itemize
325
326 @node Релиз 0.9
327 @subsection Релиз 0.9
328 @itemize
329 @item
330 Исправлена обработка @option{-rx}/@option{-tx} опций @command{nncp-call}
331 команды. Они игнорировались.
332 @end itemize
333
334 @node Релиз 0.8
335 @subsection Релиз 0.8
336 @itemize
337 @item
338 Небольшое исправление ошибки в команде @command{nncp-file}, где опция
339 @option{-minsize} для передачи без разбиения на части была в байтах, а
340 не KiB-ах.
341 @end itemize
342
343 @node Релиз 0.7
344 @subsection Релиз 0.7
345 @itemize
346
347 @item
348 Возможность предоставлять данные для @command{nncp-file} через
349 стандартный ввод, используя временный зашифрованный файл для этого.
350
351 @item
352 Появилась возможность передачи файлов разбитых на части, с сопутствующей
353 @command{nncp-reass} командой и @option{freqchunked} опцией
354 конфигурационного файла. Полезно для передачи больших файлов через
355 маленькие устройства хранения.
356
357 @item
358 @option{freqminsize} опция конфигурационного файла, аналогичная
359 @option{-minsize}.
360
361 @item
362 Опция @option{-force} команды @command{nncp-xfer} переименована в
363 @option{-mkdir} для ясности.
364
365 @item
366 Опция @option{-minsize} задаётся в KiB, а не байтах, для удобства.
367
368 @item
369 Команда @command{nncp-newcfg} переименована в @command{nncp-cfgnew},
370 а @command{nncp-mincfg} в @command{nncp-cfgmin}, для того чтобы они
371 имели общий префикс и были сгруппированы для удобства.
372
373 @item
374 Появилась команда @command{nncp-cfgenc}, позволяющая
375 шифровать/дешифровать конфигурационный файл, чтобы безопасно его хранить
376 без использования OpenPGP или других подобных инструментов.
377
378 @item
379 Обновлены зависимые криптографические библиотеки.
380
381 @end itemize
382
383 @node Релиз 0.6
384 @subsection Релиз 0.6
385 @itemize
386 @item Появилась небольшая команда @command{nncp-rm}.
387 @item Обновлены зависимые криптографические библиотеки.
388 @end itemize
389
390 @node Релиз 0.5
391 @subsection Релиз 0.5
392 @itemize
393 @item
394 Тривиальное небольшое исправление в значениях приоритетов по-умолчанию в
395 @command{nncp-file} и @command{nncp-freq} командах.
396 @end itemize
397
398 @node Релиз 0.4
399 @subsection Релиз 0.4
400 @itemize
401
402 @item
403 Небольшое исправление в @command{nncp-call}, @command{nncp-caller},
404 @command{nncp-daemon}: иногда они могли падать с segmentation fault
405 ошибкой (данные не терялись).
406
407 @item
408 @command{nncp-newnode} переименована в @command{nncp-newcfg} --
409 это короче и удобнее для использования.
410
411 @item
412 Появилась команда @command{nncp-mincfg}: вспомогательная утилита
413 позволяющая создать минималистичный урезанный конфигурационный файл без
414 приватных ключей, что полезно во время использования @command{nncp-xfer}.
415
416 @end itemize
417
418 @node Релиз 0.3
419 @subsection Релиз 0.3
420 @itemize
421 @item Исправлена совместимость с Go 1.6.
422 @end itemize
423
424 @node Релиз 0.2
425 @subsection Релиз 0.2
426 @itemize
427
428 @item
429 @strong{Несовместимое} изменение формата пакета (магическое число тоже
430 изменено): поле размера пакета шифруется и не посылается в открытом виде.
431
432 @item
433 @option{-minsize} опция даёт возможность автоматически дополнять
434 исходящие пакеты до указанного минимального размера.
435
436 @item
437 @command{nncp-daemon} и @command{nncp-call}/@command{nncp-caller} всегда
438 в фоне проверяют появление исходящих @emph{tx} пакетов пока подключены.
439 Удалённая сторона сразу же оповещается об этом.
440
441 @item
442 @option{-onlinedeadline} опция даёт возможность выставления timeout-а на
443 неактивность в online соединении, когда оно должно быть отключено. Она
444 может быть использована для сохранения соединения на долгое время.
445
446 @item
447 @option{-maxonlinetime} опция даёт возможность указания максимального
448 возможного времени жизни соединения.
449
450 @item
451 Появилась @command{nncp-caller} команда: клиент TCP-демона работающий по
452 cron-у.
453
454 @item
455 @command{nncp-pkt} команда может разжимать данные.
456
457 @end itemize