]> Cypherpunks.ru repositories - nncp.git/blob - doc/news.texi
Workability of nncp-file -chunked 0
[nncp.git] / doc / news.texi
1 @node News
2 @unnumbered News
3
4 See also this page @ref{Новости, on russian}.
5
6 @node Release 5.1.1
7 @section Release 5.1.1
8 @itemize
9
10 @item
11 Fixed workability of @command{nncp-file} with @option{-chunked 0} option.
12
13 @end itemize
14
15 @node Release 5.1.0
16 @section Release 5.1.0
17 @itemize
18
19 @item
20 @command{nncp-file} can send directories, automatically creating pax
21 archive on the fly.
22
23 @item
24 Free disk space is checked during outbound packets creation.
25
26 @item
27 @option{freq}, @option{freqminsize}, @option{freqchunked} configuration
28 file options replaced with the structure:
29 @option{freq: @{path: ..., minsize: ..., chunked: ...@}}.
30
31 @item
32 Added @option{freq.maxsize} configuration file option, forbidding of
33 freq sending larger than specified size.
34
35 @item
36 Ability to notify about successfully executed commands (exec) with
37 @option{notify.exec} configuration file option.
38
39 @end itemize
40
41 @node Release 5.0.0
42 @section Release 5.0.0
43 @itemize
44
45 @item
46 @strong{Incompatible} configuration file format change: YAML is
47 replaced with Hjson, due to its simplicity, without noticeable lack
48 of either functionality or convenience.
49
50 @item
51 @strong{Incompatible} plain packet format changes. Older versions are
52 not supported. @code{zlib} compression is replaced with
53 @code{Zstandard}, due to its speed and efficiency, despite library
54 version is not mature enough.
55
56 @item
57 Ability to call remote nodes via pipe call of external command, not only
58 through TCP.
59
60 @item
61 @command{nncp-cfgnew} generates configuration file with many
62 comments. @option{-nocomments} option can be used for an old
63 behaviour.
64
65 @item
66 Duplicate filenames have @file{.CTR} suffix, instead of @file{CTR}, to
67 avoid possible collisions with @file{.nncp.chunkCTR}.
68
69 @item
70 Ability to override process umask through configuration file option.
71
72 @item
73 Files and directories are created with 666/777 permissions by default,
74 allowing control with @command{umask}.
75
76 @item
77 Updated dependencies.
78
79 @item
80 Full usage of go modules for dependencies management
81 (@code{go.cypherpunks.ru/nncp/v5} namespace is used).
82
83 @item
84 Forbid any later GNU GPL version autousage
85 (project's licence now is GNU GPLv3-only).
86
87 @end itemize
88
89 @node Release 4.1
90 @section Release 4.1
91 @itemize
92 @item Workability on GNU/Linux systems and Go 1.10 is fixed.
93 @end itemize
94
95 @node Release 4.0
96 @section Release 4.0
97 @itemize
98
99 @item
100 @strong{Incompatible} encrypted and eblob packet format change: AEAD
101 encryption mode with 128 KiB blocks is used now, because previously
102 @command{nncp-toss} did not verify encrypted packet's MAC before feeding
103 decrypted data to external command. Older versions are not supported.
104
105 @item
106 Available free space checking before copying in @command{nncp-xfer},
107 @command{nncp-daemon}, @command{nncp-call(er)}.
108
109 @item
110 @command{nncp-call} has ability only to list packets on remote node,
111 without their transmission.
112
113 @item
114 @command{nncp-call} has ability to transfer only specified packets.
115
116 @item
117 Workability of @option{xxrate} preference in @option{calls}
118 configuration file section.
119
120 @item
121 Dependant libraries are updated.
122
123 @item
124 Minor bugfixes.
125
126 @item
127 Begin using of @code{go.mod} subsystem.
128
129 @end itemize
130
131 @node Release 3.4
132 @section Release 3.4
133 @itemize
134 @item @command{nncp-daemon} can be run as @command{inetd}-service.
135 @end itemize
136
137 @node Release 3.3
138 @section Release 3.3
139 @itemize
140
141 @item
142 @command{nncp-daemon}, @command{nncp-call}, @command{nncp-caller} check
143 if @file{.seen} exists and treat it like file was already downloaded.
144 Possibly it was transferred out-of-bound and remote side needs to be
145 notifier about that.
146
147 @item
148 If higher priority packet is spooled, then @command{nncp-daemon} will
149 queue its sending first, interrupting lower priority transmissions.
150
151 @item
152 Simple packet rate limiter added to online-related tools
153 (@command{nncp-daemon}, @command{nncp-call}, @command{nncp-caller}).
154
155 @item
156 Ability to specify niceness with symbolic notation:
157 @verb{|NORMAL|}, @verb{|BULK+10|}, @verb{|PRIORITY-5|}, etc.
158
159 @item
160 Changed default niceness levels:
161 for @command{nncp-exec} from 64 to 96,
162 for @command{nncp-freq} from 64 to 160,
163 for @command{nncp-file} from 196 to 224.
164
165 @end itemize
166
167 @node Release 3.2
168 @section Release 3.2
169 @itemize
170 @item
171 @strong{Incompatible} @emph{bundle} archive format changes and
172 @command{nncp-bundle} workability with Go 1.10+. Bundles must be
173 valid tar archives, but Go 1.9 made them invalid because of long paths
174 inside. NNCP accidentally was dependant on that bug. Explicit adding of
175 @file{NNCP/} directory in archive restores workability with valid tar
176 archives.
177 @end itemize
178
179 @node Release 3.1
180 @section Release 3.1
181 @itemize
182 @item
183 Ability to disable relaying at all using @verb{|-via -|} command line option.
184 @end itemize
185
186 @node Release 3.0
187 @section Release 3.0
188 @itemize
189
190 @item
191 @strong{Incompatible} plain packet format changes. Older versions are
192 not supported.
193
194 @item
195 Ability to queue remote command execution, by configuring @option{exec}
196 option in configuration file and using @command{nncp-exec} command:
197     @itemize
198     @item
199     @command{nncp-mail} command is replaced with more flexible
200     @command{nncp-exec}. Instead of @verb{|nncp-mail NODE RECIPIENT|}
201     you must use @verb{|nncp-exec NODE sendmail RECIPIENT|}.
202     @item
203     @option{sendmail} configuration file option is replaced with
204     @option{exec}. @verb{|sendmail: [...]|} must be replaced with
205     @verb{|exec: sendmail: [...]|}.
206     @end itemize
207
208 @item
209 Ability to override @option{via} configuration option for destination
210 node via @option{-via} command line option for following commands:
211 @command{nncp-file}, @command{nncp-freq}, @command{nncp-exec}.
212
213 @item
214 Chunked files, having size less than specified chunk size, will be sent
215 as an ordinary single file.
216
217 @item
218 Exec commands are invoked with additional @env{NNCP_NICE} and
219 @env{NNCP_SELF} environment variables.
220
221 @item
222 Files, that are sent as a reply to freq, have niceness level taken from
223 the freq packet. You can set desired niceness during @command{nncp-freq}
224 invocation using @option{-replynice} option.
225
226 @item
227 @command{nncp-toss} command can ignore specified packet types during
228 processing: @option{-nofile}, @option{-nofreq}, @option{-noexec},
229 @option{-notrns}.
230
231 @item
232 @command{nncp-file} command uses
233 @option{FreqMinSize}/@option{FreqChunked} configuration file options
234 for @option{-minsize}/@option{-chunked} by default. You can turn this
235 off by specifying zero value.
236
237 @end itemize
238
239 @node Release 2.0
240 @section Release 2.0
241 @itemize
242
243 @item
244 @strong{Incompatible} encrypted/eblob packet format changes. Older
245 versions are not supported.
246
247 @item
248 Twofish encryption algorithm is replaced with ChaCha20. It is much more
249 faster. One cryptographic primitive less.
250
251 @item
252 HKDF-BLAKE2b-256 KDF algorithm is replaced with BLAKE2Xb XOF. Yet
253 another cryptographic primitive less (assuming that BLAKE2X is nearly
254 identical to BLAKE2).
255
256 @end itemize
257
258 @node Release 1.0
259 @section Release 1.0
260 @itemize
261
262 @item
263 @strong{Incompatible} encrypted packet format changes. Older versions
264 are not supported.
265
266 @item
267 @command{nncp-bundle} command can either create stream of encrypted
268 packets, or digest it. It is useful when dealing with stdin/stdout based
269 transmission methods (like writing to CD-ROM without intermediate
270 prepared ISO image and working with tape drives).
271
272 @item
273 @command{nncp-toss} is able to create @file{.seen} files preventing
274 duplicate packets receiving.
275
276 @item
277 Single background checksum verifier worker is allowed in
278 @command{nncp-call}. This is helpful when thousands of small inbound
279 packets could create many goroutines.
280
281 @item
282 Ability to override path to spool directory and logfile through either
283 command line argument, or environment variable.
284
285 @item
286 @command{nncp-rm} is able to delete outbound/inbound, @file{.seen},
287 @file{.part}, @file{.lock} and temporary files.
288
289 @end itemize
290
291 @node Release 0.12
292 @section Release 0.12
293 @itemize
294 @item Sendmail command is called with @env{NNCP_SENDER} environment variable.
295 @end itemize
296
297 @node Release 0.11
298 @section Release 0.11
299 @itemize
300 @item @command{nncp-stat}'s command output is sorted by node name.
301 @end itemize
302
303 @node Release 0.10
304 @section Release 0.10
305 @itemize
306 @item
307 @command{nncp-freq}'s @file{DST} argument is optional now. Last
308 @file{SRC} path's element will be used by default.
309 @end itemize
310
311 @node Release 0.9
312 @section Release 0.9
313 @itemize
314 @item
315 Fix @option{-rx}/@option{-tx} arguments processing in
316 @command{nncp-call} command. They were ignored.
317 @end itemize
318
319 @node Release 0.8
320 @section Release 0.8
321 @itemize
322 @item
323 Little bugfix in @command{nncp-file} command, where @option{-minsize}
324 option for unchunked transfer was not in KiBs, but in bytes.
325 @end itemize
326
327 @node Release 0.7
328 @section Release 0.7
329 @itemize
330
331 @item
332 Ability to feed @command{nncp-file} from stdin, that uses an encrypted
333 temporary file for that.
334
335 @item
336 Chunked files transmission appeared with corresponding
337 @command{nncp-reass} command and @option{freqchunked} configuration file
338 entry. Useful for transferring big files over small storage devices.
339
340 @item
341 @option{freqminsize} configuration file option, analogue to
342 @option{-minsize} one.
343
344 @item
345 @command{nncp-xfer}'s @option{-force} option is renamed to
346 @option{-mkdir} for clarity.
347
348 @item
349 @option{-minsize} option is specified in KiBs, not bytes, for
350 convenience.
351
352 @item
353 @command{nncp-newcfg} command is renamed to @command{nncp-cfgnew},
354 and @command{nncp-mincfg} to @command{nncp-cfgmin} -- now they have
355 common prefix and are grouped together for convenience.
356
357 @item
358 @command{nncp-cfgenc} command appeared, allowing configuration file
359 encryption/decryption, for keeping it safe without any either OpenPGP or
360 similar tools usage.
361
362 @item
363 Cryptographic libraries (dependencies) are updated.
364
365 @end itemize
366
367 @node Release 0.6
368 @section Release 0.6
369 @itemize
370 @item Small @command{nncp-rm} command appeared.
371 @item Cryptographic libraries (dependencies) are updated.
372 @end itemize
373
374 @node Release 0.5
375 @section Release 0.5
376 @itemize
377 @item
378 Trivial small fix in default niceness level of @command{nncp-file}
379 and @command{nncp-freq} commands.
380 @end itemize
381
382 @node Release 0.4
383 @section Release 0.4
384 @itemize
385
386 @item
387 Small fix in @command{nncp-call}, @command{nncp-caller},
388 @command{nncp-daemon}: they can segmentation fail sometimes (no data is
389 lost).
390
391 @item
392 @command{nncp-newnode} renamed to @command{nncp-newcfg} -- it is shorter
393 and more convenient to use.
394
395 @item
396 @command{nncp-mincfg} command appeared: helper allowing to create
397 minimalistic stripped down configuration file without private keys, that
398 is useful during @command{nncp-xfer} usage.
399
400 @end itemize
401
402 @node Release 0.3
403 @section Release 0.3
404 @itemize
405 @item Fixed compatibility with Go 1.6.
406 @end itemize
407
408 @node Release 0.2
409 @section Release 0.2
410 @itemize
411
412 @item
413 @strong{Incompatible} packet's format change (magic number is changed
414 too): size field is encrypted and is not send in plaintext anymore.
415
416 @item
417 @option{-minsize} option gives ability to automatically pad outgoing
418 packets to specified minimal size.
419
420 @item
421 @command{nncp-daemon} and @command{nncp-call}/@command{nncp-caller}
422 always check new @emph{tx} packets appearance in the background while
423 connected. Remote side is immediately notified.
424
425 @item
426 @option{-onlinedeadline} option gives ability to configure timeout of
427 inactivity of online connection, when it could be disconnected. It could
428 be used to keep connection alive for a long time.
429
430 @item
431 @option{-maxonlinetime} option gives ability to set maximal allowable
432 online connection aliveness time.
433
434 @item
435 @command{nncp-caller} command appeared: cron-ed TCP daemon caller.
436
437 @item
438 @command{nncp-pkt} command can decompress the data.
439
440 @end itemize