]> Cypherpunks.ru repositories - nncp.git/blob - doc/news.texi
Merge branch 'develop'
[nncp.git] / doc / news.texi
1 @node News
2 @unnumbered News
3
4 See also this page @ref{Новости, on russian}.
5
6 @node Release 4.0
7 @section Release 4.0
8 @itemize
9 @item
10 @strong{Incompatible} encrypted and eblob packet format change: AEAD
11 encryption mode with 128 KiB blocks is used now, because previously
12 @command{nncp-toss} did not verify encrypted packet's MAC before feeding
13 decrypted data to external command. Older versions are not supported.
14 @item
15 Available free space checking before copying in @command{nncp-xfer},
16 @command{nncp-daemon}, @command{nncp-call(er)}.
17 @item
18 @command{nncp-call} has ability only to list packets on remote node,
19 without their transmission.
20 @item
21 @command{nncp-call} has ability to transfer only specified packets.
22 @item
23 Workability of @option{xxrate} preference in @option{calls}
24 configuration file section.
25 @item
26 Dependant libraries are updated.
27 @item
28 Minor bugfixes.
29 @item
30 Begin using of @code{go.mod} subsystem.
31 @end itemize
32
33 @node Release 3.4
34 @section Release 3.4
35 @itemize
36 @item
37 @command{nncp-daemon} can be run as @command{inetd}-service.
38 @end itemize
39
40 @node Release 3.3
41 @section Release 3.3
42 @itemize
43 @item
44 @command{nncp-daemon}, @command{nncp-call}, @command{nncp-caller} check
45 if @file{.seen} exists and treat it like file was already downloaded.
46 Possibly it was transferred out-of-bound and remote side needs to be
47 notifier about that.
48 @item
49 If higher priority packet is spooled, then @command{nncp-daemon} will
50 queue its sending first, interrupting lower priority transmissions.
51 @item
52 Simple packet rate limiter added to online-related tools
53 (@command{nncp-daemon}, @command{nncp-call}, @command{nncp-caller}).
54 @item
55 Ability to specify niceness with symbolic notation:
56 @verb{|NORMAL|}, @verb{|BULK+10|}, @verb{|PRIORITY-5|}, etc.
57 @item
58 Changed default niceness levels:
59 for @command{nncp-exec} from 64 to 96,
60 for @command{nncp-freq} from 64 to 160,
61 for @command{nncp-file} from 196 to 224.
62 @end itemize
63
64 @node Release 3.2
65 @section Release 3.2
66 @itemize
67 @item
68 @strong{Incompatible} @emph{bundle} archive format changes and
69 @command{nncp-bundle} workability with Go 1.10+. Bundles must be
70 valid tar archives, but Go 1.9 made them invalid because of long paths
71 inside. NNCP accidentally was dependant on that bug. Explicit adding of
72 @file{NNCP/} directory in archive restores workability with valid tar
73 archives.
74 @end itemize
75
76 @node Release 3.1
77 @section Release 3.1
78 @itemize
79 @item
80 Ability to disable relaying at all using @verb{|-via -|} command line option.
81 @end itemize
82
83 @node Release 3.0
84 @section Release 3.0
85 @itemize
86 @item
87 @strong{Incompatible} plain packet format changes. Older versions are
88 not supported.
89 @item
90 Ability to queue remote command execution, by configuring @option{exec}
91 option in configuration file and using @command{nncp-exec} command:
92     @itemize
93     @item
94     @command{nncp-mail} command is replaced with more flexible
95     @command{nncp-exec}. Instead of @verb{|nncp-mail NODE RECIPIENT|}
96     you must use @verb{|nncp-exec NODE sendmail RECIPIENT|}.
97     @item
98     @option{sendmail} configuration file option is replaced with
99     @option{exec}. @verb{|sendmail: [...]|} must be replaced with
100     @verb{|exec: sendmail: [...]|}.
101     @end itemize
102 @item
103 Ability to override @option{via} configuration option for destination
104 node via @option{-via} command line option for following commands:
105 @command{nncp-file}, @command{nncp-freq}, @command{nncp-exec}.
106 @item
107 Chunked files, having size less than specified chunk size, will be sent
108 as an ordinary single file.
109 @item
110 Exec commands are invoked with additional @env{NNCP_NICE} and
111 @env{NNCP_SELF} environment variables.
112 @item
113 Files, that are sent as a reply to freq, have niceness level taken from
114 the freq packet. You can set desired niceness during @command{nncp-freq}
115 invocation using @option{-replynice} option.
116 @item
117 @command{nncp-toss} command can ignore specified packet types during
118 processing: @option{-nofile}, @option{-nofreq}, @option{-noexec},
119 @option{-notrns}.
120 @item
121 @command{nncp-file} command uses
122 @option{FreqMinSize}/@option{FreqChunked} configuration file options
123 for @option{-minsize}/@option{-chunked} by default. You can turn this
124 off by specifying zero value.
125 @end itemize
126
127 @node Release 2.0
128 @section Release 2.0
129 @itemize
130 @item
131 @strong{Incompatible} encrypted/eblob packet format changes. Older
132 versions are not supported.
133 @item
134 Twofish encryption algorithm is replaced with ChaCha20. It is much more
135 faster. One cryptographic primitive less.
136 @item
137 HKDF-BLAKE2b-256 KDF algorithm is replaced with BLAKE2Xb XOF. Yet
138 another cryptographic primitive less (assuming that BLAKE2X is nearly
139 identical to BLAKE2).
140 @end itemize
141
142 @node Release 1.0
143 @section Release 1.0
144 @itemize
145 @item
146 @strong{Incompatible} encrypted packet format changes. Older versions
147 are not supported.
148 @item
149 @command{nncp-bundle} command can either create stream of encrypted
150 packets, or digest it. It is useful when dealing with stdin/stdout based
151 transmission methods (like writing to CD-ROM without intermediate
152 prepared ISO image and working with tape drives).
153 @item
154 @command{nncp-toss} is able to create @file{.seen} files preventing
155 duplicate packets receiving.
156 @item
157 Single background checksum verifier worker is allowed in
158 @command{nncp-call}. This is helpful when thousands of small inbound
159 packets could create many goroutines.
160 @item
161 Ability to override path to spool directory and logfile through either
162 command line argument, or environment variable.
163 @item
164 @command{nncp-rm} is able to delete outbound/inbound, @file{.seen},
165 @file{.part}, @file{.lock} and temporary files.
166 @end itemize
167
168 @node Release 0.12
169 @section Release 0.12
170 @itemize
171 @item
172 Sendmail command is called with @env{NNCP_SENDER} environment variable.
173 @end itemize
174
175 @node Release 0.11
176 @section Release 0.11
177 @itemize
178 @item
179 @command{nncp-stat}'s command output is sorted by node name.
180 @end itemize
181
182 @node Release 0.10
183 @section Release 0.10
184 @itemize
185 @item
186 @command{nncp-freq}'s @file{DST} argument is optional now. Last
187 @file{SRC} path's element will be used by default.
188 @end itemize
189
190 @node Release 0.9
191 @section Release 0.9
192 @itemize
193 @item
194 Fix @option{-rx}/@option{-tx} arguments processing in
195 @command{nncp-call} command. They were ignored.
196 @end itemize
197
198 @node Release 0.8
199 @section Release 0.8
200 @itemize
201 @item
202 Little bugfix in @command{nncp-file} command, where @option{-minsize}
203 option for unchunked transfer was not in KiBs, but in bytes.
204 @end itemize
205
206 @node Release 0.7
207 @section Release 0.7
208 @itemize
209 @item
210 Ability to feed @command{nncp-file} from stdin, that uses an encrypted
211 temporary file for that.
212
213 @item
214 Chunked files transmission appeared with corresponding
215 @command{nncp-reass} command and @option{freqchunked} configuration file
216 entry. Useful for transferring big files over small storage devices.
217
218 @item
219 @option{freqminsize} configuration file option, analogue to
220 @option{-minsize} one.
221
222 @item
223 @command{nncp-xfer}'s @option{-force} option is renamed to
224 @option{-mkdir} for clarity.
225
226 @item
227 @option{-minsize} option is specified in KiBs, not bytes, for
228 convenience.
229
230 @item
231 @command{nncp-newcfg} command is renamed to @command{nncp-cfgnew},
232 and @command{nncp-mincfg} to @command{nncp-cfgmin} -- now they have
233 common prefix and are grouped together for convenience.
234
235 @item
236 @command{nncp-cfgenc} command appeared, allowing configuration file
237 encryption/decryption, for keeping it safe without any either OpenPGP or
238 similar tools usage.
239
240 @item
241 Cryptographic libraries (dependencies) are updated.
242 @end itemize
243
244 @node Release 0.6
245 @section Release 0.6
246 @itemize
247 @item Small @command{nncp-rm} command appeared.
248 @item Cryptographic libraries (dependencies) are updated.
249 @end itemize
250
251 @node Release 0.5
252 @section Release 0.5
253 @itemize
254 @item Trivial small fix in default niceness level of @command{nncp-file}
255 and @command{nncp-freq} commands.
256 @end itemize
257
258 @node Release 0.4
259 @section Release 0.4
260 @itemize
261 @item Small fix in @command{nncp-call}, @command{nncp-caller},
262 @command{nncp-daemon}: they can segmentation fail sometimes (no data is
263 lost).
264 @item @command{nncp-newnode} renamed to @command{nncp-newcfg} -- it is
265 shorter and more convenient to use.
266 @item @command{nncp-mincfg} command appeared: helper allowing to create
267 minimalistic stripped down configuration file without private keys,
268 that is useful during @command{nncp-xfer} usage.
269 @end itemize
270
271 @node Release 0.3
272 @section Release 0.3
273 Fixed compatibility with Go 1.6.
274
275 @node Release 0.2
276 @section Release 0.2
277 @itemize
278 @item @strong{Incompatible} packet's format change (magic number is
279 changed too): size field is encrypted and is not send in plaintext
280 anymore.
281 @item @option{-minsize} option gives ability to automatically pad
282 outgoing packets to specified minimal size.
283 @item @command{nncp-daemon} and
284 @command{nncp-call}/@command{nncp-caller} always check new @emph{tx}
285 packets appearance in the background while connected. Remote side is
286 immediately notified.
287 @item @option{-onlinedeadline} option gives ability to configure timeout
288 of inactivity of online connection, when it could be disconnected. It
289 could be used to keep connection alive for a long time.
290 @item @option{-maxonlinetime} option gives ability to set maximal
291 allowable online connection aliveness time.
292 @item @command{nncp-caller} command appeared: cron-ed TCP daemon caller.
293 @item @command{nncp-pkt} command can decompress the data.
294 @end itemize