Snapshot release 0.4.2
[gnupg.git] / NEWS
1 Noteworthy changes in version 0.4.2
2 -----------------------------------
3
4     * This is only a snapshot: There are still a few bugs.
5
6     * Fixed this huge memory leak.
7
8     * Redesigned the trust database:  You should run "gpgm --check-trustdb".
9       New command --update-trustdb, which adds new key from the public
10       keyring into your trustdb
11
12     * Fixed a bug in the armor code, leading to invalid packet errors.
13       (a workaround for this was to use --no-armor).  The shorten line
14       length (64 instead of 72) fixes a problem with pgp5 and keyservers.
15
16     * comment packets are not anymore generated. "--export" filters
17       them out.  One Exception:  The comment packets in a secret keyring
18       are still used because they carry the factorization of the public
19       prime product.
20
21     * --import now only looks for KEYBLOCK headers, so you can now simply
22       remove the "- " in front of such a header if someone accdently signed
23       such a message or the keyblock is part of a cleartext signed message.
24
25     * --with-colons now lists the key expiration time and not anymore
26       the valid period.
27
28     * Some keyblocks created with old releases have a wrong sequence
29       of packets, so that the keyservers don't accept these keys.
30       Simply using "--edit-key" fixes the problem.
31
32     * New option --force-v3-sigs to generate signed messages which are
33       compatible to PGP 5.
34
35     * Add some code to support DLD (for non ELF systems) - but this is
36       not tested because my BSD box is currently broken.
37
38     * New command "expire" in the edit-key menu.
39
40
41
42 Noteworthy changes in version 0.4.1
43 -----------------------------------
44     * A secondary key is used when the primary key is specified but cannot
45       be used for the operation (if it is a sign-only key).
46
47     * GNUPG can now handle concatenated armored messages:  There is still a
48       bug if different kinds of messages are mixed.
49
50     * Iterated+Salted passphrases now work.  If want to be sure that PGP5
51       is able to handle them you may want to use the options
52         "--s2k-mode 3 --s2k-cipher-algo cast5 --s2k-digest-algo sha1"
53       when changing a passphrase.
54
55     * doc/OpenPGP talks about OpenPGP compliance, doc/HACKING gives
56       a few hints about the internal structure.
57
58     * Checked gnupg against the August 1998 draft (07) and I believe
59       it is in compliance with this document (except for one point).
60
61     * Fixed some bugs in the import merging code and rewrote some
62       code for the trustdb.
63
64
65 Noteworthy changes in version 0.4.0
66 -----------------------------------
67     * Triple DES is now supported.  Michael Roth did this piece of
68       needed work.  We have now all the coded needed to be OpenPGP
69       compliant.
70
71     * Added a simple rpm spec file (see INSTALL).
72
73     * detached and armored signatures are now using "PGP SIGNATURE",
74       except when --rfc1991 is used.
75
76     * All times which are not in the yyy-mm-dd format are now printed
77       in local time.
78
79
80 Noteworthy changes in version 0.3.5
81 -----------------------------------
82     * New option --throw-keyid to create anonymous enciphered messages.
83       If gpg detects such a message it tires all available secret keys
84       in turn so decode it.  This is a gnupg extension and not in OpenPGP
85       but it has been discussed there and afaik some products use this
86       scheme too (Suggested by Nimrod Zimmerman).
87
88     * Fixed a bug with 5 byte length headers.
89
90     * --delete-[secret-]key is now also availabe in gpgm.
91
92     * cleartext signatures are not anymore converted to LF only.
93
94     * Fixed a trustdb problem.  Run "gpgm --check-trustdb" to fix old
95       trust dbs.
96
97     * Building in another directory should now work.
98
99     * Weak key detection mechanism (Niklas Hernaeus).
100
101
102 Noteworthy changes in version 0.3.4
103 -----------------------------------
104     * New options --comment and --set-filename; see g10/OPTIONS
105
106     * yes/no, y/n localized.
107
108     * Fixed some bugs.
109
110 Noteworthy changes in version 0.3.3
111 -----------------------------------
112     * IMPORTANT: I found yet another bug in the way the secret keys
113       are encrypted - I did it the way pgp 2.x did it, but OpenPGP
114       and pgp 5.x specifiy another (in some aspects simpler) method.
115       To convert your secret keys you have to do this:
116         1. Build the new release but don't install it and keep
117            a copy of the old program.
118         2. Disable the network, make sure that you are the only
119            user, be sure that there are no trojan horses etc ....
120         3. Use your old gpg (version 0.3.[12]) and set the
121            passphrases of ALL your secret keys to empty!
122            (gpg --change-passphrase your-user-id).
123         4. Save your ownertrusts (see the next point)
124         5. rm ~/.gnupg/trustd.gpg
125         6. install the new version of gpg (0.3.3)
126         7. For every secret key call "gpg --edit-key your-user-id",
127            enter "passwd" at the prompt, follow the instructions and
128            change your passward back, enter "save" to store it.
129         8. Restore the ownertrust (see next point).
130
131     * The format of the trust database has changed; you must delete
132       the old one, so gnupg can create a new one.
133       IMPORTANT: Use version 0.3.[12] to save your assigned ownertrusts
134       ("gpgm --list-ownertrust >saved-trust"); then build this new version
135       and restore the ownertrust with this new version
136       ("gpgm --import-ownertrust saved-trust").  Please note that
137       --list-ownertrust has been renamed to --export-ownertrust in this
138       release and it does now only export defined ownertrusts.
139
140     * The command --edit-key now provides a commandline driven menu
141       which can be used vor vaious tasks.  --sign-key is only an
142       an alias to --edit-key and maybe removed in future: use the
143       command "sign" of this new menu - you can select which user ids
144       you want to sign.
145
146     * Alternate user ids can now be created an signed.
147
148     * Owner trust values can now be changed with --edit-key (trust)
149
150     * GNUPG can now run as a coprocess; this enables sophisticated
151       frontends.  tools/shmtest.c is a simple sample implemenation.
152       This needs some more work: all tty_xxx() are to be replaced
153       by cpr_xxx() and some changes in the display logics is needed.
154
155     * Removed options --gen-prime and --gen-random.
156
157     * Removed option --add-key; use --edit-key instead.
158
159     * Removed option --change-passphrase; use --edit-key instead.
160
161     * Signatures are now checked even if the output file could not
162       be created. Command "--verify" tries to find the detached data.
163
164     * gpg now disables core dumps.
165
166     * compress and symmetric cipher preferences are now used.
167       Because there is no 3DES yet, this is replaced by Blowfish.
168
169     * We have added the Twofish as an experimental cipher algorithm.
170       Many thanks to Matthew Skala for doing this work.
171       Twofish is the AES submission from Schneier et al.; see
172       "www.counterpane.com/twofish.html" for more information.
173
174     * Started with a help system: If you enter a question mark at some
175       prompt; you should get a specific help for this prompt.
176
177     * There is no more backup copy of the secret keyring.
178
179     * A lot of new bugs. I think this release is not as stable as
180       the previous one.
181
182
183 Noteworthy changes in version 0.3.2
184 -----------------------------------
185     * Fixed some bugs when using --textmode (-seat)
186
187     * Now displays the trust status of a positive verified message.
188
189     * Keyrings are now scanned in the sequence they are added with
190       --[secret-]keyring.  Note that the default keyring is implictly
191       added as the very first one unless --no-default-keyring is used.
192
193     * Fixed setuid and dlopen bug.
194
195 Noteworthy changes in version 0.3.1
196 -----------------------------------
197     * Partial headers are now written in the OpenPGP format if
198       a key in a v4 packet is used.
199
200     * Removed some unused options, removed the gnupg.sig stuff.
201
202     * Key lookup by name now returns a key which can be used for
203       the desired action.
204
205     * New options --list-ownertrust (gpgm) to make a backup copy
206       of the ownertrust values you assigned.
207
208     * clear signature headers are now in compliance with OpenPGP.
209
210 Noteworthy changes in version 0.3.0
211 -----------------------------------
212
213     * New option --emulate-checksum-bug.  If your passphrase does not
214       work anymore, use this option and --change-passphrase to rewrite
215       your passphrase.
216
217     * More complete v4 key support: Preferences and expiration time
218       is set into the self signature.
219
220     * Key generation defaults to DSA/ElGamal keys, so that new keys are
221       interoperable with pgp5
222
223     * DSA key generation is faster and key generation does not anymore
224       remove entropy from the random generator (the primes are public
225       parameters, so there is really no need for a cryptographic secure
226       prime number generator which we had used).
227
228     * A complete new structure for representing the key parameters.
229
230     * Removed most public key knowledge into the cipher libray.
231
232     * Support for dynamic loading of new algorithms.
233
234     * Moved tiger to an extension module.
235
236
237 Noteworthy changes in version 0.2.19
238 ------------------------------------
239
240     * Replaced /dev/urandom in checks with new tool mk-tdata.
241
242     * Some assembler file cleanups; some more functions for the Alpha.
243
244     * Tiger has now the OpenPGP assigned number 6.  Because the OID has
245       changed, old signatures using this algorithm can't be verified.
246
247     * gnupg now encrypts the compressed packed and not any longer in the
248       reverse order; anyway it can decrypt both versions. Thanks to Tom
249       for telling me this (not security related) bug.
250
251     * --add-key works and you are now able to generate subkeys.
252
253     * It is now possible to generate ElGamal keys in v4 packets to create
254       valid OpenPGP keys.
255
256     * Some new features for better integration into MUAs.
257
258
259 Noteworthy changes in version 0.2.18
260 ------------------------------------
261
262     * Splitted cipher/random.c, add new option "--disable-dev-random"
263       to configure to support the development of a random source for
264       other systems. Prepared sourcefiles rand-unix.c, rand-w32.c
265       and rand-dummy.c (which is used to allow compilation on systems
266       without a random source).
267
268     * Fixed a small bug in the key generation (it was possible that 48 bits
269       of a key were not taken from the random pool)
270
271     * Add key generation for DSA and v4 signatures.
272
273     * Add a function trap_unaligned(), so that a SIGBUS is issued on
274       Alphas and not the slow emulation code is used. And success: rmd160
275       raised a SIGBUS.
276
277     * Enhanced the formatting facility of argparse and changed the use of
278       \r,\v to @ because gettext does not like it.
279
280     * New option "--compress-algo 1" to allow the creation of compressed
281       messages which are readable by PGP and "--print-md" (gpgm) to make
282       speed measurement easier.
283
284
285 Noteworthy changes in version 0.2.17
286 ------------------------------------
287
288     * Comment packets are now of private type 61.
289
290     * Passphrase code still used a 160 bit blowfish key, added a
291       silly workaround. Please change your passphrase again - sorry.
292
293     * Conventional encryption now uses a type 3 packet to describe the
294       used algorithms.
295
296     * The new algorithm number for Blowfish is 20, 16 is still used for
297       encryption only; for signing it is only used when it is in a v3 packet,
298       so that GNUPG keys are still valid.
299
300
301 Noteworthy changes in version 0.2.16
302 ------------------------------------
303
304     * Add experimental support for the TIGER/192 message diigest algorithm.
305       (But there is only a dummy ASN OID).
306
307     * Standard cipher is now Blowfish with 128 bit key in OpenPGP's CFB
308       mode. I renamed the old cipher to Blowfish160. Because the OpenPGP
309       group refused to assign me a number for Blowfish160, I have to
310       drop support for this in the future. You should use
311       "--change-passphrase" to recode your current passphrase with 128
312       bit Blowfish.
313
314
315 Noteworthy changes in version 0.2.15
316 ------------------------------------
317
318     * Fixed a bug with the old checksum calculation for secret keys.
319       If you run the program without --batch, a warning does inform
320       you if your secret key needs to be converted; simply use
321       --change-passphrase to recalculate the checksum. Please do this
322       soon, as the compatible mode will be removed sometime in the future.
323
324     * CAST5 works (using the PGP's special CFB mode).
325
326     * Again somewhat more PGP 5 compatible.
327
328     * Some new test cases
329
330 Noteworthy changes in version 0.2.14
331 ------------------------------------
332
333     * Changed the internal handling of keyrings.
334
335     * Add support to list PGP 5 keyrings with supkeys
336
337     * Timestamps of signatures are now verified.
338
339     * A expiration time can now be specified during key generation.
340
341     * Some speedups for Blowfish and SHA-1, rewrote SHA-1 transform.
342       Reduced the amount of random bytes needed for key generation in
343       some cases.
344
345
346 Noteworthy changes in version 0.2.13
347 ------------------------------------
348
349     * Verify of DSA signatures works.
350
351     * Re-implemented the slower random number generator.
352
353
354 Noteworthy changes in version 0.2.12
355 ------------------------------------
356
357     * --delete-key checks that there is no secret key. The new
358       option --delete-secret-key maybe used to delete a secret key.
359
360     * "-kv" now works as expected. Options "--list-{keys,sigs]"
361       and "--check-sigs" are now working.
362
363     * New options "--verify" and "--decrypt" to better support integration
364       into MUAs (partly done for Mutt).
365
366     * New option "--with-colons" to make parsing of key lists easier.
367
368 Noteworthy changes in version 0.2.11
369 ------------------------------------
370
371     * GPG now asks for a recipient's name if option "-r" is not used.
372
373     * If there is no good trust path, the program asks whether to use
374       the public keys anyway.
375
376     * "--delete-key" works for public keys. What semantics shall I use
377       when there is a secret key too? Delete the secret key or leave him
378       and auto-regenerate the public key, netxt time the secret key is used?
379
380 Noteworthy changes in version 0.2.10
381 ------------------------------------
382
383     * Code for the alpha is much faster (about 20 times); the data
384       was misaligned and the kernel traps this, so nearly all time
385       was used by system to trap the misalignments and to write
386       syslog messages. Shame on me and thanks to Ralph for
387       pointing me at this while drinking some beer yesterday.
388
389     * Changed some configure options and add an option
390       --disable-m-guard to remove the memory checking code
391       and to compile everthing with optimization on.
392
393     * New environment variable GNUPGHOME, which can be used to set
394       another homedir than ~/.gnupg.  Changed default homedir for
395       Windoze version to c:/gnupg.
396
397     * Fixed detached signatures; detached PGP signatures caused a SEGV.
398
399     * The Windoze version works (as usual w/o a strong RNG).
400
401
402 Noteworthy changes in version 0.2.9
403 -----------------------------------
404
405     * Fixed FreeBSD bug.
406
407     * Added a simple man page.
408
409     * Switched to automake1.2f and a newer gettext.
410
411 Noteworthy changes in version 0.2.8
412 -----------------------------------
413
414     * Changed the name to GNUPG, the binaries are called gpg and gpgm.
415       You must rename rename the directory "~/.g10" to ~/.gnupg/, rename
416       {pub,sec}ring.g10 to {pub,sec}ring.gpg, trustdb.g10 to trustdb.gpg
417       and g10.sig to gnupg.sig.
418
419     * New or changed passphrases are now salted.
420
421
422 Noteworthy changes in version 0.2.7
423 -----------------------------------
424
425     * New command "gen-revoke" to create a key revocation certificate.
426
427     * New option "homedir" to set the homedir (which defaults to "~/.g10").
428       This directory is created if it does not exists (only the last
429       part of the name and not the complete hierarchy)
430
431     * Command "import" works. (Try: "finger gcrypt@ftp.guug.de|g10 --import")
432
433     * New commands "dearmor/enarmor" for g10maint.  These are mainly
434       used for internal test purposes.
435
436     * Option --version now conforming to the GNU standards and lists
437       the available ciphers, message digests and public key algorithms.
438
439     * Assembler code for m68k (not tested).
440
441     * "make check" works.
442
443 Noteworthy changes in version 0.2.6
444 -----------------------------------
445
446     * Option "--export" works.
447
448
449 Noteworthy changes in version 0.2.5
450 -----------------------------------
451
452     * Added zlib for systems which don't have it.
453       Use "./configure --with-zlib" to link with the static version.
454
455     * Generalized some more functions and rewrote the encoding of
456       message digests into MPIs.
457
458     * Enhanced the checkit script
459
460
461 Noteworthy changes in version 0.2.4
462 -----------------------------------
463
464     * nearly doubled the speed of the ElGamal signature verification.
465
466     * backup copies of keyrings are created.
467
468     * assembler stuff for Pentium; gives about 15% better perfomance.
469
470     * fixed a lot of bugs.
471
472
473 Noteworthy changes in version 0.2.3
474 -----------------------------------
475
476     * Found a bug in the calculation of ELG fingerprints. This is now
477       fixed, but all existing fingerprints and keyids for ELG keys
478       are not any more valid.
479
480     * armor should now work; including clear signed text.
481
482     * moved some options to the new program g10maint
483
484     * It's now 64 bit clean and runs fine on an alpha--linux.
485
486     * Key generation is much faster now.  I fixed this by using not
487       so strong random number for the primes (this was a bug because the
488       ElGamal primes are public parameters and it does not make sense
489       to generate them from strong random).  The real secret is the x value
490       which is still generated from strong (okay: /dev/random) random bits.
491
492     * added option "--status-fd": see g10/OPTIONS
493
494     * We have secure memeory on systems which support mlock().
495       It is not complete yet, because we do not have signal handler
496       which does a cleanup in very case.
497       We should also check the ulimit for the user in the case
498       that the admin does not have set a limit on locked pages.
499
500     * started with internationalization support.
501
502     * The logic to handle the web of trust is now implemented. It is
503       has some bugs; but I'm going to change the algorithm anyway.
504       It works by calculating the trustlevel on the fly.  It may ask
505       you to provide trust parameters if the calculated trust probability
506       is too low.  I will write a paper which discusses this new approach.
507
508     * a couple of changes to the configure script.
509
510     * New option "--quick-random" which uses a much quicker random
511       number generator.  Keys generated while this option is in effect
512       are flags with "INSECURE!" in the user-id.  This is a development
513       only option.
514
515     * Read support for new version packets (OpenPGP).
516
517     * Comment packets are now of correct OpenPGP type 16. Old comment
518       packets written by G10 are detected because they always start with
519       a hash which is an invalid version byte.
520
521     * The string "(INSECURE!)" is appended to a new user-id if this
522       is generated on a system without a good random number generator.
523