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