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