See ChangeLog: Tue Oct 26 14:10:21 CEST 1999 Werner Koch
[gnupg.git] / NEWS
1 Noteworthy changes in version 1.1.0 (1999-10-26)
2 -----------------------------------
3
4     * Did a couple of changes for this new development series.
5       This release basically works on my machine but may have
6       serious problems.
7
8
9 Noteworthy changes in version 1.0.0 (1999-09-07)
10 -----------------------------------
11
12     * Add a very preliminary version of the GNU Privacy Handbook to
13       the distribution (lynx doc/gph/index.html).
14
15     * Changed the version number to GnuPG 2001 ;-)
16
17
18 Noteworthy changes in version 0.9.11
19 ------------------------------------
20
21     * UTF-8 strings are now correctly printed (if --charset is set correctly).
22       Output of --with-colons remains C-style escaped UTF-8.
23
24     * Workaround for a problem with PGP 5 detached signature in textmode.
25
26     * Fixed a problem when importing new subkeys (duplicated signatures).
27
28 Noteworthy changes in version 0.9.10
29 ------------------------------------
30
31     * Some strange new options to help pgpgpg
32
33     * Cleaned up the dox a bit.
34
35
36 Noteworthy changes in version 0.9.9
37 -----------------------------------
38
39     * New options --[no-]utf8-strings.
40
41     * New edit-menu commands "enable" and "disable" for entire keys.
42
43     * You will be asked for a filename if gpg cannot deduce one.
44
45     * Changes to support libtool which is needed for the development
46       of libgcrypt.
47
48     * New script tools/lspgpot to help transferring assigned
49       trustvalues from PGP to GnuPG.
50
51     * New commands --lsign-key and made --sign-key a shortcut for --edit
52       and sign.
53
54     * New options (#122--126 ;-) --[no-]default-recipient[-self],
55       --disable-{cipher,pubkey}-algo. See the man page.
56
57     * Enhanced info output in case of multiple recipients and fixed exit code.
58
59     * New option --allow-non-selfsigned-uid to work around a problem with
60       the German IN way of separating signing and encryption keys.
61
62
63 Noteworthy changes in version 0.9.8
64 -----------------------------------
65
66     * New subcommand "delsig" in the edit menu.
67
68     * The name of the output file is not anymore the one which is
69       embedded in the processed message, but the used filename with
70       the extension stripped.  To revert to the old behaviour you can
71       use the option --use-embedded-filename.
72
73     * Another hack to cope with pgp2 generated detached signatures.
74
75     * latin-2 character set works (--charset=iso-8859-2).
76
77     * New option --with-key-data to list the public key parameters.
78       New option -N to insert notations and a --set-policy-url.
79       A couple of other options to allow reseting of options.
80
81     * Better support for HPUX.
82
83
84 Noteworthy changes in version 0.9.7
85 -----------------------------------
86
87     * Add some work arounds for a bugs in pgp 2 which led to bad signatures
88       when used with canonical texts in some cases.
89
90     * Enhanced some status outputs.
91
92 Noteworthy changes in version 0.9.6
93 -----------------------------------
94
95     * Twofish is now statically linked by default. The experimental 128 bit
96       version is now disabled.  Full support will be available as soon as
97       the OpenPGP WG has decided on an interpretation of rfc2440.
98
99     * Dropped support for the ancient Blowfish160 which is not OpenPGP.
100
101     * Merged gpgm and gpg into one binary.
102
103     * Add "revsig" and "revkey" commands to the edit menu.  It is now
104       possible to revoke signature and subkeys.
105
106
107 Noteworthy changes in version 0.9.5
108 -----------------------------------
109
110     * New command "lsign" in the keyedit menu to create non-exportable
111       signatures.  Removed --trusted-keys option.
112
113     * A bunch of changes to the key validation code.
114
115     * --list-trust-path now has an optional --with-colons format.
116
117     * New command --recv-keys to import keys from an keyserver.
118
119
120 Noteworthy changes in version 0.9.4
121 -----------------------------------
122
123     * New configure option --enable-static-rnd=[egd|linux|unix|none]
124       to select a random gathering module for static linking.
125
126     * The original text is now verbatim copied to a cleartext signed message.
127
128     * Bugfixes but there are still a couple of bugs.
129
130
131 Noteworthy changes in version 0.9.3
132 -----------------------------------
133
134     * Changed the internal design of getkey which now allows a
135       efficient lookup of multiple keys and add a word match mode.
136
137     * New options --[no-]encrypt-to.
138
139     * Some changes to the configure stuff.  Switched to automake 1.4.
140       Removed intl/ from CVS, autogen.sh now uses gettextize.
141
142     * Preferences now include Twofish. Removed preference to Blowfish with
143       a special hack to suppress the "not listed in preferences" warning;
144       this is to allow us to switch completely to Twofish in the near future.
145
146     * Changed the locking stuff.
147
148     * Print all user ids of a good signature.
149
150
151 Noteworthy changes in version 0.9.2
152 -----------------------------------
153
154     * add some additional time warp checks.
155
156     * Option --keyserver and command --send-keys to utilize HKP servers.
157
158     * Upgraded to zlib 1.1.3 and fixed an inflate bug
159
160     * More cleanup on the cleartext signatures.
161
162
163 Noteworthy changes in version 0.9.1
164 -----------------------------------
165
166     * Polish language support.
167
168     * When querying the passphrase, the key ID of the primary key is
169       displayed along with the one of the used secondary key.
170
171     * Fixed a bug occurring when decrypting pgp 5 encrypted messages,
172       fixed an infinite loop bug in the 3DES code and in the code
173       which looks for trusted signatures.
174
175     * Fixed a bug in the mpi library which caused signatures not to
176       compare okay.
177
178     * Rewrote the handling of cleartext signatures; the code is now
179       better maintainable (I hope so).
180
181     * New status output VALIDSIG only for valid signatures together
182       with the fingerprint of the signer's key.
183
184
185 Noteworthy changes in version 0.9.0
186 -----------------------------------
187
188     * --export does now only exports rfc2440 compatible keys; the
189       old behaviour is available with --export-all.
190       Generation of v3 ElGamal (sign and encrypt) keys is not longer
191       supported.
192
193     * Fixed the uncompress bug.
194
195     * Rewrote the rndunix module. There are two environment variables
196       used for debugging now: GNUPG_RNDUNIX_DBG give the file to write
197       debugging information (use "-" for stdout) and if GNUPG_RNDUNIX_DBGALL
198       is set, all programs which are only tried are also printed.
199
200     * New option --escape-from-lines to "dash-escape" "From " lines to
201       prevent mailers to change them to ">From ".  This is not enabled by
202       default because it is not in compliance with rfc2440 - however, you
203       should turn it on.
204
205
206 Noteworthy changes in version 0.4.5
207 -----------------------------------
208
209     * The keyrings and the trustdb is now locked, so that
210       other GnuPG processes won't damage these files.  You
211       may want to put the option --lock-once into your options file.
212
213     * The latest self-signatures are now used; this enables --import
214       to see updated preferences etc.
215
216     * Import of subkeys should now work.
217
218     * Random gathering modules may now be loaded as extensions. Add
219       such a module for most Unices but it is very experimental!
220
221     * Brazilian language support.
222
223
224 Noteworthy changes in version 0.4.4
225 -----------------------------------
226
227     * Fixed the way the key expiration time is stored. If you have
228       an expiration time on your key you should fix it with --edit-key
229       and the command "expire".  I apologize for this inconvenience.
230
231     * Add option --charset to support "koi8-r" encoding of user ids.
232       (Not yet tested).
233
234     * Preferences should now work again. You should run
235       "gpgm --check-trustdb \*" to rebuild all preferences.
236
237     * Checking of certificates should now work but this needs a lot
238       of testing.  Key validation values are now cached in the
239       trustdb; they should be recalculated as needed, but you may
240       use --check-trustdb or --update-trustdb to do this.
241
242     * Spanish translation by Urko Lusa.
243
244     * Patch files are from now on signed.  See the man page
245       for the new option --not-dash-escaped.
246
247     * New syntax: --edit-key <userID> [<commands>]
248       If you run it without --batch the commands are executed and then
249       you are put into normal mode unless you use "quit" or "save" as
250       one of the commands.  When in batch mode, the program quits after
251       the last command, so you have to use "save" if you did some changes.
252       It does not yet work completely, but may be used to list so the
253       keys etc.
254
255
256 Noteworthy changes in version 0.4.3
257 -----------------------------------
258
259     * Fixed the gettext configure bug.
260
261     * Kludge for RSA keys: keyid and length of a RSA key are
262       correctly reported, but you get an error if you try to use
263       this key (If you do not have the non-US version).
264
265     * Experimental support for keyrings stored in a GDBM database.
266       This is *much* faster than a standard keyring.  You will notice
267       that the import gets slower with time; the reason is that all
268       new keys are used to verify signatures of previous inserted
269       keys.  Use "--keyring gnupg-gdbm:<name-of-gdbm-file>".  This is
270       not (yet) supported for secret keys.
271
272     * A Russian language file in the distribution (alternatives are in
273       the contrib directory of the FTP servers)
274
275     * commandline option processing now works as expected for GNU programs
276       with the exception that you can't mix options and normal arguments.
277
278     * Now --list-key lists all matching keys.  This is needed in some
279       other places too.
280
281
282 Noteworthy changes in version 0.4.2
283 -----------------------------------
284
285     * This is only a snapshot: There are still a few bugs.
286
287     * Fixed this huge memory leak.
288
289     * Redesigned the trust database:  You should run "gpgm --check-trustdb".
290       New command --update-trustdb, which adds new key from the public
291       keyring into your trustdb
292
293     * Fixed a bug in the armor code, leading to invalid packet errors.
294       (a workaround for this was to use --no-armor).  The shorten line
295       length (64 instead of 72) fixes a problem with pgp5 and keyservers.
296
297     * comment packets are not anymore generated. "--export" filters
298       them out.  One Exception:  The comment packets in a secret keyring
299       are still used because they carry the factorization of the public
300       prime product.
301
302     * --import now only looks for KEYBLOCK headers, so you can now simply
303       remove the "- " in front of such a header if someone accidently signed
304       such a message or the keyblock is part of a cleartext signed message.
305
306     * --with-colons now lists the key expiration time and not anymore
307       the valid period.
308
309     * Some keyblocks created with old releases have a wrong sequence
310       of packets, so that the keyservers don't accept these keys.
311       Simply using "--edit-key" fixes the problem.
312
313     * New option --force-v3-sigs to generate signed messages which are
314       compatible to PGP 5.
315
316     * Add some code to support DLD (for non ELF systems) - but this is
317       not tested because my BSD box is currently broken.
318
319     * New command "expire" in the edit-key menu.
320
321
322
323 Noteworthy changes in version 0.4.1
324 -----------------------------------
325     * A secondary key is used when the primary key is specified but cannot
326       be used for the operation (if it is a sign-only key).
327
328     * GNUPG can now handle concatenated armored messages:  There is still a
329       bug if different kinds of messages are mixed.
330
331     * Iterated+Salted passphrases now work.  If want to be sure that PGP5
332       is able to handle them you may want to use the options
333         "--s2k-mode 3 --s2k-cipher-algo cast5 --s2k-digest-algo sha1"
334       when changing a passphrase.
335
336     * doc/OpenPGP talks about OpenPGP compliance, doc/HACKING gives
337       a few hints about the internal structure.
338
339     * Checked gnupg against the August 1998 draft (07) and I believe
340       it is in compliance with this document (except for one point).
341
342     * Fixed some bugs in the import merging code and rewrote some
343       code for the trustdb.
344
345
346 Noteworthy changes in version 0.4.0
347 -----------------------------------
348     * Triple DES is now supported.  Michael Roth did this piece of
349       needed work.  We have now all the coded needed to be OpenPGP
350       compliant.
351
352     * Added a simple rpm spec file (see INSTALL).
353
354     * detached and armored signatures are now using "PGP SIGNATURE",
355       except when --rfc1991 is used.
356
357     * All times which are not in the yyyy-mm-dd format are now printed
358       in local time.
359
360
361 Noteworthy changes in version 0.3.5
362 -----------------------------------
363     * New option --throw-keyid to create anonymous enciphered messages.
364       If gpg detects such a message it tires all available secret keys
365       in turn so decode it.  This is a gnupg extension and not in OpenPGP
366       but it has been discussed there and afaik some products use this
367       scheme too (Suggested by Nimrod Zimmerman).
368
369     * Fixed a bug with 5 byte length headers.
370
371     * --delete-[secret-]key is now also available in gpgm.
372
373     * cleartext signatures are not anymore converted to LF only.
374
375     * Fixed a trustdb problem.  Run "gpgm --check-trustdb" to fix old
376       trust dbs.
377
378     * Building in another directory should now work.
379
380     * Weak key detection mechanism (Niklas Hernaeus).
381
382
383 Noteworthy changes in version 0.3.4
384 -----------------------------------
385     * New options --comment and --set-filename; see g10/OPTIONS
386
387     * yes/no, y/n localized.
388
389     * Fixed some bugs.
390
391 Noteworthy changes in version 0.3.3
392 -----------------------------------
393     * IMPORTANT: I found yet another bug in the way the secret keys
394       are encrypted - I did it the way pgp 2.x did it, but OpenPGP
395       and pgp 5.x specify another (in some aspects simpler) method.
396       To convert your secret keys you have to do this:
397         1. Build the new release but don't install it and keep
398            a copy of the old program.
399         2. Disable the network, make sure that you are the only
400            user, be sure that there are no Trojan horses etc ....
401         3. Use your old gpg (version 0.3.[12]) and set the
402            passphrases of ALL your secret keys to empty!
403            (gpg --change-passphrase your-user-id).
404         4. Save your ownertrusts (see the next point)
405         5. rm ~/.gnupg/trustdb.gpg
406         6. install the new version of gpg (0.3.3)
407         7. For every secret key call "gpg --edit-key your-user-id",
408            enter "passwd" at the prompt, follow the instructions and
409            change your password back, enter "save" to store it.
410         8. Restore the ownertrust (see next point).
411
412     * The format of the trust database has changed; you must delete
413       the old one, so gnupg can create a new one.
414       IMPORTANT: Use version 0.3.[12] to save your assigned ownertrusts
415       ("gpgm --list-ownertrust >saved-trust"); then build this new version
416       and restore the ownertrust with this new version
417       ("gpgm --import-ownertrust saved-trust").  Please note that
418       --list-ownertrust has been renamed to --export-ownertrust in this
419       release and it does now only export defined ownertrusts.
420
421     * The command --edit-key now provides a commandline driven menu
422       which can be used for various tasks.  --sign-key is only an
423       an alias to --edit-key and maybe removed in future: use the
424       command "sign" of this new menu - you can select which user ids
425       you want to sign.
426
427     * Alternate user ids can now be created an signed.
428
429     * Owner trust values can now be changed with --edit-key (trust)
430
431     * GNUPG can now run as a coprocess; this enables sophisticated
432       frontends.  tools/shmtest.c is a simple sample implementation.
433       This needs some more work: all tty_xxx() are to be replaced
434       by cpr_xxx() and some changes in the display logics is needed.
435
436     * Removed options --gen-prime and --gen-random.
437
438     * Removed option --add-key; use --edit-key instead.
439
440     * Removed option --change-passphrase; use --edit-key instead.
441
442     * Signatures are now checked even if the output file could not
443       be created. Command "--verify" tries to find the detached data.
444
445     * gpg now disables core dumps.
446
447     * compress and symmetric cipher preferences are now used.
448       Because there is no 3DES yet, this is replaced by Blowfish.
449
450     * We have added the Twofish as an experimental cipher algorithm.
451       Many thanks to Matthew Skala for doing this work.
452       Twofish is the AES submission from Schneier et al.; see
453       "www.counterpane.com/twofish.html" for more information.
454
455     * Started with a help system: If you enter a question mark at some
456       prompt; you should get a specific help for this prompt.
457
458     * There is no more backup copy of the secret keyring.
459
460     * A lot of new bugs. I think this release is not as stable as
461       the previous one.
462
463
464 Noteworthy changes in version 0.3.2
465 -----------------------------------
466     * Fixed some bugs when using --textmode (-seat)
467
468     * Now displays the trust status of a positive verified message.
469
470     * Keyrings are now scanned in the sequence they are added with
471       --[secret-]keyring.  Note that the default keyring is implicitly
472       added as the very first one unless --no-default-keyring is used.
473
474     * Fixed setuid and dlopen bug.
475
476 Noteworthy changes in version 0.3.1
477 -----------------------------------
478     * Partial headers are now written in the OpenPGP format if
479       a key in a v4 packet is used.
480
481     * Removed some unused options, removed the gnupg.sig stuff.
482
483     * Key lookup by name now returns a key which can be used for
484       the desired action.
485
486     * New options --list-ownertrust (gpgm) to make a backup copy
487       of the ownertrust values you assigned.
488
489     * clear signature headers are now in compliance with OpenPGP.
490
491 Noteworthy changes in version 0.3.0
492 -----------------------------------
493
494     * New option --emulate-checksum-bug.  If your passphrase does not
495       work anymore, use this option and --change-passphrase to rewrite
496       your passphrase.
497
498     * More complete v4 key support: Preferences and expiration time
499       is set into the self signature.
500
501     * Key generation defaults to DSA/ElGamal keys, so that new keys are
502       interoperable with pgp5
503
504     * DSA key generation is faster and key generation does not anymore
505       remove entropy from the random generator (the primes are public
506       parameters, so there is really no need for a cryptographic secure
507       prime number generator which we had used).
508
509     * A complete new structure for representing the key parameters.
510
511     * Removed most public key knowledge into the cipher library.
512
513     * Support for dynamic loading of new algorithms.
514
515     * Moved tiger to an extension module.
516
517
518 Noteworthy changes in version 0.2.19
519 ------------------------------------
520
521     * Replaced /dev/urandom in checks with new tool mk-tdata.
522
523     * Some assembler file cleanups; some more functions for the Alpha.
524
525     * Tiger has now the OpenPGP assigned number 6.  Because the OID has
526       changed, old signatures using this algorithm can't be verified.
527
528     * gnupg now encrypts the compressed packed and not any longer in the
529       reverse order; anyway it can decrypt both versions. Thanks to Tom
530       for telling me this (not security related) bug.
531
532     * --add-key works and you are now able to generate subkeys.
533
534     * It is now possible to generate ElGamal keys in v4 packets to create
535       valid OpenPGP keys.
536
537     * Some new features for better integration into MUAs.
538
539
540 Noteworthy changes in version 0.2.18
541 ------------------------------------
542
543     * Splitted cipher/random.c, add new option "--disable-dev-random"
544       to configure to support the development of a random source for
545       other systems. Prepared sourcefiles rand-unix.c, rand-w32.c
546       and rand-dummy.c (which is used to allow compilation on systems
547       without a random source).
548
549     * Fixed a small bug in the key generation (it was possible that 48 bits
550       of a key were not taken from the random pool)
551
552     * Add key generation for DSA and v4 signatures.
553
554     * Add a function trap_unaligned(), so that a SIGBUS is issued on
555       Alphas and not the slow emulation code is used. And success: rmd160
556       raised a SIGBUS.
557
558     * Enhanced the formatting facility of argparse and changed the use of
559       \r,\v to @ because gettext does not like it.
560
561     * New option "--compress-algo 1" to allow the creation of compressed
562       messages which are readable by PGP and "--print-md" (gpgm) to make
563       speed measurement easier.
564
565
566 Noteworthy changes in version 0.2.17
567 ------------------------------------
568
569     * Comment packets are now of private type 61.
570
571     * Passphrase code still used a 160 bit blowfish key, added a
572       silly workaround. Please change your passphrase again - sorry.
573
574     * Conventional encryption now uses a type 3 packet to describe the
575       used algorithms.
576
577     * The new algorithm number for Blowfish is 20, 16 is still used for
578       encryption only; for signing it is only used when it is in a v3 packet,
579       so that GNUPG keys are still valid.
580
581
582 Noteworthy changes in version 0.2.16
583 ------------------------------------
584
585     * Add experimental support for the TIGER/192 message digest algorithm.
586       (But there is only a dummy ASN OID).
587
588     * Standard cipher is now Blowfish with 128 bit key in OpenPGP's CFB
589       mode. I renamed the old cipher to Blowfish160. Because the OpenPGP
590       group refused to assign me a number for Blowfish160, I have to
591       drop support for this in the future. You should use
592       "--change-passphrase" to recode your current passphrase with 128
593       bit Blowfish.
594
595
596 Noteworthy changes in version 0.2.15
597 ------------------------------------
598
599     * Fixed a bug with the old checksum calculation for secret keys.
600       If you run the program without --batch, a warning does inform
601       you if your secret key needs to be converted; simply use
602       --change-passphrase to recalculate the checksum. Please do this
603       soon, as the compatible mode will be removed sometime in the future.
604
605     * CAST5 works (using the PGP's special CFB mode).
606
607     * Again somewhat more PGP 5 compatible.
608
609     * Some new test cases
610
611 Noteworthy changes in version 0.2.14
612 ------------------------------------
613
614     * Changed the internal handling of keyrings.
615
616     * Add support to list PGP 5 keyrings with subkeys
617
618     * Timestamps of signatures are now verified.
619
620     * A expiration time can now be specified during key generation.
621
622     * Some speedups for Blowfish and SHA-1, rewrote SHA-1 transform.
623       Reduced the amount of random bytes needed for key generation in
624       some cases.
625
626
627 Noteworthy changes in version 0.2.13
628 ------------------------------------
629
630     * Verify of DSA signatures works.
631
632     * Re-implemented the slower random number generator.
633
634
635 Noteworthy changes in version 0.2.12
636 ------------------------------------
637
638     * --delete-key checks that there is no secret key. The new
639       option --delete-secret-key maybe used to delete a secret key.
640
641     * "-kv" now works as expected. Options "--list-{keys,sigs]"
642       and "--check-sigs" are now working.
643
644     * New options "--verify" and "--decrypt" to better support integration
645       into MUAs (partly done for Mutt).
646
647     * New option "--with-colons" to make parsing of key lists easier.
648
649 Noteworthy changes in version 0.2.11
650 ------------------------------------
651
652     * GPG now asks for a recipient's name if option "-r" is not used.
653
654     * If there is no good trust path, the program asks whether to use
655       the public keys anyway.
656
657     * "--delete-key" works for public keys. What semantics shall I use
658       when there is a secret key too? Delete the secret key or leave him
659       and auto-regenerate the public key, next time the secret key is used?
660
661 Noteworthy changes in version 0.2.10
662 ------------------------------------
663
664     * Code for the alpha is much faster (about 20 times); the data
665       was misaligned and the kernel traps this, so nearly all time
666       was used by system to trap the misalignments and to write
667       syslog messages. Shame on me and thanks to Ralph for
668       pointing me at this while drinking some beer yesterday.
669
670     * Changed some configure options and add an option
671       --disable-m-guard to remove the memory checking code
672       and to compile everything with optimization on.
673
674     * New environment variable GNUPGHOME, which can be used to set
675       another homedir than ~/.gnupg.  Changed default homedir for
676       Windoze version to c:/gnupg.
677
678     * Fixed detached signatures; detached PGP signatures caused a SEGV.
679
680     * The Windoze version works (as usual w/o a strong RNG).
681
682
683 Noteworthy changes in version 0.2.9
684 -----------------------------------
685
686     * Fixed FreeBSD bug.
687
688     * Added a simple man page.
689
690     * Switched to automake1.2f and a newer gettext.
691
692 Noteworthy changes in version 0.2.8
693 -----------------------------------
694
695     * Changed the name to GNUPG, the binaries are called gpg and gpgm.
696       You must rename rename the directory "~/.g10" to ~/.gnupg/, rename
697       {pub,sec}ring.g10 to {pub,sec}ring.gpg, trustdb.g10 to trustdb.gpg
698       and g10.sig to gnupg.sig.
699
700     * New or changed passphrases are now salted.
701
702
703 Noteworthy changes in version 0.2.7
704 -----------------------------------
705
706     * New command "gen-revoke" to create a key revocation certificate.
707
708     * New option "homedir" to set the homedir (which defaults to "~/.g10").
709       This directory is created if it does not exists (only the last
710       part of the name and not the complete hierarchy)
711
712     * Command "import" works. (Try: "finger gcrypt@ftp.guug.de|g10 --import")
713
714     * New commands "dearmor/enarmor" for g10maint.  These are mainly
715       used for internal test purposes.
716
717     * Option --version now conforming to the GNU standards and lists
718       the available ciphers, message digests and public key algorithms.
719
720     * Assembler code for m68k (not tested).
721
722     * "make check" works.
723
724 Noteworthy changes in version 0.2.6
725 -----------------------------------
726
727     * Option "--export" works.
728
729
730 Noteworthy changes in version 0.2.5
731 -----------------------------------
732
733     * Added zlib for systems which don't have it.
734       Use "./configure --with-zlib" to link with the static version.
735
736     * Generalized some more functions and rewrote the encoding of
737       message digests into MPIs.
738
739     * Enhanced the checkit script
740
741
742 Noteworthy changes in version 0.2.4
743 -----------------------------------
744
745     * nearly doubled the speed of the ElGamal signature verification.
746
747     * backup copies of keyrings are created.
748
749     * assembler stuff for Pentium; gives about 15% better performance.
750
751     * fixed a lot of bugs.
752
753
754 Noteworthy changes in version 0.2.3
755 -----------------------------------
756
757     * Found a bug in the calculation of ELG fingerprints. This is now
758       fixed, but all existing fingerprints and keyids for ELG keys
759       are not any more valid.
760
761     * armor should now work; including clear signed text.
762
763     * moved some options to the new program g10maint
764
765     * It's now 64 bit clean and runs fine on an alpha--linux.
766
767     * Key generation is much faster now.  I fixed this by using not
768       so strong random number for the primes (this was a bug because the
769       ElGamal primes are public parameters and it does not make sense
770       to generate them from strong random).  The real secret is the x value
771       which is still generated from strong (okay: /dev/random) random bits.
772
773     * added option "--status-fd": see g10/OPTIONS
774
775     * We have secure memory on systems which support mlock().
776       It is not complete yet, because we do not have signal handler
777       which does a cleanup in very case.
778       We should also check the ulimit for the user in the case
779       that the admin does not have set a limit on locked pages.
780
781     * started with internationalization support.
782
783     * The logic to handle the web of trust is now implemented. It is
784       has some bugs; but I'm going to change the algorithm anyway.
785       It works by calculating the trustlevel on the fly.  It may ask
786       you to provide trust parameters if the calculated trust probability
787       is too low.  I will write a paper which discusses this new approach.
788
789     * a couple of changes to the configure script.
790
791     * New option "--quick-random" which uses a much quicker random
792       number generator.  Keys generated while this option is in effect
793       are flags with "INSECURE!" in the user-id.  This is a development
794       only option.
795
796     * Read support for new version packets (OpenPGP).
797
798     * Comment packets are now of correct OpenPGP type 16. Old comment
799       packets written by G10 are detected because they always start with
800       a hash which is an invalid version byte.
801
802     * The string "(INSECURE!)" is appended to a new user-id if this
803       is generated on a system without a good random number generator.
804