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