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